From 38321fa40f9f64a5b5646cecba42b68b3934720a Mon Sep 17 00:00:00 2001 From: zichun <26684461+reporkey@users.noreply.github.com> Date: Tue, 21 Jul 2026 14:58:24 +0800 Subject: [PATCH] docs: lock decisions (write chaining needs cross-session state; audit mandatory); NL2SQL security pending investigation --- docs/agent-architecture.md | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/docs/agent-architecture.md b/docs/agent-architecture.md index cf747d2..c72b6a6 100644 --- a/docs/agent-architecture.md +++ b/docs/agent-architecture.md @@ -118,14 +118,19 @@ - **P3 ProposeWrite + ERP 暂存执行器 + 预填/深链**(最重、跨团队,先排脚手架)。 - **P4 退役旧多智能体/元数据工具;接 Langfuse;报价统一走确认制**。 -## 14. 开放问题 / 已知遗漏(见对话讨论) - -1. Query 越权锁法:仅 `viw_*` vs 注入租户谓词(倾向两者都上)。 -2. ERP 侧暂存执行器 + 预填 + 深链归谁做、能否排期(写入闭环前提)。 -3. 审计/合规要求(金融类数据)——是否强制留痕。 -4. 模型:qwen2.5:14b 的多工具 tool-calling 可靠性是否够(否则换模型 / 加 tool-call 参数校验)。 -5. 多语言:仅中文,还是需支持 en/big5 用户(表单有多语列)。 +## 14. 已定 / 开放问题(见对话讨论) + +**已定(2026-07-21)** +- ✅ **写入需链式 → 必须跨会话状态**:写操作不是一次性。skill 可能"下单→据此生成入库",第二步依赖第一步**已执行**。⇒ 需 ERP 执行后**回调**通知 agent + **跨会话/长任务状态**(会话可在 ERP 执行完后 resume)。这超出单会话 ChatMemory,需要一个持久的「任务/流程实例」存储(Redis/DB)。 +- ✅ **审计强制留痕**:金融类数据,记不可变审计(谁、何时、什么请求、什么 SQL、暂存/执行了什么)。审计独立于 Langfuse(LLM tracing ≠ 业务审计)。 + +**开放** +1. **Query 越权锁法**:仅 `viw_*` vs 注入租户谓词 vs 复制 ERP 的表单/字段级 ACL —— **待现有 NL2SQL 安全调查结论后再定**(正在后台查:现状是否有租户过滤、是否会越级)。 +2. 部署形态:单品牌一实例 vs 多品牌共库(决定 KG/缓存/Query 是否按 `sBrandsId` 切分)。 +3. ERP 侧暂存执行器 + 预填 + 深链 + 执行回调归谁做、能否排期。 +4. 模型:qwen2.5:14b 多工具 tool-calling 可靠性(否则换模型 / 加 tool-call 参数校验兜底)。 +5. 多语言:仅中文 vs 支持 en/big5。 6. 报价改双确认(失去即时提交)需业务确认。 -7. HITL `pendingInteraction` 语义 + 前端事件协议需与前端团队对齐。 -8. KG 卡片召回:本地内存向量 vs 远端 Milvus 的时机。 +7. HITL `pendingInteraction` + 跨会话任务状态语义 + 前端事件协议,与前端团队对齐。 +8. KG 卡片召回:本地内存向量 vs 远端 Milvus 时机。 9. 首个灰度只读场景选哪个。 -- libgit2 0.22.2