Skip to main content

챕터 4에서 템플릿 10개로 "바로 쓰는 성과"를 냈다면, 이제는 템플릿이 흔들릴 때도 결과를 안정적으로 고정하는 방법을 배웁니다. Claude 4.x 계열은 특히 좋은 글솜씨보다 검증 가능한 요구사항을 더 잘 따릅니다. 애매한 형용사("알아서 잘", "적당히", "전문적으로")는 성능을 떨어뜨리고, 확인 가능한 조건(길이/형식/포함·제외/근거/예외 처리)은 성능을 끌어올립니다.1

이 챕터의 목표는 하나입니다. claude.ai에서 어떤 업무를 하든, "운이 좋은 날만 잘 나오는 프롬프트"가 아니라 항상 비슷한 품질이 나오는 프롬프트 구조를 손에 넣는 것입니다.

Claude 4.x가 '좋은 글'보다 '요구사항'을 좋아하는 이유

Claude 최신 모델은 지시를 더 정확하고 문자 그대로 따르도록 설계되어 있습니다. 그래서 예전처럼 모델이 빈칸을 "친절하게 추측해서 채워주길" 기대하면, 결과가 평면적으로 보이거나 빠진 부분이 생깁니다. Anthropic 문서도 "원하는 출력 형식과 제약을 구체적으로 말하라", 그리고 예전처럼 모델이 지시하지 않은 부분까지 알아서 한 발 더 나아가(추가 제안·보완·확장까지) 처리해주길 원한다면, 그런 행동(예: 대안 제시, 체크리스트 추가, 잠재 리스크 지적 등)을 명시적으로 요청하라고 강조합니다.1

업무에서 필요한 건 대개 창작이 아니라 재현성입니다. 같은 입력, 같은 기준, 같은 포맷으로 반복 생산해야 하니까요. Claude에게는 이걸 "글 느낌"으로 전달하기보다 "요구사항 계약서"처럼 전달하는 편이 유리합니다.

4요소 프롬프트: 명확·구조·예시·출력형식

이제부터는 어떤 프롬프트든 아래 4요소 중 빠진 게 없는지 먼저 점검하세요.

1) 명확: 무엇을, 누구에게, 언제까지, 성공 기준은 무엇인지

명확함은 단순히 "자세히 써라"가 아닙니다. 성공을 판정할 수 있는 조건을 주는 것입니다.1

예를 들어 "요약해줘"는 애매합니다. 반면 "임원에게 공유할 150~200자 요약, 3문단, 재무 리스크만"은 검증이 가능합니다.2

또 하나의 요령은 "하지 마"보다 "이렇게 해"를 쓰는 것입니다. Anthropic은 출력 제어에서 특히 부정형 금지(Do not…) 대신 긍정형 지시(Your response should…)가 더 효과적이라고 안내합니다.1

2) 구조: 섹션/태그로 '섞이지 않게' 만든다

긴 프롬프트가 실패하는 흔한 이유는, 문맥(배경)과 지시(명령)와 입력(원문)이 한 덩어리로 섞이기 때문입니다. Claude는 태그로 구획된 프롬프트를 더 명확하게 파싱합니다. Anthropic은 복잡한 프롬프트에서 <instructions>, <context>, <input> 같은 XML 태그로 섹션을 분리하는 것을 권장합니다.1

claude.ai에서도 동일하게 적용됩니다. "XML을 쓰면 개발자 같아 보일까?"를 걱정할 필요가 없습니다. 태그는 개발이 아니라 오해를 줄이는 라벨입니다.

예시: ‘섞인 프롬프트’ vs ‘태그로 분리한 프롬프트’

나쁜 예(섞인 프롬프트)

지난주 회의록 아래에 붙여둘게. 이거 읽고 임원 보고용으로 요약해줘. 핵심만. 그리고 액션아이템도 뽑아줘. 너무 길면 안 되고, 우리 팀 톤으로. 회의록: """
[회의록 원문]
"""

좋은 예(태그로 분리)

<context>
- 문서 종류: 주간 회의록
- 독자: 임원
- 목적: 3분 내 의사결정 지원
</context>

<instructions>
1) 결론 1줄을 먼저 쓴다.
2) 핵심 사실 5개(각 1문장)를 쓴다.
3) 액션아이템 5개를 ‘담당/기한/내용’으로 정리한다.
</instructions>

<constraints>
- 분량: 전체 250~350자
- 추측 금지: 원문에 근거 없으면 ‘추가 확인 필요’로 표기
</constraints>

<input>
"""
[회의록 원문]
"""
</input>

<output_format>
- 결론:
- 핵심 사실:
  1)
  2)
  3)
  4)
  5)
- 액션아이템:
  - 담당 | 기한 | 내용
</output_format>

핵심은 ‘요청/데이터/형식’을 서로 다른 상자에 넣어 Claude가 헷갈릴 여지를 없애는 것입니다.

3) 예시: 규칙 설명보다 '샘플'이 더 강력하다

