llm-integration.eu

Claude Agent SDK in der EU: Bedrock und Vertex AI

Claude Agent SDK DSGVO-konform über Amazon Bedrock oder Vertex AI betreiben: Umgebungsvariablen, eu.-Modell-IDs, Hosting, Kostentreiber und Code in Python/TS.

Aktualisiert 11 Min. LesezeitFakten geprüft am 1. Oktober 2026

TL;DR

Das Claude Agent SDK bringt die Agentenschleife von Claude Code in Ihren eigenen Python- oder TypeScript-Dienst. Für Datenresidenz in der EU nutzen Sie nicht die Anthropic API, sondern CLAUDE_CODE_USE_BEDROCK=1 mit einem eu.-Inferenzprofil aus Frankfurt oder CLAUDE_CODE_USE_VERTEX=1 mit CLOUD_ML_REGION=eu. Modell festschreiben, Container abschotten, Budget für Tokens planen.

Was ist das Claude Agent SDK, und warum zählt der Anbieter?

Das Claude Agent SDK ist eine Bibliothek, die Werkzeuge, Agentenschleife, Berechtigungen, Sessions und Hooks von Claude Code in eine Anwendung einbettet, die Sie selbst betreiben. Der Modellanbieter ist eine eigene Entscheidung. Standardmäßig spricht das SDK mit api.anthropic.com. Zwei Umgebungsvariablen schalten auf Amazon Bedrock oder Google Cloud um, wo Sie eine EU-Route wählen.

Der Agent-SDK-Überblick nennt es “Claude Code as a library”. Es gibt das Paket für Python (claude-agent-sdk) und für TypeScript (@anthropic-ai/claude-agent-sdk). Voraussetzung ist Python 3.10 oder neuer bzw. Node.js 18 oder neuer. Beide Pakete bringen eine native Claude-Code-Binärdatei mit, die CLI-Version hängt also an der SDK-Version. Stand heute führt das Python-Changelog Version 0.2.163 mit gebündelter CLI 2.1.286, das TypeScript-Changelog Version 0.3.287 mit Parität zu Claude Code v2.1.287.

Die Architektur bestimmt fast alles Weitere. Jeder Aufruf von query() startet einen claude-Unterprozess, der per stdio mit Ihrem Code spricht und eine Shell, ein Arbeitsverzeichnis und JSONL-Transkripte auf der lokalen Platte besitzt. Das ist kein zustandsloser API-Wrapper, sondern ein langlebiger Prozess mit Dateien. Für Datenschutz und Betrieb heißt das: mehr Aufwand als bei einem einfachen Messages-API-Aufruf.

Drei Punkte vor der Anbieterwahl:

  • Kein Abo-Login. Anthropic erlaubt Drittprodukten auf Basis des SDK ohne vorherige Freigabe weder den claude.ai-Login noch die Ratenlimits der Abos. Produktive Agenten authentifizieren sich per API-Key oder Cloud-Zugangsdaten.
  • Managed Agents gibt es auf den Clouds nicht. Anthropics gehostete Alternative, Claude Managed Agents, ist für Bedrock und Google Cloud als nicht unterstützt gelistet. Wer Datenresidenz über Bedrock oder Vertex löst, hostet das SDK selbst.
  • Gleicher Agent, anderer Endpunkt. Laut SDK-Dokumentation geht der ausgehende HTTPS-Verkehr an api.anthropic.com oder an den regionalen Endpunkt des Anbieters, wenn Sie Bedrock oder Google Cloud nutzen. Ihr Agentencode bleibt gleich.

Wir empfehlen Bedrock oder Vertex statt der direkten API, sobald Agenten personenbezogene Daten oder Quellcode verarbeiten, der im Verzeichnis von Verarbeitungstätigkeiten steht. Vertrag, Regionssteuerung und Abrechnung liegen dann in einem Cloud-Konto, das Sie ohnehin verwalten. Den allgemeinen Anbietervergleich finden Sie in unserem Artikel zu Claude über AWS Bedrock in Frankfurt.

Wie richten Sie das Agent SDK auf Bedrock in der EU ein?

