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 呼び出しの両方にキャッシュを提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト