Claude Platform Docs
  • Messages
  • Managed Agents
  • Admin

Search...
⌘K
Erste Schritte
Einführung in ClaudeSchnellstart
Entwickeln mit Claude
FunktionsübersichtVerwendung der Messages APIStop-Gründe und FallbackAblehnungen und FallbackFallback-Guthaben
Modellfähigkeiten
Erweitertes DenkenAdaptives DenkenEffortAufgabenbudgets (Beta)Schnellmodus (Forschungsvorschau)Strukturierte AusgabenZitateStreaming von MessagesBatch-VerarbeitungSuchergebnisseStreaming von AblehnungenMehrsprachige UnterstützungEmbeddings
Tools
ÜbersichtFunktionsweise der Tool-NutzungTutorial: Einen Tool-nutzenden Agenten erstellenTools definierenTool-Aufrufe verarbeitenParallele Tool-NutzungTool Runner (SDK)Strikte Tool-NutzungServer-ToolsWebsuche-ToolWeb-Fetch-ToolCodeausführungs-ToolAdvisor-ToolTool-Suche-ToolMemory-ToolBash-ToolTexteditor-ToolComputer-Use-ToolFehlerbehebung
Tool-Infrastruktur
Tool-ReferenzTool-Kontext verwaltenTool-KombinationenTool-Nutzung mit Prompt-CachingProgrammatischer Tool-AufrufFeingranulares Tool-Streaming
Kontextverwaltung
KontextfensterKompaktierungKontextbearbeitungPrompt-CachingSystemnachrichten während der KonversationEinen Orchestrierungsmodus erstellenCache-Diagnose (Beta)Token-Zählung
Arbeiten mit Dateien
Files APIPDF-Unterstützung
Skills
ÜbersichtSchnellstartBest PracticesSkills für UnternehmenSkills in der API
MCP
Remote-MCP-ServerMCP-Connector
Claude auf Cloud-Plattformen
Amazon BedrockAmazon Bedrock (Legacy)Claude Platform auf AWSGoogle CloudMicrosoft Foundry

Log in
Verwendung der Messages API
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Claude Platform Docs

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Claude on AWS
  • Claude on Google Cloud

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Messages/Entwickeln mit Claude

Verwendung der Messages API

Praktische Muster und Beispiele für die effektive Nutzung der Messages API

Anthropic bietet zwei Möglichkeiten, mit Claude zu entwickeln, die jeweils für unterschiedliche Anwendungsfälle geeignet sind:

Messages APIClaude Managed Agents
Was es istDirekter Zugriff auf Modell-PromptingVorgefertigtes, konfigurierbares Agent-Harness, das in verwalteter Infrastruktur läuft
Am besten geeignet fürBenutzerdefinierte Agent-Loops und feingranulare KontrolleLang laufende Aufgaben und asynchrone Arbeit
Mehr erfahrenMessages API-DokumentationClaude Managed Agents-Dokumentation

Dieser Leitfaden behandelt gängige Muster für die Arbeit mit der Messages API, einschließlich grundlegender Anfragen, mehrstufiger Konversationen, Prefill-Techniken und Vision-Funktionen. Die vollständigen API-Spezifikationen findest du in der Messages API-Referenz.



Diese Funktion ist für Zero Data Retention (ZDR) qualifiziert. Wenn deine Organisation eine ZDR-Vereinbarung hat, werden Daten, die über diese Funktion gesendet werden, nicht gespeichert, nachdem die API-Antwort zurückgegeben wurde.

Grundlegende Anfrage und Antwort



Die Sampling-Parameter temperature, top_p und top_k werden von Claude Opus 4.7 und späteren Modellen, einschließlich Claude Opus 4.8, nicht unterstützt. Wenn du sie auf einen nicht standardmäßigen Wert setzt, wird ein 400-Fehler zurückgegeben. Lass sie aus den Request-Payloads weg und verwende stattdessen Prompting, um das Verhalten des Modells zu steuern. Siehe den Migrationsleitfaden.

message = anthropic.Anthropic().messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello, Claude"}],
)
print(message)
Output
{
  "id": "msg_01XFDUDYJgAACzvnptvVoYEL",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Hello!"
    }
  ],
  "model": "claude-opus-4-8",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 12,
    "output_tokens": 6
  }
}

Bei Claude Opus 4.7 und späteren Modellen enthalten Ablehnungsantworten (stop_reason: "refusal") auch ein stop_details-Objekt, das die Richtlinienkategorie identifiziert, die die Ablehnung ausgelöst hat. Siehe Umgang mit Stop-Reasons für die Feldreferenz und Beispielcode zur Behandlung.

Mehrere Konversationsrunden

Die Messages API ist zustandslos, was bedeutet, dass du immer den vollständigen Konversationsverlauf an die API sendest. Du kannst dieses Muster verwenden, um eine Konversation im Laufe der Zeit aufzubauen. Frühere Konversationsrunden müssen nicht unbedingt tatsächlich von Claude stammen. Du kannst synthetische assistant-Nachrichten verwenden.

