ThousandBirdsInc/chidori

The agent framework where every run is durable, replayable, and resumable by default.

What it solves

Chidori 解决了 AI 代理的非确定性、昂贵且脆弱的特性。它消除了常见的痛点,例如无法重现 Bug、调试过程中重复调用 LLM 的高昂成本、崩溃后的进度损失,以及在等待人类批准时需要保持进程的运行。

How it works

该框架使用基于 Rust 的运行时,并嵌入了纯 Rust 的 JavaScript 引擎来执行编写于普通 async TypeScript 中的代理。它会拦截每一个副作用——包括 LLM 调用、工具调用、以及 HTTP 请求——并将其视为 "host call"。这些调用会被记录在日志中。这使得运行时能够将代理的状态快照到磁盘,实现无需消耗 Token 的字节级一致输出重現,并在任何暂停点恢复执行,即使是在进程重启后。

Who it's for

对于需要高可靠性、确定性测试以及成本效益型调试的开发者,特别是正在构建长时运行、高成本或需要人类介入的 AI 代理。 \n## Highlights

  • Durable Execution: 代理默认具备抗崩溃与重启特性,能从上次停止的地方精确地恢复。
  • Zero-Cost Replay: 重现功能使用记录的日志来提供与原先相同的输出,而无需进行新的 LLM 调用。
  • Plain TypeScript: 无需复杂的图或 DSL;代理是以标准 async TypeScript 函数编写的的。
  • Human-in-the-Loop: 内置的原始类型如 chidori.input() 允许代理暂停至磁盘,并在人类提供输入时恢复。
  • Standalone Runtime: 单个 Rust 二进制文件,不依赖 Node.js 或 V8。
  • Advanced Agent Patterns: 支持 actor-based supervision trees、分离式耐用代理和分支执行。