clavia-labs/tardigrade
The TypeScript framework for building modular agents around an immutable event log.
它解决了什么问题
Tardigrade 提供了一个结构化、函数式的框架,用于构建需要维护复杂状态和可靠操作历史的 AI 代理。它通过使用不可变事件日志解决了代理工作流中的状态管理问题,确保代理的当前状态始终可以从其事件历史中推导出来。
它是如何工作的
该框架基于 Effect TS 构建,并使用称为“atoms”的概念来管理状态和逻辑:
- Atoms: 状态存储的基本单元。
- Durable Atoms: 这些将不可变事件日志简化为当前状态,从而实现状态恢复和持久化。
- Effect Atoms: 这些基于其他 atoms 的当前状态来派生视图并提出操作 (acts)。
代理将这些 atoms 组合成一个“actor”,可以作为 worker 部署。该系统支持托管在 Cloudflare (使用 Durable Objects) 或自托管的 Celld 集群上,其中每个 actor 实例由一个 supervisor 和具有各自 SQLite 支持日志的独立线程管理。
适用对象
使用 TypeScript 构建复杂、可组合 AI 代理的开发者,他们偏好函数式编程的状态管理方法,并希望在会话之间实现持久、稳定的状态。
亮点
- 不可变事件日志: 状态从事件历史中派生,确保一致性和正确性。
- 函数式组合: 基于 Effect TS 构建,灵感来自 Elm 和 Jotai。
- 持久化状态: 集成支持用于代理线程的 SQLite 存储。
- Cloudflare & Celld 支持: 一流的部署支持,适用于 Cloudflare Workers 和 Celld 集群。
相关
- 项目
- 项目
- 项目
- 项目