Setzen Sie CLAUDE_CODE_USE_BEDROCK=1, geben Sie dem Prozess AWS-Zugangsdaten und setzen Sie AWS_REGION auf eine EU-Region wie eu-central-1 (Rechenzentrum Frankfurt). Claude Code ordnet jeder eu-*-Region das Präfix eu. für regionsübergreifende Inferenzprofile zu. Schreiben Sie das Modell explizit fest, denn der Standard wechselt mit SDK-Releases und zeigt derzeit auf Opus 5.5.

Die Bedrock-Anleitung beschreibt die Reihenfolge der Regionsauflösung: AWS_REGION, dann AWS_DEFAULT_REGION, dann das aktive AWS-Profil, zuletzt der Rückfall auf us-east-1. Der letzte Schritt ist die Falle. Ein Container ohne Regionsvariable und ohne AWS-Konfigurationsdatei landet in den USA. Zugangsdaten kommen aus der Standardkette des AWS SDK: Instanz- oder Task-Rolle, SSO-Profil, Access Keys oder ein Bedrock-API-Key in AWS_BEARER_TOKEN_BEDROCK.

Diese EU-Profil-IDs würden Sie heute festschreiben:

Modell Bedrock-EU-Profil Aussage von AWS Option für genau eine Region
Claude Sonnet 5 eu.anthropic.claude-sonnet-5 Hält Daten in EU-Regionen bedrock-mantle in eu-north-1 oder eu-west-1
Claude Opus 5.5 eu.anthropic.claude-opus-5-5 Hält Daten in EU-Regionen Keine EU-Region auf bedrock-mantle
Beide, Präfix global. global.anthropic.claude-... Weltweites Routing ohne Residenzvorgabe Entfällt

Die Modellkarte von Opus 5.5 nennt als Startdatum den 22. September 2026, ein Kontextfenster von 1 Mio. Tokens und 128.000 Output-Tokens. Für beide Modelle ist Frankfurt als Quellregion des EU-Geo-Profils gelistet. AWS weist außerdem darauf hin, dass regionsübergreifende Profile auch in nicht aktivierte Opt-in-Regionen routen können und Prompts dort zur Missbrauchserkennung gespeichert werden können. Beim EU-Profil bleibt das innerhalb der EU. Ihr Verarbeitungsverzeichnis sollte trotzdem “EU-Regionen” nennen, nicht “Frankfurt”.

Ein minimaler Python-Agent auf Bedrock, nur lesend und begrenzt:

import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage

async def main():
    options = ClaudeAgentOptions(
        cwd="/work/session-a",
        allowed_tools=["Read", "Glob", "Grep"],
        permission_mode="dontAsk",
        max_turns=20,
        env={
            "CLAUDE_CODE_USE_BEDROCK": "1",
            "AWS_REGION": "eu-central-1",
            "ANTHROPIC_MODEL": "eu.anthropic.claude-sonnet-5",
        },
    )
    async for message in query(prompt="Fasse die Dateien in diesem Verzeichnis zusammen", options=options):
        if isinstance(message, ResultMessage):
            print(message.subtype, message.total_cost_usd)

asyncio.run(main())

In Python wird env über die geerbte Umgebung gelegt, die Instanzrolle bleibt also sichtbar. ANTHROPIC_MODEL verschiebt auch Hintergrundaufgaben auf dieses Modell. Die IAM-Richtlinie braucht bedrock:InvokeModel, bedrock:InvokeModelWithResponseStream, bedrock:ListInferenceProfiles und bedrock:GetInferenceProfile. Eine funktionale Lücke: Das WebSearch-Werkzeug ist auf Bedrock nicht verfügbar. Braucht Ihr Agent Webrecherche, geben Sie ihm ein MCP-Werkzeug hinter Ihrem eigenen Egress-Proxy. Dieselben Einstellungen gelten für Claude Code auf Entwickler-Laptops, beschrieben in Claude Code auf Bedrock in der EU einrichten.

Wie läuft das SDK auf Vertex AI mit der EU-Multi-Region?

Auf Google Cloud setzen Sie CLAUDE_CODE_USE_VERTEX=1, ANTHROPIC_VERTEX_PROJECT_ID und CLOUD_ML_REGION=eu. Der Wert eu wählt den Multi-Region-Host aiplatform.eu.rep.googleapis.com. Eine Einzelregion wie europe-west1 taugt für aktuelle Modelle nicht: Laut Anthropic bedienen einzelne regionale Endpunkte nur Sonnet 4.6 und ältere Modelle.

