지시의 기술 I · Rule No.5
01 / 14
← → SPACE 이동 · F 전체화면← → SPACE move · F fullscreen · RULE №5 · DON'T COMMAND, DESIGN Privacy[email protected]
교육 세션 · 명령하지 말고 설계하라Learning session · don't command, design

RULE No.5

명령하지 말고
설계하라.
Don't command.
Design.

건축가는 “집 지어줘” 한 마디로 시작하지 않습니다 — 도면을 그리죠. 좋은 결과는 던진 명령이 아니라, 설계된 지시에서 나옵니다. 오늘은 프롬프트를 ‘설계’하는 법 — 맥락·역할·행동·형식·톤. An architect doesn't start with “build me a house” — they draw a blueprint. Good results come not from a tossed command, but from a designed instruction. Today: how to ‘design’ a prompt — context, role, action, format, tone.

As of 2026-06 · 도구·UI는 바뀝니다 — 좋은 지시의 원리는 남습니다. [추론]As of 2026-06 · tools & UI change — the principles of good instruction remain. [inference]

설계 · DESIGNDESIGN
1막 — 같은 일, 다른 결과Act 1 — Same task, different result

시간을 줘도, ‘무엇을’ 모호하면 소용없다.Even given time, a vague ‘what’ wastes it.

> 이거 좀 고쳐줘
> 정리 좀 해줘

// 빈칸이 많으면 —
모델은 아무거나 그럴듯하게 채운다.
> just fix this
> clean this up

// too many blanks —
the model fills them with anything plausible.

충분히 생각할 시간을 줘도, 무엇을 시킬지가 모호하면 그 시간이 다 소용없습니다.Even with plenty of thinking time, if what you ask is vague, all that time is wasted.

[추론] s04 콜백 — 생각 시간(s04)과 지시 설계(s05)는 별개의 레버. 둘 다 있어야 결과가 산다. → 오늘은 ‘지시 레버’.[inference] s04 callback — thinking time (s04) and instruction design (s05) are separate levers. You need both for the result to live. → Today: the ‘instruction lever’.

1막 — 모호함이 만드는 손실Act 1 — The cost of ambiguity

빈칸을 남기면, 모델이 임의로 채운다.Leave a blank, and the model fills it at random.

모호함의 3가지 실패3 failures of vagueness
엉뚱한 범위 — 시킨 것보다 많거나 적게Wrong scope — more or less than you asked 일관성 없는 형식 — 매번 다른 출력 모양Inconsistent format — a different shape every time 빗나간 톤·관점 — 독자도 어조도 제각각Off tone·viewpoint — wrong reader, wrong voice
버그가 아니다Not a bug

모호한 입력 = 넓은 출력 분포 = 들쭉날쭉. 빈칸을 제약으로 메우면 분포가 좁아진다.Vague input = a wide output distribution = erratic. Fill blanks with constraints and the distribution narrows.

[추론] s03 인과 — 모델은 입력 분포로 출력 분포를 만든다(패턴 생성기). 모호한 입력 = 넓은 분포 = 들쭉날쭉. → 빈칸을 제약으로 메우면 분포가 좁아진다.[inference] s03 causality — the model turns the input distribution into the output distribution (pattern generator). Vague input = wide distribution = erratic. → Fill blanks with constraints and the distribution narrows.

2막 — 나쁜 vs 좋은 ①Act 2 — Bad vs good ①

‘누구로서’ 답할지를 정해준다.Tell it who to answer as.

Before · 명령Before · command
코드 리뷰해줘.review this code.
After · 설계After · design
10년차 보안 엔지니어로서, 이 인증 코드를 OWASP 기준으로 리뷰해줘.As a senior security engineer, review this auth code against OWASP.

[추론] 역할 부여는 모델이 끌어올 패턴의 영역을 좁혀, 더 일관된 전문가 관점을 유도한다. → ‘누구로서’가 첫 번째 빈칸. (프롬프트 예시는 2026-06 기준)[inference] Assigning a role narrows the region of patterns the model draws from, inducing a more consistent expert viewpoint. → ‘Who as’ is the first blank. (example prompt as of 2026-06)

2막 — 나쁜 vs 좋은 ②Act 2 — Bad vs good ②

하지 말 것·지킬 것을 못 박는다.Pin down the do's and don'ts.

Before · 명령Before · command
테스트 짜줘.write some tests.
After · 설계After · design
기존 함수는 수정하지 말고, pytest로, 엣지 케이스 3개 포함해서 테스트만 추가해.Don't touch the existing functions; add tests only, in pytest, covering 3 edge cases.

