184 lines
5.4 KiB
Markdown
184 lines
5.4 KiB
Markdown
|
|
# Day 5:User Agent MVP TODO
|
|||
|
|
|
|||
|
|
目标:实现面向用户的自建 Agent。它负责用户提问、流程辅助、规则解释、查询结果解释和草稿生成,不做自动审批、自动付款、自动上线等高风险动作。
|
|||
|
|
|
|||
|
|
参考文档:
|
|||
|
|
|
|||
|
|
- `document/development/agent plan/03_agent_responsibilities.md`
|
|||
|
|
- `document/development/agent plan/04_orchestrator_and_runtime_flow.md`
|
|||
|
|
- `document/development/agent plan/12_llm_wiki_knowledge_architecture.md`
|
|||
|
|
- `document/development/agent plan/13_rule_formation_lifecycle.md`
|
|||
|
|
|
|||
|
|
## 0. 开始前检查
|
|||
|
|
|
|||
|
|
- [ ] 确认 Orchestrator 能把用户请求路由到 User Agent。
|
|||
|
|
- [ ] 确认语义本体 8 字段可用。
|
|||
|
|
- [ ] 确认规则资产可查询。
|
|||
|
|
- [ ] 确认 AgentRun 和 ToolCall 可记录。
|
|||
|
|
- [ ] 确认是否有现成对话 UI。
|
|||
|
|
- [ ] 确认财务业务数据是否真实可查。
|
|||
|
|
- [ ] 如果业务数据不可查,准备最小 Mock 数据服务。
|
|||
|
|
|
|||
|
|
## 1. User Agent 输入输出
|
|||
|
|
|
|||
|
|
- [ ] 定义 `UserAgentRequest`。
|
|||
|
|
- [ ] 请求包含 `run_id`。
|
|||
|
|
- [ ] 请求包含 `user_id`。
|
|||
|
|
- [ ] 请求包含 `message`。
|
|||
|
|
- [ ] 请求包含 `ontology`。
|
|||
|
|
- [ ] 请求包含 `context_json`。
|
|||
|
|
- [ ] 定义 `UserAgentResponse`。
|
|||
|
|
- [ ] 响应包含 `answer`。
|
|||
|
|
- [ ] 响应包含 `citations`。
|
|||
|
|
- [ ] 响应包含 `suggested_actions`。
|
|||
|
|
- [ ] 响应包含 `draft_payload`。
|
|||
|
|
- [ ] 响应包含 `risk_flags`。
|
|||
|
|
- [ ] 响应包含 `requires_confirmation`。
|
|||
|
|
|
|||
|
|
验收证据:
|
|||
|
|
|
|||
|
|
- [ ] User Agent 响应结构能被 Orchestrator 直接包装返回。
|
|||
|
|
|
|||
|
|
## 2. 查询处理
|
|||
|
|
|
|||
|
|
- [ ] 实现报销查询处理器。
|
|||
|
|
- [ ] 实现应收查询处理器。
|
|||
|
|
- [ ] 实现应付查询处理器。
|
|||
|
|
- [ ] 查询前检查权限级别。
|
|||
|
|
- [ ] 查询时记录 ToolCall。
|
|||
|
|
- [ ] 查询失败时返回可读错误。
|
|||
|
|
- [ ] 查询为空时返回空态解释。
|
|||
|
|
- [ ] 查询结果限制返回条数,避免一次返回过大。
|
|||
|
|
|
|||
|
|
验收证据:
|
|||
|
|
|
|||
|
|
- [ ] “查本周报销金额”有可读回答。
|
|||
|
|
- [ ] “客户 A 本月应收多少”有可读回答。
|
|||
|
|
- [ ] “供应商 B 待付款多少”有可读回答。
|
|||
|
|
|
|||
|
|
## 3. 规则解释
|
|||
|
|
|
|||
|
|
- [ ] 根据语义场景查询相关规则资产。
|
|||
|
|
- [ ] 只引用 active 规则。
|
|||
|
|
- [ ] 读取规则当前版本 Markdown。
|
|||
|
|
- [ ] 从 Markdown 中提取规则摘要。
|
|||
|
|
- [ ] 回答中说明使用了哪些规则。
|
|||
|
|
- [ ] 回答中包含规则版本号。
|
|||
|
|
- [ ] 回答中包含规则更新时间。
|
|||
|
|
- [ ] 没有相关规则时说明缺失。
|
|||
|
|
|
|||
|
|
验收证据:
|
|||
|
|
|
|||
|
|
- [ ] “为什么这笔报销有风险”能引用规则。
|
|||
|
|
|
|||
|
|
## 4. 风险解释
|
|||
|
|
|
|||
|
|
- [ ] 识别重复报销风险。
|
|||
|
|
- [ ] 识别金额超标风险。
|
|||
|
|
- [ ] 识别发票异常风险。
|
|||
|
|
- [ ] 识别逾期应收风险。
|
|||
|
|
- [ ] 识别逾期应付风险。
|
|||
|
|
- [ ] 风险回答包含风险类型。
|
|||
|
|
- [ ] 风险回答包含触发原因。
|
|||
|
|
- [ ] 风险回答包含建议处理动作。
|
|||
|
|
- [ ] 高风险建议不能变成自动执行。
|
|||
|
|
|
|||
|
|
验收证据:
|
|||
|
|
|
|||
|
|
- [ ] 风险解释结果不是单纯“有风险”,而是有依据。
|
|||
|
|
|
|||
|
|
## 5. 草稿生成
|
|||
|
|
|
|||
|
|
- [ ] 支持生成报销处理意见草稿。
|
|||
|
|
- [ ] 支持生成应收催收建议草稿。
|
|||
|
|
- [ ] 支持生成应付付款建议草稿。
|
|||
|
|
- [ ] 草稿中标明“待人工确认”。
|
|||
|
|
- [ ] 草稿不直接提交业务系统。
|
|||
|
|
- [ ] 草稿生成写入审计日志。
|
|||
|
|
- [ ] 草稿生成写入 AgentRun 结果。
|
|||
|
|
|
|||
|
|
验收证据:
|
|||
|
|
|
|||
|
|
- [ ] “帮我生成处理意见”只返回草稿,不执行审批。
|
|||
|
|
|
|||
|
|
## 6. 知识库读取骨架
|
|||
|
|
|
|||
|
|
- [ ] 建立知识条目查询接口或服务。
|
|||
|
|
- [ ] 支持按关键词查询知识条目。
|
|||
|
|
- [ ] 支持按业务场景查询知识条目。
|
|||
|
|
- [ ] User Agent 回答可以引用知识条目。
|
|||
|
|
- [ ] 引用中包含知识标题。
|
|||
|
|
- [ ] 引用中包含更新时间。
|
|||
|
|
- [ ] 知识库不可用时返回降级说明。
|
|||
|
|
|
|||
|
|
验收证据:
|
|||
|
|
|
|||
|
|
- [ ] 知识库失败不会导致整个回答失败。
|
|||
|
|
|
|||
|
|
## 7. 对话或操作入口
|
|||
|
|
|
|||
|
|
- [ ] 前端增加用户问题输入框。
|
|||
|
|
- [ ] 输入框支持回车或按钮提交。
|
|||
|
|
- [ ] 提交时调用 Orchestrator,而不是绕过 Orchestrator。
|
|||
|
|
- [ ] 展示 Agent 回答。
|
|||
|
|
- [ ] 展示引用规则或知识。
|
|||
|
|
- [ ] 展示建议动作。
|
|||
|
|
- [ ] 展示需要人工确认的提示。
|
|||
|
|
- [ ] 展示 `run_id`。
|
|||
|
|
- [ ] 展示加载态。
|
|||
|
|
- [ ] 展示错误态。
|
|||
|
|
|
|||
|
|
验收证据:
|
|||
|
|
|
|||
|
|
- [ ] 用户可在页面完成一次问答闭环。
|
|||
|
|
|
|||
|
|
## 8. 安全边界
|
|||
|
|
|
|||
|
|
- [ ] User Agent 不直接修改规则状态。
|
|||
|
|
- [ ] User Agent 不直接上线规则。
|
|||
|
|
- [ ] User Agent 不直接审批报销。
|
|||
|
|
- [ ] User Agent 不直接付款。
|
|||
|
|
- [ ] User Agent 不直接删除知识。
|
|||
|
|
- [ ] 所有高风险动作只返回建议或草稿。
|
|||
|
|
- [ ] 所有草稿动作标记 `requires_confirmation=true`。
|
|||
|
|
|
|||
|
|
验收证据:
|
|||
|
|
|
|||
|
|
- [ ] 提示词要求“直接付款”时仍被阻断。
|
|||
|
|
|
|||
|
|
## 9. 测试
|
|||
|
|
|
|||
|
|
- [ ] 测试报销查询。
|
|||
|
|
- [ ] 测试应收查询。
|
|||
|
|
- [ ] 测试应付查询。
|
|||
|
|
- [ ] 测试规则解释。
|
|||
|
|
- [ ] 测试风险解释。
|
|||
|
|
- [ ] 测试草稿生成。
|
|||
|
|
- [ ] 测试越权动作阻断。
|
|||
|
|
- [ ] 测试知识库降级。
|
|||
|
|
|
|||
|
|
验收证据:
|
|||
|
|
|
|||
|
|
- [ ] User Agent 核心测试通过。
|
|||
|
|
|
|||
|
|
## 10. Day 5 验收
|
|||
|
|
|
|||
|
|
- [ ] User Agent 服务可被 Orchestrator 调用。
|
|||
|
|
- [ ] 用户入口可提交自然语言问题。
|
|||
|
|
- [ ] 至少 3 个财务场景有回答。
|
|||
|
|
- [ ] 回答能引用规则或知识。
|
|||
|
|
- [ ] 高风险动作不会自动执行。
|
|||
|
|
- [ ] AgentRun Trace 能看到 User Agent 步骤。
|
|||
|
|
- [ ] 前端构建通过。
|
|||
|
|
- [ ] 所有完成项已用 `[x] ~~...~~` 标记。
|
|||
|
|
|
|||
|
|
## 阻塞记录
|
|||
|
|
|
|||
|
|
- [ ] 暂无。
|
|||
|
|
|
|||
|
|
## 日终交接
|
|||
|
|
|
|||
|
|
- [ ] 写明已支持的问题类型。
|
|||
|
|
- [ ] 写明仍使用 Mock 的数据。
|
|||
|
|
- [ ] 写明 Day 6 Hermes 可以复用的规则、风险、知识接口。
|