AI 에이전트의 무작위 장애 대응을 위한 벤치마킹 방법은 무엇인가요?
How are you benchmarking your agents against random failures
핵심 요약
에이전트 시스템의 예기치 못한 장애를 방지하기 위해 카오스 엔지니어링을 도입하고, 이를 통해 회귀 테스트를 자동화하는 방법을 공유함.
- 카오스 하네스 도입 — 에이전트 시스템의 장애를 의도적으로 유발하여 견고성을 테스트함.
- 회귀 테스트 자동화 — 장애 발생 시 LLM을 활용해 테스트 케이스를 자동으로 생성함.
- 실제 트래픽 활용 — 프로덕션 환경의 데이터를 기반으로 에이전트의 실패 패턴을 학습함.
- 커뮤니티 피드백 요청 — 에이전트 평가 및 장애 대응 전략에 대한 다른 개발자들의 경험을 공유받고자 함.
우리 시스템은 10개 이상의 도구, 몇 개의 체인 에이전트, 벡터 검색, 메모리로 구성되어 성장했습니다. 해피 패스(Happy path)는 잘 작동합니다. 하지만 프로덕션 환경에서는 문제가 발생하죠.
지난주에 한 도구 API가 예상치 못한 스키마를 반환했고, 전체 체인이 멈춰버렸습니다. 제대로 된 에러 메시지도 없고, 어디서 죽었는지 추적할 수도 없었죠. 디버깅에 이틀이 걸렸습니다.
단위 테스트는 구성 요소를 개별적으로 테스트하기 때문에 이런 문제를 잡아내지 못합니다. 큐레이션된 평가 데이터셋도 '에이전트 A가 추론 중일 때 도구 B가 쓰레기 값을 반환하는 상황'을 큐레이션하는 사람이 없기 때문에 잡아내지 못하죠.
우리는 좌절했고, 무언가를 만들었습니다. 개별 부품을 의도적으로 고장 내고(잘못된 스키마, 지연 시간 급증, 노이즈가 섞인 도구 출력 등), 전체 에이전트 스택을 통해 실제 트래픽을 실행한 다음, LLM 판별기를 사용하여 실패 추적에서 회귀 테스트를 자동 생성하는 카오스 하네스입니다. 우리가 현재 추적하는 수치는 배포 전반에 걸쳐 동일한 실패 패턴이 얼마나 자주 반복되는지입니다. 그 수치가 떨어지면, 평가 스위트가 프로덕션으로부터 실제로 학습하고 있다는 것을 알 수 있죠.
다른 분들은 어떻게 하고 계신지 궁금합니다:
- 장애를 주입하고 계신가요, 아니면 주로 프로덕션 사고에 의존하시나요?
- 최종 출력뿐만 아니라 전체 다단계 추론 과정을 평가하고 계신 분이 있나요?
- 평가 스위트가 단순히 커지는 것이 아니라 시간이 지남에 따라 개선되고 있다는 것을 어떻게 아시나요?
하네스를 오픈 소스로 공유할 의향이 있습니다. 그저 다른 분들도 이런 벽에 부딪혔는지, 무엇이 도움이 되었는지 알고 싶을 뿐입니다.


