콘텐츠로 이동

P1-12.2 지시(instruction), 맥락(context), 예시(example)

Section ID: P1-12.2 Version: v2026.07.20

12.1에서는 프롬프트(prompt)를 “현재 입력 안에 작업 조건을 배치하는 방법”으로 봤습니다. 프롬프트는 모델을 다시 학습시키지 않습니다. 대신 모델 실행(inference) 때 참고할 지시, 맥락, 예시, 제약, 출력 형식을 입력 안에 둡니다.

여기서는 그중 가장 기본이 되는 세 가지를 나눠 봅니다.

지시(instruction): 무엇을 하라고 요청하는가?

맥락(context): 그 일을 처리하기 위해 무엇을 참고해야 하는가?

예시(example): 원하는 입력-출력 패턴을 어떻게 보여 주는가?

이 세 가지를 구분하면 프롬프트를 “말을 잘 꾸미는 문장”이 아니라 “작업 조건을 나눠 배치하는 입력 구조”로 볼 수 있습니다.

Part 1에서 지시(instruction), 맥락(context), 예시(example), few-shot prompting의 기본 직관, 프롬프트 구조화의 기본 구분은 이 절에서 잡습니다. 12.1에서는 프롬프트가 무엇을 지정하는지 먼저 봤고, 여기서는 그중 가장 핵심적인 세 요소를 분리합니다. 평가 기준과 한계는 12.3에서 따로 다룹니다.

여기서는 프롬프트 엔지니어링(prompt engineering)의 고급 기법을 다루지 않습니다. Chain-of-thought(CoT), self-consistency, automatic prompt optimization 같은 기법은 여기서 자세히 설명하지 않고, Part 5의 P5-9.3 보충학습에서 실전 문맥으로 다시 다룹니다.

지시, 맥락, 예시, few-shot은 초반에 모두 프롬프트를 길게 만드는 장식처럼 들릴 수 있습니다. 우선 각 용어의 역할을 짧게 구분하면 다음과 같습니다.

용어 아주 짧은 뜻 이 절에서의 역할
지시 무엇을 하라는 요청 작업 목표를 정하는 요소
맥락 무엇을 참고해야 하는지 주는 정보 배경과 범위를 정하는 요소
예시 어떤 패턴으로 답할지 보여 주는 시범 형식과 판단 기준 유도
few-shot prompting 몇 개 예시를 함께 넣는 방식 예시가 어떻게 작동하는지 보여 주는 대표 형태
프롬프트 구조화 입력 안의 역할을 나눠 쓰는 방식 긴 작업에서 재현성과 검토성을 높이는 방법

여기서 유지해야 할 최소 구분은 지시는 작업, 맥락은 참고 정보, 예시는 시범, few-shot은 예시 포함 프롬프트입니다.

또한 RAG(retrieval-augmented generation), 도구 사용(tool use), 에이전트(agent)는 다루지 않습니다. RAG는 다음 장의 P1-13.3과 P1-13.4에서, 도구 사용과 에이전트는 P1-14.2와 P1-14.3에서 다시 연결합니다. 이 절의 목표는 LLM에게 요청을 줄 때 가장 먼저 분리해야 하는 기본 요소를 익히는 것입니다.

또한 여기서는 프롬프트가 실제로 좋은 결과를 보장하는가를 묻지 않습니다. 그 질문은 12.3에서 한계, 평가, 재현성의 관점으로 다시 다룹니다.

요소 이 절에서 볼 질문
지시(instruction) 모델이 수행할 작업을 어떻게 명확히 말할 것인가?
맥락(context) 작업에 필요한 배경 정보와 자료를 어떻게 제공할 것인가?
예시(example) 원하는 결과의 모양을 어떻게 보여 줄 것인가?

지시, 맥락, 예시를 나눠 배치하는 기준

  • 지시(instruction), 맥락(context), 예시(example)를 구분합니다.
  • 하나의 프롬프트 안에서 각 요소를 나눠 배치하는 방법을 설명합니다.
  • 예시가 모델을 새로 학습시키는 것이 아니라, 현재 입력 안에서 패턴을 보여 주는 역할임을 이해합니다.
  • 맥락을 제공하더라도 사실 검증이 자동으로 끝나지 않음을 이해합니다.
  • 12.3에서 다룰 프롬프트의 한계와 평가 기준으로 자연스럽게 넘어갑니다.

세 가지 기준

여기서는 프롬프트를 잘 쓰는 비결보다, 입력을 구성하는 세 요소를 분리해서 보는 데 집중합니다. 아래 세 가지 기준이 잡히면 흐름이 정리됩니다.

기준 왜 중요한가 이 절에서 필요한 이해 수준
지시(instruction)는 “무엇을 하라”는 요청이라는 점 프롬프트의 가장 눈에 띄는 부분을 분명히 해 줍니다. 번역하라, 요약하라 같은 명령이라고 알면 됩니다.
맥락(context)은 모델이 참고해야 할 배경이라는 점 같은 질문도 왜 배경 정보에 따라 답이 달라지는지 보여 줍니다. 문서 조각, 역할, 조건처럼 참고 재료를 붙인다고 이해하면 됩니다.
예시(example)는 원하는 출력 패턴을 보여 주는 장치라는 점 few-shot과 입력 유도 방식을 읽기 쉽게 만들어 줍니다. 이런 형식으로 답하라는 시범이라고 보면 됩니다.

