핵심 요약
코드 생성 에이전트가 복잡한 작업을 수행할 때 발생하는 오류의 원인을 파악하고 디버깅하는 것은 매우 어렵다. 이 논문은 에이전트의 실행 과정을 계층적 트리 구조로 재구성하여 최초의 오류 발생 지점을 자동으로 찾아내고, 이를 통해 실패한 작업을 복구할 수 있는 체계적인 프레임워크를 제공한다.
왜 중요한가
코드 생성 에이전트가 복잡한 작업을 수행할 때 발생하는 오류의 원인을 파악하고 디버깅하는 것은 매우 어렵다. 이 논문은 에이전트의 실행 과정을 계층적 트리 구조로 재구성하여 최초의 오류 발생 지점을 자동으로 찾아내고, 이를 통해 실패한 작업을 복구할 수 있는 체계적인 프레임워크를 제공한다.
핵심 기여
CODETRACER 프레임워크 개발
이질적인 에이전트 실행 로그를 구조화된 계층적 추적 트리로 변환하고, 궤적 내에서 최초의 실패 임계 단계를 자동으로 식별하는 확장 가능한 프레임워크이다.
CODETRACEBENCH 벤치마크 구축
4개의 에이전트 프레임워크와 5개의 대형 언어 모델을 사용하여 생성된 수천 개의 에이전트 실행 궤적에 대해 단계별 주석을 달아 프로세스 수준의 진단이 가능하도록 설계된 데이터셋이다.
실패 패턴에 대한 대규모 실증 분석
에이전트가 관련 정보를 수집하고도 올바른 행동으로 전환하지 못하는 '증거-행동 간극(evidence-to-action gap)'과 같은 현대 코드 에이전트의 체계적인 실패 패턴을 규명했다.
반사적 재실행을 통한 성능 복구
CODETRACER가 생성한 진단 신호를 에이전트에게 다시 입력하는 Reflective Replay를 통해 원래 실패했던 실행 건들을 동일한 예산 내에서 성공적으로 복구했다.
핵심 아이디어 이해하기
기존의 에이전트 평가는 최종 결과의 성공 여부만 판단하는 '결과 중심' 방식이었다. 하지만 긴 시퀀스의 작업을 수행하는 코드 에이전트는 초기에 발생한 작은 실수가 눈덩이처럼 불어나 최종 실패로 이어지는 경우가 많다. CODETRACER는 에이전트의 행동을 단순한 나열이 아니라, 코드베이스를 수정하는 '상태 변경(state-changing)' 단계와 정보를 탐색하는 '탐색(exploration)' 단계로 구분하여 계층적 트리 구조로 재구성한다.
이 트리를 통해 에이전트가 어떤 상태에서 어떤 근거로 다음 결정을 내렸는지 명확히 시각화할 수 있다. 특히 Attention 메커니즘이 수많은 토큰 중 중요한 정보에 집중하듯, CODETRACER는 전체 실행 로그 중 최종 실패에 결정적인 영향을 미친 '최초의 오류 지점'을 역추적하여 찾아낸다. 이는 에이전트가 단순히 더 많은 단계를 반복하게 하는 것보다, 어디서 잘못되었는지 알려주는 것이 문제 해결에 훨씬 효과적이라는 원리에 기반한다.
결과적으로 에이전트는 자신이 수집한 증거와 실제 수행한 행동 사이의 괴리를 인지하게 되며, 진단된 오류 정보를 바탕으로 이전의 잘못된 가설을 수정하고 올바른 경로로 복귀할 수 있게 된다.
관련 Figure

단순한 탐색 단계(explore)와 상태를 변화시키는 단계(state-changing)가 어떻게 트리 구조에서 구분되는지 보여준다. 이를 통해 에이전트의 실행 과정을 압축된 인덱스 형태로 탐색할 수 있음을 시각화한다.
계층적 추적 트리의 예시와 구조
방법론
CODETRACER 파이프라인은 크게 세 단계로 구성된다. 첫 번째는 Evolving Extraction 단계로, 다양한 에이전트 프레임워크의 실행 디렉토리를 스캔하여 실행 단계, 행동, 관찰 결과, 코드 차이점(diff) 등을 포함하는 정규화된 단계 기록을 생성한다. 이때 레이아웃 발견 및 파서 적응 메커니즘을 사용하여 새로운 로그 형식에도 유연하게 대응한다.
두 번째는 Tree Indexing 단계이다. 정규화된 평면적 단계 시퀀스를 계층적 추적 트리로 변환한다. 코드베이스나 실행 환경을 수정하지 않는 탐색 단계는 동일 상태 노드 아래의 자식으로 배치하고, 상태를 변화시키는 단계는 새로운 자식 상태 노드로의 전이를 유도한다. 각 노드에는 의도와 결과에 대한 요약이 주석으로 추가되어 진단을 위한 압축된 인덱스 역할을 수행한다.
세 번째는 Diagnosis 단계로, 구축된 트리를 탐색하며 구조화된 증거 쿼리를 발행한다. 이를 통해 실패에 책임이 있는 단계(failure responsible stage), 오류 관련 단계(error-relevant steps), 그리고 진단을 뒷받침하는 압축된 증거 세트를 출력한다. 수치적으로는 [입력된 실행 궤적 → 트리 구조화 및 오류 역추적 → 식별된 오류 지점 및 증거] 순으로 연산이 진행되어 최종 진단 신호를 생성한다.
관련 Figure

