Files
X-Financial/document/development/agent week plan/day_6_hermes_mvp.md

231 lines
6.9 KiB
Markdown
Raw Normal View History

2026-05-11 03:51:24 +00:00
# Day 6Hermes MVP
2026-05-11 03:51:24 +00:00
## 今天的大开发点
2026-05-11 03:51:24 +00:00
实现 Hermes 数字员工的最小闭环。Hermes 负责后台内循环:定时巡检、统计日报、风险预警、知识维护、规则草稿形成。
2026-05-11 03:51:24 +00:00
## 为什么第六天做这个
2026-05-11 03:51:24 +00:00
Hermes 依赖前几天已经建立的资产、规则、语义、Orchestrator、Trace 和权限体系。放在第六天做,可以避免它变成孤立脚本。
2026-05-11 03:51:24 +00:00
## 今天主要交付
2026-05-11 03:51:24 +00:00
- 任务资产调度入口。
- 手动触发任务 API。
- 每日风险巡检。
- 每日报销、报账、账款统计。
- OCR Mock 接入点。
- 知识候选条目生成。
- 规则草稿生成。
- Hermes 运行结果展示。
2026-05-11 03:51:24 +00:00
相关架构文档:
2026-05-11 03:51:24 +00:00
- [Agent 职责边界](<../agent plan/03_agent_responsibilities.md>)
- [OCR 票据识别架构](<../agent plan/11_ocr_invoice_architecture.md>)
- [LLM Wiki 知识库架构](<../agent plan/12_llm_wiki_knowledge_architecture.md>)
- [反馈学习闭环](<../agent plan/15_feedback_learning_loop.md>)
2026-05-11 03:51:24 +00:00
## 当天验收门槛
2026-05-11 03:51:24 +00:00
- 至少一个 Hermes 任务可以手动触发。
- 风险巡检有结构化结果。
- 每日统计有结构化结果。
- OCR Mock 调用能记录 ToolCall。
- 知识候选只能是草稿。
- 规则草稿只能是 draft不能自动上线。
2026-05-11 03:51:24 +00:00
## 今天不做
2026-05-11 03:51:24 +00:00
- 不做完整生产调度集群。
- 不做真实 OCR 深度集成。
- 不做自动发布知识。
- 不做自动上线规则。
## 详细执行清单
以下内容为合并后的详细执行清单。
## 0. 开始前检查
- [ ] 确认任务资产 `asset_type=task` 可查询。
- [ ] 确认 Orchestrator 能处理 `source=schedule`
- [ ] 确认 Hermes 占位服务可被调用。
- [ ] 确认 AgentRun 和 ToolCall 可记录。
- [ ] 确认是否已有后台任务框架。
- [ ] 如果没有后台任务框架,先用手动触发 API 模拟定时执行。
## 1. Hermes 输入输出
- [ ] 定义 `HermesTaskRequest`
- [ ] 请求包含 `run_id`
- [ ] 请求包含 `task_asset_id`
- [ ] 请求包含 `task_type`
- [ ] 请求包含 `schedule_time`
- [ ] 请求包含 `context_json`
- [ ] 定义 `HermesTaskResult`
- [ ] 响应包含 `summary`
- [ ] 响应包含 `risk_items`
- [ ] 响应包含 `statistics`
- [ ] 响应包含 `knowledge_updates`
- [ ] 响应包含 `draft_rules`
- [ ] 响应包含 `next_actions`
验收证据:
- [ ] Hermes 响应能被任务详情或运行日志展示。
## 2. 任务调度入口
- [ ] 新增手动触发任务 API。
- [ ] API 参数支持任务资产 ID。
- [ ] API 调用 Orchestratorsource 为 `schedule`
- [ ] Orchestrator 路由到 Hermes。
- [ ] Hermes 执行结果写入 AgentRun。
- [ ] 任务执行失败时写入错误。
- [ ] 任务执行结束后更新任务最近执行时间。
- [ ] 任务执行结束后更新任务最近执行状态。
验收证据:
- [ ] 可以手动触发一次 Hermes 任务并看到运行结果。
## 3. 每日风险巡检
- [ ] 实现重复报销巡检。
- [ ] 实现金额超标巡检。
- [ ] 实现发票异常巡检占位。
- [ ] 实现应收逾期巡检。
- [ ] 实现应付异常付款巡检。
- [ ] 每个风险项包含风险类型。
- [ ] 每个风险项包含业务对象。
- [ ] 每个风险项包含触发规则。
- [ ] 每个风险项包含建议动作。
- [ ] 每个风险项包含风险等级。
验收证据:
- [ ] 风险巡检结果可以被用户理解和追溯。
## 4. 每日统计
- [ ] 统计当日报销单数量。
- [ ] 统计当日报销金额。
- [ ] 统计当日报账数量。
- [ ] 统计当日报账金额。
- [ ] 统计应收新增金额。
- [ ] 统计应收逾期金额。
- [ ] 统计应付待付金额。
- [ ] 统计应付逾期金额。
- [ ] 输出日报摘要。
验收证据:
- [ ] Hermes 能生成一份每日财务摘要。
## 5. OCR 接入点
- [ ] 原始票据先落 `document_assets``document_asset_versions`,不直接以内存临时文件参与流程。
- [ ] 建立 OCR 识别服务接口。
- [ ] 定义发票识别输入结构。
- [ ] 定义发票识别输出结构。
- [ ] 输出结构包含发票号。
- [ ] 输出结构包含开票日期。
- [ ] 输出结构包含金额。
- [ ] 输出结构包含税额。
- [ ] 输出结构包含销售方。
- [ ] 输出结构包含购买方。
- [ ] 输出结构包含置信度。
- [ ] OCR 输入可通过 `storage_key` 或等价文件定位字段读取原件。
- [ ] 当前阶段允许使用 Mock 结果。
- [ ] OCR 调用写入 ToolCall。
验收证据:
- [ ] Hermes 风险巡检中可以调用 OCR Mock。
## 6. 知识库维护
- [ ] 建立知识条目写入服务。
- [ ] Hermes 可以生成知识候选条目。
- [ ] 候选条目包含标题。
- [ ] 候选条目包含正文。
- [ ] 候选条目包含来源。
- [ ] 候选条目包含适用场景。
- [ ] 候选条目默认状态为 `draft`
- [ ] 知识条目不能自动发布。
- [ ] 知识条目写入审计日志。
验收证据:
- [ ] Hermes 可以生成待审核知识条目。
## 7. 规则草稿形成
- [ ] Hermes 可以根据风险巡检结果生成规则草稿。
- [ ] 规则草稿保存为 `asset_type=rule`
- [ ] 规则草稿状态为 `draft`
- [ ] 规则草稿包含 Markdown 内容。
- [ ] 规则草稿包含生成原因。
- [ ] 规则草稿包含关联风险样例。
- [ ] 规则草稿不能自动上线。
- [ ] 规则草稿需要审核人。
- [ ] 规则草稿写入审计日志。
验收证据:
- [ ] Hermes 生成的新规则出现在规则列表中,但不是 active。
## 8. Hermes 页面或日志展示
- [ ] 任务详情能看到最近执行结果。
- [ ] 任务详情能手动触发执行。
- [ ] 任务详情能看到风险项数量。
- [ ] 任务详情能看到日报摘要。
- [ ] 任务详情能看到知识候选数量。
- [ ] 任务详情能看到规则草稿数量。
- [ ] 运行 Trace 能看到 Hermes 步骤。
- [ ] 错误时展示错误原因。
验收证据:
- [ ] 不查数据库也能判断 Hermes 是否执行成功。
## 9. 测试
- [ ] 测试手动触发任务。
- [ ] 测试 Orchestrator 路由到 Hermes。
- [ ] 测试风险巡检输出。
- [ ] 测试日报统计输出。
- [ ] 测试 OCR Mock 调用。
- [ ] 测试知识候选写入。
- [ ] 测试规则草稿生成。
- [ ] 测试 Hermes 异常写入 AgentRun。
验收证据:
- [ ] Hermes 核心测试通过。
## 10. Day 6 验收
- [ ] Hermes 可被 Orchestrator 调用。
- [ ] 至少一个任务可以手动触发。
- [ ] 风险巡检有结构化结果。
- [ ] 每日统计有结构化结果。
- [ ] OCR Mock 接入点可用。
- [ ] 知识候选可生成。
- [ ] 规则草稿可生成且不能自动上线。
- [ ] 任务详情或运行日志能展示结果。
- [ ] 所有完成项已用 `[x] ~~...~~` 标记。
## 阻塞记录
- [ ] 暂无。
## 日终交接
- [ ] 写明 Hermes 已支持任务类型。
- [ ] 写明 OCR 当前是真实还是 Mock。
- [ ] 写明生成的知识和规则草稿状态。
- [ ] 写明 Day 7 需要重点回归的路径。