좋은 프롬프트의 구조: 목표→맥락→제약→산출물
AI 코딩 지시문은 목표·맥락·제약·산출물 순서가 잘 통합니다. 각 부분에 무엇을 쓰고, 결과가 틀렸을 때 어느 부분을 고칠지 예시와 함께 정리했습니다.

AI 코딩 도구에 주는 지시문은 목표 → 맥락 → 제약 → 산출물 순서가 가장 잘 통합니다. 이 블로그의 프롬프트 빌더가 이 순서로 프롬프트를 조립하는 이유이기도 합니다. 모델은 앞부분을 기준으로 뒤를 해석하므로, 목표를 먼저 주고 제약을 산출물보다 앞에 두면 지시를 어긴 결과가 줄어듭니다. 2026년 9월 11일 기준 Claude Code 비용 문서도 "improve this codebase" 같은 막연한 요청은 넓은 탐색을 부르고, "auth.ts의 login 함수에 입력 검증 추가"처럼 구체적인 요청이 효율적이라고 적습니다.
1. 목표: 한 줄, 동사로
무엇이 끝나면 성공인지 한 문장으로 씁니다. "홈페이지 개선"이 아니라 "뉴스레터 구독 랜딩 페이지 만들기"입니다. 목표가 두 개면 프롬프트도 두 개로 나눕니다.
- 나쁨: "사이트 좀 손봐 줘"
- 좋음: "메인 페이지 상단에 이메일 구독 폼을 추가해 줘"
2. 맥락: 누가, 어디서, 무엇으로
같은 목표라도 맥락이 다르면 답이 다릅니다.
- 대상 사용자: "혼자 콘텐츠를 만드는 1인 창작자"
- 기술 스택: Next.js, Supabase, Tailwind처럼 이미 쓰는 것. 없으면 "기술 선택은 네가 제안"
- 현재 상태: "지금은 정적 페이지만 있고 DB는 없음"
맥락은 길게 쓰지 않습니다. 코드베이스에서 알아낼 수 있는 것(폴더 구조 등)은 Claude가 직접 읽습니다. 프로젝트 전반의 규칙은 매번 적는 대신 CLAUDE.md에 둡니다.
3. 제약: 하지 말 것과 한계
제약을 산출물 앞에 두는 것이 핵심입니다. 산출물을 먼저 읽으면 모델은 그 형태를 만드는 데 집중하고, 뒤에 붙은 제약을 놓치기 쉽습니다.
- 예산·기한: "무료 티어에서 동작", "오늘 안에 첫 버전"
- 금지: "로그인 없음", "새 유료 서비스 추가 금지", "기존 API 시그니처 변경 금지"
- 범위: "이 파일만 수정", "테스트 코드는 건드리지 않음"
한 줄에 하나씩 씁니다. 제약이 여섯 개를 넘으면 그중 절반은 CLAUDE.md로 옮길 규칙입니다.
4. 산출물: 형태를 지정
무엇을 받고 싶은지 형태로 말합니다.
| 원하는 것 | 이렇게 씁니다 |
|---|---|
| 먼저 계획 검토 | "코드를 쓰기 전에 계획을 목록으로 보여 주고 내 확인을 기다려" |
| 구조 파악 | "바뀌는 파일 트리를 먼저 보여 줘" |
| 검증 | "테스트를 함께 작성하고 실행 결과를 보여 줘" |
| 읽기 쉬운 코드 | "주석은 한국어로" |
Claude Code에서는 "계획 먼저"를 프롬프트로 쓰는 대신 plan 모드(Shift+Tab)로 강제할 수도 있습니다.
완성 예시
프롬프트 빌더의 기본값을 조립하면 이런 모양이 됩니다.
## 목표
뉴스레터 구독 랜딩 페이지 만들기
## 맥락
- 대상: 혼자 콘텐츠를 만드는 1인 창작자
- 스택: Next.js, Supabase, Tailwind
## 필수 기능
- 이메일 입력 폼과 구독 완료 화면
- 중복 구독 방지
- 관리자만 볼 수 있는 구독자 목록
## 제약
- 로그인 없음
- 무료 티어에서 동작
- 외부 유료 서비스 사용 금지
## 산출물
- 코드를 쓰기 전에 계획을 먼저 보여 줄 것
- 바뀌는 파일 트리를 먼저 보여 줄 것
- 주석은 한국어로
결과가 나온 뒤
첫 결과가 틀렸다고 프롬프트 전체를 다시 쓰지 않습니다. 네 부분 중 어디가 비었는지 찾습니다. 엉뚱한 기능을 만들었다면 목표가 모호했고, 유료 서비스를 끌어왔다면 제약이 빠졌고, 코드만 쏟아냈다면 산출물 지정이 없었던 것입니다. 그 한 부분만 고쳐 다시 보냅니다. 방향이 틀린 채 여러 턴을 가면 비용만 늘어납니다(비용 줄이는 7가지).
다음 단계
- 프롬프트 빌더에서 네 부분 채워 복사하기
- 바이브 코딩이란?
- 첫 홈페이지 만들기: Next.js + Vercel
출처와 확인 (2026-09-11)
- Claude Code: Manage costs effectively — Write specific prompts
- Claude Code: Permission modes (plan mode)
- 프롬프트 구조는 이 사이트 프롬프트 빌더의 조립 순서와 동일합니다.
