Commit 38321fa40f9f64a5b5646cecba42b68b3934720a

Authored by zichun
1 parent a6e18101

docs: lock decisions (write chaining needs cross-session state; audit mandatory)…

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