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 代理。

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、脫離式耐用代理與分支執行。