데이터 소스에서 수집된 원시 궤적이 추출(Extraction), 구조화(Structuring), 추적(Trace) 에이전트를 거쳐 정규화된 트리로 변환되고 진단되는 과정을 보여준다. 특히 Reflective Replay를 통해 진단 신호가 다시 에이전트에게 피드백되는 루프가 핵심이다.
CODETRACER 파이프라인의 전체적인 개요도
주요 결과
CODETRACEBENCH에서의 실험 결과, CODETRACER는 원시 로그를 직접 프롬프트로 사용하는 방식이나 가벼운 베이스라인보다 실패 지점 국소화(localization) 성능에서 월등히 앞섰다. 특히 하드 난이도의 작업에서 구조화된 추적의 가치가 더 크게 나타났으며, GPT-5와 같은 강력한 모델에서도 최대 48%의 macro F1 점수를 기록하며 효율적인 토큰 사용량을 보여주었다.
또한, 식별된 진단 신호를 에이전트에게 피드백으로 제공하는 Reflective Replay 실험에서 모든 모델의 성공률(Pass@1)이 일관되게 향상되었다. Claude 모델의 경우 성공률이 41.6%에서 48.3%로 상승했으며, 이는 에이전트가 초기 단계의 잘못된 판단을 수정함으로써 불필요한 반복 루프에 빠지는 것을 방지했기 때문임이 확인됐다.
관련 Figure

Claude, GPT-5, DeepSeek 등 주요 모델들에서 CODETRACER의 진단 신호를 주입했을 때 원래 실패했던 작업들의 성공률이 일관되게 향상됨을 보여준다. 이는 진단 정보의 실질적인 유용성을 증명한다.
Reflective Replay 적용 전후의 Pass@1 성능 비교 차트
기술 상세
CODETRACER는 에이전트의 실행 궤적을 '상태 전이' 관점에서 모델링한다. 상태 변경 노드(state-changing nodes)와 탐색 노드(exploration nodes)를 구분하는 아키텍처는 에이전트의 추론 과정을 고수준의 의사결정 트리로 추상화한다. 이는 긴 문맥을 가진 로그에서 노이즈를 제거하고 인과 관계를 명확히 하는 효과를 준다.
구현 측면에서, 이 시스템은 에이전트 독립적인 정규화 계층을 두어 SWE-Agent, OpenHands 등 서로 다른 프레임워크의 로그를 통합 관리한다. 진단 과정에서는 '체인 기반 역방향 추적(chain-based backward tracing)' 프로토콜을 사용하여 실패한 테스트 출력부터 거꾸로 올라가며 근본 원인을 찾는다. 또한, 산업용 에이전트인 Claude Code와의 비교 분석을 통해 도구 사용의 전문성과 컨텍스트 관리 능력이 에이전트의 효율성에 미치는 영향을 기술적으로 분석했다.
한계점
CodeTraceBench가 다양한 프레임워크를 포함하지만 모든 소프트웨어 엔지니어링 설계 공간이나 실제 세계의 복잡한 저장소를 완전히 포괄하지는 못한다. 또한, 실패 임계 단계에 대한 주석이 인간의 해석에 의존하므로 주관성이 개입될 여지가 있으며, 오프라인 예산 내에서의 평가이므로 실시간 인간 피드백과의 상호작용 역학을 완전히 포착하지 못할 수 있다.
실무 활용
개발자가 복잡한 자율 코딩 에이전트의 동작을 모니터링하고 오류를 수정하는 디버깅 도구로 직접 활용할 수 있다.
- 에이전트가 생성한 방대한 실행 로그에서 최초의 논리적 오류 지점을 자동으로 식별
- 실패한 에이전트 실행 건에 대해 진단 정보를 주입하여 자동으로 재시도 및 복구
- 에이전트의 탐색 효율성(Effective Action Ratio)을 분석하여 프롬프트나 도구 설계를 최적화
코드 공개 여부: 공개
코드 저장소 보기키워드
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.