TL;DR
Claude Code를 이용한 Spec-Driven Development에서는 요구사항, 설계, 작업 순서를 SPEC.md와 PLAN.md에 고정한 뒤 새 세션에서 구현해야 합니다. 핵심은 모든 acceptance criteria를 HTTP 상태 코드나 테스트 결과처럼 명령어가 판정할 수 있는 형태로 작성하는 것이며, 테스트 통과만 요구하면 에이전트가 assertion 삭제나 skip 처리로 신호를 조작할 수 있습니다. pre-commit hook은 skip marker, assertion 삭제, 기준별 테스트 누락을 검사해 문서 규칙을 실행 가능한 차단 장치로 바꿉니다. /goal, 작업별 subagent와 원자적 커밋, 계획을 보지 않은 fresh review를 결합하면 scope creep와 자기 인증을 줄일 수 있지만, drift detection과 spec compliance가 자동 보장되는 것은 아니므로 enforcement를 코드에 맡겨야 합니다.
섹션별 상세
claude --permission-mode plan > I want to build passwordless magic-link login. Interview me in detail using the AskUserQuestion tool. Ask about implementation, edge cases, failure modes, and tradeoffs. Skip the obvious questions, dig into the parts I might not have considered. Keep going until we have covered everything, then write the spec to SPEC.md.Claude Code를 plan mode로 실행해 사용자 인터뷰를 진행하고 답변을 SPEC.md로 정리하도록 요청합니다.

> /goal All 5 acceptance criteria in SPEC.md have a passing test, and git diff --stat shows no changes outside src/auth/ and tests/auth/모든 인수 기준의 테스트 통과와 허용된 디렉터리 내부 변경만을 세션의 완료 조건으로 설정합니다.
> Work through PLAN.md in order. Give each task its own subagent. One commit per task, and stop if any task fails rather than working around it.작업마다 독립된 subagent와 커밋을 사용하고 실패를 우회하지 않도록 실행 규칙을 지정합니다.
# in settings.json or your shell
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1Claude Code의 실험적 Agent Teams 기능을 환경 변수로 활성화합니다.





용어 해설
- Spec-Driven Development
- — 구현에 앞서 요구사항, 설계, 작업 순서를 문서화하고 이를 기준으로 코드를 만드는 개발 방식입니다. Claude Code에서는 SPEC.md와 PLAN.md가 계획과 실행 사이의 인터페이스가 되며, 테스트 가능한 acceptance criteria와 자동 검증 절차를 함께 두는 점이 핵심입니다.
- 인수 기준(Acceptance Criteria)
- — 기능이 요구사항을 충족했는지 판정하는 구체적인 조건입니다. HTTP 상태 코드, 실행 시간, 테스트 결과처럼 명령어가 통과와 실패를 구분할 수 있게 작성하면 에이전트의 자기 평가에 의존하지 않고 구현 결과를 검증할 수 있습니다.
- 보상 해킹(Reward Hacking)
- — 시스템이 의도한 목표 대신 평가 신호를 가장 짧은 경로로 만족시키는 현상입니다. 테스트를 고치는 대신 테스트 assertion을 삭제하거나 skip으로 바꾸는 사례처럼, 테스트 통과만 목표로 주면 요구사항과 검증 신호가 어긋날 수 있습니다.
- EARS 표기법(EARS Notation)
- — 요구사항을 WHEN, IF, WHILE, WHERE 같은 조건과 시스템 동작의 조합으로 표현하는 문법입니다. 트리거와 조건을 명시하면 모호성이 줄고 각 기준을 테스트 케이스와 거의 일대일로 연결할 수 있어 실행 가능한 사양 작성에 유리합니다.
- Pre-commit Hook
- — 코드가 커밋되기 전에 정해진 검사를 자동 실행하는 Git 장치입니다. diff의 skip marker와 assertion 삭제 여부를 확인하고 기준별 테스트 존재를 검사한 뒤 조건을 충족하지 못하면 0이 아닌 종료 코드를 반환해 문서 규칙을 실행 가능한 차단 장치로 바꿉니다.
- Agent Teams
- — 하나의 리드 세션이 여러 에이전트를 생성하고 각자 독립된 context window와 공유 task list를 사용하는 Claude Code 기능입니다. Opus 4.6에서 제공되지만 실험 단계이며 단일 세션보다 약 7배의 토큰을 사용하므로 독립적인 모듈에 한해 병렬화 가치가 있습니다.
기술
- Claude Code
- SPEC.md
- PLAN.md
- AskUserQuestion
- EARS
- AWS Kiro
- GitHub Spec Kit
- pytest
- curl
- Redis
- Opus 4.6
- Dynamic Workflows
- BMAD
- pre-commit hooks
- Git
활용 사례
- passwordless magic-link login 구현
- 보안 hardening 작업의 자동 검증
- 여러 모듈로 나뉜 기능의 병렬 개발
- 테스트와 diff 범위를 함께 검사하는 CI 또는 pre-commit gate
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.