ThousandBirdsInc/chidori
The agent framework where every run is durable, replayable, and resumable by default.
What it solves
Chidori는 AI 에이전트의 비결정론적이고, 비용이 많이 들며, 취약한 특성을 해결합니다. 버그를 재현할 수 없는 문제, 디버깅 중 반복적인 LLM 호출로 인한 높은 비용, 크래시 후 진행 상황 손실, 그리고 인간의 승인을 기다리는 동안 프로세스를 유지해야 하는 필요성 등 일반적인 페인 포인트를 제거합니다.
How it works
이 프레임워크는 순수 Rust 기반의 JavaScript 엔진이 내장된 Rust 기반 런타임을 사용하여 일반적인 async TypeScript로 작성된 에이전트를 실행합니다. LLM 호출, 도구 호출, HTTP 요청을 포함한 모든 부작용을 "host call"로 인터셉트합니다. 이러한 호출은 저널(journal)에 기록됩니다. 이를 통해 런타임은 에이전트의 상태를 디스크에 체크포인트로 저장하고, 토큰을 소비하지 않고도 바이트 단위로 동일한 출력을 재현(replay)할 수 있으며, 프로세스 재시작 후에도 임의의 일시 중단 지점에서 실행을 재개할 수 있습니다.
Who it's for
높은 신뢰성, 결정론적 테스트, 비용 효율적인 디버깅이 필요한 장기 실행, 고비용 또는 인간의 승인이 필요한 AI 에이전트를 구축하는 개발자들을 위한 것입니다.
Highlights
- Durable Execution: 에이전트는 기본적으로 크래시와 재시작으로부터 생존하며, 중단된 지점에서 정확히 다시 시작합니다.
- Zero-Cost Replay: 재현(Replay) 기능은 기록된 로그를 사용하여 새로운 LLM 호출 없이 동일한 출력을 제공합니다.
- Plain TypeScript: 복잡한 그래프나 DSL이 필요 없습니다. 에이전트는 표준 async TypeScript 함수로 작성됩니다.
- Human-in-the-Loop:
chidori.input()과 같은 내장된 프리미티브를 통해 에이전트는 디스크에 일시 중단되었다가 인간이 입력을 제공할 때 재개됩니다. - Standalone Runtime: Node.js나 V8에 의러존하지 않는 단일 Rust 바이너리입니다.
- Advanced Agent Patterns: actor-based supervision trees, detached durable agents, 그리고 branching execution을 지원합니다.