yoheinakajima/activegraph
Event-sourced graph runtime for durable and stateful agents
它解决了什么问题
Active Graph 专为长运行的代理系统而设计,在这些系统中,可审计性、可追溯性以及恢复或分支运行的能力至关重要。它摆脱了基于聊天的代理架构(代理之间互相对话),转向一个共享工作区(图),其中行为会对世界状态的变化做出反应。这确保了每一次变更都记录在仅追加的事件日志中,使系统的历史完全透明且可重现。
运作原理
该框架作为一个事件溯源响应式图运行时运作。它维护一个仅追加的事件日志作为事实来源,而当前的世界状态则是该日志投影到对象和类型化关系图中的结果。
关键机制包括:
- 响应式行为 (Reactive Behaviors):订阅特定事件类型或图模式(使用 Cypher 子集)并产生新事件的代码(函数、类或由 LLM 驱动)。
- 关系行为 (Relation-Behaviors):直接附加在对象之间边上的逻辑,允许协调发生在关系上,而不是端点上。
- 分支与差异 (Fork-and-Diff):能够在任何事件点将运行分支为独立的分支,修改配置,并在不重新执行共享前缀的情况下,对结果与父运行进行结构性差异比较。
- 套件 (Packs):为特定领域量身定制的对象类型、行为和工具包。
目标用户
开发复杂、自主代理的开发者,这些代理需要高水平的可观测性、确定性重放,以及通过分支和差异化进行假设测试的能力。
亮点
- 事件溯源 (Event-Sourcing):每一次变更都是一个事件,提供完整的审计轨迹。
- 确定性重放 (Deterministic Replay):可以从事件日志中重新执行运行,并使用 LLM 重放缓存来降低成本。
- 可恢复与可分支 (Resumable and Forkable):任何运行都可以在任何点进行分支,以测试不同的路径。
- 关系行为 (Relation-Behaviors):一种用于图边协调逻辑的独特原语。
- 灵活的持久化 (Flexible Persistence):支持 SQLite、Postgres 和 FalkorDB 作为后端。
- LLM 无关 (LLM Agnostic):提供统一的
LLMProvider协议,用于在 OpenAI 和 Anthropic 等提供商之间进行切换。
相关
- 项目
- 项目
- 项目
- 项目
- 项目