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 との参照統合を含み、ステートグラフ内での復旧を示します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト