Handbuch - AIP-C01 AWS Certified Generative AI Developer - Professional
Zuletzt überprüft: Mai 2026
Eine übersichtliche Referenz der Architekturmuster, die in der AIP-C01-Prüfung getestet werden. Von oben nach unten lesen oder zu einem Abschnitt springen.
Integration von Basismodellen, Datenmanagement und Compliance
Wählen Sie ein Bedrock-Basismodell für einen Anwendungsfall aus.
Langkontext-Argumentation + Tool-Nutzung → Claude (Sonnet/Opus). Kostenoptimierter Chat → Claude Haiku oder Titan Text Lite. Code → Claude oder Llama. Embeddings → Titan Embeddings V2 oder Cohere Embed. Bildgenerierung → Titan Image, Stable Diffusion oder Nova Canvas. Open-Weights mit Self-Host-Kontrolle → Llama, Mistral oder Custom Model Import.
Warum: Kein einzelnes Modell ist das beste in Bezug auf Kosten, Latenz, Fähigkeiten und Lizenzbedingungen. Passen Sie die Modellklasse an den Engpass an.
Dokumente weisen natürliche Themenwechsel innerhalb von Absätzen auf; Splits mit fester Größe unterbrechen Sätze mitten im Gedankenfluss.
Semantisches Chunking. Bedrock Knowledge Bases gruppiert aufeinanderfolgende Sätze, deren Embeddings nahe beieinander liegen, und trennt an Bedeutungsgrenzen.
Warum: Bewahrt kohärente Ideen innerhalb eines Chunks → sauberere Abfrage, höhere Antwortqualität.
PDF-Quelle enthält Text + Diagramme; Benutzer stellen Fragen, die das Verständnis der Diagramme erfordern.
Erweitertes Parsen von Bedrock KB mit einem Basismodell (Claude/Nova) als Parser aktivieren. Diagramme und Tabellen werden per Vision beschrieben und dann eingebettet.
Warum: Standard-Parsing ist nur Text. Multimodales Parsing wandelt visuellen Inhalt vor dem Embedding in beschreibenden Text um.
V2 unterstützt konfigurierbare Dimensionen (256/512/1024) und übertrifft G1 in mehrsprachigen Benchmarks. G1 ist auf 1536 fixiert. Wählen Sie V2 für speicherbeschränkte oder nicht-englische Anwendungsfälle; G1 nur für Legacy-Kompatibilität.
500.000 Produktkatalog: kurze Titel (50 Wörter) + lange Spezifikationen (500 Wörter). Optimierung von Suchqualität + Kosten.
Jedes Element einmal einbetten (kombinierte oder separate Felder). Verwenden Sie Titan Embeddings V2 mit reduzierten Dimensionen (256 oder 512) für die Kosten; betten Sie Abfrage und Dokument mit demselben Modell ein.
Warum: Das Mischen von Embedding-Modellen oder das Überspringen der Normalisierung unterbricht die Ähnlichkeitssuche. Geringere Dimensionen reduzieren Speicher- und Abfragekosten bei geringem Qualitätsverlust.
Wählen Sie einen Vektorspeicher für Bedrock Knowledge Bases.
Standard / schnellste Einrichtung → Amazon OpenSearch Serverless (automatisch verwaltet). Sub-ms mit häufigen Schema-Updates + relationalen Joins → Aurora PostgreSQL mit pgvector. Bestehender Pinecone / MongoDB Atlas / Redis Kunde → beibehalten. Kleine KB (<10.000 Dokumente) kostenoptimiert → Aurora pgvector oder Neptune Analytics.
Warum: OpenSearch Serverless ist der standardmäßige Weg des geringsten Widerstands. Aurora pgvector ist die beste Wahl, wenn Sie Transaktionen oder Joins für Metadaten benötigen.
KB gibt semantisch relevante Dokumente zurück, aber diese stammen aus veralteten/falsch regionalisierten Versionen.
Fügen Sie den Quelldateien Metadaten hinzu (`version`, `region`, `effective_date`) und wenden Sie Metadatenfilter zur Abfragezeit über `retrievalConfiguration.vectorSearchConfiguration.filter` an.
Warum: Reine Vektorähnlichkeit ignoriert Aktualität und Autorität. Metadatenfilterung verkleinert den Kandidatenpool vor dem Ranking.
RAG verfehlt Abfragen, die genaue Identifikatoren (SKUs, Fehlercodes, Regulationsnummern) enthalten, weil die semantische Suche ähnlich bedeutenden Text überbewertet.
Hybridsuche in der KB aktivieren (semantisch + Keyword/BM25). Kombiniert Vektorähnlichkeit mit lexikalischer Übereinstimmung für IDs, Codes und Eigennamen.
Top-k=5 ruft 5 Chunks ab, aber der relevanteste wird oft an 3. oder 4. Stelle gerankt.
Erhöhen Sie `numberOfResults` auf 20 und aktivieren Sie dann ein Reranking-Modell (Cohere Rerank oder Amazon Rerank), um nach Relevanz zur ursprünglichen Abfrage neu zu ordnen.
Warum: Embedding-Ähnlichkeit ≠ Aufgabenrelevanz. Cross-Encoder-Reranker betrachten Abfrage + Chunk zusammen und bewerten präzise.
S3-Quelldokumente werden häufig aktualisiert; KB muss immer die neuesten Versionen ohne manuelle Synchronisierung widerspiegeln.
Konfigurieren Sie die KB-Datenquelle für die automatische Synchronisierung über S3-Ereignisbenachrichtigungen → EventBridge → StartIngestionJob, oder verwenden Sie die geplante KB-Synchronisierung. Vermeiden Sie die manuelle "Sync"-Schaltfläche in der Konsole.
QA-Modell für lange Dokumente halluziniert bei Fragen, deren Antworten sich in der Mitte des Dokuments befinden.
Übergeben Sie keine vollständigen Dokumente im Prompt - chunk + retrieve über RAG, sodass nur die relevanten Chunks das Modell erreichen. Wenn ein vollständiges Dokument obligatorisch ist, verwenden Sie ein Modell mit starker Langkontext-Abrufleistung (Claude Sonnet 200K) und platzieren Sie die Frage nach dem Dokument.
Warum: Die meisten LLMs zeigen eine „Lost in the Middle“-Abnahme der Abrufleistung. RAG umgeht dies; die Platzierung hilft, wenn RAG nicht verfügbar ist.
Wählen Sie die günstigste Anpassung, die die Qualitätsanforderungen erfüllt.
Der Reihe nach versuchen: (1) Prompt Engineering, (2) RAG mit KB, (3) Fine-Tuning, (4) kontinuierliches Vortraining, (5) Custom Model Import. Hören Sie bei der ersten Methode auf, die die Anforderungen erfüllt.
Warum: Aufwand und laufende Kosten steigen mit jedem Schritt. Fine-Tuning + Provisioned Throughput ist deutlich teurer als RAG.
Ein Bedrock-Modell mit gelabelten Aufgabenbeispielen feinabstimmen.
JSONL-Datei in S3 mit einem Beispiel pro Zeile: `{"prompt": "...", "completion": "..."}` (oder Chat-Format-Äquivalent für die Modellfamilie).
Warum: Jede Modellfamilie (Titan, Claude, Llama) hat ein spezifisches Schema; prüfen Sie die Fine-Tuning-Dokumentation des Modells vor der Formatierung.
Kundendaten für das Fine-Tuning enthalten Namen, E-Mails, Telefonnummern.
PII bereinigen oder tokenisieren, bevor der Trainingsdatensatz in S3 hochgeladen wird. Sobald Gewichte PII absorbiert haben, kann die Ausgabefilterung diese nicht zuverlässig maskieren.
Warum: Das feinabgestimmte Modell kann Trainingsdatenfragmente wiederkäuen. Die Bereinigung auf Datenebene ist die einzige dauerhafte Abhilfemaßnahme.
Ein feinabgestimmtes Bedrock-Modell in Produktion bereitstellen.
Provisioned Throughput kaufen. Benutzerdefinierte (feinabgestimmte, weiter vortrainierte, importierte) Modelle können nicht On-Demand aufgerufen werden.
Hochfrequentierte Claude-Anwendung erreicht regionale Kontingente während Spitzenzeiten; benötigt höheren Durchsatz ohne Kauf von Provisioned Throughput.
Cross-Region Inference Profiles. Bedrock leitet Aufrufe transparent über mehrere Regionen, um effektive TPM/RPM-Kontingente zu erhöhen.
Warum: On-Demand-Kontingente für einzelne Regionen werden während Spitzenzeiten begrenzt; Cross-Region-Profile multiplizieren die Kontingente grob, ohne dass Änderungen am Anwendungscode erforderlich sind, außer der Verwendung des Inference-Profil-ARNs.
APAC-Benutzer erleben eine deutlich höhere Latenz als US-/EU-Benutzer bei einer in us-east-1 bereitgestellten Bedrock-Anwendung.
Regionale Bedrock-Endpunkte in ap-northeast-1 / ap-southeast-1 / ap-south-1 bereitstellen (wo das Modell GA ist). Benutzer über Route 53 Latenz- oder Geolocation-Richtlinie routen.
Warum: LLM-Round-Trip dominiert bei langen Kontexten; der Transpazifik-RTT allein beträgt 150-250 ms.
HIPAA-regulierte Anwendung muss PHI mit Bedrock zusammenfassen.
Verwenden Sie nur HIPAA-fähige Basismodelle (gemäß der Liste der HIPAA-berechtigten Dienste). Unterzeichnen Sie eine BAA mit AWS. Prompts/Antworten mit kundenverwalteten KMS-Schlüsseln verschlüsseln. Modellaufruf-Logging deaktivieren oder auf einen privaten S3-Bucket mit eingeschränktem Zugriff beschränken.
Entscheiden Sie, welche Daten basierend auf ihrer Sensibilität (öffentlich / vertraulich / eingeschränkt) an Bedrock übermittelt werden dürfen.
Öffentlich → uneingeschränkt. Vertraulich → nur über VPC-Endpunkte + CMK + Aufruf-Logging in privaten Buckets. Eingeschränkt (Geschäftsgeheimnisse, regulierte PHI/PCI) → vollständig von Bedrock blockieren oder Bedrock-konformes Compliance-Regime verwenden + vor dem Aufruf redigieren.
Organisation mit mehreren Konten möchte, dass Konto A ein benutzerdefiniertes Bedrock-Modell mit Konto B teilt, ohne Gewichte zu kopieren.
Benutzerdefinierte Modellfreigabe über AWS RAM. Der Eigentümer teilt den benutzerdefinierten Modell-ARN; Consumer-Konten rufen ihn über die standardmäßige Bedrock-Runtime mit Cross-Account-IAM-Principals auf der Ressourcenrichtlinie auf.
Warum: Vermeidet redundante Fine-Tuning-Kosten und zentralisiert den Modell-Lebenszyklus. RAM steuert, wer die freigegebene Ressource nutzen kann.
Benötigen ein Nischen-Drittanbieter-Modell (z.B. ein auf Gesundheitswesen spezialisiertes LLM), das nicht im Standard-Bedrock-Katalog ist.
Amazon Bedrock Marketplace. Abonnieren Sie das Modell aus dem Marketplace-Katalog, stellen Sie es auf einem Bedrock-Endpunkt bereit und rufen Sie es über die Standard-Runtime-API auf.
Warum: Vereinheitlicht die Abrechnung von Drittanbietern, IAM, KMS und die Beobachtbarkeit mit den Bedrock-Modellen von Erstanbietern.
Suchanwendung mit hohem Volumen bettet dieselben Dokumente bei jeder Abfrageaktualisierung neu ein; Embedding-Kosten dominieren.
Embeddings beim Dokumenten-Ingest vorab berechnen, den Vektor in DynamoDB oder OpenSearch speichern, indiziert nach Dokument-ID + Inhaltshash. Nur neu einbetten, wenn sich der Inhaltshash ändert.
Warum: Das wiederholte Einbetten desselben Textes ist die häufigste vermeidbare Kosten. Ein Hash-indizierter Cache ist ein O(1)-Sprung.
DSGVO-Recht auf Vergessenwerden bei einem feinabgestimmten Modell: Benutzer fordert die Löschung seiner PII aus den Trainingsdaten.
Datensätze aus dem Trainingskorpus löschen, dann ein frisches Basismodell von Grund auf neu feinabstimmen. Daten können nicht zuverlässig aus vorhandenen Gewichten bereinigt werden - die Ausgabefilterung ist nicht ausreichend.
Warum: Sobald Gewichte Trainingsdaten absorbiert haben, ist die Maskierung bei der Inferenz unzuverlässig. Der vertretbare Weg ist ein vollständiges Retraining ohne die betroffenen Datensätze.
Geteilte KB dient mehreren Teams; jedes Team darf nur seine eigenen Dokumente sehen.
Jeden Chunk beim Ingest mit `tenant_id` / `team_id` / `clearance` Metadaten taggen. Zur Abfragezeit `retrievalConfiguration.vectorSearchConfiguration.filter` auf die zulässigen Werte des Aufrufers aus der IAM-Sitzung oder dem App-Kontext setzen.
Warum: Vektorähnlichkeit ignoriert Zugriffskontrolle; Metadatenfilterung ist die einzige dauerhafte mandantenbezogene Isolation in einer geteilten KB.
EU-Kunde verlangt, dass Prompts und KB-Embeddings eu-west-1 niemals verlassen.
Bedrock + KB + S3-Quell-Bucket in eu-west-1 bereitstellen. Aufrufe über Inference Profile ARN auf eu-west-1 beschränken; SCP `aws:RequestedRegion` auf andere Regionen für `bedrock:*` verweigern.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
KI-Sicherheit, -Schutz und -Governance
Kundenorientierter Chatbot muss schädliche Inhalte, abgelehnte Themen und PII-Leckagen blockieren.
Amazon Bedrock Guardrails. Konfigurieren Sie abgelehnte Themen, Inhaltsfilter (Hass, Gewalt, sexuell, Beleidigungen, Fehlverhalten), Wortfilter, Filter für sensible Informationen (PII-Redaktion) und kontextuelle Erdungsprüfungen. Auf InvokeModel-Eingabe und -Ausgabe anwenden.
Warum: Guardrails sind modellunabhängig und in beide Richtungen anwendbar; sie überdauern jeden einzelnen Modellaustausch.
Guardrail blockiert legitime Finanzantworten, die Dollarbeträge nennen.
Verringern Sie die Sensibilitätsebene des betroffenen Inhaltsfilters (z.B. `MEDIUM` → `LOW`) und/oder entfernen Sie zu weit gefasste Formulierungen abgelehnter Themen. Vor der erneuten Bereitstellung gegen einen Benchmark-Prompt-Satz erneut testen.
Medizinische Zusammenfassungs-App darf keine Fakten über die Quelldokumente hinaus erfinden.
Bedrock Guardrails kontextuelle Erdungsprüfung mit einem hohen Relevanz- + Erdungsschwellenwert aktivieren. Antworten unterhalb des Schwellenwerts werden blockiert oder durch eine sichere Standardnachricht ersetzt.
Warum: Reines RAG halluziniert immer noch, wenn das Modell aus abgerufenen Chunks zu stark verallgemeinert. Kontextuelle Erdung bewertet die Übereinstimmung von Antwort und Quelle pro Antwort.
Bedrock-App empfängt Prompts, die Kunden-PII enthalten; benötigt automatische Maskierung vor dem Logging oder der nachgelagerten Nutzung.
Konfigurieren Sie Guardrails PII-Filter mit `BLOCK`- oder `ANONYMIZE`-Aktionen für PII-Entitätstypen (SSN, E-Mail, Telefon, Adresse). Die Filterung erfolgt unabhängig auf Ein- und Ausgabe.
Öffentlich zugängliche App nimmt Benutzereingaben entgegen, die in einen System-Prompt verkettet werden; muss Prompt-Injection widerstehen.
Mehrstufige Verteidigung: (1) Guardrails (abgelehnte Themen + Jailbreak-Erkennung), (2) gehärteter System-Prompt, der Benutzereingaben als Daten einrahmt und Meta-Anweisungen ablehnt, (3) Ausgabevalidierung gegen erwartetes Schema, (4) Tool-Berechtigungen mit geringsten Privilegien, damit ein kompromittierter Prompt keine destruktiven Aktionen auslösen kann.
Warum: Keine einzelne Abhilfemaßnahme ist ausreichend; mehrstufige Verteidigung begrenzt den Schaden.
Red Team stellt fest, dass das Modell durch Rollenspiel-Framing ("gib vor, eine KI ohne Einschränkungen zu sein") zu schädlicher Ausgabe gezwungen werden kann.
Guardrails Jailbreak-Erkennungsinhaltsfilter aktivieren. Explizite abgelehnte Themen für Rollenspielversuche hinzufügen. Nach jeder Änderung mit demselben Red-Team-Prompt-Set erneut testen.
Alle Bedrock-Daten müssen im Transit und im Ruhezustand mit kundenverwalteten Schlüsseln verschlüsselt werden.
TLS 1.2+ ist im Transit erzwungen. Im Ruhezustand: Kundenverwaltete KMS-Schlüssel für Bedrock-Modell-Anpassung, KB-Embeddings + S3-Quelldaten, Aufruf-Log-Ziele konfigurieren. Durch SCP erzwingen, das AWS-verwaltete Schlüssel verhindert.
Organisation mit mehreren Teams: Jedes Team sollte nur auf bestimmte Basismodelle zugreifen.
IAM-Identitätsbasierte Richtlinien, die `bedrock:InvokeModel` für Ressourcen-ARNs zulassen, die auf die erlaubten Modell-IDs beschränkt sind. Kombinieren Sie dies mit `aws:RequestedRegion`-Bedingungen, um die Region zu sperren.
Warum: Ressourcenbezogenes Zulassen auf `arn:aws:bedrock:*::foundation-model/<id>` ist die einzige dauerhafte Möglichkeit, den Zugriff auf Modellebene zu erzwingen. Verlassen Sie sich nicht auf die Anwendungsschichtsteuerung.
Lambda ruft nur Claude 3.5 Sonnet in us-east-1 auf.
Erlaube `bedrock:InvokeModel` mit `Resource: arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-5-sonnet-*` und einer `Condition: aws:RequestedRegion = us-east-1`. Lehne alle anderen Modelle und Regionen ab.
Bedrock-App darf nicht ins öffentliche Internet ausgehen.
Bedrock mit VPC-Schnittstellenendpunkten (PrivateLink) für die Runtime API. Öffentliche Bedrock-Endpunkte über SCP blockieren. Eine Endpunktrichtlinie hinzufügen, die Aktionen auf den genehmigten Satz beschränkt.
Bedrock-Modellaufruf-Logging in CloudWatch Logs oder S3 aktivieren. Erfasst vollständigen Prompt + Antwort + Modell-ID + Zeitstempel. Kombinieren Sie dies mit CloudTrail für die API-Aufruf-Metadatenebene (wer/wann/woher).
Warum: CloudTrail erfasst nur Metadaten; Aufruf-Logging erfasst Inhalte. Compliance erfordert in der Regel beides.
Den GenAI API-Endpunkt hinter API Gateway vor Missbrauch schützen.
AWS WAF mit ratenbasierten Regeln (pro IP), verwaltetem Bot-Control-Regelsatz und einer benutzerdefinierten String-Match-Regel für vermutete Jailbreak-Phrasen. Häufige LLM-DDoS-Muster blockieren (Long-Prompt-Floods).
KI-generierte Bilder nachgelagert zur Inhaltsherkunft erkennen.
Verwenden Sie Titan Image Generator (oder Nova Canvas) - die Ausgaben enthalten ein unsichtbares Wasserzeichen. Überprüfen Sie dies mit der Bedrock Wasserzeichen-Erkennungs-API.
Marketing-Chatbot darf keine Konkurrenten nennen und keine unbegründeten Behauptungen aufstellen.
Guardrails abgelehnte Themen: explizite Liste von Konkurrentennamen + themenbezogene „unverifizierte Produktbehauptungen“. Fügen Sie einen Wortfilter für absolute Behauptungen hinzu („garantiert“, „beste“, „100%“).
Eine Bedrock Guardrail auf Ausgaben eines Nicht-Bedrock-Modells (z.B. selbst gehosteter SageMaker-Endpunkt) anwenden.
Die eigenständige `ApplyGuardrail`-API mit Text + Guardrail-ID + Version aufrufen. Gibt zurück, ob Inhalte blockiert oder geändert wurden und welche Filter ausgelöst wurden.
Warum: Entkoppelt Guardrails vom Modell. Verwenden Sie es als Vorprüfung für Benutzereingaben oder als Nachprüfung für jede Modellausgabe.
Eine einzige Guardrail-Richtlinie muss für us-east-1, eu-west-1 und ap-southeast-1 gelten.
Dieselbe Guardrail (gleiche Konfiguration) in jeder Region neu erstellen. Guardrails sind regionale Ressourcen; verwenden Sie IaC (CloudFormation / CDK / Terraform), um Konfigurationen synchron zu halten.
Warum: Es gibt keine verwaltete Cross-Region-Replikation für Guardrails. IaC ist die einzige dauerhafte Konsistenzlösung.
Angreifer infiziert Dokumente in einer öffentlichen KB, sodass der Agent System-Prompts oder Daten preisgibt, wenn er sie abruft.
Abgerufene KB-Inhalte als nicht vertrauenswürdig behandeln: Guardrails für Eingaben UND Ausgaben aktivieren, abgerufene Chunks durch Prompt-Injection-Erkennung oder Mustererkennung bereinigen, geringste Privilegien für Agenten-Aktionsgruppen erzwingen, damit ein kompromittierter Prompt nicht eskalieren kann.
Warum: Indirekte Injection umgeht die Eingabefilterung - der bösartige Prompt kommt über den abgerufenen Kontext, nicht über die Benutzernachricht.
Benötigt Modellzugriff pro Benutzer in einer mandantenfähigen App mit einer einzigen Backend-Rolle.
Benutzerattribute als Session-Tags während AssumeRole übergeben. Diese über `aws:PrincipalTag/<key>`-Bedingungen in der Bedrock-Identitätsrichtlinie referenzieren, um `bedrock:InvokeModel` pro Benutzer zu steuern.
CloudWatch Logs für kurze Prompts/Antworten, schnelle Logs Insights-Abfragen, kleinere Anwendungen. S3 für hohe Volumina, große Payloads (KB + Agent-Traces), Langzeitaufbewahrung, nachgelagerte Athena/Glue-Analyse. S3 verwenden, wenn eine einzelne Antwort 256 KB überschreiten kann.
Warum: CloudWatch Logs hat Größenbeschränkungen pro Ereignis; S3 hat keine. Wählen Sie nach Payload-Größe und Analysemuster.
Eine öffentliche Chat-API vor DDoS und groß angelegtem Token-Flood-Missbrauch schützen.
AWS Shield Standard ist standardmäßig aktiviert; Shield Advanced für kritische Endpunkte aktivieren für L7-Schutz + 24/7 SRT-Support. Kombinieren Sie mit WAF ratenbasierten Regeln und CloudFront zur Absorption am Edge.
Workflow vor dem Fine-Tuning eines Bedrock-Modells anhand von Kundensupport-Transkripten.
Pipeline: S3-Quelle → Macie Discovery Job zur Identifizierung von PII → Comprehend PII-Erkennung + Redaktion (oder Glue mit Regex) → bereinigter Datensatz in einem separaten S3-Präfix → Bedrock Fine-Tune. Macie-Fehler lösen EventBridge → SNS an Sicherheitspersonal im Bereitschaftsdienst aus.
Warum: Sobald Daten in die Gewichte gelangen, erfordert die Entfernung ein erneutes Training. Die Vorab-Redaktion ist weitaus kostengünstiger als ein erneutes Training nach einem Vorfall.
Betriebliche Effizienz und Optimierung
Wählen Sie On-Demand vs. Provisioned Throughput.
Variabler / unbekannter Traffic → On-Demand. Stetig hohes Volumen mit garantierter Durchsatz-SLA → Provisioned Throughput (Modelleinheiten, 1- oder 6-Monats-Commitment). Benutzerdefinierte (feinabgestimmte, importierte) Modelle → Provisioned Throughput ist obligatorisch.
Warum: On-Demand ist pro Token, keine Verpflichtung. PT ist pro Stunde, dedizierte Kapazität, ~50% billiger pro Token bei hoher Auslastung.
App verwendet denselben 4.000-Token-System-Prompt bei allen Benutzerinteraktionen wieder; nur die Benutzernachricht ändert sich.
Bedrock Prompt-Caching aktivieren. Das statische Präfix als cachefähig markieren; nachfolgende Aufrufe überspringen die erneute Verarbeitung für ~5 Minuten Cache-TTL, wodurch die Kosten pro Aufruf um ~90% bei gecachten Token gesenkt werden.
Viele Benutzer stellen ähnliche, aber nicht identische Fragen; möchten Antworten über Paraphrasen hinweg cachen.
Die Benutzerabfrage einbetten und die nächsten Nachbarn in einem Vektor-Cache (DynamoDB + ElastiCache oder OpenSearch) oberhalb eines Ähnlichkeitsschwellenwerts nachschlagen. Cache-Treffer → gespeicherte Antwort zurückgeben. Cache-Fehler → Bedrock aufrufen und zurückschreiben.
Warum: Standard-Key-Value-Caches verfehlen Paraphrasen. Semantische Ähnlichkeit erfasst die Absicht.
Kosten pro Aufruf in einer Bedrock-App reduzieren.
Den System-Prompt straffen, redundante Few-Shot-Beispiele entfernen, explizite `maxTokens` für die Ausgabe festlegen, Stoppsequenzen verwenden, um frühzeitig zu beenden. Ein kleineres Modell wählen, wo die Qualität es zulässt.
Warum: Die Kosten sind grob proportional zur Gesamtanzahl der verarbeiteten Token. Output-Token sind typischerweise höher bepreist als Input-Token - das Begrenzen des Outputs hat eine große Hebelwirkung.
OpenSearch Serverless KB hat 800 ms Abfragelatenz; benötigt <200 ms.
Erhöhen Sie den OCU-Mindestwert für die Suchsammlung (mehr Rechenleistung = mehr gecachte Vektoren). Reduzieren Sie die Embedding-Dimension, erhöhen Sie Top-K eng, kürzen Sie Metadaten, aktivieren Sie das Ergebnis-Caching auf Anwendungsebene.
Lang laufende Fine-Tuning-Jobs, die Unterbrechungen tolerieren; Kosten minimieren.
Für SageMaker Fine-Tuning Managed Spot Training verwenden (bis zu 90 % Rabatt). Bedrocks natives Fine-Tuning ist nur On-Demand - wählen Sie SageMaker JumpStart für spot-berechtigtes benutzerdefiniertes Training, wenn das Budget dominiert.
Bedrock-Ausgaben auf Teams oder Produktlinien verteilen.
Kostenverteilungstags auf Bedrock-Ressourcen (Provisioned Throughput, benutzerdefinierte Modelle, Anwendungs-Stacks) anwenden. Tags in Billing → Cost Allocation Tags aktivieren. Berichte werden pro Tag aufgeschlüsselt.
Bedrock On-Demand mit kleinstem kompetentem Modell (Titan Text Lite, Claude Haiku oder Nova Micro). Lambda + API Gateway HTTP API. Keine KB, wenn FAQ in System-Prompt passt; kleine KB auf Aurora pgvector, falls benötigt.
Provisioned Throughput für eine Bedrock-Workload im Gleichgewichtszustand dimensionieren.
Spitzen-Input + Output-Token pro Sekunde auf Shadow Traffic messen. Bedrock veröffentlicht den Durchsatz pro Modelleinheit; `ceil(Spitzen-TPS / Pro-Einheit-TPS)` Einheiten bereitstellen. Mit Shadow Traffic validieren, bevor ein Commitment eingegangen wird.
Warum: Unter-Bereitstellung führt zu Drosselung; Über-Bereitstellung verschwendet das stündliche Commitment. Empirische Dimensionierung mit Shadow Traffic ist der einzig zuverlässige Ansatz.
Bedrock-Kosten pro Anwendung oder Team in einem gemeinsamen Konto zuweisen.
Anwendungsinferenzprofile pro App erstellen, Kostenverteilungstags (z.B. `application=chatbot-X`, `team=marketing`) anhängen. Jeder Aufruf referenziert den Profil-ARN; Cost Explorer schlüsselt die Ausgaben pro Tag auf.
Drei Basismodelle bei einer Zusammenfassungsaufgabe vergleichen; automatisierte, reproduzierbare Evaluierung gewünscht.
Amazon Bedrock Model Evaluation Jobs (automatisch). Stellen Sie einen Prompt-Datensatz bereit; Bedrock führt jedes Modell aus und meldet BLEU, ROUGE, BERTScore sowie gegebenenfalls Toxizität / Genauigkeit.
ROUGE-Scores sehen hoch aus, aber menschliche Leser sagen, die Zusammenfassungen verfehlen Kernpunkte.
Wechseln Sie zur Bedrock-basierten menschlichen Evaluierung mit benutzerdefinierten Metriken (Relevanz, Vollständigkeit, Treue). Definieren Sie eine Rubrik, leiten Sie eine Stichprobe an eine Arbeitskraft weiter, aggregieren Sie Scores.
Warum: Metriken für lexikalische Überlappung (BLEU, ROUGE) erfassen die semantische Treue nicht. Menschliche Evaluierung ist die Ground Truth für subjektive Aufgaben.
Benötigt skalierte, reproduzierbare Evaluierung, aber reine menschliche Überprüfung ist zu langsam/teuer.
Bedrock LLM-als-Richter-Evaluierung. Ein starkes Modell bewertet Antworten nach einer Rubrik; die Ergebnisse korrelieren gut mit menschlichen Prüfern und laufen in Minuten statt Tagen.
Generierte Portfolio-Zusammenfassungen müssen exakt mit den Zahlen im Quelldokument übereinstimmen.
Generierung einschränken: niedrige Temperatur (0-0.2), strenge Prompt-Anweisungen („Zahlen wörtlich aus der Quelle zitieren“), Guardrails kontextuelle Erdungsprüfung der Ausgabe, Post-Generierungs-Regex/Parser, der Zahlen gegen die Quelle validiert.
Warum: Selbst mit geerdetem RAG paraphrasieren Modelle Zahlen. Mehrere Ebenen (Prompt + Grounding + Parser) fangen die Restfälle ab.
RAG gibt oft „Ich habe nicht genug Informationen“ zurück, selbst für Themen, die in der KB behandelt werden.
Agent gibt veraltete Preise zurück, selbst nach einer kürzlichen KB-Synchronisierung; Datenquelle ist S3 mit Versionierung.
Bestätigen Sie, dass der neueste IngestionJob `status: COMPLETE` und `documentsModified` die neuen Objekte widerspiegelt. Versionierung bedeutet, dass nicht-aktuelle Versionen immer noch indiziert werden können, wenn die Datenquelle nicht nur auf aktuelle Versionen beschränkt ist - überprüfen Sie den Datenquellenfilter und synchronisieren Sie erneut.
HR-Agent enthüllt gelegentlich Gehaltsinformationen über andere Mitarbeiter, wenn geschickt gefragt.
Die Anweisungen des Agenten präzisieren („Antworten Sie nur auf die Daten des anfragenden Benutzers“), die Aktionsgruppe über Sitzungsattribute steuern, die die Benutzer-ID enthalten, IAM auf der Lambda-Funktion, die die Aktionsgruppe unterstützt, so einschränken, dass nur die eigenen Datensätze des Benutzers abgefragt werden, ein Guardrails-Thema für abgelehnte Gehaltsabfragen zwischen Benutzern hinzufügen.
Bedrock-Aufrufe weisen intermittierende p95-Latenzspitzen auf.
CloudWatch `InvocationThrottles` (Rate-Limit-Überschreitungen) und `ModelLatency` überprüfen; AWS X-Ray Tracing auf der aufrufenden Lambda aktivieren; CloudWatch Logs Insights auf langsame Tool-Aufrufe oder KB-Abrufe überprüfen. Abmildern durch Cross-Region-Inferenz, kleineres Modell, Prompt-Caching oder Batching.
Von Claude v2 auf Claude 3.5 Sonnet ohne Regressionen migrieren.
Einen Bedrock-Evaluierungsjob durchführen, der beide an einem repräsentativen Prompt-Set vergleicht. Dann Shadow Traffic in Produktion: dieselbe Eingabe an beide senden, Ausgaben offline vergleichen. Mit AppConfig Feature Flag bei 10 % → 50 % → 100 % hochstufen.
Bedrock Modell-Evaluierung als Teil von CI/CD bei jeder Modellkonfigurationsänderung ausführen.
Die `CreateEvaluationJob`-API verwenden. Datensatz in S3, Evaluatoren (eingebaut oder benutzerdefiniert) und Zielmodelle definieren. Job-Status abfragen; bei `COMPLETED` mit Metriken über Schwellenwerten befördern.
Warum: Die Studio-Benutzeroberfläche ist für einmalige Aktionen; die API ist der einzige Weg zu automatisierten, wiederholbaren Evaluierungs-Gates.
Qualitätsrückschritte beim Upgrade des Basismodells in Produktion vermeiden.
Einen kuratierten Regressionstest-Set pflegen: 100-500 repräsentative Prompts mit erwarteten Ausgaben (oder Rubriken). Bei jedem Modellwechsel über Bedrock Model Evaluation ausführen. Beförderung blockieren, wenn die Scores unter einen definierten Schwellenwert fallen.
Messen, ob das Modell im Tool-Use-Chat das richtige Tool mit den richtigen Argumenten auswählt.
Einen gelabelten Satz erstellen: Prompt + erwarteter `toolUse`-Block(s). Über einen benutzerdefinierten Evaluator ausführen, der den tatsächlichen vs. erwarteten Tool-Namen + JSON-Argumente vergleicht. Präzision/Recall pro Tool verfolgen.
Warum: Lexikalische Metriken (BLEU) erfassen nicht, ob der Agent die richtige Aktion aufgerufen hat. Tool-Use-Genauigkeit ist die richtige Metrik für Agenten-Workloads.