Anthropic Claude의 100k 토큰 컨텍스트 창을 위한 프롬프트 엔지니어링 가이드

TL;DR

Anthropic는 두 가지 프롬프트 엔지니어링 기술—관련 인용문을 스케치패드로 끌어오기와 올바르게 답변된 예시 여러 개 제공—이 Claude가 70 k–95 k 토큰 컨텍스트에서 특정 사실을 기억하는 능력을 크게 향상시킨다는 것을 입증했다.


배경: Claude의 100,000토큰 컨텍스트 창

Claude는 이제 100k 토큰 컨텍스트 창을 지원하여 수백 페이지의 기술 자료나 전체 책을 처리할 수 있다. API가 확장됨에 따라 사용자들은 이 용량을 최대한 활용하기 위해 프롬프트를 어떻게 구성해야 할지에 대한 구체적인 안내가 필요하다.


실험 설계

목표

매우 긴 문서에서 단일 사실을 기억해야 하는 다중 선택 질문에 대해, 다양한 프롬프트 전략이 Claude의 정확도에 어떤 영향을 미치는지 측정하기.

데이터 소스

Claude의 학습 종료 시점 이후의 공개된 미국 정부 일일 회의록(2023년 7월 13일)을 선택했으며, 이는 사전 지식의 영향을 최소화한다.

질문 생성(무작위 콜라주)

  1. 문서를 섹션으로 나눈다.
  2. Claude에게 각 섹션당 다섯 개의 다중 선택 질문을 생성하도록 지시하며, 각 질문은 세 개의 오답과 하나의 정답을 포함한다.
  3. 섹션을 무작위로 조합하여 약 75 k 및 약 90 k 토큰의 긴 "콜라주" 문서를 생성한다.

시험한 프롬프트 전략

전략 설명
기본 예시 없이 단순한 질문만 제공.
비정부 예시 정부 문서와 무관한 두 개의 고정된 일반 지식 다중 선택 예시.
두 개의 예시 동일한 콜라주의 다른 섹션에서 무작위로 추출한 두 개의 인컨텍스트 예시.
다섯 개의 예시 위와 동일하지만 다섯 개의 예시를 사용.

각 전략은 <scratchpad> 지시어를 포함하고 포함하지 않음 두 가지로 평가되었으며, 이 지시어는 Claude가 답변하기 전에 관련 인용문을 추출하도록 지시한다. 정답 문장은 입력의 시작, 중간, 또는 끝에 위치시켜 위치 효과를 테스트했다.


주요 발견

기본 성능

  • Claude Instant 1.2는 자신의 짧은 컨텍스트 질문을 약 90%의 정확도로 답변한다.
  • 정답 문장이 무작위로 선택된 관련 없는 섹션으로 대체되면, Claude는 34%의 정확도로 맞춘다(25%의 무작위 기준보다 높음).

스케치패드와 예시의 영향

  • 스케치패드 예시를 함께 사용할 때, 70 k 및 95 k 토큰 문서 모두에서 가장 높은 정확도를 기록한다.
  • 일반적이지만 관련 없는 예시(“비정부” 세트)는 측정 가능한 이점이 없다.
  • 예시가 많을수록 성능이 단조롭게 향상된다: 다섯 개의 예시가 두 개의 예시보다 우수하다.
  • 스케치패드는 약간의 지연 시간 증가를 유발하지만, 이미 빠른 Claude Instant에 대해서는 무시할 수준이다.

위치 효과

  • 정답 문장이 프롬프트의 끝부분에 있고 예시도 함께 존재할 경우 정확도가 떨어진다. 아마도 예시가 정답과 모델의 최종 추론 단계 사이의 거리를 늘리기 때문이다.
  • Claude Instant의 경우, 질문과 정답 사이의 거리가 길어질수록 성능이 저하되며, Claude 2는 더 작은 하락을 보이지만, 95 k 토큰 입력의 중간부분에서 약간의 하락이 발생한다.

Claude 2 vs. Claude Instant

  • Claude 2의 기본 정확도는 이미 높다(약 0.939). 프롬프트 전략을 적용하면 0.961로 상승하며, 절대적인 증가량은 작지만 오류율이 36% 감소한다.

실용적인 프롬프트 엔지니어링 권고

  1. 스케치패드 사용하기 – Claude에게 답변하기 전에 관련 인용문을 수집하고 표시하도록 지시하라. 이는 정확도를 일관되게 향상시킨다.
  2. 여러 개의 인컨텍스트 예시 제공하기 – 일반적인 예시보다 동일한 긴 문서에서 추출한 다섯 개의 예시를 선호하라.
  3. 지시어를 끝부분 근처에 배치하기 – 스케치패드와 예시 블록을 정답 위치 근처에 두어 거리 효과를 최소화하라.
  4. 모호한 참조 피하기 – 질문이 명시적으로 문장을 지칭하도록 하라(예: "어류에 대한 추가 계절 중 조치에 관한 공지"). 콜라주 문서에서는 "이 문서"라는 표현이 모호해질 수 있다.
  5. 문서 끝부분에서는 수익 감소 예상하기 – 정답이 매우 끝부분에 있다면, 정답 관련 텍스트를 앞부분으로 재배치하거나 지시어 블록을 그 뒤에 두는 방식으로 프롬프트를 재구성해보라.

재현 가능성: Anthropic Cookbook

본 연구에서 사용된 모든 코드, 노트북, 프롬프트 템플릿은 공개적으로 Anthropic Cookbook에 제공된다:

  • 전체 실험 리포지토리 – 데이터 생성, 평가 스크립트, 프롬프트 PDF 포함.
  • 추가 레시피: 위키백과 검색 및 검색 결과 추출 데모, 가짜 PDF 업로드/요약 가이드.

개발자에게 미치는 함의

  • 100k 토큰 창은 전체 문서 기반 질의응답, 책 수준의 요약, 대규모 정책 분석과 같은 사용 사례를 가능하게 한다.
  • 효과적인 프롬프트 전략은 필수적이다. 스케치패드나 관련 예시 없이, 깊이 숨겨진 사실에 대해 정확도는 거의 우연에 가까운 수준으로 떨어질 수 있다.
  • 설명된 기술은 가볍고(프롬프트만으로), 외부 검색 시스템이 필요 없기 때문에 기존 Claude API 워크플로우에 쉽게 통합할 수 있다.

제한점과 향후 연구 방향

  • 본 연구는 Claude Instant 1.2에 집중했으며, Claude 2는 유사한 경향을 보이지만, 향후 모델 버전에서는 결과가 다를 수 있다.
  • 다중 선택 사실 기억만 테스트했으며, 개방형 생성이나 추론 작업은 추가 전략이 필요할 수 있다.
  • 매우 긴 프롬프트의 극단적인 끝부분에 있는 정보에 대한 위치 편향은 여전히 도전 과제이다. 향후 연구는 동적 프롬프트 자르기 또는 계층적 검색을 탐색할 수 있다.

결론

Anthropic의 정량적 사례 연구는 인용문 추출 스케치패드여러 개의 인컨텍스트 예시가 70 k–95 k 토큰 컨텍스트에서 Claude의 사실 기억 능력을 향상시키는 간단하지만 강력한 도구임을 확인했다. 이러한 프롬프트 엔지니어링 패턴을 적용함으로써 개발자는 복잡한 문서 규모의 애플리케이션에 대해 Claude의 100k 토큰 창을 신뢰할 수 있게 활용할 수 있다.

Sources

관련