Die Modellseiten von Google für Claude Opus 5.5 und Claude Sonnet 5 nennen die Europe Multi-Region sowohl für die Verfügbarkeit als auch für die ML-Verarbeitung. Das Standardkontingent der Multi-Region liegt unter dem des globalen Endpunkts. Für Opus 5.5 sind es 1.000 Anfragen pro Minute, 10.000.000 Input-Tokens und 1.000.000 Output-Tokens pro Minute, also die Hälfte des globalen Werts. Sonnet 5 hat in der Multi-Region 1.250 QPM und 12.500.000 Input-TPM. Ein Agent, der parallel viele Subagenten startet, kann diese Grenzen erreichen. Die Hosting-Dokumentation warnt ausdrücklich, dass breite Subagent-Auffächerungen in Ratenlimits laufen.

Auch hier lauert ein Rückfall. Ist CLOUD_ML_REGION nicht gesetzt oder fehlerhaft, fällt Claude Code auf us-east5 zurück. Setzen Sie den Wert in der Container-Spezifikation, nicht im Shell-Profil eines Kollegen.

Derselbe Agent in TypeScript auf Vertex:

import { query } from "@anthropic-ai/claude-agent-sdk";

for await (const message of query({
  prompt: "Fasse die Dateien in diesem Verzeichnis zusammen",
  options: {
    cwd: "/work/session-a",
    allowedTools: ["Read", "Glob", "Grep"],
    permissionMode: "dontAsk",
    maxTurns: 20,
    env: {
      ...process.env,
      CLAUDE_CODE_USE_VERTEX: "1",
      CLOUD_ML_REGION: "eu",
      ANTHROPIC_VERTEX_PROJECT_ID: "your-project-id",
      ANTHROPIC_MODEL: "claude-sonnet-5",
    },
  },
})) {
  if (message.type === "result") console.log(message.subtype, message.total_cost_usd);
}

In TypeScript ersetzt env die Umgebung des Unterprozesses. Ohne ...process.env verlieren Sie PATH und die Google-Zugangsdaten. Das Dienstkonto braucht roles/aiplatform.user. Anthropics Funktionsliste für Google Cloud enthält das serverseitige Websuche-Werkzeug, das auf Bedrock fehlt. Prüfen Sie, ob Ihre SDK-Version es anbietet, bevor Sie sich darauf verlassen. Die Residenzdetails von Claude auf Google Cloud stehen in unserem Artikel Claude auf Vertex AI in Europa.

Wie hosten Sie einen Agenten produktiv?

Behandeln Sie jede Agenten-Session als Prozess mit Zustand, nicht als Anfrage. Eine Session ist ein Unterprozess, ihre Transkripte liegen auf der lokalen Platte, und nichts davon überlebt einen Neustart, wenn Sie es nicht in dauerhaften Speicher spiegeln. Wählen Sie zuerst ein Session-Muster, härten Sie dann den Container, und klären Sie zuletzt die Mandantentrennung.

Der Hosting-Leitfaden nennt vier Muster:

Muster Lebensdauer des Containers Passt zu Anforderung an den Zustand
Ephemer Ein Container pro Aufgabe Rechnungsauslese, Bugfix, Übersetzung Nur Ausgabedateien
Langlaufend Dauerhaft, viele Sessions E-Mail-Triage, Chatbots RAM für gleichzeitige Spitzenlast
Hybrid Fährt im Leerlauf herunter, setzt fort Support-Agenten, mehrtägige Recherche SessionStore ist Pflicht
Multi-Agent Mehrere SDK-Prozesse in einem Container Simulationen, kooperierende Agenten Eigenes cwd und eigene Settings je Agent

Der dokumentierte Startwert liegt bei 1 GiB RAM, 5 GiB Disk und 1 CPU pro Agent, und Anthropic nennt das eine Untergrenze. Der Speicherbedarf wächst mit der Session-Länge. Messen Sie den Spitzen-RSS einer realistischen Session und dimensionieren Sie Hosts mit “Agenten pro Host = (Host-RAM minus Overhead) / Obergrenze pro Session”.

