Skip to content
查看 GitHub 源文件

源文件:https://github.com/lennonli/licheng-AI-tutorials/blob/main/docs/multi-agent-work-system-ABL-20260830-V1.md

AI优先|一个AI不够:建立自己的多Agent工作体系

用了AI一段时间以后,我越来越觉得:

真正稳定的AI工作方式,不应该只依赖一个Agent。

这里说的“多个Agent”,不是指一个Agent内部临时调用的子代理。

而是指几个彼此相对独立的智能体。

例如:

  • ChatGPT;
  • Codex;
  • Claude Code;
  • OpenCode;
  • ZCode;
  • 部署在Mac mini或者VPS上的Agent。

它们可能使用不同模型,有不同工具、不同运行环境,也可能保存不同的上下文。

我现在更倾向于把它们理解成:

几个独立的AI工作节点。

每个节点承担不同职责。

这和“一个主Agent内部调用几个Subagent”是两回事。

一、为什么不要把所有工作都压在一个Agent上

原因其实很现实。

任何一个Agent都有可能出现问题。

比如:

  • 模型暂时不可用;
  • 网络异常;
  • API额度耗尽;
  • 工具调用失败;
  • 文件处理出错;
  • 某个版本出现Bug;
  • 上下文过长;
  • 甚至整个产品临时无法使用。

如果所有工作都依赖一个Agent,那么这个Agent一旦出问题,整个工作就停了。

我自己越来越认可一个非常简单的原则:

重要工作工具,一定要有备份。

电脑要备份。

服务器要备份。

网络要备份。

AI也一样。

所以多Agent体系首先解决的,不是什么高级AI理论。

而是一个最基本的问题:

容灾。

二、不同Agent,本来就适合做不同的事情

第二个原因是,不同Agent的能力并不完全一样。

  • 有的擅长长期对话和记忆;
  • 有的擅长代码;
  • 有的适合直接读取本地文件;
  • 有的适合操作Git仓库;
  • 有的适合在服务器里运行;
  • 有的更适合作为备用排障工具。

所以没有必要强行要求一个Agent包办所有工作。

比如可以形成这样的分工:

  • ChatGPT作为长期使用的主智能体,负责记忆、讨论、任务设计和总体协调;
  • Codex负责代码、脚本、项目文件和开发任务;
  • ZCode负责本地Agent工作和文件处理;
  • OpenCode作为备用Agent,在其他Agent无法使用时负责排障和接手;
  • VPS上的Agent负责远程服务器任务和持续运行环境。

这里最重要的不是具体用哪个产品。

而是:

每一个Agent最好有一个相对明确的定位。

否则装了很多工具,最后只会增加选择成本。

三、主智能体不一定负责所有执行

我比较喜欢的一种结构是:

一个长期主智能体 + 若干执行Agent。

主智能体最重要的价值,是长期理解你。

它知道:

  • 你现在有哪些项目;
  • 你习惯怎么工作;
  • 你常用什么工具;
  • 以前做过什么决定;
  • 这类任务通常怎么处理。

所以它更像一个“总入口”。

但真正执行任务的时候,不一定非要由它自己完成。

例如:

  • 需要修改大量本地文件,可以交给本地Agent;
  • 需要写代码,可以交给Codex;
  • 需要处理VPS,可以交给服务器上的Agent;
  • 需要检查某个Agent为什么坏了,可以让OpenCode接手。

这样主智能体承担的是:

理解和调度。

其他Agent承担的是:

具体执行。

这个结构比强迫一个Agent什么都干,更稳定。

四、多Agent最重要的能力之一,是“接手”

多个Agent存在以后,一个很实际的问题就出现了:

A做到一半,B能不能继续?

我觉得这比“哪个模型更强”重要得多。

例如Codex已经处理了一个任务两个小时,突然环境出了问题。

如果换到OpenCode,是否需要重新从零开始?

理想状态当然是不需要。

所以我现在越来越重视:

Agent之间的任务交接。

一个可以接续的任务,至少应该能够告诉下一个Agent:

  • 任务目标是什么;
  • 输入文件在哪里;
  • 已经完成了什么;
  • 生成了哪些文件;
  • 目前做到哪一步;
  • 有什么已知问题;
  • 哪些地方还没有处理;
  • 下一步应该做什么。

这样下一个Agent才能真正“接手”。

而不是重新研究一遍整个项目。

五、对话记录不是最好的交接方式

很多人会直接把上一个Agent的整段聊天复制给下一个Agent。

当然可以。

但复杂任务一长,这种方式效率很低。

因为对话里往往有大量:

尝试;报错;废弃方案;重复讨论;中间推理。

新Agent还要重新判断哪些内容有用。

所以更好的办法是:

让当前Agent在阶段结束时生成一份交接说明。

例如:

  • 项目目标;
  • 当前状态;
  • 关键决策;
  • 文件路径;
  • 已完成项;
  • 待办项;
  • 风险和问题。

然后下一个Agent先读交接说明,再读取项目文件。

这比把几万字聊天记录全部塞过去稳定得多。

