Python에서 Anthropic Claude API 사용하기
anthropic.Anthropic(), messages.create(), 콘텐츠 블록, 확장 사고, 스트리밍을 다룹니다.
Python에서 Anthropic Claude API 사용하기은(는) CoddyKit의 무료 Learn AI with Python 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Learn AI with Python 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Learn AI with Python 강의에는 총 4개의 강의가 포함되어 있습니다.
Anthropic SDK
Anthropic의 클로드 모델은 anthropic Python 패키지를 통해 사용합니다. pip install anthropic으로 설치합니다. 클로드는 긴 문맥을 활용한 추론, 지시 사항의 정확한 수행, 도구 사용에 뛰어납니다.
pip install anthropic
import anthropic클라이언트 생성하기
anthropic.Anthropic()으로 클라이언트를 생성합니다. 기본적으로 ANTHROPIC_API_KEY 환경 변수에서 키를 읽으므로 자격 증명을 코드에 넣지 않아도 됩니다.
import anthropic
client = anthropic.Anthropic()
# Or explicitly
client = anthropic.Anthropic(api_key="sk-ant-...")Messages API
클로드는 client.messages.create()를 사용합니다. OpenAI와 달리 system 프롬프트는 별도의 매개변수이며, 목록의 메시지가 아닙니다. messages 목록에는 user와 assistant 턴만 들어갑니다.
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
system="You are a concise expert.",
messages=[{"role": "user", "content": "Explain RAG in one sentence."}]
)max_tokens는 필수입니다
중요한 차이점은 Anthropic API에서 max_tokens가 필수라는 것입니다. 이 값은 클로드가 응답에서 생성할 수 있는 토큰 수의 상한을 설정합니다. 예상 출력에 충분히 높은 값으로 설정하되, 과도한 비용이 발생하는 것도 방지할 수 있습니다.
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=2048,
messages=[{"role": "user", "content": "Write a haiku about Python."}]
)응답 읽기
클로드는 블록으로 이루어진 content 목록을 반환합니다. 일반 텍스트의 경우 응답은 message.content[0].text에 있습니다. 응답에는 텍스트와 도구 사용 요청처럼 여러 블록이 포함될 수 있으므로 목록으로 반환됩니다.
print(message.content[0].text)
# Inspect block type
print(message.content[0].type) # "text"대화 기록
다른 채팅 API와 마찬가지로 클로드는 상태를 저장하지 않습니다. 대화를 계속하려면 assistant 응답과 다음 user 턴을 직접 messages에 append해야 합니다.
messages = [{"role": "user", "content": "Hello"}]
resp = client.messages.create(model="claude-opus-4-8", max_tokens=512, messages=messages)
messages.append({"role": "assistant", "content": resp.content[0].text})
messages.append({"role": "user", "content": "Tell me more"})컨텍스트 관리자와 함께 스트리밍하기
실시간 출력을 위해 클로드는 with 문과 함께 사용하는 컨텍스트 관리자인 client.messages.stream()을 제공합니다. 이를 통해 연결을 안전하게 열고 닫을 수 있습니다.
with client.messages.stream(
model="claude-opus-4-8",
max_tokens=1024,
messages=[{"role": "user", "content": "Count to five."}]
) as stream:
pass # iterate inside텍스트 스트림 순회하기
with 블록 안에서 stream.text_stream을 순회하면 클로드가 텍스트를 생성할 때 델타를 받을 수 있습니다. 각 항목은 바로 출력할 수 있는 문자열입니다.
with client.messages.stream(
model="claude-opus-4-8",
max_tokens=1024,
messages=[{"role": "user", "content": "Count to five."}]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)최종 메시지 가져오기
스트리밍이 끝난 후 stream.get_final_message()를 호출하면 사용량 데이터와 전체 콘텐츠 블록을 포함한, 완전히 조합된 메시지 객체를 가져올 수 있습니다.
with client.messages.stream(model="claude-opus-4-8", max_tokens=1024,
messages=[{"role": "user", "content": "Hi"}]) as stream:
for text in stream.text_stream:
print(text, end="")
final = stream.get_final_message()토큰 사용량
응답에는 input_tokens와 output_tokens가 포함된 usage 객체가 있습니다. OpenAI가 prompt/completion을 사용하는 것과 이름은 다르지만 의미는 같습니다. 호출별 비용을 추적할 수 있습니다.
print(message.usage.input_tokens)
print(message.usage.output_tokens)OpenAI와 Anthropic의 차이점
기억해야 할 주요 차이점은 다음과 같습니다. Anthropic은 system 프롬프트를 별도의 매개변수에 넣고, max_tokens를 필수로 요구하며, content[0].text에서 텍스트를 읽고, with 컨텍스트 관리자를 통해 스트리밍합니다. 이를 알면 제공업체를 자신 있게 전환할 수 있습니다.
빠른 확인
Anthropic에 대한 지식을 확인해 보세요.
복습: Python에서 클로드 사용하기
anthropic.Anthropic() 클라이언트를 생성하고, 필수 max_tokens와 별도의 system 프롬프트를 지정하여 messages.create()를 호출했습니다. content[0].text에서 응답을 읽고 usage.input_tokens / output_tokens로 비용을 추적했습니다.
스트리밍에는 client.messages.stream()을 with 컨텍스트 관리자로 사용하고, text_stream을 순회한 다음 get_final_message()로 조합된 결과를 가져왔습니다.
자주 묻는 질문
“Python에서 Anthropic Claude API 사용하기” 강의는 무료인가요?
네 — “Python에서 Anthropic Claude API 사용하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Learn AI with Python 강의 전체를 잠금 해제할 수 있습니다. Learn AI with Python 강의에는 총 4개의 강의가 포함되어 있습니다.
“Python에서 Anthropic Claude API 사용하기”에서 뭘 배우나요?
anthropic.Anthropic(), messages.create(), 콘텐츠 블록, 확장 사고, 스트리밍을 다룹니다. 브라우저에서 직접 실행하는 실습 코드로 Learn AI with Python을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Learn AI with Python을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Learn AI with Python은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“Python에서 Anthropic Claude API 사용하기” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Learn AI with Python 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Learn AI with Python 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- OpenAI API: chat.completions와 스트리밍
- Python에서 Anthropic Claude API 사용하기
- LLM의 함수 호출과 도구 사용
- 프로덕션 LLM 앱을 위한 프롬프트 엔지니어링