Für DSGVO-relevante Workloads würden wir fünf Kontrollen setzen:

  1. Privates Subnetz mit Ausgang nur über einen internen Proxy, der den Bedrock-Runtime-Host Ihrer Region oder aiplatform.eu.rep.googleapis.com freigibt. Der Leitfaden zum sicheren Deployment zeigt einen Container mit --network none, --cap-drop ALL, --read-only und eingebundenem Proxy-Socket.
  2. Transkripte in einem EU-Bucket über einen SessionStore-Adapter, mit Alarm auf mirror_error-Meldungen. Scheitert ein Spiegel-Schreibvorgang, verwirft das SDK diesen Batch und läuft weiter.
  3. Mandanten trennen: setting_sources=[], CLAUDE_CODE_DISABLE_AUTO_MEMORY=1, ein CLAUDE_CONFIG_DIR und ein cwd je Mandant. Sonst kann der CLAUDE.md-Kontext eines Kunden in die Session eines anderen geraten.
  4. Jede Session begrenzen mit max_turns. Ein globales Session-Timeout gibt es im SDK nicht.
  5. Telemetrie exportieren mit CLAUDE_CODE_ENABLE_TELEMETRY=1 und den OTLP-Variablen an einen selbst betriebenen Collector. Prompt-Texte und Werkzeug-Eingaben sind standardmäßig nicht im Export.

Bei den Berechtigungen ist dontAsk plus explizite allowed_tools-Liste unser Startpunkt für Agenten ohne Bedienoberfläche. Kombinieren Sie allowed_tools nicht mit bypassPermissions in der Annahme, die Liste schränke etwas ein. Die Seite zu Berechtigungen warnt, dass der Bypass-Modus auch nicht gelistete Werkzeuge freigibt, Bash eingeschlossen.

Was treibt die Kosten eines EU-Agenten?

Tokens. Anthropics eigene Hosting-Hinweise sagen, dass Tokenkosten die Containerkosten typischerweise um eine Größenordnung oder mehr übersteigen: Ein minimaler Container kostet etwa 0,05 USD pro Stunde, eine einzelne lange Session kann mehrere Dollar verbrauchen. Die EU-Route kostet auf Bedrock und Google Cloud für aktuelle Modelle 10 % Aufschlag gegenüber globalen Endpunkten.

Listenpreise von Anthropic laut Preisseite, mit dem dokumentierten Regionsaufschlag von 10 %. Verbindlich sind die Preisseiten von AWS und Google. Prüfen Sie diese vor der Budgetplanung.

Modell Input pro MTok (Liste) Output pro MTok (Liste) Mit 10 % EU-Aufschlag
Claude Sonnet 5 2 USD 10 USD 2,20 / 11 USD
Claude Opus 5.5 4 USD 20 USD 4,40 / 22 USD
Claude Haiku 4.5 1 USD 5 USD 1,10 / 5,50 USD

Unsere Beispielrechnung, keine Herstellerangabe: Eine Session mit 500.000 ungecachten Input-Tokens und 50.000 Output-Tokens kostet über einen EU-Endpunkt mit Sonnet 5 etwa 1,65 USD, mit Opus 5.5 etwa 3,30 USD. Ein ganzer Tag minimaler Containerlaufzeit liegt bei rund 1,20 USD. Pro Session bewegt die Modellwahl die Rechnung stärker als die Hosting-Wahl.

Vier Kostentreiber, die Sie steuern sollten:

  • Der Standard ohne Pinning. Auf Bedrock und Vertex ist das Standardmodell von Claude Code Opus 5.5. Die Dokumentation warnt, dass Deployments ohne Pinning zum Opus-Tarif abgerechnet werden. Schreiben Sie Sonnet 5 fest, wenn die Aufgabe kein Opus braucht.
  • Ablaufender Cache. Auf Bedrock und Google Cloud gilt standardmäßig eine Cache-Lebensdauer von 5 Minuten. Agenten mit vielen kurzen Sessions und längeren Pausen zahlen jedes Mal den vollen Input-Preis. ENABLE_PROMPT_CACHING_1H=1 tauscht höhere Schreibkosten gegen mehr Cache-Treffer.
  • Subagenten. total_cost_usd enthält Subagenten, usage nicht. Lesen Sie Kosten aus total_cost_usd oder model_usage.
  • Fehlende Obergrenzen. max_budget_usd (TypeScript maxBudgetUsd) beendet einen Aufruf, sobald dessen eigene Kosten das Limit überschreiten.

