코딩 에이전트에게 다양한 테스트 및 검증 기법의 이름을 알려주는 것만으로는 코드 구현의 정확도를 크게 높이기 어렵다는 연구 결과가 나왔습니다. Rust 언어로 Zstd 압축 알고리듬을 구현하는 에이전트에 26가지 테스트·검증 지시와 4가지 스킬을 적용한 실험에서, 형식적 검증(formal verification)이나 속성 기반 테스트(property-based testing) 같은 고급 기법들이 기대만큼의 효과를 내지 못했습니다. 오히려 일반 단위 테스트(unit test)가 구현 정확도에 더 큰 영향을 미치는 것으로 분석되었습니다.
이번 실험은 Codex의 GPT-5.6 Sol 모델을 사용하여 Zstd 구현을 시도했으며, 추론 강도(inference strength)를 medium과 xhigh로 나누어 조건별로 80회씩 실행했습니다. 그 결과, 추가 지시가 없는 기본 조건(Default)이 평균 이상의 성능을 보였고, 테스트 주도 개발(TDD)이나 기존 테스트 스킬들은 대체로 도움이 되지 않았습니다. 에이전트는 기법의 이름을 들었을 때도 버그가 자주 발생하는 복잡한 부분보다는 단순한 산술 속성이나 자명한 증명, 잘못된 입력 거부 경로에 집중하는 경향을 보였습니다. 특히, 형식적 검증 도구들은 실제 코드의 버그와 무관한 추상적인 속성을 증명하거나, 잘못된 기대값을 테스트에 넣어 오히려 잘못된 동작을 강제하는 문제점도 발견되었습니다.
이 연구는 AI 코딩 에이전트의 현재 한계를 명확히 보여줍니다. 단순히 기법의 이름을 알려주거나 테스트 개수를 늘리는 것만으로는 코드 품질을 보장하기 어렵다는 것입니다. 에이전트가 좋은 테스트를 생성하려면 기법 이름 자체보다 테스트-실패 분석 구조를 먼저 마련하고, 실제 코드 실행을 통해 검증하는 과정이 중요합니다. 또한, 범용적인 튜토리얼 스킬보다는 모델의 비효율적인 기본 행동을 교정하도록 설계된 맞춤형 스킬이 더 효과적일 수 있음을 시사합니다. 이는 향후 AI 기반 개발 도구가 단순한 코드 생성에서 벗어나, 실제 소프트웨어 개발 프로세스 전반에 걸쳐 더 깊이 있고 의미 있는 기여를 하려면 테스트 및 검증에 대한 AI의 '이해' 수준을 높이는 방향으로 발전해야 함을 의미합니다.