프롬프트 실전 — *토큰 절약 패턴 20가지*
프롬프트 실전 — *토큰 절약 패턴 20가지*
🎯 이 lesson 을 읽고 나면
이 lesson 을 다 읽고 나면 아래 3가지를 자신 있게 할 수 있습니다.
- ▸✅ 프롬프트 4요소 (범위 · 컨텍스트 · 제약 · 출력형식)
- ▸✅ Few-shot vs Zero-shot 선택
- ▸✅ Chain-of-Thought · Self-Critique 패턴
학습 목표를 체크리스트로 두고 다 답할 수 있게 되면 lesson 을 닫으세요.
왜 *프롬프트 패턴* 인가
핵심 한 줄
같은 결과를 10배 적은 토큰으로 받는 게 프로 바이브 코더 의 비결. 비용·시간·정확도 모두 차이.
토큰 절약 = 단순히 돈 아님
토큰 추정 공식
- ▸영어: 1단어 ≈ 1.3 토큰
- ▸한국어: 1글자 ≈ 1.5-2 토큰
- ▸코드: 1줄 ≈ 10-30 토큰
→ 100줄 코드 출력 = 약 1,500-3,000 토큰. 불필요한 출력 줄이면 비용 ↓.
이 lesson 구성
다음 4 섹션에 20개 패턴 비교 (❌나쁜 vs ✅좋은). 각 쌍에 예상 토큰 차이 표시.
복사해서 바로 Cursor 에 붙여넣을 수 있는 형태로 정리.
패턴 1-5: *범위 제한* 패턴
패턴 1 — 파일 명시
❌ "이 코드 좀 봐줘" (예상 출력 ~2500 토큰)
✅ "@src/auth.ts 47번째 줄 타입 에러만 수정. 다른 코드 X" (예상 출력 ~150 토큰)
16배 절약. @ 로 파일 명시하면 AI 가 그 파일만 봅니다.
패턴 2 — 함수 단위
❌ "로그인 로직 개선" (~3000 토큰)
✅ "@auth.ts 의 validatePassword 함수만. bcrypt cost 12 로 업데이트. 다른 함수 안 건드림" (~200 토큰)
패턴 3 — 변경 없음 강조
❌ "버튼 색 빨강으로" (전체 컴포넌트 재작성 가능)
✅ "@Button.tsx 21줄의 bg-blue-500 → bg-red-500. 그것만. 다른 변경 X. 변경 후 diff 만 보여줘" (~50 토큰)
패턴 4 — diff 형식 요청
❌ "수정해줘" (전체 파일 출력)
✅ "diff 형식으로 변경 부분만 보여줘:
" (~100 토큰)패턴 5 — 명시적 Out of scope
❌ "결제 로직 좀 봐" (관련된 모든 파일 다 봄)
✅ "@payment.ts 만. user.ts·order.ts 는 건드리지 마. 결제 처리 로직만 검토. README 도 X"
→ AI 가 다른 파일 임의 수정 안 함.
한 번 정리 — 패턴 1-5
범위 = 작을수록 좋음. @파일 + 한 줄/함수 + 다른 거 X 가 황금 조합.
패턴 6-10: *컨텍스트 압축* 패턴
패턴 6 — CLAUDE.md 활용
❌ "Next.js 15 App Router 에 TypeScript 와 Tailwind 쓰고 Drizzle ORM 쓰는데... 로그인 API 만들어줘" (반복)
✅ "@CLAUDE.md 스택 기준. POST /api/auth/login. zod 검증 + bcrypt + JWT"
→ 매번 스택 설명 안 함. 30배 절약 (매 대화).
패턴 7 — 출력 형식 명시
❌ "도와줘" (자유 형식, 보통 장황)
✅ "다음 형식으로:
- ▸변경 파일 목록
- ▸각 파일 변경 diff
- ▸5줄 이내 요약"
→ AI 가 그 형식만 출력.
패턴 8 — 코드만 / 설명 X
❌ "함수 만들어줘" → 보통 코드 + 사용법 + 함정 + 대안 까지 출력
✅ "코드만. 설명·주석 X" (~70% 절약)
설명이 진짜 필요할 때만 별도 요청.
패턴 9 — 간결한 응답 요청
❌ (자유 응답)
✅ "각 단락 한 줄로. 결론 먼저"
또는: "30초 안에 읽을 수 있게"
패턴 10 — 결과 위치 명시
❌ "테스트 작성해줘" → AI 가 어디에 둘지 고민·설명
✅ "@src/auth.ts 의 vitest 테스트를 src/auth.test.ts 에 작성. 파일 바로 그 자리 에 생성"
→ 추가 대화 0.
한 번 정리 — 패턴 6-10
AI 에게 자유 주지 X. 형식·위치·길이 모두 명시. 출력 토큰 50-70% 절약.
패턴 11-15: *명확성* 패턴
패턴 11 — 입출력 명시
❌ "로그인 함수 만들어줘"
✅ "함수 시그니처:
bcrypt 비교 + JWT 발급. 에러 시 LoginResult.error 에 메시지"
→ AI 가 시그니처 그대로 구현. 무의미한 추측 0.
패턴 12 — 예제·반례 제공
❌ "검증 추가" (AI 가 마음대로 zod·yup·valibot 중 선택)
✅ "zod 로 검증:
이 스타일로 추가"
패턴 13 — 버전 명시
❌ "Next.js 에서..."
✅ "Next.js 15.0.3 App Router 에서..."
버전 다르면 완전히 다른 API. 명시 안 하면 AI 가 최신 추측 (틀릴 수 있음).
패턴 14 — 안 되는 거 금지
❌ "보안 고려해서"
✅ "보안 고려:
- ▸❌
dangerouslySetInnerHTML절대 X - ▸❌ eval·new Function X
- ▸❌ user input 을 SQL 에 직접 X
- ▸✅ parameterized query
- ▸✅ DOMPurify"
→ AI 가 명시적 금지 어김 X.
패턴 15 — 모르면 모른다고
❌ (그냥 질문)
✅ "확실하지 않으면 '모른다' 라고 답해. 지어내지 마. 함수·라이브러리 이름은 공식 docs 와 대조 후 답변"
→ 할루시네이션 대폭 감소.
한 번 정리 — 패턴 11-15
명확성 = 추측 차단. 시그니처·예제·버전·금지·"모르면 모른다" 다 프롬프트에 포함.
패턴 16-20: *반복 회피* 패턴
패턴 16 — 컨텍스트 누적 활용
❌ (각 요청마다 처음부터 설명)
✅ "지난 대화 기준. 추가 작업: ..."
같은 채팅 세션에서는 이전 컨텍스트 그대로 사용. 새 대화 시작 X.
패턴 17 — 체이닝 패턴
❌ "함수 만들고 테스트도 만들어줘" → 한 번에 둘 다 (긴 출력)
✅ 1단계: "@auth.ts 에 validatePassword 함수만"
→ 받음
→ 2단계: "위 함수의 vitest 테스트만"
→ 받음
→ 각 단계 검증 + 짧은 출력 × 2.
패턴 18 — 재시도 최적화
❌ AI 응답 마음에 안 들면 "다시 만들어줘" → 처음부터 (낭비)
✅ "위 답변에서 X 부분만 바꿔줘:
- ▸bcrypt cost 10 → 12
- ▸다른 코드 그대로"
→ 변경 부분만 새로 받음.
패턴 19 — 작은 모델 먼저
❌ 모든 작업을 Opus 로
✅ 단순 작업 → Haiku ($1/M 입력)
복잡 작업 → Sonnet ($3/M)
진짜 어려우면 → Opus ($15/M)
Cursor 에서 모델 옵션 으로 전환 가능.
패턴 20 — Prompt Caching
❌ 시스템 프롬프트 매번 전송
✅ Anthropic API 사용 시 cache_control 추가:
→ 같은 시스템 프롬프트 5분 안 재사용 시 90% 할인.
종합 — 20 패턴 적용 효과
평균 5-10배 절약. 월 $50 → $5-10.
한 번 정리
20 패턴 핵심:
1. 범위 작게 (@파일·함수만·다른 거 X)
2. 컨텍스트 압축 (CLAUDE.md·형식·길이 명시)
3. 명확 (시그니처·버전·금지)
4. 반복 회피 (체이닝·재시도 최적화·캐싱)
이 4축 만 익히면 즉시 프로 바이브 코더.
🤖 AI 에게 이렇게 요청해보세요
이 lesson 의 개념을 알면 AI 에게 구체적으로 지시할 수 있습니다. 막연한 "고쳐줘" 가 아니라 어휘를 가진 요청 — 그게 토큰 절약의 출발점입니다.
- ▸"이 막연한 프롬프트를 범위·컨텍스트·제약· 출력 형식 4요소로 다시 써줘"
- ▸"이 프롬프트가 hallucination 가능성 높은데 evidence 요구를 추가해줘"
왜 이게 토큰을 줄이나
개념을 모를 땐 AI 답변을 받고도 "그게 뭐예요?" 를 다시 물어야 합니다. 그 "다시 물음" 이 토큰을 잡아먹습니다. 개념 한 번 익혀두면 대화가 한 번에 끝납니다.