Show HN: AgentState – AIエージェント向けのオープンソースのレジリエンス&キャッシングプロキシ
AgentStateは、LLMとツールの呼び出しをインターセプトし、実行状態をSQLiteに自動的にチェックポイントし、リトライを処理し、任意のポイントから実行を一時停止、編集、再開できる軽量なセルフホスト型プロキシです。時間とコストを節約します。
AgentStateは、長時間実行されるタスク中にAIエージェントがクラッシュした場合のトークン浪費問題を解決するためのオープンソースプロジェクトです。これは、LLMクライアントと実際のAPIの間に位置する軽量なプロキシであり、すべての完了リクエストをインターセプトし、SQLiteデータベースに実行状態をチェックポイントします。エージェントがステップ87で失敗しても、最初からやり直す必要はなく、最後のチェックポイントから復旧できます。
このプロジェクトは複数の統合方法を提供します:Python SDKのAgentStateOpenAIクライアントによる1行のコードでの統合、LangChainやCrewAI向けのフレームワークラッパー、およびOpenAI互換のクライアントであればbaseURLをAgentStateプロキシに指定するだけの標準設定です。さらに、セッショントラッキング、ステップ番号、HITLトリガー、フォールバックモデル切り替えのためのカスタムヘッダーもサポートしています。
AgentStateの内蔵ダッシュボードは、セッション履歴の表示、保留中の承認の管理、ファインチューニング用データセットのエクスポートなど、完全なセッション管理を提供します。テストデモでは、キャッシュによる高速復旧(クラッシュシミュレーション)とヒューマン・イン・ザ・ループ承認(機密操作の一時停止と承認)を実演しています。本プロジェクトはMITライセンスの下で公開されており、コミュニティからの貢献を歓迎します。
具体的には、AgentStateのアーキテクチャは非常にシンプルで、すべてのLLMおよびツール呼び出しをキャプチャし、各呼び出しの状態(入力、出力、タイムスタンプなど)をSQLiteデータベースに記録します。エージェントがクラッシュした場合、再実行時に最後に成功した状態から処理を再開できるため、重複計算を回避できます。さらに、同一のリクエストが再度発生した場合にキャッシュ結果を直接返すキャッシュ機能も備えており、トークンとコストの節約に貢献します。人間による承認が必要なシナリオでは、AgentStateはHITL承認ゲートウェイをサポートします。つまり、エージェントが機密操作(データ削除、メール送信など)を実行しようとすると、実行が一時停止され、ダッシュボードでの承認を待つようになります。承認された場合のみ処理が続行されます。APIレベルでは、AgentStateはOpenAIのチャット完了エンドポイントと互換性があるため、既存のOpenAIクライアントを簡単に置き換えることができます。また、管理APIを介してセッションの一覧表示、詳細表示、指定ステップへのロールバック、保留中の承認の処理、微調整データセットのエクスポートが可能です。全体として、AgentStateはシンプルな統合と強力な機能により、AIエージェントの信頼性とコスト最適化のための実用的なソリューションを提供します。