# Hermes 后台智能体架构总览 ## 1. 定位与愿景 Hermes 是 X-Financial 系统中的**后台自动巡检与数据洞察中枢**。与处理实时对话的 UserAgent 不同,Hermes 专注于异步、长周期、大批量的任务,核心价值在于提供事前的**深度风险挖掘**和定期的**业财洞察报告**。 ## 2. 系统拓扑图 ```mermaid graph TD subgraph 调度层 A[Cron Scheduler] -->|定时触发| B[Task Queue] end subgraph Hermes Agent 层 B -->|消费任务| C(Hermes Worker) C --> D[Task Skills Router] D --> E{RiskScanner Skill} D --> F{ExpenseReport Skill} D --> G{KnowledgeCheck Skill} end subgraph X-Financial 核心服务 E <--> H[(Expense DB)] F <--> H G <--> I[(LightRAG Graph/Vector)] C <--> J[LLM Gateway / OpenAI] C --> K[Notification Service / 企业微信] end ``` ## 3. 核心设计原则 1. **防抖与限流**:后台全量扫表时,必须分片执行,防止对主数据库造成 I/O 拥堵。 2. **幂等性保障**:每一个扫描任务和报告生成任务都应该具备唯一幂等键,避免因进程重启导致的重复发信或重复扣减信用分。 3. **隔离性**:Hermes 的进程应与对外提供 API 服务的 Web Server 物理/逻辑隔离,大模型限流策略(Token Rate Limit)应配置相互独立的账单通道。 ## 4. 核心执行链路(示例:夜间风控巡检) 1. 凌晨 02:00,Cron 触发 `trigger_risk_scan` 任务。 2. Worker 拉取状态为 `draft` 和 `submitted` 且 `risk_scanned=False` 的单据。 3. 将近三个月的相关人员单据聚类,构建 Context。 4. 调用大模型,寻找“拆单”、“合谋”、“时间/地点异常”等隐蔽风险。 5. 将发现的风险写入 `hermes_risk_report` 表,并标记对应单据。 6. 任务结束,更新执行日志,等待早晨财务主管查阅。