
BabyAGI 作者 Yohei Nakajima 5 月 19 日把 ActiveGraph 1.0 公开到 GitHub。这是一个 Apache 2.0 许可的 Python 框架,定位是”事件溯源的反应式图运行时”——目标人群是做长链路、可审计、能 fork 的智能体系统的工程团队。仓库 README 开头放了一句标语:”The graph is the world. Behaviors are physics. The trace is the proof.”(图是世界,行为是物理规则,轨迹就是证明)。
它把 agent 协作的拓扑彻底换了
主流多智能体框架(AutoGen、CrewAI、LangGraph)默认用消息或函数调用做 agent 间协作。ActiveGraph 的设计相反:所有 agent(在框架里叫 behavior)都不直接对话,而是订阅一张共享图上的事件,看到符合自己 pattern 的变化就触发执行,执行结果以 patch 形式提交回图。Nakajima 在 README 里把这种区别写得很形象——”如果聊天式 agent 是一群人在群里说话,ActiveGraph 是一个共享工作台,谁改了什么、为什么改,所有人都能看见。”
这种设计带来的直接好处是审计:每一次 agent 的判断、每一次模型调用、每一次工具执行都是事件日志里的一条记录。仓库自带的 Diligence 包里给了一个完整范例——8 个对象类型、7 个 behavior、3 个工具——通过 recorded fixtures 跑出来的输出是字节级确定的,连 LLM 调用都不会真实联网。
三件别的框架做不到的事
第一件是 fork-and-diff。任意一次 run 在任意事件点都能分叉成一条独立的 fork,配置改一点重新跑,再和原始 run 做结构化 diff。共享前缀通过 LLM replay cache 复用,分叉本身不会重新调模型。”大多数 agent 框架做不到这件事”——这是 README 的原话。对要做 A/B 实验、参数扫描的研究团队,这是把 agent 系统从”调通就发”升级到”科学比对”的关键能力。
第二件是 relation behaviors。除了节点上挂 behavior,ActiveGraph 允许在边上挂逻辑——README 给的例子是 unblock,监听 task.completed 事件,当某条 depends_on 边的源任务完成时自动把目标任务从 blocked 状态切到 open。这种”边上的行为”在传统图模型里很罕见,但在描述协作流程时非常贴合。
第三件是 patch 机制。所有 behavior 不能直接改图,必须以 patch 形式提交,运行时按乐观并发应用或拒绝,被拒的 patch 同样是事件。这套机制让多 behavior 并发改图时的冲突变得可观察、可重放,而不是隐式的 race condition。
不是给所有人用的
Nakajima 在 README 最末段把”不适用”明确列出:聊天框架请用聊天框架;工作流引擎请用工作流引擎;规则引擎请用规则引擎;高吞吐图数据库请挂在 EventStore 协议后面。ActiveGraph 默认 store 是 SQLite,可选 Postgres,但它不是给生产级图数据库的替代品——核心价值在 reactive runtime 与 audit trail,存储层只是支撑。
对独立开发者,30 秒的尝鲜路径是 pip install activegraph 然后 activegraph quickstart,自带的 fixture 不需要任何 API key 就能跑通,10 分钟的交互式 tutorial 会把 fork-and-diff 这个最差异化的特性走一遍。这种”先看再读”的引导节奏,明显是为了对抗多 agent 框架普遍的高门槛劝退现象。
事件溯源派开始挑战消息派
过去两年 multi-agent 框架的主流是消息派——把 agent 看成会发消息的工人。ActiveGraph 站到了对立面:图是世界,事件是历史,所有协调都通过共享状态完成。这套思路在传统软件工程里有深厚的传统(CQRS、Event Sourcing 都用过),Nakajima 把它移植到 agent 领域,靠的是 LLM replay cache 这一项工程优化让 fork 变得便宜。如果这条路能在中等复杂度的真实项目里证明优势,下一波 agent 框架很可能从”消息驱动”集体倒向”事件溯源”。Diligence pack 的存在让这件事可以被验证,而不是停留在概念。可以预期的是,9 月份会有一批基于 ActiveGraph 的实际项目案例公开,到时候才能判断这套方法是否真能跑出 BabyAGI 当年那样的影响力。
参考链接: