LLM对抗评估工具

Gauntlet是一个用于评估LLM代理管道的对抗性测试工具,支持Claude、OpenAI或自定义代理,通过生成测试场景和对抗性输入来验证代理性能。

  • by Deep-De-coder
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Deep-De-coder/Gauntlet

使用说明

护手⚔️

任何LLM代理管道的对抗性评估工具——Claude、OpenAI或您自己的

📦 PyPI上的挑战评估 — pip install gauntlet-eval

Gauntlet解决了每个AI工程师在生产中遇到的问题: 你怎么知道你的代理管道在真正的用户面前崩溃之前是真的工作的?

将其指向Claude、OpenAI或任何LLM代理,用简单的英语描述它应该做什么,并自动获得通过率、每个代理的细分、对抗性发现和具体建议。


安装

pip install gauntlet-eval

将您的Anthropic API密钥添加到MCP配置中(推荐):

{
  "mcpServers": {
    "gauntlet": {
      "command": "python",
      "args": ["-m", "gauntlet.mcp_server"],
      "env": {
        "ANTHROPIC_API_KEY": "your-key-here"
      }
    }
  }
}

或者,如果直接使用CLI/API,请将其添加到 .env 文件:

ANTHROPIC_API_KEY=sk-ant-...

→ 完整IDE设置: docs/MCP_SETUP.md


三种使用方法

1.IDE——最少的手工工作

在Cursor或Antigravity中将Gauntlet连接为MCP服务器。类型 find 在聊天中,Gauntlet会扫描您的工作区,自动检测代理文件,并运行eval。没有JSON,没有终端。

→ docs/MCP_SETUP.md

2.REST API

gauntlet serve
# Interactive docs at http://localhost:8000/docs

3.CLI

gauntlet run \
  --goal "Classify a support ticket as billing, technical, or general" \
  --agent-description "Single Claude classifier" \
  --agent-api-key "sk-ant-..." \
  --system-prompt "You are a classifier. Reply with one word." \
  --mode full \
  --runs 5

运作原理

Your agent
    │
    ▼
┌─────────────────────────────────────┐
│          Gauntlet Runner             │
│                                      │
│  1. ScenarioAgent   → test inputs    │
│  2. AdversarialAgent→ hostile inputs │
│  3. JudgeAgent      → pass/fail      │
│  4. ReportAgent     → recommendations│
└──────────────────┬──────────────────┘
                   ▼
           gauntlet.db (SQLite)
代理 它做什么
ScenarioAgent 从你的简单英语目标生成现实的测试输入
对手代理人 快速注射、相互矛盾的要求、幻觉陷阱
法官代理人 对每个响应通过/失败进行评分——支持自定义成功标准
报告代理 将故障转化为优先的代码级建议

每次完整评估运行的平均成本(近似值): ~$0.002


单代理评估

通过REST API、CLI或Python SDK,通过系统提示将Gauntlet指向任何Claude或OpenAI模型。它生成测试场景,通过您的代理运行它们,并返回完整的报告。

→ See docs/ARCHITECTURE.md 用于SDK使用。


多智能体评估——自动流量跟踪

添加 @trace("AgentName") 在每个代理功能之上。Gauntlet会自动记录每次通话,单独判断每一步,并准确指出哪个代理是瓶颈。

→ See docs/ARCHITECTURE.md 对于完整 @trace 例子。

报告显示了完整的执行流程:

Traced flow: Router → Writer → Validator

⚠️ Bottleneck: Writer (43% pass rate)

| Agent     | Pass Rate | Status        |
|-----------|-----------|---------------|
| Router    | 86%       | ✅            |
| Writer    | 43%       | ❌ bottleneck |
| Validator | 100%      | ✅            |

Scenario s2 — FAIL
  ✅ Router    → returned "billing" (120ms)
  ❌ Writer    → returned "" — output was empty
  ⚠️ Validator → never reached — upstream failure

文档

文档 里面有什么
docs/MCP_SETUP.md 光标和反重力设置, find 命令演练
docs/CURSOR_PROMPT.md 已准备好粘贴到Cursor聊天中的提示
docs/ARCHITECTURE.md 系统设计、代理流、数据模型

贡献

pip install -e ".[dev]"
pytest tests/ -v
ruff check gauntlet/

PR欢迎。


许可证

麻省理工学院——见 许可证.