피드로 돌아가기
I Refused to Write Specs Until Claude Code Generated Wrong Code Three Times
Dev.toDev.to
Backend

15분 OpenAPI 설계로 PR 5회 분량의 반복 수정 비용 제거

I Refused to Write Specs Until Claude Code Generated Wrong Code Three Times

Ken Imoto2026년 5월 19일7intermediate

Context

단순 Prompting 기반 개발로 인한 도메인 로직의 모호성 및 재귀적 오류 발생. 특히 Discount 시스템 구현 시 제약 사항 누락으로 인해 쿠폰이 스스로에게 할인되는 논리적 결함 반복 노출.

Technical Solution

  • OpenAPI Specification 도입을 통한 Endpoint shape, Field type, Range의 명시적 정의로 모호성 제거
  • Gherkin(Given/When/Then) 시나리오 작성을 통한 Edge case 및 Error case의 정형화
  • 구현체와 테스트 코드 간의 일관성 유지를 위해 동일한 Specification을 Prompt로 활용하는 Drift 방지 전략 채택
  • Out of Scope 섹션을 명시하여 AI 에이전트의 임의적인 기능 추가(Hallucination) 억제
  • CLAUDE.md 기반의 Project Convention 공유 및 /spec-impl 커스텀 스킬을 통한 워크플로우 표준화

Impact

  • Specification 작성 시간 15분 투자로 5회의 PR 리뷰 루프 제거
  • AI 에이전트를 통한 구현 자동화율 약 80% 달성 및 도메인 핵심 로직(20%) 집중 환경 구축

- API 설계 시 OpenAPI를 통해 데이터 타입과 허용 범위를 엄격히 정의했는가 - Happy path 외에 Edge case와 Error case를 Gherkin 시나리오로 구체화했는가 - AI가 임의로 구현하지 말아야 할 영역을 'Out of Scope'로 명시했는가 - 구현 코드와 테스트 코드가 동일한 Specification을 기반으로 생성되었는지 확인했는가

원문 읽기