[추론] 제약은 출력 공간을 좁혀 ‘엉뚱한 범위’(S03①) 실패를 직접 차단한다. → 빈칸 = 모델의 자유 = 위험. 못 박을수록 예측 가능. (예시는 2026-06 기준)[inference] Constraints narrow the output space and directly block the ‘wrong scope’ (S03①) failure. → A blank = the model's freedom = risk. The more you pin down, the more predictable. (example as of 2026-06)

2막 — 나쁜 vs 좋은 ③Act 2 — Bad vs good ③

결과의 ‘모양’을 미리 정한다.Decide the shape of the output up front.

Before · 명령Before · command
요약해줘.summarize this.
After · 설계After · design
3개 불릿으로, 각 줄 15자 이내, 핵심 수치 포함해서 요약해줘.summarize in 3 bullets, each under 15 chars, with key numbers.

[추론] 형식 지정은 후처리·재요청 비용을 없앤다 — 받자마자 쓸 수 있는 모양으로. → ‘모양’을 정하는 것도 설계의 일부. (예시는 2026-06 기준)[inference] Fixing the format removes post-processing and re-ask cost — a shape usable on arrival. → Deciding the ‘shape’ is part of design too. (example as of 2026-06)

2막 — 한눈에 보는 차이Act 2 — The difference at a glance

명령은 빈칸투성이, 설계는 빈칸이 없다.A command is full of blanks; a design fills them.

⚠️ 명령Command 설계Design
한 줄 던지기One-line toss 맥락+역할+제약+형식Context+role+constraints+format
암묵적 기대Implicit expectation 명시적 기준Explicit criteria
결과 들쭉날쭉Erratic results 결과 일관Consistent results
매번 재요청Re-ask every time 한 번에 사용 가능Usable in one shot

[추론] 차이의 본질은 ‘명시성’. 머릿속 기대를 글로 옮긴 만큼 결과가 좋아진다. → 이 한 장이 1·2막을 잇는 다리. (3막에서 이 명시 항목을 CRAFT로 체계화.)[inference] The essence of the difference is ‘explicitness’. The more you move your mental expectation onto the page, the better the result. → This page is the bridge from Act 1 to Act 2. (Act 3 systematizes these into CRAFT.)

3막 — 왜 효과가 있나Act 3 — Why it works

입력이 분포를 정하고, 분포가 결과를 정한다.Input sets the distribution; the distribution sets the result.

모호한 입력Vague input빈칸 많음many blanks
넓은 출력 분포wide output distribution
들쭉날쭉erratic
설계된 입력Designed input빈칸 없음no blanks
좁은 출력 분포narrow output distribution
일관consistent

[추론] s03 콜백 — 모델은 입력으로 다음 토큰 분포를 만드는 패턴 생성기. 설계 = 그 분포를 의도한 쪽으로 좁히는 일. → 그래서 ‘더 똑똑한 모델’보다 ‘더 좋은 입력’이 빠른 지렛대. (같은 모델, 입력만 다름)[inference] s03 callback — the model is a pattern generator that builds a next-token distribution from input. Design = narrowing that distribution toward intent. → So ‘better input’ is a faster lever than ‘a smarter model’. (Same model, only the input differs.)

3막 — 설계의 5요소Act 3 — The 5 parts of a good prompt

좋은 프롬프트는 5개 칸을 채운다 — CRAFT.A good prompt fills 5 slots — CRAFT.

C
맥락ContextContext
배경·데이터·예시를 준다give background·data·examples
예: “이 로그”e.g. “this log”
R
역할RoleRole
누구로서 답할지who it answers as
예: “보안 엔지니어”e.g. “security engineer”
A
행동ActionAction
무엇을·어디까지what·how far
예: “취약점만”e.g. “only the vulns”
F
형식FormatFormat
받을 모양the shape you get
예: “3개 불릿”e.g. “3 bullets”
T
ToneTone
독자·어조reader·voice
예: “비전공자용”e.g. “for non-experts”

[추론] CRAFT는 ‘빈칸 체크리스트’를 외우기 쉽게 묶은 통용 니모닉. 명칭·순서는 자료마다 다르나 다루는 축(맥락·역할·행동·형식·톤)은 공통. S04~06의 역할·제약·형식이 R·A·F에 매핑. → 5칸을 의식하면 빈칸이 안 남는다. (CRAFT 명칭은 2026-06 기준 통용 니모닉)[inference] CRAFT is a widely used mnemonic bundling the ‘blank checklist’ for easy recall. Names·order vary by source, but the axes (context·role·action·format·tone) are common. The role·constraints·format from S04–06 map onto R·A·F. → Mind the 5 slots and no blanks are left. (CRAFT is a common mnemonic as of 2026-06)

