langwatch/scenario

Agentic testing for agentic codebases

解决的问题

Scenario 是一个代理测试框架,旨在通过模拟真实的用户交互来评估 AI 代理的行为。它解决了在无需手动测试或静态数据集的情况下测试多轮对话和边缘案例的挑战,使开发者能够验证代理是否遵循特定标准或能否处理对抗性攻击。

工作原理

该框架使用一个模拟循环,其中 UserSimulatorAgent(由 LLM 驱动)会根据场景描述生成消息。此模拟器与受测代理进行交互。可以集成 JudgeAgent 来根据一组标准实时评估对话,决定模拟应继续还是以最终判定结束。开发者可以让模拟在“自动驾驶”模式下运行,或使用脚本 DSL 来精确控制对话流程,包括硬编码消息、自定义断言(例如检查工具调用)和外部评估。

适用人群

它是为构建 AI 代理的开发者打造的,特别是使用 Python、TypeScript 或 Go 的开发者,他们需要一种可靠的方式将代理测试集成到其 CI/CD 管道中。

亮点

  • 多轮模拟:在各种场景中模拟用户,以测试真实世界的代理行为。
  • 集成评判:使用 JudgeAgent 自动根据特定标准评估响应。
  • 红队测试:包含 RedTeamAgent,用于提示泄漏和拒绝检测等对抗性攻击。
  • 语音代理支持:为语音代理提供一流支持,具备适用于 ElevenLabs、OpenAI Realtime 等的适配器,包括延迟和中断测试。
  • 无关设计:通过简单的 call() 方法与任何 LLM 评估框架或自定义代理实现集成。
  • 缓存:为模拟器的输入和代理的内部 LLM 调用提供缓存,以确保测试可重复性并降低成本。

相关

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