AI Agent 配置系统对比
发现一个问题:Claude Code 的 skill 过多会导致 system prompt 启动加载变慢(数 GB skill 内容 eager load),而 Hermes 没这个问题。这篇是 6 个主流 AI Agent 配置系统的横向对比 + 实战推荐。
一、6 维度对比矩阵
| 工具 | 启动加载 | skill 机制 | 配置 | memory | 启动速度 | 启动体积 |
|---|---|---|---|---|---|---|
| Hermes | lazy | 自定义 .md | TOML/JSON | session 级 | 极快 | 小 |
| OpenClaw | lazy | workspace skill | JSON5 | workspace 级 | 快 | 中 |
| Claude Code | eager | 自动加载 .md | Markdown + settings.json | 项目级 | 慢 | 大 |
| Codex CLI | lazy | 自定义 .toml | TOML | 项目级 | 快 | 小 |
| AgentMD | lazy | 模板化 | AGENTS.md | repo 级 | 快 | 中 |
| SOUL.md | lazy | 单文件 | Markdown | workspace 级 | 快 | 极小 |
核心差异:启动加载策略(eager vs lazy)决定启动速度与体积。
二、6 个工具详解
2.1 Hermes
1 | ~/.hermes/ |
特点:
- lazy load:skill 按需加载,不一次全部读取
- session 级 memory:每个 session 独立
- 小巧:< 10 MB 总配置
2.2 OpenClaw
1 | .claw/ |
特点:
- lazy load + workspace 级
- 5 步仓库加载流程
- 适合”一个项目一个 SOUL” 的场景
2.3 Claude Code(Anthropic)
1 | ~/.claude/ |
特点:
- eager load:skill 启动时全部读入 system prompt
- 项目级 memory(CLAUDE.md)
- 大配置:skill 多时 system prompt 可能数 GB
问题(GitHub Issue #16160):skill 超过 30-50 个时启动明显变慢。
2.4 Codex CLI(OpenAI)
1 | ~/.codex/ |
特点:
- lazy load
- 项目级 AGENTS.md(与 AgentMD 共享)
- 强调确定性配置(TOML)
2.5 AgentMD
1 | # 项目根 |
特点:
- 单文件规范(AGENTS.md)
- 跨工具兼容(Claude / Codex / OpenClaw 都读)
- lazy load
- 简单但功能有限
2.6 SOUL.md(OpenClaw)
1 | # workspace 根 |
特点:
- 极简(一个 markdown 文件)
- 定义 agent 性格 + 价值观
- workspace 启动时读
三、4 大核心维度对比
3.1 启动加载策略
| 策略 | 代表 | 优点 | 缺点 |
|---|---|---|---|
| eager(启动全读) | Claude Code | 启动后即用 | skill 多时慢 |
| lazy(按需加载) | Hermes / OpenClaw | 启动快 | 首次调用 skill 略慢 |
| template(模板化) | Codex / AgentMD | 配置标准化 | 不够灵活 |
实战建议:
- 个人项目 → lazy(Hermes / OpenClaw)
- 大型项目(skill 多)→ eager + 拆分(Claude Code 但分多个 workspace)
- 标准化需求 → template(Codex / AgentMD)
3.2 Skill 管理
| 工具 | skill 格式 | 加载方式 | 数量限制 |
|---|---|---|---|
| Hermes | .md | lazy | 无 |
| OpenClaw | workspace | lazy | 无 |
| Claude Code | .md | eager | 30-50(多了会卡) |
| Codex | .toml | lazy | 无 |
| AgentMD | .md | lazy | 无 |
核心问题:Claude Code 是唯一 eager load 的,导致 skill 多了启动变慢。
3.3 Memory 管理
| 工具 | 范围 | 持久化 |
|---|---|---|
| Hermes | session | 自动 |
| OpenClaw | workspace | 文件 |
| Claude Code | project(CLAUDE.md) | git commit |
| Codex | project | git commit |
| AgentMD | repo | 文件 |
对比:
- session 级:短上下文,跨 session 不共享
- workspace 级:每个项目独立
- project 级:随项目 git 走,跨机器同步
3.4 配置文件格式
| 工具 | 主配置 | 格式 | 注释风格 |
|---|---|---|---|
| Hermes | config.toml | TOML | # |
| OpenClaw | workspace.json5 | JSON5 | // |
| Claude Code | settings.json | JSON | // |
| Codex | config.toml | TOML | # |
| AgentMD | AGENTS.md | Markdown | 自然语言 |
| SOUL.md | SOUL.md | Markdown | 自然语言 |
TOML vs JSON5:
- TOML:严格、人类可读、适合结构化
- JSON5:宽松、支持注释、适合嵌套深
Markdown(AGENTS.md / SOUL.md):
- 优点:人 + AI 都可读
- 缺点:没有结构校验
四、5 条实战建议
4.1 skill 控制在 20-30 个以内
不管是哪个工具,skill 多于 30 个就难维护。建议:
1 | skill 分层: |
4.2 用 lazy load 工具
如果你有 30+ skill → 选 Hermes / OpenClaw / Codex,不要选 Claude Code。
4.3 AGENTS.md 作为项目级”主入口”
不管你用哪个 Agent,项目根写一份 AGENTS.md 是必备的:
1 | # AGENTS.md |
所有 Agent(Claude / Codex / OpenClaw / Hermes)都读这个文件。
4.4 memory 要分”长期 vs 短期”
1 | ~/.hermes/MEMORY.md # 长期(你是什么样的人) |
混淆 memory 范围 = AI 困惑 = 输出质量下降。
4.5 定期 review 配置
每 3 个月 review 一次:
1 | # 哪些 skill 没用过? |
五、3 条避坑
- 不要”skill 越多越好”——20-30 个是甜区
- 不要混用多个 Agent(同一项目用 Hermes + Claude Code)——配置冲突
- 不要在 main 分支改 SOUL.md / CLAUDE.md——配置改动单开 PR
六、3 个相关项目
- Piebald-AI/claude-code-system-prompts — Claude Code prompt 收集
- anthropics/claude-code/issues/16160 — skill 加载性能问题
- agentmd/agent.md — AGENTS.md 规范
核心洞察:配置是 AI 项目的”代码”——和代码一样需要 review、测试、版本控制。CLAUDE.md / SOUL.md / config.toml 不只是给 AI 看的,更是给团队对齐用的文档。配置管理 = 项目管理。