TL;DR
에이전트가 텍스트 출력은 그대로지만 내부적으로 잘못된 툴 호출을 하는 경우를 탐지하려는 필요에서 whatbroke가 개발되었으며 JSONL 트레이스에 기록된 툴 호출·인자·순서·비용·출력을 비교해 실제 변경점을 판별하는 방식으로 동작한다. 프록시 모드로 코드 변경 없이 다양한 언어에서 트레이스를 캡처할 수 있고 OpenTelemetry GenAI 스팬이나 Langfuse·LangSmith 내보내기부터 직접 import해 기존 추적과 비교할 수 있다. 여러 번의 반복 실행을 통해 flap rate를 산출하고 기존부터 변동하던 항목은 우선순위를 낮춰 비결정성 노이즈를 줄이며 CI 연동을 위해 변경이 있으면 종료 코드 1을 반환하도록 설계되어 실무 배포 전 회귀 탐지에 적합하다.
커뮤니티 반응
작성자는 도구가 회귀를 포착하면 사례 공유를 요청했고 프로젝트는 MIT 라이선스로 공개되어 재사용이 자유롭다. 게시물은 도구의 사용법과 통합 방법을 예시 명령으로 제시하고 있어 즉시 시도해볼 수 있는 성격을 띠었다. 커뮤니티 피드백을 수집하겠다는 문구가 있어 유지보수와 실무 적용 사례가 더해질 가능성이 열려 있다.
합의점 vs 논쟁점
합의점
- 에이전트 내부의 툴 호출 수준의 변화는 텍스트 출력만으로는 발견하기 어렵고, 호출 기록 기반의 비교가 회귀 탐지에 유리하다는 점이 게시물 전체에서 일관되게 드러났다.
실용적 조언
- CI 파이프라인에 회귀 감지를 자동으로 통합하려면 변경 전후 트레이스를 JSONL로 기록하고 whatbroke diff를 실행해 종료 코드로 실패를 감지하면 된다. 이 방식은 텍스트 기반 테스트만으로 놓치기 쉬운 툴 호출·인자 변화까지 포괄해 배포 전 회귀를 조기 차단할 수 있다. 또한 프록시 모드를 사용하면 애플리케이션 코드를 건드리지 않고 프로덕션 트래픽에서 바로 트레이스를 수집해 재현 가능한 증거를 확보할 수 있다.
- 비결정성 영향을 줄이려면 동일한 시나리오를 여러 번 기록해 flap rate를 산출하고 자주 변하는 요소를 자동으로 낮은 우선순위로 처리해야 한다. 이 과정은 반복 실행을 입력으로 받아 변동 항목을 분리함으로써 실질적 변경과 노이즈를 구분하는 근거를 제공한다. 반복 기록은 테스트 케이스명을 구분해 보관하면 나중에 원인 분석이 쉬워진다.
- 이미 OpenTelemetry 또는 Langfuse/LangSmith로 트레이싱을 하고 있다면 해당 내보내기를 whatbroke로 import해 기존 수집 파이프라인을 재사용하는 것이 도입 비용을 줄이는 방법이다. 이 접근법은 데이터 포맷 변환만으로 과거 프로덕션 데이터와 쉽게 비교할 수 있게 한다. 로컬에서 완전 오프라인으로 동작하므로 민감한 데이터 규정에 대응하기도 용이하다.
섹션별 상세
용어 해설
- 줄바꿈으로 구분된 JSON(JSONL)
- — JSONL은 각 줄이 독립적 JSON 객체로 구성된 로그·트레이스 저장 형식이다. 에이전트 실행 기록을 시간 순서대로 기록하고 필터나 비교 도구로 손쉽게 병합하거나 부분 조회할 수 있다. whatbroke 맥락에서는 변경 전후의 실행 궤적을 같은 형식으로 보관해 차이를 계산하는 근거 데이터가 된다.
- 오픈텔레메트리(OpenTelemetry)
- — OpenTelemetry는 분산 추적과 메트릭을 표준화해 수집하는 프레임워크로서 span과 trace를 통해 호출 흐름을 캡처한다. GenAI 관련 확장은 모델·툴 호출을 span 단위로 기록해 에이전트 행위 추적을 가능하게 한다. whatbroke는 OTel GenAI 스팬을 import하여 기존 추적 기반 워크플로와 연동할 수 있다.
- 변동률(Flap rate)
- — flap rate는 동일한 시나리오를 여러 번 실행했을 때 결과나 호출 패턴이 달라지는 빈도를 나타내는 지표이다. whatbroke는 여러 번의 baseline 실행을 비교해 기존부터 변동하던 요소는 덜 중요하게 처리하고 실제 변경으로 인한 변화를 부각시킨다. 이 지표는 에이전트의 비결정성 노이즈와 코드 변경으로 인한 실제 회귀를 구분하는 데 중요하다.
코드 예제
whatbroke diff before.jsonl after.jsonl변경 전후 JSONL 트레이스 파일을 비교해 어떤 툴 호출과 인자, 비용, 출력이 달라졌는지 판단하는 CLI 사용 예이다.
whatbroke record프록시 모드로 동작하는 로컬 엔드포인트를 띄워서 별도 코드 변경 없이 다른 언어에서 오는 트레이스를 캡처하는 명령 예이다.
whatbroke importLangfuse, LangSmith 또는 OpenTelemetry GenAI 스팬으로부터 내보낸 데이터를 whatbroke 형식으로 변환해 비교할 수 있도록 불러오는 명령 예이다.
언급된 도구
에이전트 트레이스의 툴 호출·인자·비용·출력을 비교해 회귀를 탐지하는 도구
트레이스 수집 플랫폼으로 export를 통해 whatbroke와 연동 가능한 기존 추적 소스
트레이스 및 오케스트레이션 플랫폼으로 whatbroke가 import로 연계할 수 있는 데이터 원천
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.