원하는 결과가 있다면, 그 결과의 미니 샘플을 같이 주는 편이 훨씬 강합니다. Anthropic은 예시가 출력 형식, 톤, 구조를 조정하는 데 가장 신뢰할 수 있는 수단 중 하나라고 말하며, 복잡한 작업에서는 3–5개 예시를 권장합니다.1

예시는 <examples>/<example>로 감싸서 "이건 참고 샘플이고, 저건 실제 입력"이라는 경계를 명확히 하세요.1

4) 출력형식: 스키마/템플릿으로 결과를 '고정'한다

마지막으로 결과를 고정하는 가장 확실한 방법은 출력 스키마(틀) 를 주는 것입니다. JSON/XML/템플릿을 지정하고, 필요하면 "유효한 JSON만 출력. 설명 금지"처럼 규칙을 더해주면 좋습니다.2

한 단계 더 나아가면, 입력과 출력 모두를 스키마로 정의하는 "스키마 기반 프롬프트"도 가능합니다. 이 방식은 모델을 "글쓰기"가 아니라 "데이터 변환" 모드로 쓰는 접근이며, 입력 스키마와 출력 스키마를 명시해 예측 가능성을 높입니다.3

이렇게 JSON 형태로 나오면 그 이후에 코드로 활용하기에도 좋은 장점이 있습니다.

바로 복사해서 쓰는 '구분형 프롬프트' 기본형 (claude.ai용)

아래는 claude.ai에서 가장 범용으로 먹히는 구조입니다. 문서/파일을 붙여넣든, 짧은 요청을 하든, 일단 이 틀에 넣어보면 결과가 안정됩니다.1

<role>
당신은 [직무/역할] 전문가입니다.
</role>

<context>
- 업무 배경: [상황]
- 대상 독자: [누가 읽는지]
- 목적: [왜 필요한지]
</context>

<instructions>
1) [해야 할 일 1]
2) [해야 할 일 2]
3) [해야 할 일 3]
</instructions>

<constraints>
- 분량: [예: 300~400자]
- 톤: [예: 담백하고 단정한 존댓말]
- 포함: [반드시 들어갈 요소]
- 제외: [절대 넣지 말 것]
- 불확실성: 근거가 없으면 "모름" 또는 "추가 확인 필요"로 표시
</constraints>

<examples>
<example>
<input>
[짧은 입력 예시]
</input>
<output>
[원하는 출력 예시]
</output>
</example>
</examples>

<input>
[여기에 실제 입력/원문/메모를 붙여넣기]
</input>

<output_format>
[원하는 출력 템플릿 또는 JSON 스키마]
</output_format>

이 구조에서 중요한 건 "길이"가 아니라 "경계"입니다. 지시가 어디까지인지, 입력 데이터가 어디부터인지, 예시가 무엇인지가 분명해지면 Claude는 그 자체로 성능이 좋아집니다.1

예시로 배우기 1: '요약'이 아니라 '결정 가능한 요약' 만들기

업무 요약에서 흔한 실패는 "깔끔한 글"은 나오는데, 결정에 필요한 요소(리스크/요청/근거)가 빠지는 것입니다. 해결은 간단합니다. 요약을 문학 장르가 아니라 검증 가능한 산출물로 정의하세요.

<role>
당신은 임원 보고용 요약을 작성하는 비서실 문서 담당자입니다.
</role>

<context>
이 요약은 3분 안에 읽고 의사결정하기 위한 문서입니다.
</context>

<input>
"""
[원문 붙여넣기]
"""
</input>

<instructions>
1) 원문에서 의사결정에 필요한 사실(숫자/날짜/결정/요청)만 추출한다.
2) 추측은 금지하고, 근거 없는 내용은 "추가 확인 필요"로 둔다.
3) 먼저 관련 문장을 짧게 인용한 뒤(근거), 그 근거에 기반해 요약한다.
</instructions>

<output_format>
- 한 줄 결론(25자 내)
- 핵심 사실 5개(각 1문장)
- 리스크 3개(각 1문장)
- 의사결정 필요 항목 3개(각 1문장)
- 추가 확인 필요 3개(각 1문장)
</output_format>

"먼저 인용하고, 그 인용에만 기반해 요약"은 긴 문서에서 환각을 줄이는 데 특히 유효한 패턴입니다.1

예시로 배우기 2: '메일 잘 써줘' 대신 '메일 요구사항'을 준다

메일은 톤 지시가 흔들리기 쉬운 영역입니다. "정중하게"보다 "문장 수/구조/금지어/CTA"가 더 잘 먹힙니다.1

<role>
당신은 B2B 고객 커뮤니케이션 담당자입니다.
</role>

<context>
- 상대: [고객/파트너]
- 목적: 일정 확정
- 관계: 첫 미팅 이후 후속
</context>

<instructions>
1) 제목(Subject) 3개를 제안한다.
2) 본문은 8~10문장으로 작성한다.
3) 마지막 문장은 상대의 행동이 명확한 CTA 1문장으로 끝낸다.
</instructions>

