AI 뉴스

AI 코딩 시대의 복잡성 래칫: 90% 테스트 커버리지가 필요한 이유

노동1호 2026. 5. 15. 01:03

AI 코딩 시대의 복잡성 래칫: 90% 테스트 커버리지가 필요한 이유

AI 코딩 시대의 복잡성 래칫: 90% 테스트 커버리지가 필요한 이유

게리 탄(Garry Tan, Y Combinator CEO)이 지난 1년간 AI 에이전트(Claude Code, Codex 등)와 함께 두 개의 오픈소스 프로젝트를 만든 경험을 정리한 에세이가 화제다. 약 97만 줄의 코드와 665개의 테스트 파일 대부분을 AI가 작성했고, 동시에 15개의 에이전트 세션을 운영했다고 한다. 그는 이 과정을 통해 "속도와 품질은 양자택일"이라는 소프트웨어 공학의 오랜 명제가 깨졌다고 주장한다. 그 핵심 메커니즘으로 '복잡성 래칫(Complexity Ratchet)'이라는 개념을 제시한다.

복잡성 래칫이란 무엇인가

래칫(Ratchet)이란 한 방향으로만 움직이는 톱니바퀴 장치를 뜻하는 비유다. 코드베이스의 품질이 후퇴 없이 전진만 하도록 만드는 구조를 의미한다.

AI 에이전트와의 코딩 세션마다 세 가지가 코드베이스에 쌓인다.

첫째, 테스트다. 무엇이 옳은가를 검증하는 기준이 된다. 둘째, 문서다. 왜 그렇게 결정했는지를 기록한다. 셋째, 평가 결과다. 품질 기준선을 설정한다.

다음 세션에서 AI 에이전트가 이 세 가지를 모두 읽고 작업하므로, 테스트를 깨거나 문서를 무시하거나 평가 점수를 떨어뜨릴 수 없게 된다. 한 번 작성된 테스트는 에이전트의 행동 반경 밖으로 밀려나지 않는다는 뜻이다.

과거 50년간의 소프트웨어 공학이 바꾼 것

기존 소프트웨어 공학의 전제는 "에러는 치명적이니 예방하라"였다. 코드 리뷰, QA, 스테이징 등 복잡한 프로세스가 이 믿음 위에 세워졌다.

그러나 이제 패러다임이 완전히 달라졌다. 대부분의 에러를 AI 에이전트가 다음 턴에 진단하고 수정할 수 있게 된 것이다. "미리 막는 것"에서 "바로 고치는 것"으로 중심이 이동했다.

시스템 복잡도의 상한선도 확장됐다. 과거에는 '한 팀이 머리에 담을 수 있는 양'이 한계였다. 이제는 '한 사람과 전체 코드베이스를 컨텍스트에 로드한 에이전트들'이 그 한계를 대신한다.

사람은 퇴사하고 번아웃으로 떠난다. 하지만 테스트와 문서로 남은 지식은 어떤 모델, 어떤 시점이든 다시 불러올 수 있다. 이것이 바로 '제도적 기억의 영속성'이다.

90% 테스트 커버리지의 의미

Capers Jones의 1만여 프로젝트 연구에 따르면, 커버리지 70% 이하에서는 결함 제거율이 65~75%에 그친다. 그러나 85~95%에서는 92~97%로 급등하는 '무릎 지점'이 존재한다.

항공 소프트웨어 표준 DO-178C는 Level A(치명적) 시스템에 MC/DC 커버리지를 강제한다. 이는 99% 이상의 결함 제거율을 달성하기 위한 선택이 아니라 필수 조건이다.

마지막 20%의 커버리지를 채우는 일은 인간에게 지루하고 비용이 컸다. 그러나 AI 에이전트는 피로를 느끼지 않는다. 새벽에도 엣지 케이스 테스트를 끝없이 작성할 수 있다.

실제 사례: GBrain과 Superpowers

AI 코딩 시대의 복잡성 래칫: 90% 테스트 커버리지가 필요한 이유

저자가 제시한 실제 사례가 있다.

GBrain에서는 10만 건 이상의 신념 추출에서 '누가 그 주장을 했는가'를 35% 오인하던 문제를 17개의 테스트로 고정시켰다. 그 결과, 어떤 후속 버전도 그 이하로 떨어질 수 없게 되었다.

Superpowers에서는 AI 에이전트가 대화형 리뷰를 건너뛰는 행동을 Bun의 의사 터미널 기능으로 직접 감시하고 차단했다. "AI가 대화를 했는가"라는 비전통적 요구사항도 테스트로 만들었다.

장점과 한계

복잡성 래칫의 가장 큰 장점은 외부 기여자가 시스템 전체를 이해하지 않아도 된다는 점이다. 테스트만 통과시키면 안전하게 PR을 머지할 수 있어, 협업의 진입 장벽이 크게 낮아진다.

그러나 한계도 분명하다. 상태를 파괴하는 종류의 에러, 즉 잘못된 DB 마이그레이션, 보안 침해, 프라이버시 유출 등은 여전히 치명적이다. 전체 시스템의 약 10%에 해당하는 통합 지점과 인프라는 본질적으로 테스트가 어렵다.

"테스트를 잘 짜는 사람이 원래 아키텍처도 잘 짠다"는 지적에 대해, 저자는 래칫의 핵심은 사람이 아니라 다음 턴의 안전망이라고 강조한다.

핵심 정리

AI 코딩의 진짜 가치는 '빨리 짜는 것'이 아니다. 지금까지 너무 비싸서 포기했던 수준의 검증을 무료로 가능하게 했다는 점이 핵심이다.

50년간 항공·의료 분야의 전유물이었던 90% 테스트 커버리지가 이제는 한 사람의 일상이 될 수 있다. 그 결과, 한 명의 개발자가 만들 수 있는 소프트웨어의 복잡도 천장이 극적으로 높아졌다.

물론 이 글 자체가 자신의 오픈소스 프로젝트 홍보를 겸하고 있고, 통계 인용 일부에 검증이 필요한 부분도 있어 비판적 독해가 필요하다. 그럼에도 "속도와 품질의 양자택일이 깨졌다"는 주장은 지금의 AI 코딩 현실과 정확히 맞아떨어진다.


참고 출처

• 원문: https://news.hada.io/topic?id=29462


📚 출처

https://news.hada.io/topic?id=29462