지시는 모델에게 작업을 지정한다

지시(instruction)는 모델에게 무엇을 하라고 요청하는 부분입니다.

요약해줘. 비교해줘. 입문용 설명으로 바꿔줘. 표로 정리해줘. 근거가 약한 문장은 검증 필요로 표시해줘.

지시가 흐리면 모델은 과업을 넓게 해석합니다.

흐린 지시: AI에 대해 알려줘.

조금 더 분명한 지시: AI 개론을 다시 공부하는 독자에게 AI, 머신러닝, 딥러닝, 생성형 AI의 관계를 비교해줘.

두 프롬프트 모두 자연어 요청입니다. 하지만 두 번째 프롬프트는 작업 대상, 독자, 비교할 개념을 더 분명히 지정합니다.

지시는 길다고 좋은 것이 아닙니다. 좋은 지시는 모델이 수행할 작업을 좁혀 줍니다.

지시의 초점
작업 요약, 비교, 분류, 변환, 검토
대상 문장, 표, 코드, 주장, 목차
독자 처음 읽는 독자, 실무자, 연구자, 어린이
기준 근거 중심, 짧게, 한영 병기, 과장 금지

이 책을 작성할 때는 특히 대상 독자검토 기준을 지시에 포함하는 편이 중요합니다.

AI 개론을 오래전에 배웠지만 많이 잊은 독자에게 설명해줘. 개인적 해석과 표준 설명을 구분해줘. 근거 없는 전망은 쓰지 마.

이런 지시는 모델에게 “무엇을 써야 하는가”뿐 아니라 “어떤 기준으로 써야 하는가”를 함께 알려 줍니다.

맥락은 참고할 정보를 제공한다

맥락(context)은 지시를 수행할 때 참고해야 할 정보입니다. 질문 자체만으로는 부족한 배경, 원문, 목적, 앞선 결정, 독자 조건, 금지할 범위가 맥락이 될 수 있습니다.

예를 들어 다음 프롬프트는 지시만 있습니다.

이 문장을 쉽게 고쳐줘.

모델은 무엇을 고쳐야 하는지 알 수 없습니다. 맥락을 붙이면 작업이 가능해집니다.

작업: 다음 문장을 AI 개론을 다시 공부하는 독자에게 쉽게 설명해줘.

원문: Transformer는 self-attention을 사용해 입력 토큰 사이의 관계를 계산한다.

맥락: 이 문서는 수학적 세부식보다 개념 회복을 우선한다.

여기서 작업은 지시입니다. 원문맥락은 모델이 참고할 정보입니다.

맥락은 단순한 배경 설명만 뜻하지 않습니다. 다음도 모두 맥락이 될 수 있습니다.

맥락의 종류
원문 고쳐 쓸 문장, 요약할 글, 검토할 주장
독자 처음 읽는 독자, 복습자, 개발자, 비전공자
목적 책 본문, 검토 기록, 발표 자료, 코드 주석
앞선 결정 이 장에서는 RAG를 다루지 않음
금지 범위 근거 없는 예측, 과장된 표현, 미래 장의 핵심 설명

맥락을 제공할 때 중요한 것은 “모델이 알아서 추측하게 둘 것”과 “입력으로 제공할 것”을 구분하는 일입니다.

추측하게 둔 프롬프트: 다음 절을 써줘.

맥락을 제공한 프롬프트: 이번 절은 앞 절에서 이어진다. 앞 절은 프롬프트가 무엇을 지정하는지 설명했다. 이번 절은 지시, 맥락, 예시를 구분한다. 다음 절은 프롬프트의 한계와 평가를 다룬다. 따라서 이번 절에서는 한계와 평가를 길게 쓰지 마.

두 번째 프롬프트는 모델에게 장의 위치와 Section 경계를 알려 줍니다. 긴 문서를 쓸 때는 이런 맥락이 특히 중요합니다.

예시는 원하는 패턴을 보여 준다

예시(example)는 모델에게 원하는 입력-출력 패턴을 보여 주는 부분입니다. Brown 등의 GPT-3 논문에서 다룬 few-shot setting은 모델을 추가로 fine-tuning하지 않고, 입력 안에 몇 개의 task demonstration을 넣어 과업을 수행하게 하는 방식으로 설명됩니다.

여기서는 다음처럼 이해합니다.

지시: 용어를 한국어와 영어로 함께 정리해줘.

예시: 입력: AI 출력: 인공지능(artificial intelligence)

입력: ML 출력: 머신러닝(machine learning)

입력: inference 출력:

