0Pricing
AI Agents · 강의

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와의 주요 차이점

  1. system은 메시지가 아니라 최상위 매개변수입니다
  2. max_tokens는 REQUIRED입니다
  3. content는 블록 목록입니다(텍스트, 도구 사용 등)
  4. 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 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. OpenAI API 호출: chat.completions
  2. Anthropic API 호출: messages
  3. 응답 스트리밍(SSE)
  4. 비용 이해하기: 토큰 계산 및 예산
← AI Agents(으)로 돌아가기