Files
X-Financial/document/development/agent/agent plan/01_overall_architecture.md
2026-05-15 06:58:21 +00:00

5.3 KiB
Raw Blame History

双 Agent 总体架构

1. 背景

X-Financial 后续需要同时支持两类智能化能力:

  1. 用户主动发起的交互式流程操作。
  2. 系统后台自动运行的定时巡检、统计、预警和知识维护。

如果用一个万能 Agent 同时处理这两类任务,风险会很高:

  • 用户流程操作需要权限、确认、上下文追问。
  • 定时巡检需要稳定批处理、失败重试、审计记录。
  • 财务系统不能让大模型直接决定审批、付款、规则上线。

因此建议建设双 Agent 架构:

Hermes Agent
  后台数字员工
  面向系统内循环
  定时、批量、巡检、统计、预警、知识候选

User Agent
  自建用户流程助手
  面向用户交互
  查询、解释、创建草稿、流程操作、审批辅助

两套 Agent 共享一套语义本体协议,由 Agent Orchestrator 统一调度。

2. 总体架构图

                         ┌──────────────────────┐
                         │ 用户自然语言 / 定时任务 │
                         └───────────┬──────────┘
                                     │
                                     ▼
                         ┌──────────────────────┐
                         │ Semantic Ontology     │
                         │ 语义本体解析层          │
                         └───────────┬──────────┘
                                     │
                                     ▼
                         ┌──────────────────────┐
                         │ Agent Orchestrator    │
                         │ 路由 / 权限 / 审计 / 调度 │
                         └───────┬─────────┬────┘
                                 │         │
                   ┌─────────────▼─┐     ┌─▼──────────────┐
                   │ Hermes Agent  │     │ User Agent     │
                   │ 后台数字员工    │     │ 用户流程助手     │
                   └───────┬───────┘     └───────┬────────┘
                           │                     │
                           └──────────┬──────────┘
                                      │
             ┌────────────┬───────────┼───────────┬────────────┐
             ▼            ▼           ▼           ▼            ▼
        规则中心       MCP 服务      业务数据库     知识库       任务系统

3. 核心分层

3.1 语义本体层

负责把自然语言或任务配置转成结构化 JSON。

输出不是最终答案,而是统一协议:

{
  "domain": "reimbursement",
  "scenario": "invoice_validation",
  "intent": "explain_risk",
  "entities": [],
  "time_range": {},
  "constraints": {},
  "risk_signals": [],
  "next_step": "run_rule"
}

3.2 编排层

Agent Orchestrator 负责:

  • 判断应该由 Hermes 还是 User Agent 处理。
  • 判断是否需要查数据库、跑规则、调 MCP、检索知识库。
  • 检查用户权限。
  • 记录审计日志。
  • 控制失败重试。
  • 对高风险动作要求用户或管理员确认。

3.3 Agent 层

Hermes 和 User Agent 不直接决定财务关键状态。

它们负责:

  • 理解任务。
  • 组织工具调用。
  • 汇总工具结果。
  • 生成建议、解释、报告、草稿。

3.4 能力层

能力层包括:

  • 规则中心:管理 .md 规则文件、审核、版本。
  • MCP封装外部服务如发票验真、银行流水、OCR、差旅平台。
  • 数据库查询:查询报销、报账、应收、应付、账款数据。
  • 知识库制度文档、FAQ、历史解释、规则说明。
  • 任务系统:定时任务、批量任务、重试、运行日志。

4. 关键边界

Hermes 可以:

  • 定时读取数据。
  • 执行规则检查。
  • 调 MCP 查询外部状态。
  • 生成风险报告。
  • 生成知识候选。
  • 生成待处理工单。

Hermes 不可以:

  • 自动提交报销。
  • 自动发起付款。
  • 自动审批通过。
  • 自动发布知识库正式内容。
  • 自动上线规则。

User Agent 可以:

  • 帮用户查询状态。
  • 帮用户解释风险。
  • 帮用户创建报销或付款草稿。
  • 帮审批人生成审批意见。
  • 在用户确认后调用流程 API。

User Agent 不可以:

  • 绕过权限。
  • 未确认直接提交关键动作。
  • 自动最终审批。
  • 自动付款。
  • 修改规则审核状态。

5. 推荐建设顺序

Step 1: 建立语义本体 JSON 协议
Step 2: 建立规则中心的规则/技能/MCP/任务目录
Step 3: 建立 Orchestrator 路由和审计
Step 4: 建立 User Agent 的只读查询和解释能力
Step 5: 建立 Hermes 的定时任务和报告能力
Step 6: 接入 MCP 和业务数据库
Step 7: 增加用户确认后的流程写入能力
Step 8: 增加知识候选和规则优化闭环