이 가이드는 레거시 모델 사용을 위한 팁과 OpenAI의 GPT와 같은 다른 모델에서 레거시 모델로 프롬프트를 마이그레이션하기 위한 팁을 제공하기 위한 것입니다(프론티어 모델로의 마이그레이션은 주요 마이그레이션 가이드 참조).


Anthropic의 레거시 모델

레거시 모델에는 Claude Instant 1.2, Claude 2.0, Claude 2.1이 포함됩니다. 이 중 Claude 2.1만 시스템 프롬프트를 지원합니다(모든 Claude 3 모델은 시스템 프롬프트 완전 지원).

이 모델들은 Claude 3 제품군의 비전 기능이 없으며 일반적으로 성능과 지능이 떨어집니다. 하지만 Claude 3 모델의 고급 기능이 필요하지 않은 특정 애플리케이션에는 여전히 유용할 수 있습니다. 전체 요약은 모델 개요 페이지를 참조하세요.

레거시 모델은 시간이 지나면서 지원이 중단될 수 있고 새 모델보다 지원이 적을 수 있으므로, 가능하다면 Claude 3 제품군으로의 마이그레이션을 계획하는 것이 좋습니다.


OpenAI/ChatGPT에서 레거시 Claude 모델로 프롬프트 마이그레이션

OpenAI의 GPT 모델이나 ChatGPT에서 Claude 2 제품군 이하 모델로 전환하는 경우, 최적의 성능을 위해 프롬프트를 조정해야 할 가능성이 높습니다. Claude 3 제품군은 훨씬 더 조정이 용이하고 일반적으로 프롬프트 마이그레이션을 수정 없이 처리할 수 있지만, 레거시 모델은 추가적인 프롬프트 조정이 필요할 수 있습니다. (그렇다고 해서 필수는 아니지만, 이러한 기술과 기타 프롬프트 엔지니어링 전략은 기준선 이상으로 Claude 3 모델 성능을 향상시키는 데 여전히 유용할 수 있습니다.)

레거시 Claude 모델에서 더 나은 결과를 얻기 위해 GPT 프롬프트를 변환하는 데 도움이 되는 팁은 다음과 같습니다:

1. XML 태그 추가

XML 태그(예: <tag></tag>)를 사용하여 프롬프트의 다른 하위 섹션을 구분할 수 있으므로 Claude가 프롬프트를 별개의 부분으로 구획화할 수 있습니다. 예를 들어 문서의 텍스트를 프롬프트에 추가하려면 <doc></doc> 태그로 문서를 감싸세요:

XML
<doc>
일부 텍스트...  
</doc>

Claude는 JSON이나 Markdown과 같은 다른 구조화된 형식도 인식할 수 있지만, 대부분의 경우 훈련 중 노출로 인해 XML이 최상의 성능으로 이어지는 경향이 있습니다. 태그 이름이 <></> 형식을 따르는 한 원하는 태그 이름을 사용할 수 있습니다(태그 이름이 구분하는 내용과 의미적으로 연결되는 것이 좋습니다). 자세한 내용은 XML 태그 사용 가이드를 참조하세요.

2. 명확하고 모호하지 않은 지침 제공

Claude는 명확하고 직접적인 지침에 잘 반응합니다. 암시적 가정의 여지를 남기는 대신, 프롬프트 내에서 가능한 한 자세히 Claude에게 명시적으로 지시하여 Claude가 사양에 따라 수행 중인 작업을 완전히 실행할 수 있도록 하세요. 예를 들어 다음과 같은 경우:

역할내용
사용자컨텍스트와 질문을 사용하여 답변을 만드세요.

다음과 같이 해보세요:

역할내용
사용자<question> 태그 내에 제공된 사용자의 질문을 읽으세요. 그런 다음 위의 <context> 태그 내에 제공된 컨텍스트 정보만 사용하여 질문에 대한 답변을 생성하고 <answer> 태그 내에 출력하세요.

Claude용 프롬프트를 만들 때는 Claude가 프롬프트에 명시된 내용 이외에는 작업에 대한 사전 컨텍스트가 없다는 마음가짐을 가지세요. 자세하고 모호하지 않은 설명을 제공하면 Claude가 더 나은 응답을 생성하는 데 도움이 됩니다. 자세한 내용은 명확하고 직접적으로 하기를 참조하세요.

3. Claude의 응답 미리 채우기

Claude의 프롬프트를 확장하여 Assistant 턴을 미리 채울 수 있습니다. Claude는 Assistant 메시지의 마지막 토큰에서 대화를 계속합니다. 이렇게 하면 Claude의 수다스러운 경향을 피하고 원하는 출력 형식을 제공할 수 있습니다. 예를 들면:

역할내용
사용자다음 지침을 사용하여 다음 단락을 다시 작성하고 싶습니다: ”
{{INSTRUCTIONS}}“.

단락은 다음과 같습니다:
<text>“{{PARAGRAPH}}”</text>

다시 작성한 내용을 <rewrite></rewrite> 태그 내에 출력하세요.
Assistant (미리 채우기)<rewrite>

이 접근 방식을 사용하는 경우 API 호출에서 </rewrite>를 중지 시퀀스로 전달해야 합니다. 자세한 내용은 Claude의 응답 미리 채우기 가이드를 참조하세요.

4. Claude의 캐릭터 유지

역할 연기 시나리오에서 Claude가 캐릭터를 유지하도록 하는 전략은 Claude의 캐릭터 유지하기를 참조하세요. Claude 2.1(및 모든 Claude 3 모델)의 경우 시스템 프롬프트를 사용하여 Claude가 캐릭터를 더 잘 유지하도록 할 수도 있습니다.

5. 지침 앞에 문서 배치

Claude의 긴 컨텍스트 윈도우(모델에 따라 100K-200K)는 긴 문서와 텍스트 문자열을 파싱하고 분석하는 데 탁월합니다. 긴 문서와 텍스트는 지침이나 사용자 입력 앞에 제공하는 것이 가장 좋습니다. Claude는 프롬프트 하단 근처의 텍스트에 특히 주의를 기울입니다. 프롬프트 끝 부분에 중요한 지침을 강조해야 합니다.

자세한 내용은 긴 컨텍스트 윈도우 팁을 참조하세요.

6. 많은 예제 추가(최소 3개)

Claude는 응답 방식과 형식에 대한 예제를 통해 잘 학습합니다. 프롬프트에 최소 3개의 예제를 추가하는 것이 좋지만 더 많을수록 좋습니다! 예제는 일관되고 신뢰할 수 있는 구조화된 출력이 필요한 작업에 특히 유용합니다. 균일한 예제는 Claude에게 매번 동일한 방식으로 응답하도록 가르칩니다. 예제를 사용한 프롬프팅 가이드를 방문하여 자세히 알아보세요.


레거시 모델 기능

Claude는 별표 동작을 출력함

역할 연기 프롬프트나 시스템 프롬프트가 주어지면 레거시 Claude 모델은 때때로 *미소 짓는다**손을 흔든다*와 같은 무대 지시문을 작성하여 창의적으로 응답을 묘사하려고 합니다. 이것이 원하지 않는 경우 별표 사이의 단어를 제거하도록 출력을 후처리할 수 있습니다.

Python에서 이를 수행하는 방법의 예:

Python
import re

text = "안녕하세요. *제 이름은 Claude입니다. *저는 AI 어시스턴트입니다."
cleaned = re.sub(r'\*.*?\*', '', text)
print(cleaned)
> 안녕하세요. 저는 AI 어시스턴트입니다.