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 호출 모두에 대한 캐싱을 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트