RaycarlLei/tool-journal
TypeScript execution journal for retryable tools: SQLite durability, lease fencing, explicit uncertainty, and reproducible crash tests.
해결하는 문제
도구 실행 중 '응답 상실' 문제를 해결합니다. 이는 도구가 외부 작업(예: API 호출)을 성공적으로 완료했지만, 응답이 기록되기 전 시스템이 충돌하는 상황을 말합니다. 이로 인해 시스템이 오류로 인해 작업을 중복 실행(중복 효과)하거나 복구 중에 불확실한 상태에 머무르는 것을 방지합니다.
작동 방식
이 라이브러리는 SQLite를 사용하여 액션 실행 전에 도구 실행 의도를 기록하는 내구성 있는 실행 저널을 구현합니다. 레이스와 재시도 허용 윈도우를 통해 실행을 조정합니다. 충돌이 발생하면 저널은 이전에 기록된 수신 증명을 재실행하거나, 하류 서비스가 동일성(일관성)을 보장하는 경우 안전하게 재시도할 수 있는 안정적인 동일성 키를 사용합니다. 자동으로 안전하게 복구할 수 없는 작업은 명시적으로 indeterminate로 표시됩니다.
대상 사용자
외부 도구에 의존하고, 중복 실행이 없도록 보장하는 고신뢰성 및 충돌 복구 보장을 필요로 하는 AI 에이전트나 자동 워크플로우를 개발하는 개발자들입니다.
주요 특징
- 내구성 있는 실행: 런타임 종속 없이 로컬 영구 저장에 SQLite 사용.
- 충돌 복구: 외부 효과와 그 완료 기록 사이의 간극을 특별히 처리.
- 동일성 조정: 동일성 키와 재시도 윈도우를 관리하여 안전한 재시도 보장.
- 프레임워크 통합: LangGraph와의 참조 통합을 포함하여 상태 그래프 내에서 복구를 보여줍니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트