你有没有见过这种场景?一群人戴着耳机各忙各的,明明坐在同一个房间,却完全不知道旁边的人在干什么。这不是协作,只是共存。
一个独立开发者花了12周公开搭建了一套多代理系统:12个AI代理,6500多次测试,GitHub上攒了95个star。他原本以为是记忆问题,最后发现搞错了方向。
![]()
代理经常"技术正确但完全跑偏"——不是幻觉,是漂移。就像一个能力强的人走进错误的会议室,还没意识到自己走错就开始发言。他花了数周优化记忆:更长的上下文、更好的嵌入向量、持久化状态。都没用。问题不是代理记得什么,而是它不知道自己是谁。
解法出乎意料:三个JSON文件。每个代理配一本"护照"——我是谁、做什么、不做什么,大概30行,几乎不变。然后是本地日志,滚动记录会话要点,上限20条,满了自动归档到向量检索。最后是观察记录,专门记协作模式、怎么跟其他代理配合。每次会话启动,身份文件最先加载,代理永远不会"冷启动"。
12个代理各有专攻。邮件系统自己写了696个测试,全是踩坑踩出来的。路由系统跑了80多轮会话,脑子里只有路由这一件事。它们不越界干活,别的领域出问题时互相发邮件。调度器只负责派活,因为代理比它更懂自己的代码。
每次发帖都有人问:两个代理同时改一个文件怎么办?答案是它们根本做不到。不是"告诉它们别这么干",而是有硬拦截。每次写入前触发pre_edit_gate钩子,如果A分支的代理试图改B分支目录下的文件,直接拒绝。代理会看到"跨分支写入被拦截",只能请目标分支代劳,或者走邮件系统申请。整个系统只有3个分支有跨写权限:调度器、审计员、以及制造新代理的工厂。其他代理被物理隔离在自己的目录里。收件箱也上锁了,代理不能伪造消息——必须走邮件系统。这是强制,不是约定。
这周他停掉新功能,开始死磕测试。找了一台旧MacBook,全盘清空,从Ubuntu裸装开始。克隆到零配置环境,把所有坑踩了一遍:git配置缺失、venv在新Ubuntu上崩掉、钩子没挂接。全部修完。安装包从约2GB压到约100MB。还做了个向导代理,带新用户走12步 onboarding 流程,这套流程有243个测试兜底。"第一印象很重要,我们之前确实粗糙",他承认。
95个star,小项目。 solo开发者,代理帮忙构建和维护自己——每个PR都让他觉得"有点丢人"。但系统跑起来了,而且是在一台 wiped 过的旧笔记本上从零装起来的。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.