<constraints>
- 과장/보장 표현 금지(예: 반드시, 무조건, 100%)
- 불확실한 내용은 단정하지 말고 "확인 후 안내"로 처리
- 문장 종결은 "~습니다"로 통일
</constraints>

<input>
- 내가 말하고 싶은 요점:
  - [요점 1]
  - [요점 2]
- 가능한 일정 후보: [후보 1], [후보 2]
</input>

<output_format>
[Subject 후보 3개]

[본문]
</output_format>

메일이 "그럴듯하지만 위험한 문장"을 만들지 않게 하려면, 금지어 자체보다 "왜 금지인지"를 한 줄로 덧붙이는 것도 좋습니다. 예를 들어 "법무 검토가 필요하니 보장처럼 읽히는 표현을 피해야 한다"처럼 목적을 붙이면, Claude가 규칙을 일반화하는 데 도움이 됩니다.1

예시로 배우기 3: JSON 스키마로 '데이터 추출기' 만들기

표/리스트로 뽑아달라고 했는데도 결과가 들쭉날쭉하다면, 프롬프트를 "글쓰기"가 아니라 "추출"로 바꿔야 합니다. 이때는 출력 형식을 유효한 JSON으로 고정하고, 모르는 값의 처리 규칙을 미리 정해두는 게 핵심입니다.2

<role>
당신은 계약서에서 핵심 조건을 추출하는 데이터 추출기입니다.
</role>

<instructions>
1) 아래 텍스트에서 계약 핵심 조건을 추출한다.
2) 텍스트에 없는 정보는 추측하지 않고 null로 둔다.
3) 출력은 JSON만 반환한다. 설명 문장(산문)은 금지한다.
</instructions>

<input>
"""
[계약서/약관 발췌 붙여넣기]
"""
</input>

<output_format>
{
  "parties": ["string"],
  "effective_date": "string|null",
  "term": "string|null",
  "price": "string|null",
  "payment_terms": "string|null",
  "termination": "string|null",
  "risks": ["string"],
  "unknowns": ["string"]
}
</output_format>

더 엄격한 환경(자동화 파이프라인, 대량 처리)에서는 입력 스키마와 출력 스키마를 함께 주는 "스키마 기반 프롬프트"도 고려할 만합니다. Opper의 설명처럼 이는 모델에게 "정의된 입력 데이터 구조를 정의된 출력 데이터 구조로 데이터 구조로 변환하는 작업"으로 과업을 고정하는 접근입니다.3

긴 문서/여러 자료를 넣을 때: '문서 먼저, 질문은 마지막'

긴 문서(수만 토큰)에서 Claude가 놓치거나 엇갈리는 경우가 있다면, 순서를 바꿔보세요. Anthropic은 긴 데이터는 상단에 두고, 실제 질의/지시는 끝에 두는 방식이 성능을 크게 개선할 수 있다고 안내합니다.1

claude.ai에서 파일을 업로드했다면, 채팅 메시지에는 이런 형태가 특히 안정적입니다.

<documents>
[문서 1 요약/메타데이터 또는 발췌]
[문서 2 요약/메타데이터 또는 발췌]
</documents>

<instructions>
- 각 주장에 대해 근거가 되는 문장(짧은 인용)을 먼저 제시한다.
- 인용된 근거에 기반해 결론을 쓴다.
- 근거가 부족하면 "추가 확인 필요"로 둔다.
</instructions>

<task>
위 문서들을 바탕으로 [내 질문]에 답해줘.
</task>

프롬프트가 실패할 때의 '수정 순서'

프롬프트를 고칠 때는 한 번에 여러 곳을 뜯어고치지 말고, 아래 순서로 "원인"을 먼저 잡아내는 것이 빠릅니다.

먼저 출력이 원하는 형태로 안 나오면, 지시를 더 시적으로 쓰기보다 출력형식(스키마/템플릿) 을 먼저 고정합니다.1 그다음에도 흔들리면 예시 1개를 추가해 "정답 모양"을 보여줍니다.1 마지막으로 내용이 자꾸 빗나가면, 지시문을 늘리기보다 맥락(배경/목적/대상 독자/금지 사항) 을 분리된 섹션으로 제공해 모델이 '무엇을 근거로 삼아야 하는지'를 명확히 합니다.1

챕터 요약: '요구사항 계약서'로 Claude를 다룬다

이제부터 프롬프트를 작성할 때는 이렇게 생각하면 됩니다. Claude에게 맡기는 건 "글을 잘 쓰는 일"이 아니라 "요구사항을 정확히 실행하는 일"입니다.1

명확·구조·예시·출력형식 네 가지를 갖추면, 프롬프트는 템플릿을 넘어 재사용 가능한 업무 도구가 됩니다.

참고

1Prompting best practices - Claude API Docs

2How to Use the Perfect Prompting in Claude AI

3Introduction to Schema Based Prompting: Structured inputs for Predictable outputs

책 목록

클로드(Claude) 완전 정복: claude.ai부터 Desktop·Cowork 자동화, MCP 연동, 보안 운영까지

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기