Claude의 응답 미리 채우기
Claude를 사용할 때, ‘Assistant’ 메시지를 미리 채워 응답을 유도할 수 있는 독특한 기능이 있습니다. 이 강력한 기술을 통해 Claude의 행동을 지시하고, 출력 형식을 제어하며, 롤플레이 시나리오에서 Claude가 캐릭터를 유지하도록 도울 수 있습니다. 경우에 따라 Claude가 기대대로 수행되지 않을 때, 몇 문장을 미리 채우는 것만으로도 Claude의 성능을 크게 향상시킬 수 있습니다.
Claude 2.1에 대한 매우 효과적인 프롬프트 작성 예시는 Long context prompting for Claude 2.1 블로그 게시물을 참조하세요.
Claude의 응답을 미리 채우는 이유
Claude의 응답을 미리 채우면 다음과 같은 주요 이점이 있습니다:
- 조종성 향상: Claude가 이어갈 초기 텍스트를 제공함으로써 원하는 방향으로 Claude의 응답을 유도할 수 있습니다. 이는 Claude가 특정 주제에 집중하거나, 특정 유형의 콘텐츠를 생성하거나, 특정 방식으로 행동하기를 원할 때 특히 유용합니다.
- 출력 형식 제어: 미리 채우기를 통해 Claude가 사용할 정확한 출력 형식을 지정할 수 있습니다. 이는 JSON이나 XML과 같은 구조화된 데이터 형식을 다룰 때 특히 편리합니다. 자세한 내용은 출력 형식 제어 가이드를 참조하세요.
- 캐릭터 일관성 유지: 롤플레이 시나리오에서 Claude의 응답을 미리 채우면 긴 대화 내내 Claude가 캐릭터를 유지하는 데 도움이 됩니다. ‘Assistant’ 메시지에서 지속적으로 Claude의 역할을 상기시킴으로써 Claude가 원하는 페르소나를 유지하도록 더 잘 보장할 수 있습니다. 자세한 내용은 Claude가 캐릭터를 유지하도록 하기를 참조하세요.
Claude의 응답을 미리 채우는 방법
Claude의 응답을 미리 채우려면 API 요청 시 ‘Assistant’ 메시지에 원하는 초기 텍스트를 포함하면 됩니다. 다음은 프롬프트 예시입니다:
역할 | 좋은 프롬프트 |
---|---|
User | 이 제품 설명에서 이름, 크기, 가격, 색상을 추출하여 JSON 객체 내에 출력해 주세요. <description>SmartHome Mini는 검정색 또는 흰색으로 제공되는 소형 스마트 홈 어시스턴트로 가격은 단돈 $49.99입니다. 너비가 5인치에 불과하지만 집 어디에 두든 음성이나 앱을 통해 조명, 온도 조절기 및 기타 연결된 기기를 제어할 수 있습니다. 이 저렴한 작은 허브는 스마트 기기에 편리한 핸즈프리 제어 기능을 제공합니다.</description> |
Assistant (미리 채우기) | { |
이 예시에서 ‘Assistant’ 메시지를 {
로 시작함으로써 Claude의 출력을 요청된 JSON 스키마의 나머지 부분으로 제한합니다.
역할 | 응답 |
---|---|
Assistant (Claude의 응답) | “name”: “SmartHome Mini”, “size”: “너비 5인치”, “price”: “$49.99”, “colors”: [ “검정색”, “흰색” ] } |
위의 프롬프트를 Messages API 형식으로 코드에 작성하면 다음과 같습니다:
Python
import anthropic
client = anthropic.Anthropic(
# defaults to os.environ.get("ANTHROPIC_API_KEY")
api_key="my_api_key",
)
message = client.messages.create(
model="claude-2.1",
max_tokens=1000,
temperature=0,
messages=[
{
"role": "user",
"content": "이 제품 설명에서 이름, 크기, 가격, 색상을 추출하여 JSON 객체 내에 출력해 주세요.\n\n<description>SmartHome Mini는 검정색 또는 흰색으로 제공되는 소형 스마트 홈 어시스턴트로 가격은 단돈 $49.99입니다. 너비가 5인치에 불과하지만 집 어디에 두든 음성이나 앱을 통해 조명, 온도 조절기 및 기타 연결된 기기를 제어할 수 있습니다. 이 저렴한 작은 허브는 스마트 기기에 편리한 핸즈프리 제어 기능을 제공합니다.\n</description>"
}
{
"role": "assistant",
"content": "{"
}
]
)
print(message.content)
추가 리소스
- 프롬프트 엔지니어링 기법: 프롬프트를 최적화하고 Claude의 성능을 향상시키기 위한 다른 전략을 탐색해 보세요.
- Anthropic 쿡북: Claude를 사용하는 매우 효과적이고 고급 기술, 통합 및 구현을 보여주는 복사 가능한 코드 스니펫이 포함된 Jupyter 노트북 모음을 둘러보세요.
- 프롬프트 라이브러리: 다양한 작업과 사용 사례를 위해 큐레이션된 프롬프트 선택에서 영감을 얻으세요.