피드로 돌아가기
Dev.toFrontend
원문 읽기
API 호출 없이 실제 운영 데이터로 AI 에이전트 프론트엔드 테스트 자동화
How I test AI agent frontends without calling the API once
AI 요약
Context
AI 에이전트의 스트리밍 레이어와 상태 전환 테스트의 어려움. 실제 API 호출 시 발생하는 비용, 속도 저하, 비결정적 응답 문제. 모킹(Mocking) 방식의 한계로 인한 실제 이벤트 시퀀스 검증 불가.
Technical Solution
- 운영 환경의 모든 스트림을 .jsonl 파일로 기록하는 AgentStreamRecorder 도입
- 기록된 .jsonl 파일을 pytest 픽스처로 활용하여 결정론적인 테스트 환경 구축
- async generator를 통해 기록된 이벤트 간의 밀리초 단위 타이밍을 재현하는 replay_as_stream 로직 구현
- 테스트 속도 조절 파라미터를 도입하여 실제 시간 흐름 또는 초고속 재현 선택 가능 구조
- FastAPI 엔드포인트에 레코더를 통합하여 실제 유저의 엣지 케이스를 자동으로 테스트셋에 포함하는 워크플로우 설계
- 운영 중 발견된 버그의 세션 ID를 추출하여 즉시 재현 가능한 회귀 테스트 케이스로 전환하는 프로세스 정립
Impact
- 1.2s 분량의 레코딩을 speed=10,000 설정 시 약 0.12ms 만에 재현 가능
Key Takeaway
실제 운영 데이터(Production Stream)를 테스트 픽스처로 전환함으로써, 엔지니어가 예상하지 못한 엣지 케이스에 대한 테스트 커버리지를 자동으로 확장하는 데이터 기반 테스트 전략.
실천 포인트
비결정적인 AI 응답 테스트 시, 모킹 대신 운영 환경의 이벤트 시퀀스를 .jsonl로 기록하고 이를 재생하는 회귀 테스트 구조를 검토할 것