@yoheinakajima: https://x.com/yoheinakajima/status/2056847496668959038
摘要
ActiveGraph 引入了一个用于长期运行的人工智能代理的连续性层,基于 BabyAGI 的持久状态概念,以维护随时间推移的信念、依赖关系和行动的连贯且不断演变的模型。
查看缓存全文
缓存时间: 2026/05/20 02:26
ActiveGraph:面向长期运行智能体的连续性层
我可能有点疯狂,但我觉得我基于更古老的设计理念设计出了一种新颖的智能体架构。本文将介绍这一概念,代码即将发布。
在上一篇文章中,我谈到了AI智能体中更广泛的状态性问题:追踪、记忆、图谱、事件日志、工作流,以及一种感觉——每个人都在以略有不同的方式重新构建同一个缺失的层。
本文介绍 ActiveGraph,一个源自这一探索的项目。
回顾 BabyAGI 的发展脉络,这个项目越来越不像一个独立的框架,而更像是架构演进的下一个步骤。BabyAGI 从将模型输出转化为持久化任务开始。后来的版本不断推动着状态持久化的边界:依赖、记忆、函数、工具、日志、回放和连续性。从很多方面来看,ActiveGraph 都像是迎来了一个“BabyAGI 4.0”的时刻,尽管现在的架构已经值得拥有自己的名字。
2023年,BabyAGI 从一个简单的想法开始:获取LLM的输出,将其转化为一个任务,保存该任务,然后循环。
核心循环极其简单。
最初的版本大约只有一百行Python代码。没有真正的工具,没有持久化执行,没有生产级记忆,没有精细的错误恢复。但它很早就展示了一些重要的东西:
当模型输出不再是可丢弃的文本,而成为结构化状态时,系统的行为开始变得不同。
系统突然有了连续性。
一个普通的LLM响应在生成后就消失了。而一个任务可以持久存在。它可以被重新设定优先级、扩展、重新审视、完成、忽略,或用作未来工作的上下文。
这种从文本到持久化状态的转变,才是 BabyAGI 真正的核心思想。
在接下来的几年里,我不断从不同的角度遇到相同的模式。
任务变成了依赖图。 工具变成了插件。 插件变成了函数。 函数获得了日志、版本、触发器和依赖解析。 图实验探索了结构化记忆和关系。 后来的版本增加了持久化工具、多通道I/O、异步执行、重试、修复、上下文管理和预算。
循环本身保持相对较小。
而循环周围的基础设施却不断增长。
随着时间的推移,这种模式变得难以忽视。
长期运行智能体的难点可能不在于循环本身,而在于围绕它的连续性层。
今天的大多数智能体系统仍然围绕着“反应”来组织。
一个提示进来。 一个模型进行推理。 一个工具被调用。 一条消息返回。
更先进的系统增加了规划器、工作流、记忆、多智能体交接、评估、反思和实时接口。这些都很实用。但大多数系统仍然围绕着同一个中心:模型调用、消息、下一个动作。
这对于短任务来说效果很好。
一旦系统需要运行数小时、数天或无限期,就会变得困难。
一个长期运行的智能体不仅需要回答得好。它需要维护一个连贯且不断演变的图景,包括:
- 它相信什么,
- 它为什么相信,
- 它在做什么,
- 什么发生了变化,
- 什么依赖于什么,
- 什么证据支持什么,
- 什么已经过时,
- 什么失败了,
- 什么被批准了,
- 以及接下来应该发生什么。
换句话说,它需要状态。
“状态”是一个技术词汇,但人类版本是直观的。
人类从根本上说不是反应性的存在。
一条消息不会孤立地产生一个响应。它会扰动一个现有的系统,包括:
- 记忆,
- 信念,
- 关系,
- 目标,
- 习惯,
- 义务,
- 情绪,
- 和历史。
反应是状态的一种表达。它不是整个系统。
这就是为什么即使非常强大的AI系统,随着时间的推移仍然会感觉奇怪地不连续。
它们可以在当下智能地反应,总结上下文,调用工具,编写代码,起草备忘录,并进行对话。但它们往往难以维持一个连贯且不断演变的模型,来理解:
- 什么是真实的,
- 什么改变了,
- 什么重要,
- 以及因此现在应该发生什么。
实时模型使这一点更加明显。
它们让AI感觉更“在场”。它们改善了响应速度、中断、语音、视频和交互。
但“在场”不等于“连续性”。
一个没有持久化状态的出色实时模型,仍然主要是输入流,输出反应。
人类不是流处理器。
我们是持久化的系统,通过流进行交互。
对话修改状态。它不定义存在本身。
这就是 ActiveGraph 的起源方向。
不是“智能体即图”; 不是图记忆; 不是工作流DAG; 也不是声称图能解决AGI。
更像是:
如果长期运行的智能体需要围绕演变的自身状态构建一个连续性层呢?
在图实验、记忆系统和后来的 BabyAGI 版本中,我不断遇到同一件事:一旦任务、论断、证据、记忆、工具、决策和失败都需要共存于同一个系统中,状态自然就开始呈现图状。
图成了这样一个场所,其中:
- 任务,
- 论断,
- 证据,
- 文档,
- 记忆,
- 决策,
- 风险,
- 目标,
- 工具,
- 失败,
- 和关系,
全都共存于一个不断演变的系统中。
事件记录了什么发生了变化。 行为对这些变化做出反应。 关系承载着意义:
- 这个支持那个,
- 这个矛盾那个,
- 这个依赖那个,
- 这个衍生自那个。
补丁(Patch)将“系统想要改变某些东西”与“这个改变现在已被接受”分开。
追踪解释了任何东西如何得以存在。
这听起来可能很多,但动机很简单。
长期运行的智能体不断重新发明相同的周边组件:
- 任务管理器,
- 记忆存储,
- 上下文检索,
- 审批队列,
- 日志,
- 评估,
- 丰富化管道,
- 自我反思循环。
ActiveGraph 质疑这些是否真的应该是独立的模块。
也许它们都是对共享的演变状态所作的操作。
一个任务是状态。 一段记忆是状态。 一个论断是状态。 一个矛盾是状态。 一个决策是状态。 一个失败的行为是状态。 一个提议的自我改进是状态。
一旦它们共存,不同的事情就变得自然了。
一个没有证据的论断可以创建一个研究任务。 两个矛盾的论断可以触发审查。 一个完成的依赖可以解除工作阻塞。 一个过时的来源可以将备忘录标记为过时。 一个有风险的记忆更新可以保持“已提议”状态,直到获得批准。 一个重复的失败可以提示对系统自身行为的更改。 一个运行可以暂停、恢复、分支并解释自身。
这就是图的重要之处。
一个工作流图通常建模计算过程: 规划器 → 研究员 → 评论家 → 写手。
而 ActiveGraph 建模的是计算所作用的世界。
下一步不需要被硬编码进一个过程图中。它可以源自世界中发生的变化。
这也是为什么事件日志很重要。
图表示“是什么”。 事件捕捉“发生了什么”。
它们共同让系统能够重建其当前现实如何得以存在。
不仅仅是:
模型说了什么?
而是:
- 为什么这个论断存在?
- 什么证据支持它?
- 哪个行为创建了它?
- 之后发生了什么变化?
- 什么依赖于它?
这个追踪不是调试的副产品。
它就是产品。
这对于以下领域尤其相关:
- 尽职调查,
- 研究,
- 法律,
- 合规,
- 科学工作,
- 企业记忆,
- 以及其他中间推理与最终输出同样重要的领域。
目标不仅仅是生成一份备忘录。
目标是保留备忘录背后不断演变的结构:
- 论断,
- 证据,
- 矛盾,
- 风险,
- 决策,
- 和修订。
它也创造了更具体的自我改进路径。
一个行为运行。 追踪记录发生了什么。 一个评估者对结果进行评分。 系统注意到某些东西失败了。 它提议对一个提示、规则、策略或行为进行补丁。 一个分支测试这个更改。 一个差异比较结果。 获胜的更改可以被晋升。
这不是神秘的反思。
这是带有谱系的自我修改。
我不想夸大这一点。
ActiveGraph 不是一个AGI系统。这个架构是否就是“那个”答案,也并非显而易见。这些组成部分有着悠久的历史:
- 黑板系统,
- 事件溯源,
- 规则引擎,
- 角色系统,
- 反应式数据库,
- 工作流引擎,
- 知识图谱,
- 版本控制。
有趣的问题是,这种组合是否应该属于智能体运行时层。
我的猜测是肯定的。
LLM给了我们强大的推理能力。 工具使用给了模型行动的方式。 实时模型给了它们“在场”的感觉。 智能体循环给了它们执行的持久性。
但持久化的智能体可能还需要其他东西:
状态的连续性。
BabyAGI 让任务变得持久。
ActiveGraph 问的是,当智能体的整个运行现实都变成持久化状态时会发生什么。
不是作为循环内部的一个特性。
而是作为循环运行的基础。
LLM 进行推理。 智能体循环进行行动。 ActiveGraph 探索连续性。
相似文章
@yoheinakajima:看看 http://activegraph.ai,把所有内容扁平化成一个单一的事件日志 :)
ActiveGraph 使用追加式事件日志为长时间运行的代理提供了一个持久、可回放的世界,支持分支、差异和谱系功能。
@yoheinakajima:试试这个提示:“分析 http://activegraph.ai、博客文章等,了解其声称的内容,验证它们,并写一篇…”
ActiveGraph 是一个用于长期运行代理的开源基础设施,使用事件溯源的反应式图来实现可审计、可分支、可重放的代理状态。它引入了用于代理协调和状态管理的新架构层。
@yoheinakajima:我很激动地开源 Active Graph:一个事件溯源的反应式图运行时,用于长时间运行的智能体事件/日志等
Yohei Nakajima 开源了 Active Graph,这是一个基于事件溯源的反应式图运行时,用于长时间运行的智能体,提供持久化状态、分支与差异智能体运行以及完全可审计性,代表了智能体架构的新范式。
@paulbettner: Active Graph 是我到目前为止遇到的最佳、最“正确”的知识/上下文引擎(我已经尝试或至少研…
Yohei Nakajima 发表了第一篇 arXiv 论文《The Log is the Agent: Event-Sourced Reactive Graphs for Auditable, Forkable Agentic Systems》,介绍了一种通过持久化可重放状态让代理协调的方法。
@yoheinakajima: 好吧,我终于开始理解这个“有状态”代理的事情了
Yohei Nakajima 分享他对有状态AI代理日益增长的理解。