실무 Multi-Agent 오케스트레이션 3장 · 프롬프트 설계 4 / 7 ← 이전목차다음 → TechLead Cro

3장. 프롬프트 설계

few-shot과 단계적 추론 — 예시로 가르치고, 과정을 적게 한다

한 줄 요약

few-shot은 원하는 답의 예시를 몇 개 보여 주어 형식을 맞추게 하는 방법이고, 단계적 추론(Chain-of-Thought, CoT) 은 답하기 전에 과정을 먼저 적게 하여 계산과 판단의 실수를 줄이는 방법입니다.


1. few-shot — 설명보다 예시

"공감, 안내, 다음 행동 순서로 답하라"고 말로 설명할 수도 있습니다. 그런데 사람에게 일을 가르칠 때도 그렇듯, 잘된 예시 두어 개를 보여 주는 편이 훨씬 정확하게 전달됩니다.

방식 뜻
zero-shot 예시 없이 지시만 한다
few-shot 예시를 몇 개(보통 2~5개) 보여 주고 같은 방식으로 답하게 한다

예시는 이런 모양입니다.

다음 예시와 같은 형식으로 답하세요.

문의: 반품 신청은 어디서 하나요?
답변: [공감] 반품 절차가 궁금하셨군요. [안내] 마이페이지 > 주문내역에서 '반품신청' 버튼으로 접수하실 수 있어요. [다음행동] 접수 후 1~3영업일 내 택배기사가 방문합니다.

문의: 포인트는 언제 적립되나요?
답변: [공감] 포인트 적립 시점이 궁금하셨군요. [안내] 구매확정 다음 날 자동 적립됩니다. [다음행동] 마이페이지 > 하루포인트에서 내역을 확인해 주세요.

문의: 배송지를 잘못 입력했어요. 바꿀 수 있나요?
답변:

마지막 답변: 뒤를 비워 두면 모델이 앞의 두 예시와 같은 형식으로 이어 씁니다.

예시를 고를 때

  • 형식은 같게, 내용은 다르게. 예시가 전부 반품 이야기면 모델이 모든 답을 반품 쪽으로 끌고 갑니다.
  • 두세 개면 충분한 경우가 많습니다. 예시가 늘면 입력 토큰이 늘고, 그것이 매 호출의 비용이 됩니다.
  • 예시의 내용도 모델이 따라 합니다. 예시에 틀린 정책이 있으면 틀린 정책을 배웁니다.

2. 단계적 추론(CoT) — 답하기 전에 과정을 적게 한다

LLM은 다음 말을 차례로 이어 쓰는 방식으로 답합니다. 그래서 계산이나 여러 조건을 따지는 문제에서 결론부터 쓰게 하면 틀리기 쉽습니다. 결론을 쓰는 순간에는 아직 따져 본 것이 없기 때문입니다.

"단계적으로 계산한 뒤 마지막 줄에 답하라" 고 하면, 모델은 과정을 먼저 글로 적고 그 글을 근거로 결론을 냅니다. 스스로 쓴 풀이가 다음 말을 고르는 재료가 됩니다.

고객이 35,000원짜리 상품(무료배송으로 받음)을
단순 변심으로 '전체' 반품합니다.
정책:
- 단순 변심 반품 배송비는 편도 3,000원이며 고객이 부담한다 (환불액에서 차감).
- 부분 반품으로 잔여 주문금액이 3만원 미만이 되면 최초 배송비 3,000원을 추가 차감한다.
- 전체 반품은 잔여 주문이 없으므로 이 추가 차감을 적용하지 않는다.
반품 후 실 환불액을 단계적으로 계산한 뒤, 마지막 줄에 '실 환불액: OOO원'으로 답하세요.

여기에는 장치가 세 개 들어 있습니다.

  • 정책 세 줄 — 계산에 필요한 조건을 빠짐없이 적습니다. 다음 항에서 봅니다.
  • "단계적으로 계산한 뒤" — 과정을 먼저 적게 합니다.
  • "마지막 줄에 '실 환불액: OOO원'으로" — 결론의 자리와 형식을 정합니다. 그래야 코드가 답에서 결론만 꺼낼 수 있습니다.

3. 조건을 빠짐없이 적어 준다

단계적 추론은 우리가 적어 준 조건 위에서 과정을 밟습니다. 그래서 문제를 쓸 때 계산에 필요한 조건을 빠짐없이 적는 것이 먼저입니다. 위 문제의 정책 세 줄이 그 일을 합니다.

정책 줄 이 줄이 정해 주는 것
반품 배송비는 편도 3,000원, 고객 부담 무엇을 얼마나 빼는가
부분 반품으로 잔여 주문금액이 3만원 미만이 되면 최초 배송비 3,000원 추가 차감 무료배송으로 받은 주문의 처음 배송비를 언제 빼는가
전체 반품에는 이 추가 차감을 적용하지 않는다 이번 경우가 거기에 해당하는가

"무료배송으로 받은 상품을 반품하면 처음 배송비도 내야 하는가"처럼 사람도 되물을 만한 자리를 문제에 미리 적어 둔 것입니다. 조건이 모두 적혀 있으면 모델은 짐작할 것이 없고, 풀이의 각 단계가 정책의 어느 줄에서 왔는지 우리가 짚어 볼 수 있습니다. 이 교재를 준비하며 이 문제를 열 번 넘게 실행했을 때 답은 매번 32,000원이었습니다.

여기서 나오는 설계 원칙 두 가지를 적어 둡니다.

  • 규정은 문서에서 가져와 프롬프트에 넣는다. 지금은 정책을 손으로 적었지만, 12~15장에서는 정책 문서를 검색해 넣습니다(RAG).
  • 돈 계산처럼 틀리면 안 되는 일은 코드가 한다. 모델은 설명을 맡습니다.

4. 네 가지 수단을 언제 쓰는가

문제 먼저 써 볼 수단
소속과 말투가 우리 것이 아니다 시스템 프롬프트
답이 너무 길다 시스템 프롬프트에 길이를 숫자로
같은 질문에 답이 흔들린다 일을 좁히고 형식을 고정한다 (Gemini 3 계열 권장 기본값)
답의 형식이 들쭉날쭉하다 few-shot
계산이나 여러 조건의 판단이 필요하다 조건을 빠짐없이 적고 단계적 추론
모르는 사실을 지어낸다 프롬프트로는 못 고칩니다. 도구와 문서 검색이 필요합니다

핵심 정리

  • few-shot은 예시로 형식을 가르칩니다. 형식은 같게, 내용은 다르게 고릅니다.
  • 단계적 추론(CoT) 은 과정을 먼저 적게 하여 실수를 줄입니다. 결론의 자리와 형식도 함께 정합니다.
  • 단계적 추론은 적어 준 조건 위에서 정확해집니다. 계산에 필요한 조건을 빠짐없이 적습니다.
  • 규정은 문서에서 가져오고, 틀리면 안 되는 계산은 코드로 합니다.
← 이전 절temperature와 출력 제어 — 같은 질문에 왜 답이 다른가다음 절 →따라하기 — 프롬프트 다섯 가지 비교
오명운 · macro@prag-ai.com