多智能体的协作方式-Agent Team和Agent Room

发布时间:2026/7/17 21:56:57
多智能体的协作方式-Agent Team和Agent Room 最近在实践多智能体的设计方式也准备考虑给ActSpace添加多智能体的功能主要是多智能体如果设计得当的话是可以在提高效果的同时节省成本的这对于很多做应用的团队来说成本的控制是可以带来极好的用户体验的我觉得这也是Harness Enginneering的概念之一一、Agent Team的设计思路Agent Team是多智能体的协作方式之一类似于一个组“临时团队”一起攻坚一个复杂的任务里面会有负责人的角色Lead、同时也会存在团队的成员Teammate交流关系不仅仅是负责人和成员之间的交流成员和成员之间同样可以交流Agent-Team一个Agent Team最核心的四个组件团队负责人、任务清单、团队成员、消息收件箱核心的运行步骤如下Team Lead根据任务的复杂性生成任务清单同时开始创建团队的基本信息Lead可以直接分配任务给团队成员做同时在空闲的时候团队成员也可以主动领取任务Lead和Teammate的交流不是直接交流的是通过indox(消息收件箱发送消息类似于人类协作中的发送邮件的操作Team Lead创建任务和团队基本信息的时候是依靠两个工具taskCreate和TeamCreate这两个工具会创建两个关键的文件夹的我们假设团队名叫做jink-team那么创建的文件夹结构如下~/.claude/teams/jink-team/~/.claude/tasks/jink-team/ 那么任务清单创建好之后如何分配任务呢Agent Team是通过Lead分配和团队成员主动领取这两个方式Lead分配任务使用的是TaskUpdate方法团队成员主动领取任务使用的是TaskList先获取任务的状态然后根据状态来领取任务这是程序中循环调度器实现的每500ms循环执行一次。最核心的地方来啦团队的协作交流Agent Team中的交流信号分为两种信息和指令是通过消息收件箱传递的信息就是一些内容一些任务的描述和输入就和正常的用户输入是一样的指令是一些硬信号例如权限的审核通知团队成员会将执行权限审批先发送给负责人的收件箱负责人在读取之后将该指令传递给前端用户用户审核之后状态在一步一步回流还有团队成员的进程关闭等消息收件箱也很简单有效就是一个json文件里面的消息会有一个是否读取的状态每一个Agent执行的之后都会有循环调度去反复去读取这个文件如果有新消息会在Agent的下一轮将消息注入到上下文中执行所以我们可以发现Agent Team的消息传递只是通过简单的文件调度器的方式非常有效不过在实现这种传递方式时最关键的是要注意文件锁的设计例如任务清单很可能会出现两个Agent同时读取同一个任务这个时候状态会变得不稳定所以我们要设置文件锁同一个时刻只有由一个Agent读取并且执行修改。当某一个Agent抢到文件锁的时候那么该文件的所有权就是交给这个Agent来控制啦其他的Agent只能在旁边先等待ClaudeCode团队的实现非常的有灵性简单的使用一个mkdir方法就实现啦,mkdir在文件系统上是原子的同一时刻只有一个人能建成这个目录我这里简单介绍一下当Agent读取3.json任务时会在同级目录下创建一个3.json.lock/文件夹那么其他的Agent使用mkdir创建这个文件的时候会发现文件已经存在就会进行等待状态当Agent操作完成3.json这个任务之后就会主动删除这个3.json.lock/文件夹tasks/jink-team/ 3.json ← 真正的任务内容 3.json.lock/ ← 「有人正在改 3.json」锁的物理形态二、Agent Room的设计思路Agent Room同样也是多智能体的协作方式之一这个里面没有“Lead”是一次平等的交流互相讨论发表意见在一个房间里面多智能体进行思想碰撞Agent-Room对于Agent Room中的理解核心在上下文的主动与被动如果从聊天室出发将Agent拉入那么聊天室的每一次消息都会灌入Agent的上下文中Agent是被动接受这些信息的从上下文的管理角度来说这种方式的处理非常糟糕因为每一条注入上下文的消息模型都会关注的如果无关的信息过多冲突的信息存在那么这些都会干扰Agent去做决定我们从Agent的角度去理解就很直白啦那么怎么理解或者说怎么做是不错的协作方式呢对于Agent Room来说核心是两点概念收件箱和草稿板• 收件箱聊天室的每一次消息都会放入到Agent的聊天室收件箱中但是要推入什么信息到Agent上下文中完全由Agent自己来决定它可以选择性的拉去收件箱中的消息• 草稿板Agent每一次真正输入到聊天室之前先判断一下聊天室或者收件箱的消息列表是否更新啦如果没有更新那么直接输出如果更新啦那么消息被暂存并且添加一些附加信息再次注入回上下文执行这次Agent有四种选择修改、原样发送、放弃、强制发送这里的概念Raft博客说的特别好详细完整的大家可以去看看原文https://raft.build/resources/blog/is-having-agents-in-the-room-meant-to-be-chaotic/Agent-Room-2我这里还有一种思路大家可以参考借鉴的没有收件箱和草稿板聊天室的消息直接被推入到Agent的上下文中但是多了一个概念叫做思维精灵子AgentAgent-Room-3设想是这样的Agent不进行任务的执行只负责分发任务给思维精灵执行最终等待子智能体结果进行综合分析回复在回复之前会调用工具“抢占发言令牌”相当于班级中的“举手发言”啦举手成功之后就可以将最新的消息一并同工具返回之后那么聊天室这段时间都属于该Agent那么其就进行最终的回复当然这个只是一种猜想我还没有具体实践过感兴趣的朋友可以自行尝试梳理三、Agent Task的设计思路Task是Agent执行的最小单元吧所以这里我也想要一起简单的梳理一下一个Task只能被一个Agent执行但是一个Agent可以同时执行多个Task产生Task的方式我们也可以结合上面两种设计来看Agent Team产生的Task更多像是一个复杂任务被拆分为一个一个的小任务可以定义为一个临时任务Agent Room产生的Task偏向于用户手动指定某一个成员执行一个任务例如执行bug修复任务或者执行某一个领域的检索任务可以定义为一个完整的任务用户或者Agent Room是可以产生一种有时间属性的任务是定时任务到时间就执行的任务那么对于设计多智能体项目时是可以有一个Task模块的里面可以按照昨天状态显示当前执行的各种任务也可以按照Agent显示目前每一个Agent执行的任务是什么四、Agent Member的设计思路在多智能体的协调中Member这个角色很重要Agent Team中就需要真正执行的MemberAgent Room中也是如此所以Member是需要一个完整的定义的它不是临时的是有身份有头像有名字有设定有工具有范围有记忆等等这种Member在Agent Room中使用会非常直接方便就相当于Agent Room中的成员一个Member可以进入多个房间Room会话互相不干扰但是在Agent Team中我们要是从Member去理解的话那么每一次Team总是那么几个成员非常的固定没有发挥组建临时团队的意义所以这里有一种设计可以考虑Member有“分身”Agent Team中的团队成员本质是Member的分身有一些核心的东西不变但是一些其他的可以变动每一个Team中的相同的Member但是不同的“分身”在Agent Team中Member的定位设计不是最重要的重要的是可以为相应的复杂任务拉起正确的团队成员这样在多智能体的设计中Member就在Team和Room中统一起来了就可以统一维护和设计啦学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】