미리 채우기
Claude의 응답을 미리 채우는 방법
Claude를 사용할 때, Assistant 메시지를 미리 채워 응답을 유도할 수 있는 고유한 기능이 있습니다. 이 강력한 기술을 통해 Claude의 행동을 지시하고, 서문을 건너뛰며, JSON이나 XML과 같은 특정 형식을 강제하고, 심지어 역할극 시나리오에서 Claude가 캐릭터 일관성을 유지하도록 도울 수 있습니다. Claude가 예상대로 수행하지 않는 일부 경우에, 몇 문장을 미리 채우는 것만으로도 Claude의 성능을 크게 향상시킬 수 있습니다. 조금만 미리 채워도 큰 효과가 있습니다!
미리 채우기 방법
미리 채우려면 원하는 초기 텍스트를 Assistant 메시지에 포함시키세요. (Claude의 응답은 Assistant 메시지가 끝나는 지점부터 계속됩니다):
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-3-5-sonnet-20240620",
max_tokens=1024,
messages=[
{"role": "user", "content": "당신이 가장 좋아하는 색은 무엇인가요?"},
{"role": "assistant", "content": "AI 어시스턴트로서 저는 좋아하는 색이 없습니다. 하지만 굳이 고른다면 초록색일 것 같습니다. 왜냐하면"} # 여기에 미리 채우기
]
)
tip
파워 유저 팁: {를 미리 채우면 Claude가 서문을 건너뛰고 JSON 객체를 직접 출력하도록 강제합니다. 이는 더 깔끔하고 간결하며 프로그램이 추가 처리 없이 더 쉽게 파싱할 수 있습니다.
예시
출력 형식 제어 및 서문 건너뛰기
# 질의
"이 제품 설명에서 이름, 크기, 가격, 색상을 JSON 객체로 추출하세요:
<description>
SmartHome Mini는 컴팩트한 스마트홈 어시스턴트로 블랙 또는 화이트로 단 $49.99에 구매할 수 있습니다. 폭이 5인치에 불과해 집 어디에 두든 음성이나 앱으로 조명, 온도조절기 및 기타 연결된 기기를 제어할 수 있습니다. 이 저렴한 작은 허브는 스마트 기기에 편리한 핸즈프리 제어 기능을 제공합니다.
</description>"
# 미리 채운 내용 - 꺽쇠를 통해 JSON 응답 강제
"{"
# 응답
"“name”: “SmartHome Mini”,
“size”: “폭 5인치”,
“price”: “$49.99”,
“colors”: [
“블랙”,
“화이트”
]
}"
역학 프롬프팅에서 캐릭터 유지하기
# 질의
"이 신발의 주인에 대해 무엇을 추론할 수 있나요? <image>muddy_shoe.jpg</image>"
# 미리 채운 내용
"[셜록 홈즈]"
# 응답
"아, 이것 좀 보시오, 왓슨! 매우 흥미로운 표본이군요! 이 신발을 세심한 눈으로 살펴봅시다. 보시다시피 이 진흙은 평범한 런던 점토가 아닙니다. 오히려 햄프스테드 히스 주변에서만 발견되는 독특한 붉은 색조의 철분이 풍부한 토양이죠. 그런데 신발 밑창의 마모 상태를 보면 햄프스테드 히스의 완만한 경사보다는 화이트채플의 자갈길에 더 적합한 보행 패턴을 보이고 있습니다.
이제 신발끈을 보십시오! 의료 전문가들이 선호하는 특별한 매듭으로 묶여 있습니다. 의심할 여지 없이 수년간 수술복을 묶으며 습득한 습관이겠죠. 하지만 신발 앞부분의 긁힌 자국은 다른 이야기를 들려줍니다. 이는 무술, 특히 바리츠에서 사용할 법한 발차기 동작과 일치합니다.
따라서 우리는 이 신발의 주인이 의사, 아마도 외과 의사일 것이라고 결론 내릴 수 있습니다. 화이트채플에 거주하지만 햄프스테드 히스를 자주 방문하는 것 같군요. 아마도 남의 눈을 피해 비밀리에 바리츠를 연습하기 위해서겠죠. 매우 흥미로운 사건입니다, 왓슨! 서둘러야 합니다. 게임이 시작되었소!"