六、多Agent还有一个价值:互相检查

独立Agent之间可以承担第二层复核。

例如:

  • ChatGPT先设计法律分析框架;另一个Agent检查有没有遗漏问题。
  • Codex写完脚本;OpenCode重新检查代码和执行结果。
  • 一个Agent生成合同修改稿;另一个Agent专门寻找漏改、误改和前后矛盾。

这里不是让两个AI机械重复做同一件事。

而是:

让第二个Agent带着“检查第一个Agent”的任务去工作。

这样更容易发现问题。

尤其是复杂任务里,第一个Agent已经形成某种思路以后,很容易沿着自己的逻辑继续往下走。

换一个Agent,相当于换一个新的上下文重新审视结果。

七、备用Agent应该真正保持可用

备用Agent不是:

“我听说过这个工具,以后有问题再研究。”

真正的备用应该是:

  • 已经安装;
  • 已经配置;
  • 知道怎么启动;
  • 必要的模型可以使用;
  • 有权限读取相关文件;
  • 最好已经实际跑过任务。

否则主Agent出问题以后,你才开始研究备用工具怎么装,实际上起不到容灾作用。

所以备用Agent应该像备用服务器一样:

平时不一定天天用,但必须随时能接手。

我自己会更倾向于保留至少两个相互独立的Agent环境。

甚至可以:

本地一个;VPS一个。

这样机器、网络或者软件本身出现故障时,还有另一条路径。

八、Agent之间最好共享同一套外部工作规则

多个独立Agent还有一个问题:

不能每换一个Agent,就重新培训一次。

所以核心规则最好不要只存在某一个Agent的记忆里面。

例如:

  • 工作要求;
  • 提示词模板;
  • 文件命名规则;
  • 输出标准;
  • 项目说明;
  • Skill;
  • 脚本;
  • 知识库;
  • 常用路径。

尽量保存成Agent都可以读取的外部文件。

这样无论是ChatGPT、Codex、OpenCode还是其他Agent,只要拿到同一套材料,就可以快速进入工作状态。

这其实就是我前面一直强调的:

AI工作系统不能完全绑定在某一个产品里面。

Agent可以更换。

核心工作规则应该属于自己。

九、多Agent不是为了多,而是为了稳定

这里也很容易走到另一个极端:

安装十几个Agent。

每天研究哪个模型强一点;哪个版本更新了;哪个插件好用;最后大量时间都花在维护工具。

这没有必要。

我觉得一个比较简单的体系其实就够了:

  • 一个长期主智能体;
  • 一个主要执行Agent;
  • 一个真正可用的备用Agent。

如果还有特殊需要,再增加专项Agent。

判断一个Agent要不要长期保留,可以问:

它有没有一个现有Agent无法很好替代的职责?

如果没有,就不一定需要。

十、独立Agent和Subagent要分清楚

这里还有一个很容易混淆的概念。

多Agent体系和Subagent并不是一回事。

比如:

Codex内部为了完成一个任务,又调用几个子代理分别检索、写代码、检查结果。

这些属于:

Subagent。

它们仍然处在同一个Agent系统内部,由主Agent管理。

而ChatGPT、Codex、OpenCode、ZCode之间,则是几个独立的Agent。

它们有自己的对话、环境和工具。

所以可以简单理解成:

Subagent解决的是“一个Agent内部怎么分工”。

多Agent解决的是“多个独立AI系统之间怎么协作”。

这是两个不同层级的问题。

十一、最终目标不是拥有很多AI,而是拥有一套可切换的工作系统

我现在越来越不追求:

“找到一个最强的AI,把所有工作都交给它。”

因为AI变化太快。

今天最强的模型,明天可能就换了。

今天最好用的Agent,下个月也可能出现问题。

更稳妥的方式是:

让自己的工作能力不要依赖某一个Agent。

  • 任务规则在自己手里;
  • 文件在自己手里;
  • Skill在自己手里;
  • 脚本在自己手里;
  • 知识库在自己手里;
  • Agent只是不同的执行入口。

这样即使某一个Agent出了问题,也不会导致整个工作系统失效。

所以我理解的多Agent体系,本质上不是:

“我同时用了很多AI。”

而是:

“我的工作可以在不同AI之间切换、接续和备份。”

这才是真正有意义的多Agent。

前面我讲:

不要陪AI工作。

复杂任务先让AI规划。

再往下一步,就是:

不要让整个AI工作系统只依赖一个Agent。

建立主Agent、执行Agent和备用Agent。

让任务可以交接,让结果可以互相检查,让任何一个AI出现故障时,都有另外一个能够接手。

这不是为了把AI系统做得越来越复杂。

恰恰相反。

它的最终目标只有一个:

让AI真正成为稳定、可靠、可以长期使用的工作基础设施。

内容同步自 GitHub 仓库,仅作为工具教程与工作流说明。

CONTACT

联系李成律师

扫描二维码添加微信,沟通法律 AI、非诉业务及相关合作事项。

手机端可点击二维码查看原图并长按识别。

李成律师微信二维码扫码添加微信