Anthropic API 호출: messages
Anthropic messages API를 사용해보세요. OpenAI와의 차이점, 시스템 프롬프트의 배치 방식, Claude에 맞는 모범 사례를 다룹니다.
Anthropic API 호출: messages은(는) CoddyKit의 무료 AI Agents 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 AI Agents 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. AI Agents 강의에는 총 4개의 강의가 포함되어 있습니다.
이 강의의 일부는 아직 번역되지 않았으며 영어로 표시됩니다.
왜 Anthropic인가
Claude 모델은 동급의 OpenAI 모델보다 지시를 더 잘 따르고, 도구 사용 능력이 뛰어나며, 컨텍스트 창이 더 긴 경우가 많습니다. 때로는 비용도 더 저렴합니다.
대부분의 프로덕션 에이전트는 대체 수단으로 두 제공업체를 모두 지원합니다.
Install the SDK
# pip install anthropic
import anthropic
client = anthropic.Anthropic() # reads ANTHROPIC_API_KEY from env첫 호출
엔드포인트는 messages.create입니다.
response = client.messages.create(
model='claude-sonnet-4-5',
max_tokens=512,
system='You are a concise assistant.',
messages=[
{'role': 'user', 'content': 'Capital of France?'},
],
)
print(response.content[0].text)
# 'Paris.'OpenAI와의 주요 차이점
system은 메시지가 아니라 최상위 매개변수입니다max_tokens는 REQUIRED입니다content는 블록 목록입니다(텍스트, 도구 사용 등)n매개변수가 없으므로 여러 번 호출해야 합니다
콘텐츠 블록
텍스트 응답도 블록 목록으로 제공됩니다.
response.content # list of blocks
response.content[0].type # 'text' or 'tool_use'
response.content[0].text # the text content
response.stop_reason # 'end_turn' / 'max_tokens' / 'tool_use'
response.usage.input_tokens
response.usage.output_tokens여러 블록으로 구성된 콘텐츠
사용자 메시지에 콘텐츠 블록 목록(이미지, 도구 결과 등)을 보낼 수도 있습니다.
messages = [{
'role': 'user',
'content': [
{'type': 'text', 'text': 'What is in this image?'},
{'type': 'image', 'source': {
'type': 'base64',
'media_type': 'image/png',
'data': image_base64
}}
]
}]어시스턴트 응답 미리 채우기
응답이 특정 방식으로 시작하도록 강제합니다.
messages = [
{'role': 'user', 'content': 'Return a JSON object.'},
{'role': 'assistant', 'content': '{'}
]
response = client.messages.create(
model='claude-sonnet-4-5',
max_tokens=512,
messages=messages,
)
# Output starts after '{', guaranteed to be JSON.도구 사용
Anthropic의 도구 형식은 OpenAI와 비슷하지만 input_schema를 사용합니다:
tools = [{
'name': 'get_weather',
'description': 'Get current weather',
'input_schema': {
'type': 'object',
'properties': {'city': {'type': 'string'}},
'required': ['city']
}
}]
response = client.messages.create(
model='claude-sonnet-4-5',
max_tokens=1024,
tools=tools,
messages=messages,
)
if response.stop_reason == 'tool_use':
for block in response.content:
if block.type == 'tool_use':
print(block.name, block.input)도구 결과 반환
도구 결과는 tool_result 블록이 포함된 사용자 메시지에 넣습니다:
messages.append({
'role': 'user',
'content': [{
'type': 'tool_result',
'tool_use_id': 'toolu_abc',
'content': json.dumps(weather_data)
}]
})프롬프트 캐싱
Anthropic은 프롬프트 캐싱을 지원합니다. 긴 정적 접두사에 cache_control을 표시하면 캐시 적중 시 비용이 10%만 부과됩니다:
system = [
{'type': 'text', 'text': '...long system prompt...',
'cache_control': {'type': 'ephemeral'}}
]
for block in system:
print(f"type={block['type']} cache_control={block['cache_control']}")
print("text preview:", block['text'][:30])
확장 사고
Claude에는 답변하기 전에 내부적으로 추론하는 "확장 사고" 모드가 있습니다:
response = client.messages.create(
model='claude-sonnet-4-5',
max_tokens=4096,
thinking={'type': 'enabled', 'budget_tokens': 2048},
messages=messages,
)시스템 프롬프트의 위치
Anthropic API에서는 시스템 프롬프트를 어디에 넣을까요?
복습
이제 두 주요 제공업체를 모두 호출할 수 있습니다. 차이는 작지만 분명히 존재하므로, 대부분의 팀은 두 제공업체를 서로 바꿔 사용할 수 있도록 얇은 어댑터를 만듭니다.
자주 묻는 질문
“Anthropic API 호출: messages” 강의는 무료인가요?
네 — “Anthropic API 호출: messages” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 AI Agents 강의 전체를 잠금 해제할 수 있습니다. AI Agents 강의에는 총 4개의 강의가 포함되어 있습니다.
“Anthropic API 호출: messages”에서 뭘 배우나요?
Anthropic messages API를 사용해보세요. OpenAI와의 차이점, 시스템 프롬프트의 배치 방식, Claude에 맞는 모범 사례를 다룹니다. 브라우저에서 직접 실행하는 실습 코드로 AI Agents을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
AI Agents을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 AI Agents은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“Anthropic API 호출: messages” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 AI Agents 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 AI Agents 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- OpenAI API 호출: chat.completions
- Anthropic API 호출: messages
- 응답 스트리밍(SSE)
- 비용 이해하기: 토큰 계산 및 예산