본문으로 건너뛰기

코딩 에이전트에 TDD를 시켰더니…테스트 두 배, 정확도는 제자리

테스트를 더 쓰라는 지시가 더 정확한 코드를 보장하지 않는다는 대규모 실험이 개발자들의 경험담을 데이터로 끌어냈다. 26개 조건에서 에이전트는 형식 기법과 property-based testing을 자주 겉모양만 따라 했고, 기본 설정이 오히려 평균 이상이었다.

원문: How well do agents use test/verification techniques? 원문 보기 →

AI 해커뉴스 작성자 Insights AI (HN) 2분 소요 출처

코딩 에이전트에게 TDD, fuzzing, QuickCheck, Lean 4 같은 이름을 알려 주면 구현이 더 정확해질까. Dan Luu가 공개한 실험의 답은 대체로 ‘아니다’에 가깝다. 테스트 수는 늘었지만 위험한 경로를 겨냥하는 능력은 따라오지 않았고, 아무 추가 지시를 주지 않은 기본 조건이 평균보다 좋은 결과를 냈다.

실험은 Rust로 Zstd를 구현하는 평가를 재사용했다. 기본 설정을 포함해 26개 프롬프트 조건을 만들고, GPT-5.6 Sol의 medium과 xhigh 추론 수준에서 조건별·수준별 평균 80회를 돌렸다. TDD, 차등 테스트, 변이 테스트, property-based testing뿐 아니라 Verus, Alloy, Lean 4, TLA+ 같은 형식 기법도 포함했다. 별도의 테스트 스킬 네 종류도 비교했다.

문제는 도구를 ‘사용했다’는 기록과 실제 검증 가치가 달랐다는 데 있다. 형식 기법을 받은 에이전트는 실제 Zstd 코드의 오류 가능성이 큰 부분보다 자명하거나 무관한 속성을 증명하는 경우가 많았다. property-based testing에서는 무작위 입력이 거부 경로만 반복하게 두거나, 너무 단순한 속성을 검사했다. 차등 테스트도 독립 구현 두 개를 만들기보다 같은 논리를 두 번 써 같은 버그를 복제했다.

TDD 조건은 행동을 눈에 띄게 바꿨다. 에이전트가 작성한 테스트 수가 두 배로 늘었고, 테스트와 구현을 더 자주 오갔다. 그러나 어려운 입력을 놓치거나 잘못된 출력을 정답으로 굳히는 테스트도 늘었다. 작성한 테스트를 모두 통과하는 것과 숨겨진 테스트를 통과하는 것은 달랐다. 코드가 무엇을 어렵게 만드는지 알기 전에 고정 입출력을 먼저 만들면 취약 구간을 비껴갈 수 있다는 해석도 붙었다.

결과를 모든 코딩 작업에 일반화할 수는 없다. 중심 과제는 Rust의 Zstd 구현이고, 저자도 조건 간 세부 순위를 강하게 해석하지 말라고 경고한다. 다만 IMAP RFC와 다른 소규모 평가에서도 도구 이름만 건넸을 때 비슷한 경향이 나왔다. 특정 라이브러리나 방법론을 프롬프트에 추가하는 것만으로 전문적인 테스트 설계가 생기지는 않는다는 신호다.

실무에서 읽을 대목은 간단하다. ‘테스트해’보다 실패 비용이 큰 동작, 비교할 독립 구현, 생성해야 할 경계 입력, 숨겨야 할 평가 기준을 구체화해야 한다. 더 많은 테스트보다 어떤 버그를 놓치면 안 되는지 알려 주는 편이 낫다. 전체 조건과 사례는 실험 원문에 공개돼 있다.

공유: 긴글

관련 기사

AI X/Twitter

NVIDIA, Hugging Face 129억3030만달러 인수…오픈 모델 플랫폼 독립성 유지

NVIDIA가 Hugging Face를 129억3030만달러에 인수하기로 합의하며 1,800만 개발자와 300만개 모델이 모인 오픈 AI 생태계를 품는다. 양사는 NVIDIA 하드웨어를 강제하지 않고 멀티클라우드·멀티가속기 중립성을 유지하겠다고 약속했으며, 규제 심사가 다음 변수다.

2분 소요 4 조회
AI 해커뉴스

Chrome ‘종료 시 데이터 삭제’에도 google.com은 남았다

Chrome에서 창을 닫을 때 사이트 데이터를 지우도록 설정해도 google.com의 쿠키와 저장소가 남는다는 재현 보고가 큰 관심을 모았다. 두 대의 Mac에서 확인된 독립 조사인 만큼 결함 가능성은 구체적이지만 Google의 확인과 수정 여부는 아직 남은 단계다.

2분 소요 2 조회