코드를 바로 짜는 대신 스펙(명세)을 먼저 정의하고, AI 에이전트가 그 스펙을 기반으로 구현하는 개발 방식. 에이전트가 마음을 읽지 못하는 문제를 구조로 해결한다.
AI 코딩 에이전트에게 "로그인 기능 만들어줘"라고 시키면, 어떤 인증 방식을 쓸지, 에러 처리는 어떻게 할지를 에이전트가 알아서 결정한다. 운이 좋으면 원하는 대로 나오고, 운이 나쁘면 처음부터 다시 해야 한다. 스펙 기반 개발은 이 도박을 없앤다. 코드를 짜기 전에 입출력 매핑, 인터페이스 타입, 제약 사항 같은 외부 동작 명세를 먼저 정의하고, 에이전트는 그 명세를 충실히 구현하는 역할만 맡는다.
GitHub이 공개한 Spec Kit은 이 워크플로우를 4단계로 구조화한다. Specify 단계에서 무엇을 만들지 설명하면 에이전트가 상세 명세를 생성하고, Plan에서 기술 계획서가, Tasks에서 작업 단위 분할이, Implement에서 코드 구현이 이뤄진다. 각 단계는 검증을 통과해야 다음으로 넘어간다.
Claude Code에서는 Spec Kit을 스킬로 설치하면 /speckit-specify, /speckit-plan 같은 명령으로 각 단계를 호출할 수 있다. 바이브 코딩이 "느낌대로 짜 봐"라면, 스펙 기반 개발은 "이 계약서대로 짜"에 가깝다.
명세를 너무 세밀하게 쓰면 직접 코드를 짜는 것과 시간 차이가 없어진다. 외부 동작만 정의하고 내부 구현은 에이전트에게 맡기는 것이 핵심이다.