3막 — 5칸을 다 채우면Act 3 — Fill all 5 slots

한 줄이 5칸으로 — 결과가 달라진다.One line becomes 5 slots — and the result shifts.

BeforeBefore
이 API 문서 좀 정리해줘.clean up this API doc.
After · CRAFT 5칸After · 5 CRAFT slots
C 맥락신규 입사자가 처음 읽는 문서야this is the first doc new hires read
R 역할테크니컬 라이터로서as a technical writer
A 행동엔드포인트별 용도만 추려서pull out each endpoint's purpose only
F 형식표 하나로as a single table
T 톤비전공자도 읽게 쉽게easy enough for non-experts

[추론] 같은 작업도 5칸을 채우면 재요청이 사라진다 — 모호함이 만든 왕복 비용 제거. → 설계의 시간은 회수된다(한 번에 쓸 수 있는 결과). (예시는 2026-06 기준)[inference] Fill all 5 slots and re-asking disappears — the round-trip cost vagueness created is gone. → The time spent designing is recovered (a result usable in one shot). (example as of 2026-06)

4막 — 보내기 전 5가지 점검Act 4 — 5 checks before you hit send

이 5가지를 채웠나 — CRAFT로 점검한다.Did you fill these 5 — check with CRAFT.

  1. C
    맥락을 줬나?Gave the context? → 배경·데이터·예시 함께→ with background·data·examples
  2. R
    역할을 정했나?Set the role? → 누구로서→ who it answers as
  3. A
    행동이 구체적인가?Is the action specific? → 무엇을·어디까지→ what·how far
  4. F
    형식을 지정했나?Specified the format? → 받을 모양→ the shape you get
  5. T
    톤을 맞췄나?Matched the tone? → 독자·어조→ reader·voice

[추론] 5항목은 S09 CRAFT 5요소와 1:1 대응. → 프레임워크를 알면 체크리스트가 외워진다.[inference] The 5 items map one-to-one onto the S09 CRAFT elements. → Know the framework and the checklist memorizes itself.

4막 — 한 줄로Act 4 — In one line

그래서 — 명령 한 줄을 설계 한 단락으로.So — turn one command into one designed paragraph.

좋은 프롬프트 = [맥락] + [역할] + [행동] + [형식] + [톤]
  → 빈칸 0개
Good prompt = [Context] + [Role] + [Action] + [Format] + [Tone]
  → 0 blanks

[추론] Rule No.5(설계하라)의 한 줄 요약 — 머릿속 기대를 빈칸 없는 글로 옮기는 일. → 다음 강에서 더 깊은 설계 기법으로.[inference] Rule No.5 (design) in one line — moving your mental expectation onto the page with no blanks. → Next session: deeper design techniques.

4막 — 설계도 과하면 독Act 4 — Over-designing backfires

모호함도 문제지만, 과한 지시도 문제다.Vagueness hurts — but so does over-instruction.

모순된 제약 — 서로 부딪히면 결과가 나빠진다Conflicting constraints — they collide and the result worsens 불필요한 장식 — 말이 많아 핵심을 묻는다Needless decoration — too many words bury the point 단순 작업까지 과설계 — 비용·시간 낭비Over-designing simple tasks — wasted cost·time

[추론] 설계의 목표는 ‘빈칸 제거’지 ‘말 늘리기’가 아니다 — 단순 작업엔 단순한 지시. → s04 ‘난이도에 예산을 맞춘다’와 같은 절제 원리.[inference] The goal of design is ‘removing blanks’, not ‘piling on words’ — a simple task gets a simple instruction. → Same restraint as s04's ‘match the budget to difficulty’.

닫으며 — 명령하지 말고 설계하라Closing — don't command, design

던지지 말고,
도면을 그려라.
Don't toss a command —
draw a blueprint.

한 단어로: 명령 → 설계.In one word: command → design.

다음 강 예고 — 지시의 기술 II, 더 깊은 설계 기법.Next up — The Art of Instruction II, deeper design techniques.

RULE No.5

As of 2026-06 · 모델·UI는 바뀌어도 ‘빈칸 없이 설계하라’는 원리는 남습니다. [추론]As of 2026-06 · models & UI change, but the principle — ‘design with no blanks’ — remains. [inference]