통합 요약노트
Ch.4 AI에게 좋은 지시 내리기
효과적인 프롬프트를 작성하고 컨텍스트를 관리할 수 있게 됩니다.
이 챕터의 내용
LLM의 작동 원리 — 토큰, 컨텍스트, 확률
LLM의 작동 원리를 알면 답이 보입니다. 토큰, 컨텍스트, 확률 — 이 세 가지를 이해하면 AI를 훨씬 잘 다룰 수 있습니다.
LLM = Large Language Model 방대한 텍스트를 학습해서 '다음에 올 단어'를 예측하는 기계
비유: 문장 빈칸 채우기 천재. "오늘 날씨가 좋으니 ___"에서 '산책하자'를 예측합니다. 다만 1만 권의 책을 읽은 수준의 빈칸 채우기입니다.
핵심: AI는 '이해'가 아니라 '패턴 예측'. 하지만 그 예측이 놀라울 정도로 정확합니다
- LLM = '다음 단어 예측' 기계, 이해가 아닌 패턴 매칭
- 토큰 = AI의 처리 단위이자 비용 단위, 한국어는 영어보다 2~3배
- 컨텍스트 윈도우 = AI의 작업 책상, 무한하지 않으므로 관리 필요
좋은 프롬프트의 조건 — 나쁜 지시 vs 좋은 지시
프롬프트 품질이 결과의 80%를 결정합니다. 택시 기사에게 '좋은 데로 가주세요'라고 하면 원하는 곳에 도착할 수 없는 것과 같습니다.
프롬프트 = AI에게 주는 지시 같은 AI라도 지시 품질에 따라 결과가 천차만별
비유: 택시 기사에게 "좋은 데로 가주세요" vs "강남역 2번 출구 앞 카페 OOO까지요". 어느 쪽이 원하는 곳에 도착할까요?
좋은 프롬프트의 핵심 3요소: 무엇을(구체적 작업) + 어디서(파일 위치/기술 스택) + 어떤 제약 안에서(금지 사항/스타일)
- 프롬프트 품질 = 결과 품질, 같은 AI라도 지시에 따라 천차만별
- 나쁜 프롬프트: 모호 · 맥락 없음 · 제약 없음 → 반복 수정
- 좋은 프롬프트의 3요소: 무엇을 + 어디서 + 어떤 제약 안에서
프롬프트 구조 공식 — 맥락→지시→제약→형식
맥락→지시→제약→형식, 이 4단계 공식을 쓰면 됩니다. 복잡한 작업일수록 이 구조가 빛을 발합니다.
프롬프트 4요소 공식이 있습니다 매번 4개를 다 쓸 필요는 없지만, 복잡한 작업일수록 효과적
같은 요청을 나쁜 예와 좋은 예로 비교해봅시다
프롬프트 4요소 중 '기존 라이브러리만 사용하라'는 어디에 해당하나요?
- 프롬프트 4요소: 맥락 → 지시 → 제약 → 형식
- 복잡한 작업일수록 4요소 공식이 효과적
- 간단한 질문에는 필요한 요소만 선택적으로 사용
컨텍스트 관리 — AI의 기억력을 효율적으로 쓰기
컨텍스트가 가득 찬 겁니다. AI의 '작업 책상'을 정리하면 바로 해결됩니다. 컨텍스트 관리는 바이브코더의 핵심 스킬입니다.
원인: 대화가 길어지면서 AI의 '작업 책상'(컨텍스트)이 가득 찬 것
비유: 칠판에 글씨를 계속 쓰다 보면 앞에 쓴 내용이 가려지는 것과 같습니다. AI도 새 정보를 넣으면 오래된 정보가 밀려납니다.
컨텍스트 관리 = 바이브코더의 핵심 스킬
- AI가 엉뚱해지는 이유 = 컨텍스트 오버플로우
- 3가지 전략: 주제 분리 · /clear로 초기화 · /compact로 압축
- CLAUDE.md = 컨텍스트를 아끼면서 일관성을 유지하는 핵심 도구
핵심 용어 모음
영어
1단어 ≈ 1토큰 ("hello" = 1토큰)
한국어
1글자 ≈ 2~3토큰 ("안녕" = 4~6토큰)
코드
함수명·기호 각각 별도 토큰
맥락 (Context)
프로젝트 배경, 기술 스택, 현재 상태 — "Next.js 14 프로젝트, Supabase 연동 완료"
지시 (Instruction)
구체적 작업 내용 — "로그인 페이지를 만들어줘"
제약 (Constraint)
금지 사항, 제한 — "기존 디자인 시스템 컴포넌트를 사용, 새 라이브러리 설치 금지"
형식 (Format)
출력 포맷 — "파일별로 코드를 나눠서 보여줘"
1. 한 대화당 하나의 주제
로그인 만들기와 디자인 수정을 같은 대화에서 하지 않기
2. /clear로 주제 전환
새 작업을 시작할 때 깨끗한 상태에서 시작
3. /compact로 대화 압축
같은 주제인데 대화가 길어졌을 때 — 핵심만 남기고 압축
비교 정리
| 항목 | 나쁜 프롬프트 | 좋은 프롬프트 |
|---|---|---|
| 구체성 | 로그인 만들어줘 | Next.js App Router + Supabase Auth, 이메일/비밀번호 로그인 |
| 맥락 | 없음 | 현재 프로젝트는 Next.js 14, TypeScript 사용 |
| 제약 | 없음 | 기존 /src/components 폴더 구조에 맞춰서 |
| 결과 | 수정 5회 반복 | 한 번에 80% 완성 |
퀴즈와 인터랙션으로 더 깊이 학습하세요
play_circle인터랙티브 코스 시작하기