본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 05. 31. 06:53

AI 에이전트가 배포되기 전 회귀(Regression)를 포착하기 위한 오픈 소스 SDK를 만들었습니다

요약

AI 에이전트 배포 전 회귀 테스트를 수행할 수 있는 오픈 소스 SDK인 replayd를 소개합니다. 에이전트의 실패 사례를 캡처하여 저장하고, 새 버전 배포 시 이를 재현하여 버그 재발 여부를 검증합니다.

핵심 포인트

  • 에이전트의 실패 실행을 캡처하여 테스트 케이스로 저장
  • 비결정론적 특성을 고려하여 LLM을 판사로 활용한 채점 방식 도입
  • 구조적 실패는 결정론적 단언을, 의미론적 실패는 LLM 기반 검증 사용
  • 런타임 의존성이 없는 프레임워크 불가지론적(Agnostic) 설계

AI 에이전트가 배포되기 전 회귀(Regression)를 포착하기 위한 오픈 소스 SDK를 만들었습니다

에이전트의 버그를 수정했습니다. 일주일 후, 프롬프트(Prompt)를 변경하거나 모델(Model)을 교체합니다. 그런데 똑같은 버그가 다시 나타납니다. 사용자가 발견하기 전까지는 아무도 알아차리지 못합니다.

일반적인 소프트웨어에는 이를 위한 회귀 테스트(Regression tests)가 있습니다. 하지만 AI 에이전트는 대부분 그렇지 않습니다. 그래서 저는 replayd를 만들었습니다.

에이전트가 실패했을 때, 해당 실행(Run)을 캡처하여 테스트로 저장합니다. 새 버전을 배포하기 전에, 저장된 실패 사례들을 새 버전에서 다시 재생(Replay)해 봅니다. 만약 동일한 실패가 다시 발생한다면, 사용자가 발견하기 전에 이를 잡아낼 수 있습니다.

pip install replayd

흥미로운 부분은 채점(Grading) 방식이었습니다. LLM(Large Language Models)은 비결정론적(Non-deterministic)이기 때문에 정확한 출력 일치(Exact output matching) 방식을 사용할 수 없습니다. 그래서 replayd는 텍스트를 검사하지 않습니다. 대신 특정 실패가 다시 발생했는지를 확인합니다. 구조적 실패(Structural failures)에는 결정론적 단언(Deterministic assertions)을 사용하고, 의미론적 실패(Semantic ones)에는 LLM을 판사(Judge)로 사용합니다. 에이전트가 무엇을 말했는지가 아니라, 에이전트가 무엇을 했는지에 대해 단언(Assert)합니다.

현재 v0.1.1 버전으로 초기 단계이며 다듬어지지 않은 부분도 있지만, 핵심 루프(Core loop)는 작동합니다. 코어에는 런타임 의존성(Runtime dependencies)이 전혀 없으며, 프레임워크에 구애받지 않습니다(Framework agnostic).

GitHub: github.com/TaimoorKhan10/replayd

만약 프로덕션(Production) 환경에서 에이전트를 실행하고 계신다면, 채점 방식에 대한 여러분의 피드백을 받고 싶습니다. 현재 수동으로 확인하고 있는 것 중 자동화되기를 바라는 것은 무엇인가요?

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0