实验数据(控制变量:相同模型 Qwen3.5 35B)
- Hermes + 无 skill:20%
- Hermes + STDD skill:30%
- OpenCode + 无 skill:70%
- OpenCode + STDD skill:80%
- 商业算力基准(o3/Sonnet 4):100%
⚠️ STDD 是 skill 层,对两个框架增益公平,不计入 Hermes 的优势。
根因:Hermes 通用工具链在编程场景的四大瓶颈
| 维度 | OpenCode(原生优势) | Hermes(瓶颈) |
|---|---|---|
| 工具原语 | 代码专用操作(读片段、精确编辑、运行测试) | 通用工具(write_file/patch/terminal)适配代码,每步多绕一层 |
| 编辑→验证闭环 | 一次 tool call:编辑文件 + lint 校验 + 测试结果一次性返回 | 3-5 次 tool call:patch → terminal(pytest) → 读输出 → 分析 → 再编辑 |
| 项目上下文 | 内置项目索引,知道文件关联、import 链、类型关系 | 每轮通过 search_files/read_file 重新发现,重复消耗 tokens |
| 错误恢复 | 同一上下文窗口内自动重试修正 | 错误经通用 agent loop 传播,消耗更多 tokens,易触发上下文溢出 |
关键转折:不要重复造轮子——已有成熟生态
在考虑自己建 MCP Server 之前,先看看 Hermes 已经有什么:
1. Hermes 已有 ACP(Agent Communication Protocol)
Hermes 有 agent/copilot_acp_client.py 和 acp_adapter/,支持将任务委托给 ACP 兼容的 CLI 代理。delegate_task 工具可以走 ACP 子进程传输。
2. Hermes Skills 已覆盖主流编程 Agent
- opencode — 通过
opencode run委托编程任务 - claude-code — 通过
claude -p委托,支持 print mode / 交互模式 - codex — 通过
codex exec委托 OpenAI Codex
3. MCP 生态已有丰富代码工具
- @modelcontextprotocol/server-filesystem
- @modelcontextprotocol/server-github
- 社区大量 MCP Server:编码、数据库、API 集成
新认知:Hermes 的正确方向不是"自己写代码"
Herrmes 的架构优势是 多智能体编排,OpenCode 是 单智能体。正确的架构分层:
┌─────────────────────────────────────┐
│ Hermes Agent (编曲) │
│ 项目理解、任务分解、质量审查、多Agent协调 │
├─────────────────────────────────────┤
│ delegate_task / ACP / terminal │
├────────────┬────────────┬───────────┤
│ OpenCode │ Claude Code│ Codex │
│ (代码实现) │ (深度分析) │ (快速迭代) │
├────────────┼────────────┼───────────┤
│ MCP Servers (工具层) │
│ filesystem / github / DB / ... │
└─────────────────────────────────────┘
增强方案(纠正方向:从"重建"到"编排")
方案一:Hermes 作为编程 Orchestrator(最大收益)
不改 Hermes 的工具链,改为 Hermes 负责架构设计 + 任务分解 + 质量门禁,实际编码委托给 OpenCode/Claude Code。利用 delegate_task 或 terminal subprocess。
流程:
- Hermes 理解需求 → 写 Spec
- Hermes 调用
opencode run写代码实现(干净的独立上下文) - Hermes 审查输出、跑集成测试
- Hermes 组织多 Agent 并行工作
对比效果:
- Hermes 裸写代码:20%
- Hermes orchestration + OpenCode worker:可达 80-90%
- OpenCode 只有单线程,无法多 Agent 协作
方案二:自定义 Toolset(轻量级优化)
在 config.yaml 中配置 enabled_toolsets,限制编程任务只加载必要的工具子集(如 terminal + file + delegation),减少上下文噪声。配合 cron/script 模式封装密集操作。
方案三:ACP 路由(尚未探索)
如果 OpenCode 支持 ACP 协议或 CLI subprocess 模式,可以通过 Hermes 的 ACP adapter 直接路由编程任务,实现更紧凑的上下文隔离。
总结:停止造轮子,开始编曲
- ❌ 造 Code MCP Server:已有成熟生态,不需要重复
- ❌ 造 Project Index Plugin:OpenCode/Claude Code 自身已有
- ✅ Hermes 做 Orchestrator:利用 delegate_task 协调多个编码 Agent
- ✅ 复用已有 Skills:opencode / claude-code / codex skill 已经可用
- ✅ Hermes 的独有优势:多 Agent 并行 + 任务分解 + 质量门禁