Files
prop-ai-hr/docs/adr/ADR-002-GROUNDED-AGENT-EXECUTION.md
T

2.2 KiB

ADR-002:采用受约束工具执行与证据分型

  • 状态:Accepted
  • 日期:2026-08-04

决策

问师傅继续基于现有 Spring 服务实现受约束 Agent,不引入第三方自由 Agent 框架。LLM 负责语义规划和答案组织,服务端负责确定性事实校验、授权、工具执行、证据评估和引用复核。

工具结果分为 DOCUMENT_EVIDENCE 与 VERIFIED_FACT;用户陈述单独保存为 USER_ASSERTION。文档提到某系统只能证明文档内容,不能证明系统已接入或已查询实时数据。历史 LLM 回答不能成为事实来源。

DocumentEvidence.supportedNeedCodes/claimTypes 只表达语义分类器提出的候选支持关系。最终资格由服务端结合来源权威、来源类型、有效期、适用范围、正文逐槽位支持和逐 claim 蕴含共同判定;模型标签不能绕过门禁。正式场景模糊时 fail-closed。

执行循环最多三轮:首次工具执行、一次有明确证据缺口的补查、澄清或结束。最终模型只接收通过门禁的证据、事实、缺口、冲突和决策结果。

工具参数由注册 schema 约束:MY_CURRENT_TASKS 接收日期范围,KNOWLEDGE_SEARCH 不接收日期字段;授权作用域只从服务端 ExecutionContext 注入。运行时对调用 hash 去重,并限制调用数、候选数与耗时;超时作为受控状态结束当前链路。

原因

现有单工具计划、关键词早退、历史文本改写和数据工具 Citation 无法稳定支持多工具问题,也无法阻止文档事实与实时业务状态混淆。继续增加关键词和正则会扩大不可解释分支,不能解决授权、时效和证据完整性问题。

影响

  • 保留现有统一 Agent API、认证解析、知识授权、RAG 治理和审计。
  • 金额候选/送模/复核成为确定性校验器的第一条纵向切片。
  • 旧路径在影子验证期间继续承担兼容回退。
  • 工具必须声明 schema、授权、时效、幂等、审计和允许意图。
  • PARTIAL 只能输出已覆盖 claim slots;零合格证据不调用答案模型。
  • 客户端最终按 DecisionStatus 展示完整、部分、需补充、无依据和冲突状态。