Hermes 驱动多 Agent 协作开发教程
1. 背景
在传统开发中,一个项目通常由产品、架构、前端、后端、测试、运维等角色共同完成。随着 Claude Code、Codex、Cursor Agent 等 AI 编程工具逐渐成熟,个人开发者也可以模拟一个小型工程团队:让不同 AI Agent 承担不同角色,并由一个总控 Agent 进行任务拆解、上下文管理、代码审查和合并决策。
本文介绍一种基于 Hermes 的多 Agent 协作开发方法。
在这个模式中:
- Hermes 负责整体调度、任务拆解、边界控制和结果验收。
- Claude Code / Codex Agent 负责具体模块实现。
- 文档体系负责约束所有 Agent 的行为。
- Git 分支和任务卡负责隔离工作范围。
- Reviewer Agent 负责审查代码质量、架构一致性和安全风险。
本文以 MailMind 项目为例,说明如何使用 Hermes 驱动多个 Agent 协作开发一个 AI Email Copilot。
2. 核心理念
Hermes 多 Agent 协作开发的本质不是“同时打开多个 AI 写代码”,而是:
用文档、任务边界和验收标准约束多个 AI Agent,让它们像工程团队一样协同工作。
如果没有任务拆解和边界控制,多个 AI Agent 同时开发很容易造成:
- 重复实现同一功能;
- 多个 Agent 修改同一文件;
- API 合同不一致;
- 数据库模型被随意扩展;
- 安全规则被忽略;
- 项目结构快速失控;
- 最后代码看似很多,但无法集成。
因此,Hermes 的核心价值不是写代码,而是驾驭代码生成过程。
3. Hermes 的角色定位
Hermes 在多 Agent 协作中相当于:
1 | 项目经理 + 架构师 + Tech Lead + Code Reviewer + 合并守门人 |
Hermes 的主要职责包括:
- 阅读并维护项目核心文档。
- 将需求拆解为小任务。
- 为每个任务选择合适的 Agent。
- 明确每个 Agent 可以修改哪些文件。
- 明确每个 Agent 不能修改哪些文件。
- 控制 MVP 范围,防止功能膨胀。
- 审查各 Agent 的输出是否符合设计。
- 处理跨模块冲突。
- 决定是否合并代码。
- 维护项目整体一致性。
Hermes 不应该直接承担所有编码任务。它更像一个总控系统,负责让多个 Agent 各司其职。
4. 多 Agent 协作前需要准备什么
在启动多个 Agent 之前,必须先准备基础文档。否则 Agent 会缺乏共同上下文,各自按照自己的理解写代码。
推荐至少准备以下文档:
1 | README.md |
其中最关键的是:
| 文档 | 作用 |
|---|---|
| PRD.md | 定义产品要做什么 |
| SYSTEM_DESIGN.md | 定义系统如何分层 |
| DATABASE_DESIGN.md | 定义数据模型 |
| API_DESIGN.md | 定义前后端接口合同 |
| AI_PIPELINE.md | 定义 AI 输入、输出、Prompt 和 Schema |
| SECURITY.md | 定义 Token、邮件、日志和权限安全规则 |
| AGENTS.md | 定义各 Agent 的职责和禁区 |
| TASK_BREAKDOWN.md | 定义可执行任务列表 |
如果这些文档不完整,Hermes 可以先委派 Agent 编写文档,而不是直接写代码。
5. 推荐 Agent 编队
以 MailMind 项目为例,可以将多个 Agent 分为以下角色。
1 | Hermes Orchestrator |
5.1 Frontend Agent
Frontend Agent 负责前端界面和交互。
主要职责:
- 初始化 Next.js 项目;
- 实现 Daily Digest Dashboard;
- 实现邮件详情页;
- 实现设置页;
- 实现 Job 状态轮询;
- 实现 API Client;
- 处理 loading、error、stale、failed 等状态。
允许修改:
1 | frontend/ |
禁止修改:
1 | backend/ |
5.2 Backend API Agent
Backend API Agent 负责 FastAPI 接口和业务编排。
主要职责:
- 实现 API Router;
- 定义请求和响应 Schema;
- 实现 Digest API;
- 实现 Email API;
- 实现 Job API;
- 编排 Service 层逻辑。
允许修改:
1 | backend/app/api/ |
禁止事项:
- 不直接调用 Gmail API;
- 不直接调用 LLM;
- 不直接写复杂 SQL;
- 不修改前端代码;
- 不擅自变更数据库结构。
5.3 Gmail Integration Agent
Gmail Integration Agent 负责 Gmail 接入。
主要职责:
- Google OAuth;
- Token refresh;
- GmailProvider;
- 获取今日邮件;
- 获取邮件详情;
- 标记已读;
- 标记未读;
- Gmail 邮件结构标准化。
允许修改:
1 | backend/app/providers/ |
禁止事项:
- 不生成 Daily Digest;
- 不写前端;
- 不写 AI Prompt;
- 不擅自新增数据库表。
5.4 AI Pipeline Agent
AI Pipeline Agent 负责 AI 分析链路。
主要职责:
- EmailPreprocessor;
- DigestInputBuilder;
- LLMClient;
- StructuredOutputParser;
- DigestDecisionEngine;
- Prompt 版本管理;
- JSON Schema 校验;
- AI 输出标准化。
允许修改:
1 | backend/app/ai/ |
禁止事项:
- 不调用 Gmail API;
- 不修改 OAuth;
- 不修改前端;
- 不擅自改数据库结构。
5.5 Database Agent
Database Agent 负责数据库模型和迁移。
主要职责:
- SQLAlchemy Models;
- Alembic Migrations;
- 表结构设计;
- 索引设计;
- 外键约束;
- 枚举定义;
- 初始化脚本。
允许修改:
1 | backend/app/db/ |
禁止事项:
- 不创建重复职责的数据表;
- 不把 AI 建议和用户行为混在一张表;
- 不把 Gmail 状态和本地处理状态混为一谈;
- 不修改 API 合同,除非 Hermes 批准。
5.6 DevOps Agent
DevOps Agent 负责本地开发环境和部署脚本。
主要职责:
- Docker Compose;
- PostgreSQL;
- Redis;
- Backend 启动;
- Frontend 启动;
- Celery Worker;
- Celery Beat;
.env.example;- 开发脚本;
- DEVELOPMENT.md。
允许修改:
1 | docker-compose.yml |
禁止事项:
- 不修改业务逻辑;
- 不修改 AI Prompt;
- 不修改 Gmail Scope;
- 不提交真实密钥。
5.7 Test Agent
Test Agent 负责编写测试。
主要职责:
- API 测试;
- Service 测试;
- Gmail Provider Mock;
- AI Schema 测试;
- Digest 生成测试;
- Job 状态测试;
- 安全回归测试。
允许修改:
1 | tests/ |
禁止事项:
- 不新增功能;
- 不使用真实 Gmail 凭据;
- 不使用真实 LLM API Key;
- 不为了测试通过而修改生产逻辑。
5.8 Reviewer Agent
Reviewer Agent 不写功能代码,只做审查。
主要职责:
- 检查是否符合 PRD;
- 检查是否符合架构设计;
- 检查是否超出 MVP 范围;
- 检查是否破坏 API 合同;
- 检查是否出现重复数据模型;
- 检查是否泄露 Token、邮件正文或 Prompt;
- 检查是否缺少测试;
- 检查是否需要更新文档。
Reviewer Agent 是多 Agent 协作中非常关键的一环。没有 Reviewer,多个 Agent 的代码很容易各自正确、整体错误。
6. 多 Agent 开发流程
推荐流程如下:
1 | Step 1:Hermes 阅读项目文档 |
这个流程的核心是:
先定义边界,再让 Agent 写代码。
不要直接说“帮我实现整个后端”。这种任务太大,Agent 会自行发挥,最终很难集成。
7. 任务卡设计
Hermes 给 Agent 分配任务时,应使用任务卡,而不是一句话描述。
推荐任务卡模板:
1 | Task ID: |
示例:
1 | Task ID: FE-001 |
任务卡越清晰,Agent 越不容易跑偏。
8. 分支策略
多个 Agent 不应该直接修改 main 分支。
推荐使用独立分支:
1 | feature/frontend-dashboard |
原则:
- 一个任务一个分支;
- 一个 Agent 不要同时做多个大任务;
- 不同 Agent 尽量不要修改同一批文件;
- 合并前必须 review;
- 冲突由 Hermes 统一判断。
9. 哪些任务可以并行
适合并行的任务:
1 | Frontend 静态页面 |
不适合过早并行的任务:
1 | 真实 Gmail OAuth |
推荐顺序:
1 | 1. 文档冻结 |
10. 推荐开发阶段
Phase 0:文档冻结
目标:
1 | 明确 MVP 范围、架构边界、数据模型和接口合同。 |
产物:
1 | PRD.md |
Phase 1:工程骨架
目标:
1 | 项目能启动,但可以还没有真实业务。 |
委派:
1 | DevOps Agent:Docker Compose + .env.example |
验收:
1 | PostgreSQL 启动 |
Phase 2:Mock 闭环
目标:
1 | 前端 Dashboard 能调用后端 Mock API,并展示 Daily Digest。 |
委派:
1 | Backend API Agent:实现 mock /api/digest/today |
验收:
1 | Dashboard 能展示 overview |
Phase 3:真实 Gmail
目标:
1 | 完成 Gmail OAuth 和今日邮件同步。 |
委派:
1 | Gmail Integration Agent:OAuth + GmailProvider |
验收:
1 | 用户可连接 Gmail |
Phase 4:真实 AI
目标:
1 | 完成真实 Daily Digest 生成。 |
委派:
1 | AI Pipeline Agent:LLMClient + JSON Parser |
验收:
1 | AI 返回结构化 JSON |
Phase 5:完整 MVP 闭环
目标:
1 | 从 Gmail 到 AI 看板再到邮件操作形成完整闭环。 |
验收链路:
1 | 连接 Gmail |
11. Hermes 的关键职责
Hermes 每次分配任务时都要回答 5 个问题:
- 这个任务属于哪个模块?
- 应该由哪个 Agent 做?
- 允许它改哪些文件?
- 明确禁止它改哪些文件?
- 如何验收它的结果?
如果这 5 个问题答不清楚,说明任务还不能分配。
12. 典型错误与规避方法
错误一:任务太大
错误任务:
1 | 实现 MailMind 后端。 |
正确任务:
1 | 实现 GET /api/digest/today,先返回 mock digest 数据。 |
错误二:多个 Agent 改同一文件
规避方式:
- 一个任务一个分支;
- 每张任务卡写明 allowed files;
- Hermes 统一合并;
- Reviewer 检查越界修改。
错误三:没有 API 合同就让前后端并行
后果:
1 | 前端假设字段叫 suggestedAction |
最终一地鸡毛。
规避方式:
1 | 先写 API_DESIGN.md,再并行开发前后端。 |
错误四:AI 输出没有 Schema
后果:
1 | 这次 AI 返回 urgent_emails |
规避方式:
1 | AI 输出必须通过 JSON Schema 校验。 |
错误五:安全规则写在脑子里
后果:
1 | Agent 不小心把 token 打进日志。 |
规避方式:
1 | SECURITY.md + AGENTS.md 明确禁止。 |
13. Review Checklist
Reviewer Agent 或 Hermes 审查代码时,应检查:
1 | 是否符合 PRD? |
14. 适合 MailMind 的第一批任务
推荐第一批任务如下:
1 | DOC-001: 整理 docs 目录结构 |
注意:第一批任务不要直接上 Gmail OAuth 和真实 AI。先跑通 Mock 闭环,再接真实外部服务。
15. 最佳实践总结
Hermes 多 Agent 协作开发的关键不是“Agent 数量越多越好”,而是:
1 | 文档越清楚,Agent 越稳定。 |
推荐原则:
1 | 先文档,后代码。 |
16. 最终工作模式
一个理想的 Hermes 多 Agent 工作流应该是:
1 | PRD 定方向 |
最终目标不是让 AI 随便写更多代码,而是让 AI 在明确边界内稳定地产出可集成、可维护、可验证的工程成果。
17. 一句话总结
Hermes 驱动多 Agent 协作开发,本质上是一种面向 AI 编程时代的工程组织方式:
让 Hermes 负责方向、边界和验收,让多个 Agent 在清晰约束下并行完成模块化开发。
- 标题: Hermes 驱动多 Agent 协作开发教程
- 作者: moye
- 创建于 : 2026-06-17 15:11:19
- 更新于 : 2026-06-17 15:11:19
- 链接: https://www.kanes.top/2026/06/17/notes/Hermes驱动多agent/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。