total_cost_usd ist eine clientseitige Schätzung aus einer Preistabelle, die mit dem SDK ausgeliefert wird. Sie kennt Ihre AWS- oder Google-Rabatte nicht, und die Dokumentation rät davon ab, Nutzern danach Rechnungen zu stellen. Die echten Zahlen stehen im AWS Cost Explorer oder in der Google-Cloud-Abrechnung. Einen anbieterübergreifenden Preisvergleich finden Sie im Claude-API-Kostenvergleich für die EU.

Selbst betreiben oder auslagern?

Den Agenten zu schreiben ist der kleine Teil. Ihn rund um die Uhr zu betreiben ist der größere Posten: Jemand verantwortet Container-Plattform, IAM-Grenzen, Egress-Proxy, SDK-Updates, Modell-Pins und Rufbereitschaft. Betreiben Sie Container bereits mit dieser Disziplin, behalten Sie es im Haus. Wenn nicht, kann ein Betreiber sinnvoll sein.

Was der Eigenbetrieb für dieses Thema bedeutet, abgeleitet aus den dokumentierten Fehlerbildern:

Wiederkehrende Aufgabe Warum sie wiederkehrt Typische Rolle
SDK- und CLI-Updates Die gebündelte Binärdatei hängt an der SDK-Version; die Doku rät, Patches laufend zu übernehmen und vor Minor-Releases das Changelog zu lesen Plattform-Engineer
Modell-Pins prüfen Der Standard wechselte in v2.1.280 von Opus 5 auf Opus 5.5; neue EU-Profile kommen je Modell Plattform-Engineer und Product Owner
Berechtigungsgrenzen prüfen Werkzeuglisten, Deny-Regeln und Hooks driften, wenn Agenten neue Aufgaben bekommen IT-Sicherheit
Monitoring und Rufbereitschaft Kein Session-Timeout, Speicherwachstum, mirror_error, 429-Fehler bei Kontingenten Betrieb
IAM- und Egress-Richtlinien Regionsbindung, ARNs von Inferenzprofilen, Proxy-Freigaben Cloud-Team

Unsere Schätzung, keine belegte Zahl: Für einen einzelnen produktiven Agenten mit Kundendaten planen Sie dauerhaft einen Bruchteil einer Plattform-Engineer-Stelle und einen Anteil an einer Rufbereitschaft ein. Das ist günstig, wenn beides schon existiert. Es ist teuer, wenn Sie es für einen Agenten erst aufbauen müssen.

Auslagern lohnt sich, wenn der Agent rund um die Uhr mit personenbezogenen Daten arbeitet, Sie keine Rufbereitschaft haben und niemand IAM auf AWS oder Google Cloud verantwortet. Weniger sinnvoll ist es für einen CI-Job oder einen internen Batch-Agenten, der ein paar Mal am Tag läuft: Ein ephemerer Container ohne dauerhaften Zustand bietet wenig zu betreiben.

Wenn Sie auslagern, verlangen Sie schriftlich:

  1. SLA für die Agentenlaufzeit, getrennt vom SLA des Modellanbieters. Der Dienstleister verantwortet Container und Session-Speicher, AWS oder Google den Modellendpunkt.
  2. AVV als Auftragsverarbeiter, der Transkripte, Arbeitsverzeichnisse und Telemetrie abdeckt, nicht nur Prompts.
  3. Liste der Unterauftragsverarbeiter mit Cloud, genauer Region oder Multi-Region und allen Sandbox- oder Observability-Anbietern.
  4. Zugriffsmodell: Wer liest Transkripte und Session-Speicher, wie wird Notfallzugriff protokolliert, und gehört das Bedrock- oder Vertex-Konto Ihnen oder dem Dienstleister? Wir würden auf Ihr eigenes Cloud-Konto bestehen.
  5. Exit: Transkripte in Ihrem Bucket, Übergabe der Infrastruktur als Code, kein proprietäres Session-Format. Läuft der Agent in Ihrem Konto, bedeutet Exit das Entziehen einer Rolle.

