Commit 902b76488b9a2a88418c20f9e0d17068beb90993

Authored by zichun
1 parent 61a2d254

docs: §15 implementation status — built (5 tools + HITL write + audit + persiste…

…nce) vs deferred (authz/create-delete-审核/FormCollect/staging-executor/Langfuse/NL2SQL)
Showing 1 changed file with 20 additions and 0 deletions
docs/agent-architecture.md
@@ -196,3 +196,23 @@ ai_op_queue( @@ -196,3 +196,23 @@ ai_op_queue(
196 6. **formId 解析**:靠 KG 上下文让 LLM 推理 → 先搭框架、之后补 KgSearch;过渡期表单名模糊匹配 + 不唯一则 AskUser。 196 6. **formId 解析**:靠 KG 上下文让 LLM 推理 → 先搭框架、之后补 KgSearch;过渡期表单名模糊匹配 + 不唯一则 AskUser。
197 7. 现网安全发现(后端表单权限被关 / NL2SQL 越权 / 读 API 可写)是否作为独立整改上报业务。 197 7. 现网安全发现(后端表单权限被关 / NL2SQL 越权 / 读 API 可写)是否作为独立整改上报业务。
198 8. 首个灰度只读场景选哪个(建议高频只读轻后果,如库存 / 应收账龄)。 198 8. 首个灰度只读场景选哪个(建议高频只读轻后果,如库存 / 应收账龄)。
  199 +
  200 +## 15. 实现状态(2026-07-21,分支 `kg-edge-flow`)
  201 +
  202 +**已建成、可运行、已验证**(xlyAi 全新单 agent 前后端,`/xlyAi/api/agent/*`):
  203 +- **单 ReAct agent**:`AiServices` 流式工具循环(qwen3:14b `think(false)`),L1 域图进 system prompt,退役 8 场景路由(旧代码休眠未删)。
  204 +- **对话**:SSE 流式;**多命名会话 + Redis 持久化**(`RedisChatMemoryStore`,重启不丢)+ 侧栏。
  205 +- **工具(5)**:`findForms`(表单目录/KgSearch雏形) · `readFormData`(列表/计数) · `lookupRecord`(单记录全字段) · `queryData`(只读 SQL 兜底,jsqlparser+LIMIT+审计) · `proposeUpdate`(HITL 写:改字段)。
  206 +- **写入闭环**:`ai_op_queue` 暂存 → 提议不执行 → `write_proposal` 卡片 → 确定性 `/op/{id}/confirm` 执行(ERP `addUpdateDelBusinessData`) / `cancel`。确认前绝不落地。
  207 +- **审计**:`ai_audit_log` 记 propose/confirm/cancel/query。
  208 +- **ERP 接入**:`ErpClient` dev-login(admin/666666)拿真实会话 token;读 `getBusinessDataByFormcustomId`,写 `addUpdateDelBusinessData`(`column` 列表 + `handleType`)。
  209 +
  210 +**尚未做 / 被外部条件阻塞**(按原因归类):
  211 +- **授权层(§7)**:机制可建,但 dev-login=admin 时全通、无意义;**需生产的透传用户 token 才能真正约束**。
  212 +- **写:新增 / 删除 / 审核**:`create` 撞 NOT-NULL 连环(sId/sParentId…);`delete/审核` 格式与校验各异且后果重。正解是**架构里的 ERP 侧暂存执行器(跨团队)**;当前只做安全的 `update`。
  213 +- **FormCollect(§5)**:需 ERP 前端在对话里渲染表单——**跨团队**。
  214 +- **ERP 侧暂存执行器 + 预填 + 深链(§10)**:**跨团队**,本项目未覆盖。
  215 +- **Langfuse(§1)**:需自托管实例——**基础设施**。
  216 +- **AskUser 结构化选项**:当前 agent 用自然语言澄清(如 lookupRecord 命中多条会请用户说具体),功能已覆盖,结构化选项为后续优化。
  217 +- **稳健 NL2SQL**:`queryData` 安全但选表/拼 join 精度有限(架构 §14.1 早已标注为待专项攻关)。
  218 +- **现网安全发现上报**(后端权限关 / 旧 NL2SQL 越权 / 读 API 可写):**业务侧事项**,非本次代码。