깃허브 스펙 킷: AI 코딩 에이전트를 위한 스펙 주도 개발 오픈소스 툴킷
깃허브(GitHub)가 AI 코딩 에이전트의 오작동을 줄이고 정확한 코드를 생성하기 위해 '스펙 주도 개발(SDD)' 방식을 적용한 오픈소스 툴킷인 '스펙 킷(Spec-Kit)'을 공개했습니다. 이 툴킷은 개발자가 구조화된 명세서를 먼저 작성하면 AI가 이를 기반으로 기획, 테스트, 코드 검증까지 수행하여 기존의 모호한 프롬프트 기반 코딩의 한계를 극복하도록 돕습니다. 개발 실무자들에게 보다 예측 가능하고 고품질의 AI 개발 파이프라인을 구축할 수 있다는 점에서 중요한 의미를 갖습니다.
[에디터 추천] 에이전트 AI, AI 에이전트, 기술, AI 쇼츠, 인공지능 애플리케이션, 신규 릴리스, 오픈소스, 기술 뉴스, 파이썬, 소프트웨어 엔지니어링
GitHub Copilot, Claude Code, Gemini CLI 같은 AI 코딩 에이전트를 사용해 본 적이 있다면 아마 이런 상황을 겪었을 것입니다. 원하는 것을 설명하면, 에이전트는 겉보기엔 올바르고 컴파일도 잘 되는 코드 블록을 생성하지만 정작 실제 의도는 미묘하게 벗어나는 경우가 많습니다. 이른바 '감에 의존하는 코딩(Vibe-coding)' 방식은 빠른 프로토타입을 만들 때는 통할 수 있지만, 미션 크리티컬한 애플리케이션을 구축하거나 기존 코드베이스 위에서 작업할 때는 신뢰도가 떨어집니다.
깃허브(GitHub)가 규정하듯, 문제의 원인은 코딩 에이전트의 능력이 아니라 접근 방식에 있습니다. 개발자들은 코딩 에이전트를 검색 엔진처럼 다루어왔지만, 사실 이들은 패턴 인식에는 탁월하지만 여전히 명확하고 모호함 없는 지시가 필요한 '참으로만 말하는 페어 프로그래머'처럼 다루어야 합니다. 이 문제를 해결하기 위해 깃허브는 AI 코딩 워크플로우에 스펙 주도 개발(Spec-Driven Development, SDD)을 도입하기 위해 설계된 오픈소스 툴킷인 '스펙 킷(Spec-Kit)'을 공개했습니다. 이 프로젝트는 현재 깃허브에서 9만 개 이상의 스타와 8천 개 이상의 포크를 기록하며 최근 가장 빠르게 성장하는 개발자 도구 저장소 중 하나가 되었습니다.
스펙 주도 개발(SDD)이란 무엇인가? 스펙 주도 개발은 전통적인 소프트웨어 개발의 권한 구조를 역전시킵니다. 명세(Specification)가 코드를 지배하는 것이 아니라, 코드가 명세를 지키기 위해 존재하게 됩니다. 제품 요구사항 문서(PRD)는 구현을 위한 단순한 가이드가 아니라, 구현 자체를 생성해 내는 원천이 됩니다. 실제로 이는 기술 스택을 명시하지 않고 '무엇을' '왜' 구축할 것인지를 설명하는 구조화된 명세서를 먼저 작성한 뒤, 이를 AI 코딩 에이전트에게 기준이 되는 문서로 제공하는 방식으로 이루어집니다. 이렇게 작성된 명세서는 도구와 AI 에이전트가 코드를 생성, 테스트 및 검증하는 데 사용하는 단일 진실 공급원(Source of Truth)이 됩니다. 그 결과, 추측에 의존하는 코딩과 예기치 못한 문제가 줄어들고 더 높은 품질의 코드를 얻을 수 있습니다.
이는 전통적으로 실행되던 '문서화 우선(Documentation-first)' 접근 방식과는 다릅니다. SDD는 아무도 읽지 않는 장황하고 지루한 요구사항 문서를 작성하는 것이 아닙니다. 폭포수 모델(Waterfall) 기반의 계획이나, 과도한 기획을 통해 미래를 예측하려는 것도 아닙니다. 또한 엔지니어링 팀의 속도를 늦추는 불필요한 관료주의를 만드는 것과도 거리가 멉니다. 스펙은 프로젝트 초기에 작성되어 끝날 때까지 방치되는 것이 아니라, 요구사항이 변경됨에 따라 지속적으로 업데이트되는 살아있는 산출물로 남습니다.
스펙 킷(Spec-Kit)의 실제 구성 요소 스펙 킷은 핵심적으로 두 가지 주요 구성 요소로 이루어져 있습니다. 첫째, 사용 중인 코딩 에이전트와 플랫폼에 맞춰 프로젝트를 SDD 방식으로 초기 설정(Bootstrap)해 주는 명령줄 도우미인 'Specify CLI'입니다. 둘째, SDD 경험의 기반을 제공하는 템플릿과 보조 스크립트 세트로, 스펙의 형식, 기술 계획에 포함될 내용, 그리고 이를 어떻게 AI 에이전트가 실행할 수 있는 개별 작업으로 세분화할지를 정의합니다.
CLI는 파이썬(Python)으로 작성되었으며 Python 3.11 이상의 버전이 필요합니다. uv를 통한 설치가 권장되는 방법입니다.
설치 및 초기화 후, 에이전트는 SDD 워크플로우에 직접 매핑되는 일련의 슬래시 명령어(Slash commands)에 액세스할 수 있습니다. 핵심 명령어는 다음과 같습니다:
/speckit.constitution— 프로젝트에서 절대 타협할 수 없는 핵심 원칙을 수립합니다./speckit.specify— 구축할 내용을 명시하며, 기술 스택에 대한 세부 정보 없이 '무엇'과 '왜'에 집중합니다./speckit.plan— 선택한 기술 스택을 바탕으로 기술적 구현 계획을 생성합니다./speckit.tasks— 계획을 실행 가능하고 종속성 순서로 정렬된 작업 목록으로 세분화합니다./speckit.taskstoissues— 생성된 작업 목록을 추적 및 실행을 위해 깃허브 이슈(Issues)로 변환합니다./speckit.implement— AI 코딩 에이전트를 사용하여 해당 작업들을 실제로 실행합니다.
또한 품질 및 검증을 강화하기 위한 세 가지 선택적 명령어도 존재합니다:
/speckit.clarify— 기술 계획이 생성되기 전에 구조화된 순차적 질문을 통해 명세가 불충분한 부분을 찾아냅니다. (하위 작업의 재수행을 줄이기 위해/speckit.plan실행 전에 사용하는 것을 권장합니다.)