Skip to content
AI-Daily-Builder

2026-09-09 — views

ExecCritic: 테스트 및 수리 에이전트 분리를 통한 코딩 성능 향상

읽어야 하는 이유 테스트 생성과 코드 수리를 분리하면 오류 일치와 잘못된 자신감을 방지하여 에이전트 신뢰성을 크게 향상시킵니다.

ExecCritic은 SWE-bench Verified에서 코딩 에이전트의 성공률을 높이기 위해 강화 학습을 사용하여 별도의 테스트 및 수리 에이전트를 활용합니다.

결합된 궤적의 문제점

실행 피드백은 코딩 에이전트를 올바른 저장소 수리 방향으로 안내하는 강력한 도구입니다. 그러나 이 안내는 테스트가 이슈에서 요청한 동작을 정확하게 포착할 때만 효과적입니다. 에이전트가 생성한 테스트가 불완전하거나 잘못된 동작 목표를 인코딩할 때 심각한 문제가 발생합니다. 동일한 궤적이 패치와 테스트를 모두 작성하면, 두 오류가 일치하여 위험한 수준의 잘못된 자신감을 초래합니다. 이러한 일치는 근본적인 문제를 가려 에이전트가 문제를 해결했다고 믿게 만듭니다.

ExecCritic 구조

이를 해결하기 위해 연구자들은 테스트 검증-수정 구조와 역할별 강화 학습 레시피를 결합한 프레임워크인 ExecCritic을 도입했습니다. 핵심 혁신은 테스트 구축과 소스 코드 수리를 분리하는 것입니다. 이 아키텍처는 Qwen-3.5-35B-A3B를 백본으로 사용하는 두 개의 별도 에이전트를 활용하며, 이들은 별도로 훈련됩니다.

첫 번째 역할은 테스트 에이전트로, 저장소 네이티브 테스트를 독립적으로 생성합니다. 생성된 테스트는 실패 시 닫히는 하네스를 통과하여 자격을 부여하고 고정됩니다. 두 번째 역할은 수리 에이전트로, 고정된 테스트의 실행 피드백을 기반으로 소스 코드를 수정합니다. 수리 에이전트는 테스트를 변경하지 않아 수리 과정 중 평가 기준이 안정적으로 유지됩니다.

훈련 및 결과

이 프레임워크는 두 가지 별도 훈련 단계를 활용합니다. 테스트 학습 단계에서는 테스트 에이전트가 올바른 패치와 잘못된 패치를 효과적으로 구분할 수 있는 동작적으로 유효한 테스트를 생성하는 방법을 학습합니다. 테스트 개선 단계에서는 수리 에이전트가 직접적인 작업 해결과 피드백 기반 수정을 모두 학습합니다.

SWE-bench Verified에서의 평가는 테스트 품질의 중요성을 강조합니다. 기본 수리 에이전트를 고정하고 테스트만 변경했을 때, 기본 테스트 에이전트의 테스트는 테스트 없음 기준선인 61.2%에서 57.3%로 해결률을 낮췄습니다. 반면, GPT-5.6-sol이 생성한 테스트는 해결률을 65.3%로 높였습니다. 이는 낮은 테스트 품질이 성능을 능동적으로 저해할 수 있음을 보여줍니다.

역할별 사후 훈련은 상당한 개선을 가져왔습니다. 사후 훈련된 Qwen 테스트 에이전트는 Base-to-Gold 성공률을 22.2%에서 62.2%로 높였습니다. 두 사후 훈련된 Qwen 에이전트를 조합했을 때 시스템은 72.6%의 성공률을 달성했습니다. 이는 평가 시 더 강력한 모델이나 오라클 피드백을 사용하지 않고 달성한, 원래 테스트 없음 기준선 대비 11.4포인트 상승입니다. ExecCritic의 코드는 GitHub에서 공개되어 있습니다.

실무자 노트

개발자는 에이전트 워크플로우에서 테스트 생성과 코드 수리를 분리하여 오류 일치를 방지해야 합니다. 낮은 테스트 품질이 성능을 개선하는 대신 능동적으로 저해할 수 있으므로, 동작적으로 유효한 고품질 테스트에 투자하는 것이 중요합니다.


출처

태그

커피