> 一个 AI 不够用,那就来一个团队。 ## 单 Agent 的天花板 OpenClaw 装好第一天,我用的是单 agent + Claude Opus。体验很好——Opus 聪明、有主见、能处理复杂任务。但问题很快暴露: 1. **贵**。Opus 每次调用 ~100k token(85% 是对话历史),一天下来账单吓人 2. **上下文爆炸**。聊着聊着上下文就满了,AI 开始"忘事" 3. **任务冲突**。我让它做深度研究的时候,发条消息问个简单问题,它得等研究完才能回我 本质上,一个 agent 就像一个人——再聪明也不能同时干两件事。 ## 设计多 Agent 体系 春节第二天(2/15),我开始搭多 agent 架构。思路很简单:**贵的模型做决策,便宜的模型做执行**。 最终的 agent 分工: | Agent | 模型 | 职责 | | -------- | ------ | ---------------------- | | main | Opus | 调度中心,直接和我对话 | | explorer | Sonnet | 数据搜集,跑腿查资料 | | coder | Sonnet | 编码执行,写脚本跑命令 | | reviewer | Sonnet | 代码审查,质量把关 | | analyst | Opus | 深度研究,投资分析 | 后来又加了一个: | quicknote | Gemini 2.5 Flash | 思源笔记速记,独立 Telegram bot | ### 为什么这样分 - **main 用 Opus**:它是调度中心,需要理解复杂意图、做决策、协调其他 agent。这是 Opus 的强项。 - **explorer/coder/reviewer 用 Sonnet**:这些是执行角色。搜索、写代码、审查——Sonnet 完全够用,价格只有 Opus 的 1/5。 - **analyst 用 Opus**:深度研究需要长链推理和综合分析能力,Sonnet 做不好。 - **quicknote 用 Gemini Flash**:速记不需要多聪明,要的是快和便宜。Flash 每百万 token 几毛钱。 ### 注册 Agent 在 OpenClaw 里注册 agent,通过 `openclaw agents add` 命令或在配置中添加: ```json { "agents": { "list": [ { "id": "explorer", "model": "anthropic/claude-sonnet-4-6", "description": "数据搜集,为 analyst 跑腿" }, { "id": "coder", "model": "anthropic/claude-sonnet-4-6", "description": "编码执行,脚本自动化" }, { "id": "reviewer", "model": "anthropic/claude-sonnet-4-6", "description": "代码审查,质量把关" }, { "id": "analyst", "model": "anthropic/claude-opus-4-6", "description": "深度研究,投资分析" } ] } } ``` 每个 agent 有自己的 session、自己的上下文、自己的模型。它们共享同一个 workspace(文件系统),但对话历史是隔离的。 ### agentToAgent 开启 `agentToAgent` 后,agent 之间可以查看彼此的会话历史。这很重要——main 派任务给 explorer,explorer 完成后 main 能直接看到结果,不需要 explorer 把结果复制粘贴回来。 ```json { "tools": { "agentToAgent": { "enabled": true } } } ``` ## 实战:A 股深度研究 第一个真正用到多 agent 的任务是 A 股深度研究报告(2/15)。 流程: 1. 我告诉 main:"做一份 A 股深度研究,覆盖 AI 应用、有色金属、房地产、半导体、新能源五个板块" 2. main 把数据搜集任务派给 explorer 3. explorer 搜索各板块的基本面数据、政策动态、龙头公司 4. main 把数据交给 analyst 做深度分析 5. analyst 输出研究报告 + 持仓诊断 + 组合建议 结果:报告质量不错,覆盖了五大板块 + 现有持仓诊断 + 推荐组合。但过程中踩了两个坑。 ### 踩坑一:config.patch 重启陷阱 注册 agent 需要修改配置,而**配置变更会触发 gateway 重启**。 我在 analyst 正在跑深度研究的时候,又修改了一次配置(开启 agentToAgent)。Gateway 重启,analyst 的任务直接中断,结果丢失。 同一天这个错误犯了两次。 **教训:有 sub-agent 在跑时,绝不做任何会触发重启的操作。** 这条规则后来被写进了 AGENTS.md,成为铁律。 ### 踩坑二:analyst output token 限制 analyst 用 Opus 做深度分析,数据搜集阶段消耗了大量 token。等到要写报告时,output token 已经接近限制,报告被截断了。 最终由 main 整合 analyst 收集的数据,自己完成了报告。 **教训:深度研究任务考虑分阶段执行,或者由 main 做最终整合。** ## quicknote:最轻量的 Agent 假期最后一天(2/23),我加了 quicknote agent。它是一个独立的 Telegram bot,专门做思源笔记速记。 和其他 agent 不同,quicknote: - 有自己的 Telegram bot(独立的 bot token) - 用 Gemini 2.5 Flash(最便宜的模型) - 有独立的 workspace(`~/.openclaw/workspace-quicknote/`) - 只做一件事:收到内容 → 整理 → 写入思源笔记 这是 OpenClaw 多 agent 的另一种用法——不是内部协作,而是面向不同场景的独立入口。给 main bot 发消息是和 Jarvis 聊天,给 quicknote bot 发消息是速记。 ## 模型分配的经济学 跑了一周后的数据: - main (Opus):占 input token 的 97%,因为对话历史最长 - explorer/coder/reviewer (Sonnet):执行任务时 token 消耗可控 - quicknote (Flash):几乎不花钱 最大的成本优化不是换便宜模型,而是**控制对话历史长度**。后来开了 contextPruning(详见第三篇),token 消耗降了一大截。 ## 多 Agent 的局限 说完优点,也说说局限: 1. **调度开销**:main 需要理解任务、决定派给谁、整合结果。简单任务直接做比派活快。 2. **上下文隔离**:agent 之间的对话历史是隔离的。虽然有 agentToAgent,但查历史也消耗 token。 3. **并发**:`sessions_spawn` 可以同时启动多个 sub-agent 实现并行,但需要合理设计任务拆分。 4. **配置复杂度**:每个 agent 的模型、fallback、workspace 都要单独配。 我的建议:**从单 agent 开始,遇到瓶颈再加**。不要为了架构而架构。 ## 小结 多 Agent 架构的核心思想: - 贵的模型做决策,便宜的模型做执行 - 每个 agent 职责单一,做好一件事 - 共享文件系统,隔离对话上下文 - 有 sub-agent 在跑时不要动配置 下一篇聊 Provider 和成本优化——怎么从一天烧几十刀降到几刀。 Loading... > 一个 AI 不够用,那就来一个团队。 ## 单 Agent 的天花板 OpenClaw 装好第一天,我用的是单 agent + Claude Opus。体验很好——Opus 聪明、有主见、能处理复杂任务。但问题很快暴露: 1. **贵**。Opus 每次调用 ~100k token(85% 是对话历史),一天下来账单吓人 2. **上下文爆炸**。聊着聊着上下文就满了,AI 开始"忘事" 3. **任务冲突**。我让它做深度研究的时候,发条消息问个简单问题,它得等研究完才能回我 本质上,一个 agent 就像一个人——再聪明也不能同时干两件事。 ## 设计多 Agent 体系 春节第二天(2/15),我开始搭多 agent 架构。思路很简单:**贵的模型做决策,便宜的模型做执行**。 最终的 agent 分工: | Agent | 模型 | 职责 | | -------- | ------ | ---------------------- | | main | Opus | 调度中心,直接和我对话 | | explorer | Sonnet | 数据搜集,跑腿查资料 | | coder | Sonnet | 编码执行,写脚本跑命令 | | reviewer | Sonnet | 代码审查,质量把关 | | analyst | Opus | 深度研究,投资分析 | 后来又加了一个: | quicknote | Gemini 2.5 Flash | 思源笔记速记,独立 Telegram bot | ### 为什么这样分 - **main 用 Opus**:它是调度中心,需要理解复杂意图、做决策、协调其他 agent。这是 Opus 的强项。 - **explorer/coder/reviewer 用 Sonnet**:这些是执行角色。搜索、写代码、审查——Sonnet 完全够用,价格只有 Opus 的 1/5。 - **analyst 用 Opus**:深度研究需要长链推理和综合分析能力,Sonnet 做不好。 - **quicknote 用 Gemini Flash**:速记不需要多聪明,要的是快和便宜。Flash 每百万 token 几毛钱。 ### 注册 Agent 在 OpenClaw 里注册 agent,通过 `openclaw agents add` 命令或在配置中添加: ```json { "agents": { "list": [ { "id": "explorer", "model": "anthropic/claude-sonnet-4-6", "description": "数据搜集,为 analyst 跑腿" }, { "id": "coder", "model": "anthropic/claude-sonnet-4-6", "description": "编码执行,脚本自动化" }, { "id": "reviewer", "model": "anthropic/claude-sonnet-4-6", "description": "代码审查,质量把关" }, { "id": "analyst", "model": "anthropic/claude-opus-4-6", "description": "深度研究,投资分析" } ] } } ``` 每个 agent 有自己的 session、自己的上下文、自己的模型。它们共享同一个 workspace(文件系统),但对话历史是隔离的。 ### agentToAgent 开启 `agentToAgent` 后,agent 之间可以查看彼此的会话历史。这很重要——main 派任务给 explorer,explorer 完成后 main 能直接看到结果,不需要 explorer 把结果复制粘贴回来。 ```json { "tools": { "agentToAgent": { "enabled": true } } } ``` ## 实战:A 股深度研究 第一个真正用到多 agent 的任务是 A 股深度研究报告(2/15)。 流程: 1. 我告诉 main:"做一份 A 股深度研究,覆盖 AI 应用、有色金属、房地产、半导体、新能源五个板块" 2. main 把数据搜集任务派给 explorer 3. explorer 搜索各板块的基本面数据、政策动态、龙头公司 4. main 把数据交给 analyst 做深度分析 5. analyst 输出研究报告 + 持仓诊断 + 组合建议 结果:报告质量不错,覆盖了五大板块 + 现有持仓诊断 + 推荐组合。但过程中踩了两个坑。 ### 踩坑一:config.patch 重启陷阱 注册 agent 需要修改配置,而**配置变更会触发 gateway 重启**。 我在 analyst 正在跑深度研究的时候,又修改了一次配置(开启 agentToAgent)。Gateway 重启,analyst 的任务直接中断,结果丢失。 同一天这个错误犯了两次。 **教训:有 sub-agent 在跑时,绝不做任何会触发重启的操作。** 这条规则后来被写进了 AGENTS.md,成为铁律。 ### 踩坑二:analyst output token 限制 analyst 用 Opus 做深度分析,数据搜集阶段消耗了大量 token。等到要写报告时,output token 已经接近限制,报告被截断了。 最终由 main 整合 analyst 收集的数据,自己完成了报告。 **教训:深度研究任务考虑分阶段执行,或者由 main 做最终整合。** ## quicknote:最轻量的 Agent 假期最后一天(2/23),我加了 quicknote agent。它是一个独立的 Telegram bot,专门做思源笔记速记。 和其他 agent 不同,quicknote: - 有自己的 Telegram bot(独立的 bot token) - 用 Gemini 2.5 Flash(最便宜的模型) - 有独立的 workspace(`~/.openclaw/workspace-quicknote/`) - 只做一件事:收到内容 → 整理 → 写入思源笔记 这是 OpenClaw 多 agent 的另一种用法——不是内部协作,而是面向不同场景的独立入口。给 main bot 发消息是和 Jarvis 聊天,给 quicknote bot 发消息是速记。 ## 模型分配的经济学 跑了一周后的数据: - main (Opus):占 input token 的 97%,因为对话历史最长 - explorer/coder/reviewer (Sonnet):执行任务时 token 消耗可控 - quicknote (Flash):几乎不花钱 最大的成本优化不是换便宜模型,而是**控制对话历史长度**。后来开了 contextPruning(详见第三篇),token 消耗降了一大截。 ## 多 Agent 的局限 说完优点,也说说局限: 1. **调度开销**:main 需要理解任务、决定派给谁、整合结果。简单任务直接做比派活快。 2. **上下文隔离**:agent 之间的对话历史是隔离的。虽然有 agentToAgent,但查历史也消耗 token。 3. **并发**:`sessions_spawn` 可以同时启动多个 sub-agent 实现并行,但需要合理设计任务拆分。 4. **配置复杂度**:每个 agent 的模型、fallback、workspace 都要单独配。 我的建议:**从单 agent 开始,遇到瓶颈再加**。不要为了架构而架构。 ## 小结 多 Agent 架构的核心思想: - 贵的模型做决策,便宜的模型做执行 - 每个 agent 职责单一,做好一件事 - 共享文件系统,隔离对话上下文 - 有 sub-agent 在跑时不要动配置 下一篇聊 Provider 和成本优化——怎么从一天烧几十刀降到几刀。 最后修改:2026 年 02 月 24 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