Loading...
    • Entwicklerleitfaden
    • API-Referenz
    • MCP
    • Ressourcen
    • Versionshinweise
    Search...
    ⌘K
    Erste Schritte
    Einführung in ClaudeSchnelleinstieg
    Modelle & Preise
    ModellübersichtModell auswählenNeuerungen in Claude 4.5Migration zu Claude 4.5ModellabschreibungenPreise
    Mit Claude entwickeln
    FunktionsübersichtMessages API verwendenKontextfensterBest Practices für Prompts
    Fähigkeiten
    Prompt-CachingKontext-BearbeitungErweitertes DenkenAufwandStreaming MessagesBatch-VerarbeitungZitateMehrsprachige UnterstützungToken-ZählungEmbeddingsVisionPDF-UnterstützungFiles APISuchergebnisseStrukturierte AusgabenGoogle Sheets Add-on
    Tools
    ÜbersichtTool-Nutzung implementierenToken-effiziente Tool-NutzungFeingranulares Tool-StreamingBash-ToolCode-Ausführungs-ToolProgrammatischer Tool-AufrufComputer-Use-ToolText-Editor-ToolWeb-Fetch-ToolWeb-Such-ToolMemory-ToolTool-Such-Tool
    Agent Skills
    ÜbersichtSchnelleinstiegBest PracticesSkills mit der API verwenden
    Agent SDK
    ÜbersichtTypeScript SDKPython SDKMigrationsleitfaden
    Leitfäden
    Streaming-EingabeBerechtigungen handhabenSitzungsverwaltungStrukturierte Ausgaben im SDKAgent SDK hostenSystem-Prompts ändernMCP im SDKBenutzerdefinierte ToolsSubagents im SDKSchrägstrich-Befehle im SDKAgent Skills im SDKKosten und Nutzung verfolgenTodo-ListenPlugins im SDK
    MCP in der API
    MCP-ConnectorRemote MCP-Server
    Claude auf Drittanbieter-Plattformen
    Amazon BedrockMicrosoft FoundryVertex AI
    Prompt Engineering
    ÜbersichtPrompt-GeneratorPrompt-Vorlagen verwendenPrompt-VerbessererKlar und direkt seinBeispiele verwenden (Multishot Prompting)Claude denken lassen (CoT)XML-Tags verwendenClaude eine Rolle geben (System Prompts)Claudeś Antwort vorausfüllenKomplexe Prompts verkettenTipps für langen KontextTipps für erweitertes Denken
    Testen & Evaluieren
    Erfolgskriterien definierenTestfälle entwickelnEvaluierungs-Tool verwendenLatenz reduzieren
    Schutzmaßnahmen verstärken
    Halluzinationen reduzierenAusgabekonsistenz erhöhenJailbreaks abschwächenStreaming-AblehnungenPrompt-Lecks reduzierenClaude im Charakter halten
    Verwaltung und Überwachung
    Admin API ÜbersichtNutzungs- und Kosten-APIClaude Code Analytics API
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

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

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • 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
    • Catalog
    • 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
    Leitfäden

    Streaming-Eingabe

    Verstehen der zwei Eingabemodi für das Claude Agent SDK und wann jeder verwendet werden sollte
    • Überblick
    • Streaming-Eingabemodus (Empfohlen)
    • Wie es funktioniert
    • Vorteile
    • Implementierungsbeispiel
    • Einzelnachrichten-Eingabe
    • Wann Einzelnachrichten-Eingabe verwenden
    • Einschränkungen
    • Implementierungsbeispiel

    Überblick

    Das Claude Agent SDK unterstützt zwei verschiedene Eingabemodi für die Interaktion mit Agenten:

    • Streaming-Eingabemodus (Standard & Empfohlen) - Eine persistente, interaktive Sitzung
    • Einzelnachrichten-Eingabe - Einmalige Abfragen, die Sitzungsstatus und Wiederaufnahme verwenden

    Dieser Leitfaden erklärt die Unterschiede, Vorteile und Anwendungsfälle für jeden Modus, um Ihnen bei der Auswahl des richtigen Ansatzes für Ihre Anwendung zu helfen.

    Streaming-Eingabemodus (Empfohlen)

    Der Streaming-Eingabemodus ist die bevorzugte Art, das Claude Agent SDK zu verwenden. Er bietet vollen Zugang zu den Fähigkeiten des Agenten und ermöglicht reichhaltige, interaktive Erfahrungen.

    Er ermöglicht es dem Agenten, als langlebiger Prozess zu operieren, der Benutzereingaben entgegennimmt, Unterbrechungen behandelt, Berechtigungsanfragen anzeigt und Sitzungsverwaltung übernimmt.

    Wie es funktioniert

    Vorteile

    Bild-Uploads

    Bilder direkt an Nachrichten anhängen für visuelle Analyse und Verständnis

    Implementierungsbeispiel

    Einzelnachrichten-Eingabe

    Die Einzelnachrichten-Eingabe ist einfacher, aber begrenzter.

    Wann Einzelnachrichten-Eingabe verwenden

    Verwenden Sie die Einzelnachrichten-Eingabe, wenn:

    • Sie eine einmalige Antwort benötigen
    • Sie keine Bildanhänge, Hooks usw. benötigen
    • Sie in einer zustandslosen Umgebung operieren müssen, wie einer Lambda-Funktion

    Einschränkungen

    Der Einzelnachrichten-Eingabemodus unterstützt nicht:

    • Direkte Bildanhänge in Nachrichten
    • Dynamische Nachrichten-Warteschlangen
    • Echtzeit-Unterbrechung
    • Hook-Integration
    • Natürliche Multi-Turn-Gespräche

    Implementierungsbeispiel

    Nachrichten in Warteschlange

    Mehrere Nachrichten senden, die sequenziell verarbeitet werden, mit der Möglichkeit zu unterbrechen

    Tool-Integration

    Vollzugriff auf alle Tools und benutzerdefinierte MCP-Server während der Sitzung

    Hooks-Unterstützung

    Lebenszyklus-Hooks verwenden, um Verhalten an verschiedenen Punkten anzupassen

    Echtzeit-Feedback

    Antworten sehen, während sie generiert werden, nicht nur Endergebnisse

    Kontext-Persistenz

    Gesprächskontext über mehrere Wendungen natürlich beibehalten

    import { query } from "@anthropic-ai/claude-agent-sdk";
    import { readFileSync } from "fs";
    
    async function* generateMessages() {
      // Erste Nachricht
      yield {
        type: "user" as const,
        message: {
          role: "user" as const,
          content: "Analysiere diese Codebasis auf Sicherheitsprobleme"
        }
      };
      
      // Auf Bedingungen oder Benutzereingabe warten
      await new Promise(resolve => setTimeout(resolve, 2000));
      
      // Nachfassen mit Bild
      yield {
        type: "user" as const,
        message: {
          role: "user" as const,
          content: [
            {
              type: "text",
              text: "Überprüfe dieses Architekturdiagramm"
            },
            {
              type: "image",
              source: {
                type: "base64",
                media_type: "image/png",
                data: readFileSync("diagram.png", "base64")
              }
            }
          ]
        }
      };
    }
    
    // Streaming-Antworten verarbeiten
    for await (const message of query({
      prompt: generateMessages(),
      options: {
        maxTurns: 10,
        allowedTools: ["Read", "Grep"]
      }
    })) {
      if (message.type === "result") {
        console.log(message.result);
      }
    }
    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    // Einfache einmalige Abfrage
    for await (const message of query({
      prompt: "Erkläre den Authentifizierungsablauf",
      options: {
        maxTurns: 1,
        allowedTools: ["Read", "Grep"]
      }
    })) {
      if (message.type === "result") {
        console.log(message.result);
      }
    }
    
    // Gespräch mit Sitzungsverwaltung fortsetzen
    for await (const message of query({
      prompt: "Erkläre jetzt den Autorisierungsprozess",
      options: {
        continue: true,
        maxTurns: 1
      }
    })) {
      if (message.type === "result") {
        console.log(message.result);
      }
    }