nuglifeleoji/Sentry

Learning to Recover from LLM Agent Failures at Test Time

Sentry – LLM エージェントのランタイム障害管理

概要

  • 言語モデル駆動のエージェントと並行して動作し、その対話ループを監視する外部ライブラリです。エージェントが無効なアクションを実行したり、ループに陥ったり、タスクから逸脱したり、その他のランタイム障害が発生したことを検出します。
  • 障害が検出されると、Sentry は 修復 を提案します。正しい形式でのアクションのハードな再試行、または検証済みの回復からなる成長する「プレイブック」から得られるソフトでガイド付きの提案です。
  • 修復後、Sentry はエージェントが実際に回復したことを確認してから、ループを続行します。

重要性

  • 典型的なランタイムモニターは静的なアドバイスを提供し、エージェントのプロンプトを肥大化させる可能性があります。Sentry は各成功した修正から学習し、エージェントのコンテキストを簡潔に保ちながら、的を絞った支援を提供します。
  • 論文では、複数のベンチマークスイート(WebShop、AppWorld、SWE-bench Lite、Mind2Web)で平均パフォーマンスが最大 37% 向上し、939 件の検出された障害で 81.7% の回復率を報告しています。

主要コンポーネント

  1. 障害検出 – 最近のステップを監視し、無効なアクション、スキーマの不一致、または進捗の欠如を検出します。
  2. ハード修復 – エージェントに無効なアクションを必要な形式でやり直すよう要求します。
  3. ソフト修復 – 以前に同様の障害を修正したラベル付き「プレイブック」レッスンから得られたカスタマイズされたプロンプトを提供します。
  4. 回復検証 – 後続のステップをチェックして、問題が解決されたことを確認します。
  5. オンラインプレイブック学習 – 検証済みのソフト修復は、将来のタスクのための再利用可能なレッスンとして保存されます。

クイックスタート(README より)

# クローンしてインストール
git clone https://github.com/nuglifeleoji/Sentry.git
cd Sentry
python -m venv .venv
source .venv/bin/activate
python -m pip install -e .

# 設定を検証(オプション)
sentry-validate configs/paper.yaml

エージェントループへの統合

from Sentry import SentryRunner, agent_step_from_parts

runner = SentryRunner.from_yaml("configs/providers/openai_compatible.yaml")
runner.start_task(objective=task_objective, action_schema=environment_action_schema)

try:
    step = agent_step_from_parts(
        step_id=0,
        reasoning=reasoning,
        raw_action=raw_action,
        tool_name=tool_name,
        tool_args=tool_args,
        observation=observation,
        parsed_ok=True,
        schema_valid=True,
        accepted_by_environment=True,
    )
    repair = runner.step(step, terminal=False)
    if repair is not None:
        agent_messages.append(repair.prompt_text)
finally:
    runner.finalize()

コードは引き続きアクションを生成、検証、実行します。Sentry は必要なときにのみ監視し介入します。

AppWorld ベンチマークの実行(README の例)

python3.11 -m venv .venv-appworld
source .venv-appworld/bin/activate
python -m pip install -e '.[appworld]'
appworld install
export APPWORLD_ROOT="$PWD/outputs/appworld-root"
appworld download data --root "$APPWORLD_ROOT"
export OPENROUTER_API_KEY="your-api-key"
python -m benchmarks.appworld.run --config configs/providers/openrouter.yaml

リポジトリには、公式の AppWorld 環境用のベンチマークハーネスが含まれています。

現在のステータス

  • リポジトリには現在、プロジェクト概要、論文、最小限のコードスケルトンが含まれています。
  • 完全な実装とドキュメントは、Release セクションに記載されているように、今後 2〜3 週間以内にリリースされる予定です。

ライセンス – MIT(LICENSE を参照)。


上記のすべての情報はリポジトリの README から直接取得したものであり、追加の機能は推測されていません。

関連

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