여기서 예시는 모델에게 “이런 형식으로 답하라”는 패턴을 보여 줍니다. 모델이 모델 실행(inference) 또는 문맥에 따라 추론(inference)처럼 이어 쓸 가능성이 커집니다.

예시는 답의 형식뿐 아니라 판단 기준도 보여 줄 수 있습니다.

지시: 다음 문장을 검토하고, 표준 설명과 개인적 해석을 구분해줘.

예시: 문장: 딥러닝은 인간의 뇌를 그대로 복제한 것이다. 검토: - 표준 설명: 인공신경망은 생물학적 신경망에서 영감을 받았지만, 인간 뇌를 그대로 복제한 것은 아니다. - 개인적 해석: 뇌의 연결 구조를 떠올리며 이해하는 비유는 가능하다. - 판정: 과장 위험

문장: 프롬프트는 모델 가중치를 바꾸지 않는다. 검토:

이 예시는 모델에게 단순히 답을 쓰는 형식만 보여 주지 않습니다. 표준 설명, 개인적 해석, 판정이라는 검토 틀도 함께 보여 줍니다.

다만 예시는 조심해서 써야 합니다.

예시의 문제 왜 위험한가
잘못된 예시 잘못된 패턴을 따라 할 수 있음
편향된 예시 출력 방향이 좁아질 수 있음
너무 많은 예시 중요한 지시와 맥락이 묻힐 수 있음
서로 충돌하는 예시 모델이 어떤 패턴을 따라야 할지 불분명해짐

예시는 모델이 새 지식을 영구적으로 배우게 하는 데이터가 아닙니다. 현재 입력 안에서 참고할 패턴입니다.

세 요소를 분리하면 프롬프트가 읽힌다

프롬프트를 잘 쓰는 첫 단계는 멋진 문장을 만드는 것이 아니라, 입력 안에서 역할을 나누는 것입니다.

작업: 다음 문단을 AI 개론 복습자에게 맞게 고쳐줘.

맥락: - 이 문서는 오래전에 배운 AI 개념을 회복하기 위한 학습 자료다. - 개인적 해석은 표준 설명과 구분한다. - 이 절에서는 RAG와 에이전트(agent)를 다루지 않는다.

원문: 프롬프트는 LLM의 동작을 이해하는 수단이다.

예시: 좋은 표현: 프롬프트는 LLM 내부 구조를 직접 보여 주지는 않지만, 입력 조건에 따라 출력이 달라지는 모습을 관찰하게 해 준다.

피할 표현: 프롬프트를 보면 LLM 내부 원리를 알 수 있다.

출력 형식: - 수정 문장 - 수정 이유 - 검증 필요 지점

이 프롬프트에는 지시, 맥락, 원문, 예시, 출력 형식이 구분되어 있습니다. 이렇게 나누면 요청한 사람이 무엇을 요청했는지 검토하기 쉽고, 모델도 입력의 역할을 구분할 가능성이 커집니다.

물론 구분해서 썼다고 해서 항상 정확한 답이 나오지는 않습니다. 프롬프트는 입력 조건을 정리하는 방법이지, 사실 검증이나 품질 평가를 대신하지 않습니다. 그 한계는 12.3에서 다룹니다.

긴 학습 문서에서 쓰기 좋은 기본 틀

긴 학습 문서를 작성할 때는 다음 틀을 기본형으로 사용할 수 있습니다.

작업: 무엇을 해 달라는 요청인가?

대상: 검토하거나 작성할 원문은 무엇인가?

맥락: 이 문서의 위치, 독자, 앞선 결정, 제외할 범위는 무엇인가?

기준: 근거, 용어, 한영 병기, Section 경계, 과장 금지 기준은 무엇인가?

예시: 원하는 형식이나 판단 기준을 보여 주는 짧은 예시는 무엇인가?

출력: 어떤 형식으로 결과를 받을 것인가?

이 틀은 모든 상황에 그대로 맞지는 않습니다. 하지만 긴 책을 AI 도구와 함께 작성할 때는 요청을 구조화하고, 나중에 사람이 검토할 지점을 남기는 데 도움이 됩니다.

체크리스트

  • 지시(instruction)가 모델에게 수행할 작업을 지정한다고 설명할 수 있다.
  • 맥락(context)이 작업에 필요한 배경 정보와 자료를 제공한다고 설명할 수 있다.
  • 예시(example)가 원하는 입력-출력 패턴을 보여 준다고 설명할 수 있다.
  • 예시가 fine-tuning처럼 모델 가중치를 바꾸는 것이 아님을 설명할 수 있다.
  • 긴 프롬프트를 작업, 맥락, 원문, 예시, 출력 형식으로 나눠 읽을 수 있다.
  • 프롬프트 구조화가 사실 검증을 대신하지 않음을 설명할 수 있다.
  • 긴 프롬프트를 무엇을 하라, 무엇을 참고하라, 어떤 패턴을 따라라로 나누어 읽을 수 있다.
  • few-shot prompting이 모델을 다시 학습시키는 것이 아니라 현재 입력 안의 패턴 제시라는 점을 설명할 수 있다.

출처와 참고 자료