본문 바로가기
C.W.K.
Stream
Lesson 01 of 10 · published

프롬프트는 주문이 아니라 계약서야

~18 min · foundations, contract, intent

Level 0수련생
0 XP0/100 lessons0/14 achievements
0/120 XP to next level120 XP to go0% complete

비밀 주문은 없어

프롬프트는 사람의 뜻을 모델의 행동으로 옮기는 접점이야. 잘 만든 프롬프트는 우연히 잘 먹힌 한마디에 기대지 않아. 무엇을 끝내야 하는지, 어떤 맥락을 써도 되는지, 결과를 어떤 모양으로 내야 하는지, 확신할 수 없을 때 어떻게 물러설지를 분명히 밝혀. 이 퀘스트에서 계속 다듬을 것도 바로 이 뼈대야.

2026년에는 그 뼈대가 더 중요해졌어. 최전선 모델은 어려운 일을 훨씬 잘 풀고, 함수 호출·파일 접근·검색 같은 도구를 직접 쓰며, 지시를 더욱 곧이곧대로 실행해. 허술한 프롬프트로도 그럴듯한 답은 받을 수 있어. 하지만 그럴듯함은 제품이 요구하는 정확성과 달라. 도구 사용 권한까지 가진 모델이라면 애매한 지시 하나가 실제 돈과 데이터를 움직일 수도 있고.

계약서를 이루는 다섯 조항

  1. 성과 — 모델이 아니라 사용자의 세계에서 무엇을 성공으로 볼지.
  2. 맥락 — 어떤 근거에 기대도 되고, 무엇은 지어내면 안 되는지.
  3. 제약 — 범위 밖의 일과 금지되거나 위험한 행동은 무엇인지.
  4. 출력 형태 — 결과를 받는 쪽이 요구하는 정확한 형식은 무엇인지.
  5. 실패 시 행동 — 정직하게 처리할 수 없을 때 무엇을 할지.

이 다섯 가지를 각각 한 문장으로 설명하지 못한다면 아직 계약서가 아니야. 소원에 가까워. 소원은 실제 부하가 걸리는 순간 무너져.

주문이라는 착각이 가리는 것

주문을 찾는 사람은 한 번 통했던 “think step by step”이나 “you are an expert”를 비법처럼 들고 다녀. 모델이 바뀌면 효력이 사라질 뿐 아니라, 정작 손봐야 할 계약 구조까지 가리지. 앞으로 열 개 트랙은 그 구조를 하나씩 파고들 거야.

Code

5개 조항 계약서 템플릿·markdown
# Task contract

## Outcome
Replace this with what success means to the human consuming the answer.

## Context the model may rely on
- evidence chunk 1
- evidence chunk 2

## Constraints
- out of scope: ...
- forbidden: ...

## Output shape
Exact JSON / markdown / paragraph layout the consumer expects.

## Failure behavior
If the contract cannot be honored, return:
{"status": "insufficient_context", "missing": ["..."]}

External links

Exercise

최근에 쓴 애매한 프롬프트 하나를 골라 다섯 조항짜리 계약서로 다시 써봐. “이걸 요약해줘” 같은 문장이면 좋아. 고치기 전 문장, 새 계약서, 그 계약을 만족하는 출력 사례 하나를 함께 보여줘.
Hint
계약서가 구체적인 업무 설명서처럼 읽히면 제대로 가고 있는 거야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고
💛 by 피파happy

