yoheinakajima/activegraph

Event-sourced graph runtime for durable and stateful agents

解决的问题

Active Graph 专为需要高审计能力以及具备恢复、分支或差异对比能力的长期运行智能体系统而设计。与依赖对话历史的传统聊天型智能体不同,Active Graph 使用共享图作为工作区,行为会响应状态变化,从而使整个过程变得可追溯且可重现。

工作原理

该系统是一个事件溯源的响应式图运行时。它维护一个只增事件日志作为事实来源,而当前的世界状态(图)是该日志的一个投影。

  • Behaviors: 这是响应式代码的单元(函数、类或基于 LLM),它们订阅特定的事件类型或图模式(使用 Cypher 子集)并产生新事件。

  • Relations: 引入了“关系行为 (relation-behavior)”原语,允许协调逻辑存在于对象之间的边上,而不是端点上。

  • Replay and Forking: 由于采用事件溯源,任何运行都可以从日志中重新执行。系统支持“分支与差异对比 (fork-and-diff)”,允许用户在任何事件处分支运行,更改配置,并在不重新执行共享前缀的情况下对结果进行结构化差异对比。

  • Packs: 领域特定逻辑、对象类型和工具被打包成“packs”以实现模块化。

适用对象

构建复杂的自主智能体所需的开发者,这些智能体需要严格的审计追踪、确定性重放以及通过分支和差异对比进行假设测试的能力。

亮点

  • 事件溯源架构:每一次变更都是一个事件,提供完整的审计追踪。
  • Fork-and-Diff:分支运行并进行结构化结果对比,利用 LLM 调用缓存来降低分支成本。
  • 关系行为 (Relation-Behaviors):将逻辑附加到类型化边上,实现独特的协调模式。
  • 模式驱动订阅:行为可以根据图形状和时间谓词进行触发。
  • 确定性重放:支持严格和宽松模式,以确保系统行为的可重现性。