Anthropic Python SDK mit Claude Code: KI-Apps bauen 2026

Das Anthropic Python SDK ist die offizielle Bibliothek um Claude-Modelle in Python-Anwendungen zu integrieren — Messages API, Tool Use, Vision, Streaming und Batch-Verarbeitung. Claude Code kennt das SDK in- und auswendig und generiert produktionsreifen KI-Code.

Messages API: Grundlegend und leistungsstark

MessagesErste KI-App in 5 Minuten

# Prompt: "Erstelle eine Python-App die Texte auf Deutsch zusammenfasst" import anthropic client = anthropic.Anthropic() # Nutzt ANTHROPIC_API_KEY aus .env def summarize(text: str, max_sentences: int = 3) -> str: message = client.messages.create( model="claude-sonnet-4-5", max_tokens=1024, system="Du bist ein präziser Zusammenfasser. Antworte nur auf Deutsch.", messages=[{ "role": "user", "content": f"Fasse diesen Text in {max_sentences} Sätzen zusammen:\n\n{text}" }] ) return message.content[0].text # Multi-Turn Conversation: def chat(history: list, user_message: str) -> tuple: history.append({"role": "user", "content": user_message}) response = client.messages.create( model="claude-haiku-4-5-20251001", # Schnell + günstig für Chat max_tokens=512, messages=history ) assistant_msg = response.content[0].text history.append({"role": "assistant", "content": assistant_msg}) return assistant_msg, history

Tool Use: Claude handelt

Tool UseFunction Calling mit Python

# Prompt: "Erstelle einen Research-Assistenten der Websuche nutzen kann" tools = [{ "name": "web_search", "description": "Sucht aktuelle Informationen im Web", "input_schema": { "type": "object", "properties": { "query": {"type": "string", "description": "Suchanfrage"} }, "required": ["query"] } }] def research_agent(question: str) -> str: messages = [{"role": "user", "content": question}] while True: response = client.messages.create( model="claude-sonnet-4-5", max_tokens=4096, tools=tools, messages=messages ) if response.stop_reason == "end_turn": return response.content[0].text # Fertige Antwort # Tool Use — Claude will suchen tool_call = next(b for b in response.content if b.type == "tool_use") search_result = perform_search(tool_call.input["query"]) messages += [ {"role": "assistant", "content": response.content}, {"role": "user", "content": [{ "type": "tool_result", "tool_use_id": tool_call.id, "content": search_result }]} ]
Tool Use Pattern: Der While-Loop läuft bis stop_reason == "end_turn" — Claude entscheidet selbst wann es genug Informationen hat. Keine feste Anzahl an Tool-Calls nötig.

Streaming und Vision

StreamingAntworten in Echtzeit

# Streaming für bessere UX: with client.messages.stream( model="claude-sonnet-4-5", max_tokens=1024, messages=[{"role": "user", "content": "Erkläre Quantencomputing"}] ) as stream: for text in stream.text_stream: print(text, end="", flush=True) final = stream.get_final_message() # Vision — Bilder analysieren: import base64 with open("screenshot.png", "rb") as f: image_data = base64.standard_b64encode(f.read()).decode() response = client.messages.create( model="claude-sonnet-4-5", max_tokens=1024, messages=[{ "role": "user", "content": [ {"type": "image", "source": { "type": "base64", "media_type": "image/png", "data": image_data }}, {"type": "text", "text": "Was siehst du in diesem Screenshot?"} ] }] )

KI-Entwicklungsmodul im Kurs

Im Claude Code Mastery Kurs: vollständiges Anthropic SDK Modul — Messages API, Tool Use, Vision, Streaming, Batch-Verarbeitung und Prompt-Caching für effiziente KI-Anwendungen.

14 Tage kostenlos testen →