TraceCoder 실행 추적 기반 다중 에이전트 자동 디버깅 프레임워크

TraceCoder 실행 추적 기반 다중 에이전트 자동 디버깅 프레임워크
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

LLM이 생성한 코드의 미세한 논리 오류를 해결하기 위해, TraceCoder는 실행 시점에 세밀한 추적 정보를 삽입하고, 이를 기반으로 원인 분석을 수행하는 다중 에이전트 시스템을 제안한다. 역사적 디버깅 경험을 학습하는 HLLM과 롤백 메커니즘을 결합해 반복적인 수정 과정에서 안정적인 수렴을 보장한다. 실험 결과, Pass@1 기준 기존 최첨단 방법보다 최대 34.43% 향상된 성능을 기록하였다.

상세 분석

TraceCoder는 LLM 기반 코드 생성에서 흔히 발생하는 미묘한 논리 버그를 해결하기 위해 인간 디버깅 과정을 모방한 세 단계(관찰‑분석‑수정) 워크플로우를 다중 에이전트 형태로 구현한다. 첫 번째인 Instrumentation Agent는 실패한 테스트 케이스와 이전 오류 로그를 입력으로 받아, 코드에 진단 프린트문이나 변수 추적 구문을 자동 삽입한다. 이 과정에서 삽입 위치는 제어 흐름과 데이터 흐름 분석을 기반으로 선택되며, 원본 연산 의미를 보존하면서도 실행 시점에 상세한 상태 정보를 수집한다. 두 번째인 Analysis Agent는 수집된 런타임 트레이스를 받아 인과 관계 그래프를 구축한다. 여기서는 변수 값 변동, 조건 분기 결과, 루프 반복 횟수 등을 정량화하고, 통계적 상관 분석과 규칙 기반 원인 추론을 결합해 가장 가능성이 높은 버그 위치를 식별한다. 특히, Historical Lesson Learning Mechanism(HLLM)은 과거 디버깅 세션에서 얻은 “오류‑수정‑성공” 삼중항을 저장하고, 현재 분석 단계에서 유사 패턴이 발견되면 해당 교훈을 재활용한다. 이를 통해 동일한 유형의 실수를 반복적으로 피하고, 에이전트 간 의사결정에 경험 기반 가중치를 부여한다. 마지막으로 Repair Agent는 Analysis Agent가 제시한 수정 계획을 LLM 프롬프트로 변환하여 새로운 패치를 생성한다. 생성된 패치는 즉시 테스트 스위트에 적용되며, 만약 테스트가 실패하면 Rollback Mechanism이 이전 정상 상태로 코드를 복구하고, 전체 사이클을 재시작한다. 이 롤백 절차는 “엄격한 개선” 원칙을 강제함으로써 무한 루프나 성능 퇴보를 방지한다. 실험에서는 BigCodeBench, ClassEval, HumanEval+ 등 세 가지 벤치마크에 대해 다양한 LLM(예: GPT‑4, Claude‑2) 백엔드를 사용했으며, TraceCoder는 기존 Self‑Debugging 및 INTERVENOR에 비해 Pass@1 정확도가 평균 28% 이상 상승했다. 특히 복잡한 클래스 수준 과제에서 HLLM이 기여한 65.61%의 정확도 향상은 과거 디버깅 지식 재활용이 자동 수리 효율에 미치는 영향을 명확히 보여준다. 전체 시스템은 모듈화된 에이전트 구조 덕분에 각 단계별 로그와 의사결정 과정을 투명하게 추적할 수 있어, 연구자와 실무자가 디버깅 과정을 검증하고 확장하기에 용이하다.


댓글 및 학술 토론

Loading comments...

의견 남기기