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 环境的基准测试框架。

当前状态

  • 该仓库目前包含项目概述、论文和最小化代码骨架。
  • 完整的实现和文档计划在未来 2-3 周内发布,如 Release 部分所述。

许可证 – MIT(参见 LICENSE)。


以上所有信息均直接来自仓库的 README;未推断任何额外功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目