Mehrstufiger Workflow benötigt LLM-Argumentation, Aufrufe externer APIs/Datenbanken und Synthese.
→Amazon Bedrock Agent. Definieren Sie Anweisungen, Aktionsgruppen (Lambda + OpenAPI-Schema) und eine optionale KB. Der Agent plant, ruft Tools auf und verknüpft Ergebnisse.
Warum: Spart das manuelle Schreiben der Orchestrierungsschleife. Integrierte Trace-, Sitzungsspeicher- und Return-of-Control-Hooks.
Referenz↗
Bedrock Agent muss drei interne APIs aufrufen (CRM, Inventar, Zahlungen).
→Definieren Sie eine Aktionsgruppe pro API. Jede Aktionsgruppe hat ein OpenAPI-Schema, das ihre Operationen beschreibt, und eine Lambda-Funktion (oder einen Return-of-Control-Endpunkt), die Aufrufe ausführt.
Referenz↗
Der Agent darf risikoreiche Operationen (Kontolöschung, große Rückerstattungen) nur nach menschlicher/geschäftlicher Bestätigung durchführen.
→Konfigurieren Sie die Aktionsgruppe mit Return of Control (RoC). Bedrock gibt die vorgeschlagene Aktion an die Anwendung zurück, anstatt sie aufzurufen; die Anwendung schützt die Ausführung hinter einer Genehmigung und übermittelt die Ergebnisse erneut.
Warum: Hält risikoreiche Schritte außerhalb der Agent-Laufzeit, damit sie vor ihrer Ausführung geprüft oder vom Menschen bestätigt werden können.
Referenz↗
Der Agent muss den Kontext über mehrere Runden innerhalb einer Benutzersitzung hinweg speichern.
→Verwenden Sie die integrierten Sitzungsattribute des Agenten und Prompt-Sitzungsattribute. Übergeben Sie `sessionId` an InvokeAgent – Bedrock behält den Konversationsstatus für das konfigurierte Idle-Timeout bei.
Referenz↗
Der Agent muss Fakten über einen wiederkehrenden Benutzer über Sitzungen hinweg (Präferenzen, Verlauf) abrufen und ältere Austausche zusammenfassen.
→Bedrock Agent-Speicher aktivieren. Der Agent speichert die zusammengefasste Sitzungshistorie pro `memoryId` und spielt sie bei zukünftigen Aufrufen als Kontext ab.
Referenz↗
Workflow benötigt spezialisierte Agenten (Forschung, Code, Abrechnung), die von einem übergeordneten Planer koordiniert werden.
→Bedrock Agents Multi-Agent-Kollaboration: definieren Sie einen Supervisor-Agent und mehrere Kollaborator-Agenten. Der Supervisor delegiert Unteraufgaben basierend auf Beschreibungen der Kollaboratoren und synthetisiert Ergebnisse.
Referenz↗
Benötigen eine mehrstufige Pipeline: extrahieren → klassifizieren → routen → zusammenfassen, mit bedingten Verzweigungen.
→Amazon Bedrock Prompt Flows. Visueller Workflow mit Prompt-Knoten, Bedingungsknoten, KB-Knoten, Lambda-Knoten; versioniert und als einzelne API aufrufbar.
Warum: Ersetzt manuell erstellte Step Functions für Prompt-Pipelines und bietet einen einzigen Einstiegspunkt.
Referenz↗
Mandantenfähige SaaS: mandantenbezogene System-Prompts, Modellpräferenzen und Versionierung.
→Amazon Bedrock Prompt Management. Prompts als versionierte, parametrisierte Assets speichern; zur Laufzeit über ARN referenzieren; A/B-Tests verschiedener Versionen pro Mandant durchführen.
Referenz↗
App muss über Claude, Llama, Titan und Cohere mit einer einheitlichen Chat-API-Oberfläche funktionieren.
→Verwenden Sie die Bedrock Converse API. Einheitliches Nachrichtenlistenformat, Tool-Nutzung und System-Prompts über alle Modellfamilien hinweg. Vermeiden Sie modellspezifisches InvokeModel-JSON, wenn Portabilität wichtig ist.
Referenz↗
Chatbot muss Antworten Token für Token anzeigen, um die wahrgenommene Latenz zu reduzieren.
→ConverseStream (oder InvokeModelWithResponseStream). Kombinieren Sie mit API Gateway WebSocket oder AppSync-Abonnements, um Token an den Browser zu verteilen.
Referenz↗
Echtzeit-Kundensupport-Chat: Antwort-Streaming, 500 gleichzeitige Benutzer, Konversationsverlauf.
→Browser ↔ API Gateway WebSocket ↔ Lambda ↔ Bedrock ConverseStream. Konversation in DynamoDB speichern, indiziert nach `sessionId`, und bei jeder Runde neu laden.
Warum: WebSocket vermeidet HTTP-Polling; der DynamoDB-Sitzungsspeicher überlebt die Zustandslosigkeit von Lambda.
Referenz↗
Das Modell soll entscheiden, wann Funktionen aufgerufen werden sollen (Datenbankabfrage, Rechner, API).
→Verwenden Sie die Converse API Tool-Nutzung (`toolConfig`) – deklarieren Sie Tools mit Name + JSON-Schema; das Modell gibt `toolUse`-Blöcke aus; die App führt aus und gibt `toolResult` zurück. Funktioniert über Claude, Llama, Mistral, Cohere Command R hinweg.
Referenz↗
Neues Ticket in Drittanbieter-System → automatische Bedrock-Analyse (Stimmung, Dringlichkeit, Kategorie) → Routing.
→Webhook → API Gateway → EventBridge → Lambda-Ziel → Bedrock. EventBridge entkoppelt Produzenten von Konsumenten und bietet kostenlose Wiederholungsversuche + DLQ.
Referenz↗
Mehrere Microservices senden Bedrock-Generierungsanfragen; Konsumenten benötigen Ergebnisse nicht sofort.
→Produzenten → SQS → Lambda (oder ECS) Konsument → Bedrock InvokeModel → Ergebnis in S3/DynamoDB speichern. SQS glättet Spitzen und wiederholt Fehler innerhalb der Servicekontingente.
Täglich Beschreibungen für 100.000 SKUs generieren; latenztolerant; geringste Kosten erwünscht.
→Amazon Bedrock Batch Inference. Eingabe-JSONL in S3 übermitteln, Bedrock führt den Job zu bis zu 50 % geringeren Kosten pro Token im Vergleich zu On-Demand aus, schreibt Ausgabe-JSONL.
Warum: Batch tauscht Latenz gegen Kosten. Verwenden Sie es, wann immer Ergebnisse nicht in Echtzeit benötigt werden.
Referenz↗
API Gateway vor Lambda + Bedrock gibt bei langen Generierungen 504 Gateway Timeout zurück.
→API Gateway REST-Integrations-Timeout ist auf 29 Sekunden begrenzt. Wechseln Sie zu einem asynchronen Muster (Job-ID zurückgeben, über einen zweiten Endpunkt abfragen) oder zu API Gateway WebSocket + ConverseStream, damit partielle Token vor dem Timeout-Fenster fließen.
Referenz↗
Produktbeschreibungen aus einem Produktbild + kurzem Text generieren.
→Verwenden Sie ein visionsfähiges Modell auf Bedrock (Claude 3+ Sonnet, Nova) über die Converse API mit `image`-Inhaltsblöcken neben Text.
Referenz↗
Nachrichtenübersetzung ins Englische in unter einer Sekunde mit hoher Qualität.
→Basismodell (Claude Haiku oder Llama small) über Bedrock für Nuancen, ODER Amazon Translate für Geschwindigkeit/Kosten, wenn eine wörtliche Übersetzung ausreicht. Bedrock für kontextbewusst; Translate für transaktional.
Produktionsverkehr schrittweise von Modell A auf Modell B umstellen, mit Kill-Switch-Funktion.
→AWS AppConfig Feature-Flag mit dem aktiven Modellbezeichner und der Verkehrsaufteilung. Lambda liest das Flag pro Aufruf und leitet entsprechend. Sofortiges Rollback über AppConfig-Deployment-Rollback.
Referenz↗
Entscheiden Sie zwischen Bedrock und SageMaker JumpStart für das Hosten eines Basismodells.
→Bedrock, wenn Sie verwaltete Inferenz, eine einheitliche API, KB/Agents/Guardrails wünschen. SageMaker JumpStart, wenn Sie einen privaten VPC-gehosteten Endpunkt mit vollständiger Netzwerk-/IAM-Kontrolle oder ein Open-Weights-Modell benötigen, das nicht in Bedrock ist.
Referenz↗
Wählen Sie den Stil der Aktionsgruppendefinition: OpenAPI 3.0 Spezifikation vs. Funktionsschema.
→OpenAPI, wenn die zugrunde liegende API bereits eine OpenAPI 3.0 Spezifikation hat oder Sie die vollständige HTTP-Semantik (Pfade, Methoden, Parametertypen) benötigen. Funktionsschema für Inline-/Lightweight-Aktionen, die über einfache JSON-Eigenschaftsdeklarationen definiert werden.
Warum: OpenAPI ist kanonisch für bestehende REST-APIs. Funktionsschema ist schneller für neue Agent-interne Helfer.
Referenz↗
Der Agent muss präzise Mathematik, statistische Analysen durchführen oder kleine Python-Snippets ausführen, um Fragen zu beantworten.
→Bedrock Agents Code-Interpreter aktivieren. Der Agent führt Python in einer verwalteten Sandbox aus; die Ergebnisse fließen zurück in die Antwortsynthese.
Warum: LLMs sind unzuverlässig bei exakter Mathematik; eine sandboxed Laufzeit liefert deterministische numerische Ergebnisse, ohne benutzerdefinierte Aktionsgruppen schreiben zu müssen.
Referenz↗
Standard-Agent-Prompts erzeugen ausführliche Antworten; der Orchestrierungs-Prompt muss für die Produktion gestrafft werden.
→Konfigurieren Sie Prompt-Template-Overrides für den Agenten für jeden Schritt (Vorverarbeitung, Orchestrierung, KB-Antwortgenerierung, Nachverarbeitung). Overrides werden mit dem Agenten versioniert.
Referenz↗
An einem Agenten in der Entwicklung iterieren, während der Produktionsverkehr auf einer stabilen Version bleibt.
→Verwenden Sie Agentenversionen und -aliasse. `DRAFT` für aktive Bearbeitungen; nummerierte Versionen veröffentlichen; über Aliase routen (`prod` → Version 7, `dev` → DRAFT). Befördern durch Aktualisieren des Alias.
Referenz↗
Agent wählt die falsche Aktionsgruppe; muss die Argumentation Schritt für Schritt debuggen.
→Trace auf InvokeAgent aktivieren (`enableTrace: true`). Der Antwort-Stream enthält `preProcessingTrace`, `orchestrationTrace`, `postProcessingTrace` und `failureTrace`-Blöcke, die die Modellbegründung, Toolauswahl und Eingaben zeigen.
Referenz↗
Einen Bedrock Flow für „Entitäten extrahieren → in KB nachschlagen → zusammenfassen → E-Mail senden“ erstellen.
→Knoten zusammensetzen: Prompt-Knoten (extrahieren), Knowledge-Base-Knoten (nachschlagen), Prompt-Knoten (zusammenfassen), Lambda-Knoten (E-Mail via SES senden). S3-Input/Output-Knoten für Batch-Flows verwenden; Bedingungsknoten für Verzweigungen.
Referenz↗
Bedrock Flows vs. Step Functions für eine mehrstufige GenAI-Pipeline wählen.
→Bedrock Flows, wenn die Schritte hauptsächlich Bedrock-Primitive sind (Prompts, KBs, Agents) – einzelner API-Aufruf, keine zusätzliche IAM-Verknüpfung. Step Functions, wenn der Workflow viele AWS-Dienste mit Wiederholungsversuchen, parallelen Branches, komplexer Fehlerbehandlung oder langen Wartezeiten umfasst.
Eine Chat-Schleife implementieren, in der das Modell iterativ Tools aufruft und dann die endgültige Antwort formuliert.
→Muster: Benutzernachricht senden → Modell gibt `toolUse` zurück → App führt Tool aus → App sendet `toolResult` über Converse zurück → Schleife, bis Modell finalen Text zurückgibt. Iterationen begrenzen, um Entlaufen zu verhindern.
Warum: Das Modell entscheidet, wann es genug Informationen hat, um zu stoppen; die App muss die Schleife steuern und eine maximale Schrittbegrenzung erzwingen.
Referenz↗
Modell muss Kunde + Bestellung + Inventar nachschlagen; sequentielle Tool-Aufrufe erhöhen die Latenz um das Dreifache.
→Modelle, die parallele Tool-Nutzung unterstützen (Claude 3+, Nova), emittieren mehrere `toolUse`-Blöcke in einem Zug. Führen Sie sie gleichzeitig in der App aus und geben Sie alle `toolResult`s vor der nächsten Inferenz zurück.
Referenz↗
Mehrstufigen Chat-Zustand über zustandslose Lambda-Aufrufe hinweg mit automatischer Bereinigung veralteter Sitzungen persistieren.
→DynamoDB-Tabelle, indiziert nach `sessionId`, speichert `messages` + `lastActivity`. TTL-Attribut (`expiresAt`) setzen, um Sitzungen, die älter als 24 Stunden sind, automatisch zu löschen. Lambda liest/schreibt pro Runde.
Referenz↗
Chat sieht ~1000 QPS; DynamoDB-Lesevorgänge pro Runde auf der Sitzungshistorie sind ein Hotspot.
→DynamoDB mit ElastiCache für Redis voranstellen. Die letzten N Nachrichten pro Sitzung in einem Redis-Hash cachen; Write-Through zu DynamoDB für Haltbarkeit. TTL Redis-Schlüssel, um den Speicher zu begrenzen.
Referenz↗
Ein erneuter Versuch bei einem Bedrock InvokeModel-Aufruf birgt das Risiko, für dieselbe logische Anfrage zweimal abzurechnen.
→Pro logischer Anfrage einen Idempotenzschlüssel generieren (z.B. UUID v5 von Eingabe + Benutzer). Die Antwort, indiziert nach Idempotenzschlüssel, in DynamoDB oder ElastiCache cachen; bei erneutem Versuch die gecachte Antwort zurückgeben.
Warum: Bedrock selbst ist nicht idempotent – dieselbe Eingabe wird bei jedem Aufruf abgerechnet. App-Layer-Caching ist die einzige Idempotenzlösung.
Zwei Produktionsmodellversionen während der Migration ausführen, ohne alle Benutzer gleichzeitig umzuschalten.
→Benutzer-ID in N Buckets hashen; Bucket i basierend auf einem Feature-Flag (AppConfig / Parameter Store) zu Modell A oder Modell B routen. Side-by-Side-Metriken überwachen; Bucket-Zuweisung verschieben, um vorwärts oder rückwärts zu rollen.