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

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト