← 블로그 목록으로

Prompting 101 – 실제 사례로 배우는 프롬프트 엔지니어링 베스트 프랙티스

Claude Code Korea··4분 읽기
#프롬프트 엔지니어링#Claude#AI#베스트 프랙티스#튜토리얼

프롬프트 엔지니어링은 Claude와 같은 대규모 언어 모델(LLM)이 정확하고 유용한 결과를 도출하도록 만드는 핵심 기술입니다. 명확한 지시, 충분한 배경 정보, 그리고 적절한 구조화를 통해 모델의 응답 품질을 크게 향상시킬 수 있습니다.

이 글에서는 실제 고객 사례를 변형한 시나리오를 기반으로, 프롬프트를 설계하고 개선하는 과정을 단계별로 살펴봅니다. Claude API와 콘솔 환경 모두에서 활용할 수 있는 실전 중심의 베스트 프랙티스를 소개합니다.

1. 프롬프트 엔지니어링이란?

프롬프트 엔지니어링(Prompt Engineering)은 언어 모델이 올바른 결과를 낼 수 있도록 지시사항과 컨텍스트를 작성하는 기법입니다. 다음 요소가 중요합니다:

  • 작업 목표 정의: 모델이 수행해야 할 역할과 목표를 명확히 기술
  • 필요한 정보 제공: 모델이 작업을 이해하고 처리하는 데 필요한 데이터와 배경 설명 포함
  • 정보 구조화: 원하는 순서와 형식에 맞게 데이터를 배열

모든 방법에는 정답이 없으며, 직접 작성하고 개선해 보는 반복적 접근이 가장 효과적입니다.

2. 시나리오: 스웨덴 자동차 보험사 사고 분석

이번 예시는 다음 상황을 가정합니다:

역할: 스웨덴의 자동차 보험사에서 사고 보험 청구서를 처리하는 직원

분석 자료:

  • 자동차 사고 보고서 양식 – 사고 상황이 체크박스 형태로 기록된 표
  • 사고 상황 스케치 – 두 차량의 위치와 충돌 상황을 손으로 그린 그림

목표: Claude가 두 자료를 분석하여

  • 사고 상황을 요약
  • 과실이 어느 차량에 있는지 판단

3. 첫 번째 시도 – 컨텍스트 부족의 문제

두 자료를 그대로 입력한 첫 시도에서 Claude는 이 상황을 스키 사고라고 잘못 해석했습니다. 스웨덴의 실제 거리 이름을 혼동한 것이 원인이었습니다.

원인 분석:

  • 프롬프트에 "자동차 사고"라는 배경이 전혀 제공되지 않음
  • 모델이 자체 추론으로 문맥을 잘못 구성

결론:

  • 컨텍스트 부족은 오답 가능성을 높인다
  • 초기 프롬프트 설계 시 작업 배경과 범위를 명확히 해야 함

4. 권장 프롬프트 구조

Anthropic에서는 다음과 같은 표준 프롬프트 구조를 권장합니다:

1) 작업 설명(Task Description)

모델의 역할과 오늘 수행할 목표를 간결히 정의

2) 콘텐츠(Content)

분석 대상 자료(문서, 이미지, 데이터 등)

3) 세부 지시사항(Detailed Instructions)

단계별 수행 절차를 구체적으로 작성

4) 예시(Examples)

입력과 원하는 출력 예시를 제공

5) 중요 지침 재강조(Reminders)

반드시 지켜야 하는 규칙 반복

이 구조를 따르면 API를 통해 단일 요청으로 정확한 결과를 받을 가능성이 높아집니다.

5. 1단계 개선 – 컨텍스트와 톤 추가

첫 개선은 작업 배경과 톤을 명확히 설정하는 것입니다.

  • 작업 컨텍스트: "이 데이터는 자동차 사고 보고서이며, 목표는 사고 상황과 과실 여부를 분석하는 것"이라고 명시
  • 응답 톤: 사실 기반, 불필요한 추측 금지, 불확실할 경우 판단 보류

이 변경 후:

  • Claude는 더 이상 스키 사고로 오인하지 않음
  • 체크박스 항목을 정확히 읽음
  • 그러나 여전히 과실 판단에는 근거 부족

6. 2단계 개선 – 변하지 않는 배경 정보 시스템 프롬프트에 추가

자동차 사고 보고서 양식은 구조가 항상 동일합니다:

  • 양식 제목
  • 두 개의 열(각 차량을 의미)
  • 17개의 행(각 사고 상황 코드의 의미)
  • 작성 방식(체크, 원형 표시, 낙서 등 변형 가능성)
  • 양식의 목적과 해석 방식

이 정보를 시스템 프롬프트에 미리 포함하면:

  • Claude가 매번 구조를 재해석하는 리소스를 절약
  • 더 정확하고 빠른 분석 가능

💡 : 변하지 않는 정보는 프롬프트 캐싱과 함께 사용하면 성능과 비용 효율을 동시에 확보할 수 있습니다.

7. 3단계 개선 – 예시(Few-shot) 활용

예시는 모델이 올바른 방향으로 추론하도록 강력히 유도합니다.

  • 실제 또는 유사 사고 사례를 제공
  • 이미지 예시는 base64 인코딩으로 포함
  • 각 예시 데이터에 대한 정답 및 해석 과정을 함께 제공

이렇게 하면 모델은 유사 상황에서 더 정확히 응답할 수 있습니다.

8. 4단계 개선 – 분석 절차 명시

분석 순서를 명확히 지시하면 결과 품질이 향상됩니다.

예시 절차:

  1. 보고서 양식의 체크박스를 먼저 분석 → 어떤 차량이 어떤 상황에 해당하는지 목록화

  2. 스케치 분석 → 양식 내용과 대조

  3. 종합 판단 → 과실 여부 결정

이 절차는 불필요한 추측을 줄이고, 더 일관된 결과를 도출합니다.

9. 5단계 개선 – 출력 형식 지정

실제 응용에서는 결과의 구조화가 중요합니다.

XML 예:

<final_verdict>차량 B 과실</final_verdict>

JSON 예:

{
  "verdict": "B",
  "confidence": "high"
}

형식을 고정하면:

  • 후속 데이터 파이프라인 처리 용이
  • API 응답을 바로 DB에 저장 가능

10. 6단계 – Extended Thinking(확장 사고) 활용

Claude 3.7 이상, 특히 Claude 4는 하이브리드 추론 기능을 제공합니다.

  • 내부 '생각 기록(thinking tags)'에 세부 추론 과정을 남김
  • 이 기록을 분석하면 모델의 약점을 발견하고 프롬프트를 개선 가능
  • 반복 개선 시 큰 도움

11. 최종 결과

단계별 개선을 거쳐:

  1. 컨텍스트 없는 입력 → 잘못된 추론(스키 사고)
  2. 컨텍스트 강화 → 올바른 분야로 수렴
  3. 변하지 않는 정보·분석 절차·출력 형식 지정 → 신뢰성과 일관성 확보

최종 프롬프트는 실제 보험사 워크플로우에 적용 가능한 수준의 안정성과 정확도를 확보했습니다.

12. 결론

프롬프트 엔지니어링은 설계 → 실행 → 분석 → 개선의 반복입니다. 작은 변경 하나가 결과의 정확도에 큰 영향을 미칠 수 있습니다.

이 글에서 다룬 접근법을 사용하면:

  • 복잡한 분석 작업
  • 다중 데이터 소스 통합
  • 신뢰성 높은 자동 의사결정

등 다양한 LLM 기반 시스템에서 더 나은 성능을 얻을 수 있습니다.

프롬프트 엔지니어링은 단순한 기술이 아닌, AI와 효과적으로 소통하는 새로운 언어입니다. 지속적인 실험과 개선을 통해 여러분만의 프롬프트 작성 노하우를 개발해보세요!