AI 코딩으로 품질이 떨어진다면, 품질 관리를 제대로 못 하고 있는 것
If AI coding is lowering your code quality, you're not managing quality right
TL;DR Highlight
7겹 방어선을 쌓았더니 버그는 줄고 출력은 2~3배가 됐다
Who Should Read
코딩 에이전트 도입 후 버그 증가가 걱정되는 팀의 백엔드·풀스택 개발자
Core Mechanics
- 요구사항을 AI에 먼저 검토시켰다
- spec-driven development(명세 먼저 쓰고 개발) 도입 후 새 코드의 버그가 크게 줄었다고 한다.
- 이전에는 신규 기능 작업 시간의 최대 3분의 1을 개발 후 버그 수정에 썼다.
- 핵심은 AI에게 요구사항·기술 설계의 빈틈, 엣지 케이스, 기존 코드와의 충돌을 찾게 하는 단계다.
- 테스트는 먼저, 구현은 나중에
- 에이전트에게 요구사항 기준으로 테스트 시나리오를 먼저 생각하게 한다.
- 그다음 테스트 작성, 구현, 테스트 실행 후 수정, 남은 커버리지 보충 순서로 진행한다.
- 구현이 낳은 버그에 맞춰 통과용 테스트를 쓰지 않게 하는 게 포인트다.
- 수동 테스트는 대체되지 않는다
- 사람이 직접 엣지 케이스를 돌려 보는 단계는 생산성 향상이 미미했다.
- 그래서 출력이 10배가 아니라 2~3배에 그쳤다고 한다.
- E2E 테스트도 수동 테스트를 대체하지 못하는 대략적 점검이다.
- 품질 점검은 별도 패스로 분리
- 에이전트는 AGENTS.md·CLAUDE.md의 복잡한 지시를 잘 못 따른다고 한다.
- 대신 보안, 중복 코드, 네이밍 규칙, 로직 리뷰, AI 말투 주석을 각각 따로 점검시키면 잘 된다.
Community Reactions
- 테스트가 구현을 베끼는 문제를 지적하는 의견
- 서브 에이전트 둘이 테스트와 구현을 병렬로 따로 작성해 컨텍스트 오염을 막자는 제안이 있었다.
- 커버리지 수치에 회의적인 의견
- 95% 이상 커버리지만으로 해법의 품질을 알 수 없다는 반론이 있었다.
- functional core, imperative shell 구조로 짜는 편이 낫다는 의견이 있었다.
- 레거시에 적용해 봤더니 잘 됐다는 경험
- 22년 된 레거시 시스템에서 Claude로 의존성 업데이트, 보안 점검, 기능 추가를 했다는 경험이 있었다.
- 커버리지는 65%에서 80%대로 올렸고 머지 전 리뷰는 항상 한다고 했다.
- TDD 효과에 의문을 제기한 의견
- 에이전트에게 TDD를 시키는 게 도움이 안 됐다는 HN 글이 있고, 속도와 토큰 비용, 리뷰량이 늘어난다고 우려했다.
- 작성자가 편집자가 되는 한계를 지적한 의견
- AI 코드의 버그를 찾는 게 직접 짜는 것보다 어려울 수 있다는 의견이 있었다.
- 익숙하지 않은 언어에서는 동작하는 코드와 좋은 코드를 구분하기 어렵다는 경험도 있었다.
How to Apply
- 요구사항 갭 리뷰 프롬프트 돌리기
- 오늘 구현 전에 진행 중인 기능 명세를 AI에 붙여 빈틈과 엣지 케이스를 찾게 하라.
- AI가 없는 문제를 지어낼 수 있으니 제안된 수정은 직접 검토하라.
- 구현 스킬에 품질 패스 추가하기
- 보안, 중복 코드, 네이밍 규칙, 로직 점검을 항목별로 별도 패스로 나눠 에이전트 워크플로에 넣어라.
- 구현 시간이 5~15분 늘어나는지 측정하라.
- PR에 AI 리뷰 두 개와 정리 패스 붙이기
- 서로 다른 모델의 리뷰를 PR에 돌려라.
- 사소한 코멘트를 걸러내는 에이전트 패스를 마지막에 추가하라.
- 에러 트래커에 자동 진단 연결하기
- Sentry 같은 서비스에서 잡힌 에러를 에이전트가 원인 분석해 수정 PR로 올리게 구성하라.
Try It
# Claude나 ChatGPT 채팅창에 붙여넣기 (원문 Layer 1 방법을 프롬프트로 옮긴 것)
아래 요구사항 문서를 리뷰해 줘. 코드는 쓰지 마.
찾아야 할 것: 1) 빠진 요구사항과 엣지 케이스 2) 기존 코드와의 예상치 못한 상호작용 3) 시나리오상 모순이나 모호한 부분
[요구사항]
{{요구사항 문서}}
[기존 코드 맥락]
{{관련 코드나 설명}}
각 문제마다 근거를 한 줄로 쓰고, 실제 문제가 아닐 수 있는 것은 '불확실'로 표시해 줘.
이어서 해 볼 것: 결과에서 확실한 항목만 요구사항에 반영한 뒤 '이 요구사항 기준으로 테스트 시나리오부터 작성해 줘'라고 이어 요청한다.Terminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