FAQ

Funktioniert das Claude Agent SDK mit Amazon Bedrock?

Ja. Setzen Sie CLAUDE_CODE_USE_BEDROCK=1, hinterlegen Sie AWS-Zugangsdaten und setzen Sie AWS_REGION. Mit einer eu-*-Region bevorzugt Claude Code eu.-Inferenzprofile wie eu.anthropic.claude-sonnet-5. Schreiben Sie das Modell per ANTHROPIC_MODEL fest, damit der Standard nicht unbemerkt auf Opus 5.5 wechselt. WebSearch steht auf Bedrock nicht zur Verfügung.

Was kostet eine Agenten-Session in der EU?

Das hängt an den Tokens, nicht am Container. Zum Listenpreis plus 10 % Regionsaufschlag kostet Sonnet 5 2,20 USD Input und 11 USD Output pro Million Tokens. Unsere Beispiel-Session mit 500.000 Input- und 50.000 Output-Tokens landet bei etwa 1,65 USD. Ein minimaler Container kostet rund 0,05 USD pro Stunde.

Claude Agent SDK oder Managed Agents: Was passt zu EU-Daten?

Das Agent SDK, wenn Ihre Residenzstrategie auf Bedrock oder Google Cloud beruht. Managed Agents betreibt die Schleife auf Anthropics Infrastruktur und ist für beide Clouds als nicht unterstützt gelistet. Mit dem SDK hosten Sie die Schleife im eigenen EU-Konto und wählen den EU-Endpunkt selbst.

Welche Google-Cloud-Region sollte ich für Claude-Agenten nutzen?

CLOUD_ML_REGION=eu, die Europe Multi-Region. Opus 5.5 und Sonnet 5 sind dort verfügbar. Einzelregionen wie europe-west1 bedienen nur Sonnet 4.6 und ältere Modelle. Ohne gesetzte Region fällt Claude Code auf us-east5 zurück.

Darf mein Agent einen Claude-Pro- oder Max-Login nutzen?

Nein. Anthropic erlaubt Drittprodukten auf Basis des Agent SDK ohne vorherige Freigabe weder den claude.ai-Login noch Abo-Ratenlimits. Nutzen Sie einen API-Key oder Zugangsdaten für Bedrock bzw. Google Cloud.

Ist total_cost_usd der Betrag auf meiner Rechnung?

Nein. Es ist eine clientseitige Schätzung aus einer beim Build eingebetteten Preistabelle. Cloud-Rabatte und manche Abrechnungsregeln fehlen darin. Für Rechnungen zählen AWS Cost Explorer oder die Google-Cloud-Abrechnung, total_cost_usd taugt für Budgets und Alarme.

Quellen

  1. Claude Code Docs: Agent SDK Überblick (1. Oktober 2026)
  2. Claude Code Docs: Agent SDK Quickstart (1. Oktober 2026)
  3. Claude Code Docs: Hosting des Agent SDK (1. Oktober 2026)
  4. Claude Code Docs: Kosten und Nutzung (1. Oktober 2026)
  5. Claude Code Docs: Berechtigungen im Agent SDK (1. Oktober 2026)
  6. Claude Code Docs: Sicheres Deployment (1. Oktober 2026)
  7. Claude Code Docs: Amazon Bedrock (1. Oktober 2026)
  8. Claude Code Docs: Google Cloud Agent Platform (1. Oktober 2026)
  9. AWS: Modellkarte Claude Sonnet 5 (1. Oktober 2026)
  10. AWS: Modellkarte Claude Opus 5.5 (1. Oktober 2026)
  11. AWS: Regionen und Modelle für Inferenzprofile (1. Oktober 2026)
  12. Google Cloud: Claude Opus 5.5 auf der Agent Platform (1. Oktober 2026)
  13. Google Cloud: Claude Sonnet 5 auf der Agent Platform (1. Oktober 2026)
  14. Anthropic: Claude auf Google Cloud (1. Oktober 2026)
  15. Anthropic: Preise (1. Oktober 2026)
  16. claude-agent-sdk-python CHANGELOG (1. Oktober 2026)
  17. claude-agent-sdk-typescript CHANGELOG (1. Oktober 2026)

Weiterführende Guides