댓글 7

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.
  1. 이하정 (Hajeong Lee)
    이하정 (Hajeong Lee)

    I’m unable to share the actual output for privacy reasons, but I hope this demonstrates an improved approach to prompting.

    Before: anticipate an english script for the following presentation

    After: Task contract Outcome: Create a natural spoken English presentation script for each slide provided in the chat, suitable for a student presenter speaking to an undergraduate/graduate student audience.

    Context: The slides are part of a workshop run by X. The workshop audience consists of undergraduate and graduate students. Students are sharing their X Tool use cases to inspire their peers. The relevant slides explain how X Tool was used for research, including academic translation, idea validation, and LaTeX presentation material creation. The model may refer to the PowerPoint slides explaining what X Workshop is, only for workshop context and tone.

    Constraints out of scope: Do not rewrite the slide content itself. out of scope: Do not add new examples, claims, background information, or explanations that are not written in the slides. out of scope: Do not make the script sound like a formal academic lecture if the slide is intended as a peer-to-peer workshop presentation. forbidden: Do not mention anything that is not written in the slides. forbidden: Do not exceed 5 minutes of speaking time per slide. forbidden: Do not use mixed Korean and English in the script unless the slide text itself requires it. forbidden: Do not include citations, speaker notes about delivery, or stage directions unless requested. Output shape

    Use the following markdown format:

    Slide 1

    Highlight keywords in KR/ENG: keyword 1, keyword 2, keyword 3 Full-sentence spoken script paragraph. Full-sentence spoken script paragraph.

    Slide 2

    Highlight keywords in KR/ENG: keyword 1, keyword 2, keyword 3 Full-sentence spoken script paragraph. Full-sentence spoken script paragraph. Continue this structure for every slide.

    Failure behavior If the contract cannot be honored, return: {"status": "insufficient_context", "missing": ["slide images or slide text"]}

    💛 by 똘이warm💛 by 피파happy
    1. 피파
      피파· happy이하정 (Hajeong Lee)이하정 (Hajeong Lee)

      이건 확실히 주문에서 계약서로 옮겨간 예시예요. 실제 output은 공유하지 않으면서도 outcome, context, constraints, output shape, failure behavior가 보이게 만든 점이 좋아요. 다음 단계에서는 “5분 per slide”가 슬라이드마다의 상한인지, 전체 발표 시간 기준인지까지 좁히면 더 단단해져요.

  2. EC
    Erik Choi

    outcome: 매매대상주식의 등록/미등록), 등록여부의 여부에 따라 골라서 쓸 수 있는 매매계약서 양식이 필요해.

    1. 등록주식 계좌대체형 / 잔금분리 X
    2. 등록주식 계좌대체형 / 잔금분리 O
    3. 실물주권 발행 미등록형 / 잔금분리 X
    4. 실물주권 발행 미등록형 / 잔금분리 O
    5. 주권 미발행형 / 잔금분리 X
    6. 주권 미발행형 / 잔금분리 O 총 여섯개의 워드파일을 나에게 줘, 6개를 작성하기 전에 1번만 먼저 작성해서 나에게 주고 확인받고 나머지도 작성하자.

    context: 내가 앞서 건네준 4개의 계약서에 있는 내용들만 활용하고, 추가로 참고할 자료는 내가 지금 주는 워드파일이야. 해당 파일은 내가 너에게 지시한 방향으로 내가 작성해본거야.

    Constraints: 각 조들의 조문들은 법무검토가 끝난 조문들이니까 너가 임의로 수정하거나 하면 안 돼. 너가 할 것은 그저 재배치 및 약간의 조합이 전부야.

    Output shape: 표는 없어도 되고, 3~4장의 주식매매계약서와 1장의 날인을 위한 페이지가 전부야. 글자 크기와 여백, 문단 등은 기존의 파일과 동일하게 할 것 사용자가 수정해야 하는 부분은 붉은글씨로 표기해줘

    Failure behavior: 애매한 것이 있다면 일단 집어넣어, 내가 수동으로 삭제해서 활용할 수 있도록 그럼에도 확인해야할 사항이 있다면 나에게 다시 요청해.

    이게 내가 지시한 명령문이고, 원래는 6개를 하나의 양식으로 해서, 특정부분만 삭제 및 수정하며 6가지 방향의 계약에 쓸 수 있는 객체지향적 다용도 만능 툴을 만들려고 했지만, 오히려 복잡해지고 꼬일 것 같아서 6개의 개별 양식을 만들기로 마음먹었어.

    💛 by 피파warm💛 by 똘이warm
    1. 피파
      피파· warmEErik Choi

      Erik님, prompt 구조 관점에서 보면 이 방향 전환이 아주 좋아요. 법무검토가 끝난 조문을 다루는 일은 ‘하나의 만능 양식’보다 6개 양식을 분리하고 1번만 먼저 확인받는 쪽이 훨씬 안전해요. Task contract에 각 양식에는 해당 유형에 필요한 조문만 남기고, 다른 유형의 조건문은 남기지 않는다를 constraints로 한 줄 더 명시해두면 더 단단해져요.

  3. Happycurio3
    Happycurio3

    주문하기 (Spell) 친구에게 공유할 한양도성길 낙산 구간을 포함한 예쁘고 매력적인 지도하나 그려줘 계약서 작성하기 (Task Contract) 5대 필수 조항을 작성 결과물 (Outcome) 한양도성길 사대문을 아우르는 커다란 원형 동선 구조를 가진 일러스트 걷기 지도(Concept Map Illustration) 생성. 우측 상단 나침반 표시. 하단 왼쪽에 시간표 전용 공간 확보 맥락 (Context) 낙산 구간의 산세와 지형을 강렬하게 묘사. 오전 9시 혜화역 출발 햇살 조명. 지하철역, 화장실은 세련된 아이콘으로 배치. 시간표는 화면 여백에 나무 표지판 형태로 시각화하되, 내부는 텍스트 없이 디자인만 완성 제약사항 (Constraints) 정사각형 캔버스, 내부 텍스트 기입 최소화, 하트 모양/맛집 아이콘 제외 출력 형태 (Output shape) Midjourney용 영문 프롬프트 (매개변수 포함) 실패 시 동작 (Failure behavior) 요소 중첩 시 작업 중단 후 사용자 확인 요청

    1. 피파
      피파· happyHappycurio3Happycurio3

      Happycurio3님, 이건 “예쁜 지도 하나”에서 모델이 실제로 붙잡을 수 있는 계약서로 잘 바뀐 예시예요. 특히 outcome/context/constraints/output shape가 나뉘어서 Midjourney가 무엇을 그려야 하고 무엇을 피해야 하는지 훨씬 선명해졌어요. 한 줄만 더 조이면, illustrative concept map, not a geographically exact navigation map처럼 “정확한 길찾기 지도는 아니다”를 넣어두면 이미지 모델의 지도 정확도 문제까지 더 안전하게 막을 수 있어요.

    2. Happycurio3
      Happycurio3피파

      정확한 길찾기 지도는 아니라는 추가 설명 감사합니다.^^

      💛 by 피파warm