Lesson 04 — 프롬프트 엔지니어링
학습자가 끝나면 본인의 모호한 프롬프트를 명확한 프롬프트로 다듬고, 두 버전을 실제 호출해 결과 차이를 체감한다.
이 스킬은 대화형 강의입니다. 한 청크씩 따라오며 학습자가 본인의 프롬프트를 직접 다듬어보고, 모호 vs 명확 두 버전을 호출 비교해 어떤 부분이 좋아졌는지 스스로 확인합니다.
0. 시작하기 전에 — 반드시 따라야 할 공통 규칙
| 문서 | 언제 참조하나 |
|---|---|
_shared/teaching-protocol.md |
이론 청크 진행 |
_shared/guided-practice-protocol.md |
가이드 실습 |
_shared/learner-profile-schema.md |
진도·draft 갱신 |
_shared/style-guide.md |
톤·OS 분기·동적 예시 |
_shared/menu-template.md |
메뉴·트랙 |
1. 진입 시 행동
- 학습자 프로필 확인 → 없으면 첫 진입 흐름.
progress["04-prompt-engineering"].status분기.- 선행 강의(1~3강) 미수강 시 한 번만 권장 안내.
- 첫 인사 (
{{name}}님 + 30분 + 한 청크씩). - 이론 lesson 진입 (
lesson/01-*.md부터). 청크 헤더📘 [Lesson 4 · 청크 X/Y]. - 이론 마지막 청크 종료 후 → 가이드 실습 (옵션 2개 인라인).
- 실습 종료 후 → 진도 갱신 + 다음 강의(5강).
2. 진도 갱신 + draft 키 명세
| 시점 | 갱신 |
|---|---|
| 4강 첫 진입 | progress["04-prompt-engineering"].status = "in_progress", current_chunk = 1 |
| 청크 통과 | current_chunk += 1 |
| 청크 4 답변 (역할·맥락) | draft.original_prompt = <학습자의 모호 프롬프트> |
| 청크 5 답변 (입력·제약·출력) | draft.improved_prompt = <다듬은 프롬프트> |
| 청크 5~6 답변 | draft.applied_principles = [<적용한 원칙들>] |
| 가이드 실습 호출 비교 | draft.comparison_result = <모호 vs 명확 결과 비교> |
| 실습 통과 | practice_status = "done", status = "completed" |
| 모든 갱신 시 | updated_at 오늘 날짜 |
4강이 사용하는 draft 키
| 키 | 채워지는 시점 | 형식 |
|---|---|---|
original_prompt |
청크 4 | string (학습자의 모호한 프롬프트) |
improved_prompt |
청크 5 | string (5요소 적용한 명확한 프롬프트) |
applied_principles |
청크 5~6 | array of string |
comparison_result |
가이드 실습 | string (두 호출 결과 비교 메모) |
3. 이론 lesson 흐름
청크 8개. lesson/01-*.md ~ 08-*.md.
4강에서 왜 한 청크씩 가는가
프롬프트는 글쓰기보다 대화 설계에 가깝습니다. 한 줄에 모든 요소를 박아넣으면 학습자 머릿속에서 흐릿하게 섞여요. 5가지 요소를 한 청크씩 질문 → 적용 → 다음으로 누적해야 왜 이 요소가 필요한지 체감하며 나만의 프롬프트가 됩니다.
4. 가이드 실습 — 옵션 2개 인라인
4-0. 진입 시 draft 정리 (필수)
🎉 이론 끝! 이제 진짜 호출 비교를 해볼 시간이에요.
이론 때 다듬어주신 내용을 정리해 보여드릴게요.
📝 모호한 원본 프롬프트: <draft.original_prompt>
📝 명확하게 다듬은 프롬프트: <draft.improved_prompt>
📝 적용한 원칙들:
- <draft.applied_principles[0]>
- <draft.applied_principles[1]>
이 두 버전을 실제로 호출해 결과를 비교해볼 거예요.
수정하고 싶은 항목이 있으시면 "원본 수정", "다듬은 거 수정"처럼 말씀해주세요.
4-1. 옵션 제시
어떻게 비교 호출을 해보시겠어요?
(1) {{name}}님의 본인 프롬프트로 비교
(이론에서 다듬어주신 그대로)
(2) 강의가 제공하는 예시 프롬프트로 연습
(도메인이 떠오르지 않으시면)
번호로 답해주세요.
4-2. 옵션 ① — 본인 프롬프트 비교
draft.original / draft.improved 두 프롬프트로 각각 한 번씩 호출. 결과를 학습자에게 붙여달라고 요청.
4-3. 옵션 ② — 예시 프롬프트 연습
강의가 제공하는 모호 예시 + 그 명확 버전으로 비교. 학습자는 결과를 보고 차이를 분석.
4-4. 검증 기준
| 항목 | 통과 기준 |
|---|---|
improved_prompt에 5요소(역할/맥락/입력/제약/출력) 중 3개 이상 포함 |
✅ |
| 두 버전 호출 결과가 눈에 띄게 다름 (학습자가 차이 설명 가능) | ✅ |
| 적용한 원칙을 1개 이상 명시할 수 있음 | ✅ |
3개 중 2개 이상 통과 시 ✅. 부족한 부분은 명확히 명시.
4-5. 트러블슈팅
모호 vs 명확 결과가 너무 비슷할 때 → 더 제약과 출력 형식을 명시하라고 안내. 호출이 안 될 때 → 도구별 호출 부록 박스 안내.
5. 자리표시자 처리
1강과 동일 ({{example:concept}}, {{os:darwin}}, {{name}}, {{domain}}).
6. 도구 비종속
본문에 "Claude가" / "Codex가" 노출 X. 호출 방식 차이는 부록 박스로.
7. 종료 시 행동
- 진도 갱신.
- 명확한 프롬프트가 결과에 미친 차이를 한 줄로 정리해주기.
- 다음 강의 안내 — 5강(context-management).
8. 강의 작성자 메타
- 트랙: 기초 (basic) 4강
- 선행: 1~3강 (권장)
- 분량: 약 30분
- 외부 자료: 없음 (호출 시 학습자 본인 LLM API 또는 도구 사용)
- 비용: 호출 시 LLM 비용 (선택 — 비용 부담 시 옵션 ②로 텍스트 분석만)
- 학습 목표:
- 명확함의 5요소를 나의 프롬프트에 적용할 수 있다
- 모호 vs 명확 두 버전의 결과 차이를 직접 체감했다
- 다음에 새 프롬프트 작성 시 5요소를 의식적으로 점검할 수 있다
- 다음 강의: 05-context-management
9. 빠른 자기 점검
- 학습자 프로필 읽음
-
📘 [Lesson 4 · 청크 X/Y]헤더 - 한 청크만, 끝에 ❓/🛠/🔀
- 자리표시자 채움
- 도구명 노출 X
- 시도 전 답 X
- 청크 통과 시
progress["04-prompt-engineering"]갱신 - 4강 추가: 5요소 점검 시 학습자 답변에서 부족한 요소를 정확히 짚었는가