message = anthropic.Anthropic().messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hello, Claude"},
        {"role": "assistant", "content": "Hello!"},
        {"role": "user", "content": "Can you describe LLMs to me?"},
    ],
)
print(message)
Output
{
  "id": "msg_018gCsTGsXkYJVqYPxTgDHBU",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Sure, I'd be happy to provide..."
    }
  ],
  "model": "claude-opus-4-8",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 30,
    "output_tokens": 309
  }
}

System-Rolle in Nachrichten

Bei Claude Opus 4.8 kannst du Nachrichten mit "role": "system" nach einer User-Runde einfügen (vorbehaltlich der Platzierungsregeln), um mitten in einer Konversation eine neue Systemanweisung hinzuzufügen. Eine system-Nachricht darf nicht der erste Eintrag in messages sein; verwende das system-Feld auf oberster Ebene für Anweisungen, die von Anfang an gelten sollen.

Eine System-Nachricht mitten in der Konversation hat dieselbe Autorität wie das system-Feld auf oberster Ebene, aber da sie am Ende des Nachrichtenverlaufs angehängt wird, macht sie kein gecachtes Präfix ungültig, das davor kam. Verwende das system-Feld auf oberster Ebene für Anweisungen, die ab der allerersten Runde gelten sollen, und eine System-Nachricht mitten in der Konversation für Anweisungen, die erst später relevant werden.

Siehe System-Nachrichten mitten in der Konversation für den vollständigen Leitfaden, einschließlich der Kombination mit Prompt-Caching.

Claude Worte in den Mund legen

Du kannst einen Teil von Claudes Antwort an der letzten Position der Eingabenachrichtenliste vorausfüllen. Dies kann verwendet werden, um Claudes Antwort zu formen. Das folgende Beispiel verwendet "max_tokens": 1, um eine einzelne Multiple-Choice-Antwort von Claude zu erhalten.



„Prefilling" (Vorausfüllen) wird von Claude Fable 5, Claude Mythos 5, Claude Mythos Preview, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 5 und Claude Sonnet 4.6 nicht unterstützt. Anfragen, die Prefill mit diesen Modellen verwenden, geben einen 400-Fehler zurück. Verwende stattdessen strukturierte Ausgaben bei Modellen, die dies unterstützen, oder Anweisungen im System-Prompt. Siehe den Migrationsleitfaden für Migrationsmuster.

message = anthropic.Anthropic().messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1,
    messages=[
        {
            "role": "user",
            "content": "What is latin for Ant? (A) Apoidea, (B) Rhopalocera, (C) Formicidae",
        },
        {"role": "assistant", "content": "The answer is ("},
    ],
)
print(message)
Output
{
  "id": "msg_01Q8Faay6S7QPTvEUUQARt7h",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "C"
    }
  ],
  "model": "claude-sonnet-4-5",
  "stop_reason": "max_tokens",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 42,
    "output_tokens": 1
  }
}

Vision

Claude kann sowohl Text als auch Bilder in Anfragen lesen. Bilder können mit den Quelltypen base64, url oder file bereitgestellt werden. Der Quelltyp file verweist auf ein Bild, das über die Files API hochgeladen wurde. Unterstützte Medientypen sind image/jpeg, image/png, image/gif und image/webp. Weitere Details findest du im Vision-Leitfaden.

import base64
import httpx

# Option 1: Base64-kodiertes Bild
image_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
image_media_type = "image/jpeg"
image_data = base64.standard_b64encode(httpx.get(image_url).content).decode("utf-8")

message = anthropic.Anthropic().messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image_media_type,
                        "data": image_data,
                    },
                },
                {"type": "text", "text": "What is in the above image?"},
            ],
        }
    ],
)
print(message)

# Option 2: Per URL referenziertes Bild
message_from_url = anthropic.Anthropic().messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "url",
                        "url": "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg",
                    },
                },
                {"type": "text", "text": "What is in the above image?"},
            ],
        }
    ],
)
print(message_from_url)
Output
{
  "id": "msg_01EcyWo6m4hyW8KHs2y2pei5",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "This image shows an ant, specifically a close-up view of an ant. The ant is shown in detail, with its distinct head, antennae, and legs clearly visible. The image is focused on capturing the intricate details and features of the ant, likely taken with a macro lens to get an extreme close-up perspective."
    }
  ],
  "model": "claude-opus-4-8",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 1551,
    "output_tokens": 71
  }
}

Nächste Schritte

Stop-Reasons und Fallback

Behandle jeden stop_reason-Wert und entscheide, was zu tun ist, wenn eine Antwort endet.


Tool-Nutzung mit Claude

Gib Claude Tools, um externe Dienste und APIs innerhalb der Messages API aufzurufen.


Computer-Use-Tool

Steuere Desktop-Computerumgebungen mit der Messages API.


Strukturierte Ausgaben

Erhalte garantierte, schema-validierte JSON-Ausgaben von Claude.

Task-Budgets

Lege mit output_config.task_budget ein empfohlenes Token-Budget für eine vollständige agentische Schleife fest.

Was this page helpful?

  • Grundlegende Anfrage und Antwort
  • Mehrere Konversationsrunden
  • System-Rolle in Nachrichten
  • Claude Worte in den Mund legen
  • Vision
  • Nächste Schritte