3个Claude Code同时跑,代码冲突像车祸现场。这是开发者Keshrath的日常,也是所有玩过多AI代理的人的噩梦。
Agent A刚重构完认证模块,Agent B不知道,又改了一遍。合并时冲突爆炸,token白白烧掉。他试过用文件锁、Git分支、甚至人工协调——都像用创可贴贴骨折。
于是他造了个东西:agent-comm。一个开源通信服务器,让AI代理之间能说话、能同步、能抢锁。
多代理协作的"交通信号灯"
agent-comm的核心设计很直白:给每个代理发身份证,再搭个广播系统。
代理注册时报上名字和能力。其他代理能查谁在线、在干什么。支持私聊、群发、频道订阅、线程回复、表情反应——基本把Slack的功能搬进了AI世界。
但真正的狠活是带原子CAS(比较并交换)的键值存储。两个代理同时抢同一个锁?CAS保证只有一个能成功,另一个乖乖排队。这相当于给AI代理造了个分布式互斥锁,解决的是"我以为只有我"的认知盲区。
安装只要一行:npm install -g agent-comm。MCP配置加几行JSON,仪表盘自动开在localhost:3421。
Keshrath现在的日常是:3个Claude Code会话并行,一个写实现、一个做代码审查、一个跑测试。它们通过频道协调,用状态锁避免踩脚。没有合并冲突,没有重复劳动,每个代理都知道同伴在干嘛。
为什么现有方案都差点意思
Git分支?代理A和B各自切分支,合并时该冲突还是冲突。文件锁?只能防同时写,防不了逻辑层面的重复设计。人工协调?那还要AI代理干什么。
agent-comm的区别在于:它让协作从"事后合并"变成"事前协商"。代理完成任务时广播一声"认证模块重构完毕,待审查",另一个代理立刻接手。状态是实时的,沟通是结构化的。
仪表盘用WebSocket推流,能看到所有代理、消息、频道、状态。调试多代理系统时,这相当于给了开发者一双透视眼。
MCP工具覆盖代理管理、消息、频道、共享状态。REST API给不支持MCP的客户端留后门。设计上是开放的,Claude Code、Codex CLI、Gemini CLI、Aider——只要能发HTTP请求就能接入。
开源社区的"野路子"解法
Keshrath在GitHub上放了完整代码:github.com/keshrath/agent-comm。没有融资新闻,没有产品发布会,就是一个开发者被自己的多代理工作流逼急了,动手解决。
这种"自挠其痒"的开源项目往往最实在。作者自己每天用,迭代节奏跟着真实痛点走。
目前agent-comm的想象空间不止于代码。任何需要多AI代理协作的场景——自动化测试、数据流水线、内容生产——都可能需要类似的协调层。当单个代理的能力边界越来越清晰,代理之间的"社交能力"反而成了瓶颈。
Keshrath在发布帖里留了句话:「Would love feedback from anyone else running multi-agent setups.」
你现在的AI工作流是单代理独奏,还是已经到需要"交通指挥"的阶段了?
热门跟贴