[{"data":1,"prerenderedAt":2189},["ShallowReactive",2],{"practiceExams":3,"courses-\u002Fcourses\u002Faws-certified-generative-ai-developer-professional":153,"practice-exams-\u002Fcourses\u002Faws-certified-generative-ai-developer-professional":202,"course-\u002Fcourses\u002Faws-certified-generative-ai-developer-professional":245},[4,17,28,39,49,59,70,80,90,101,111,122,134,145],{"id":5,"slug":6,"description":7,"questionCount":8,"isActive":9,"datePublicModified":10,"difficulty":11,"examVersion":16},1,"aws-certified-solutions-architect-associate-saa-c03","Unlock your potential with the AWS Certified Solutions Architect - Associate Practice Exam Simulator. This comprehensive tool is designed to prepare you thoroughly and assess your readiness for the most sought-after AWS associate certification.",1203,true,"2026-10-30T00:00:00.000Z",{"title":12,"subtitle":13,"slug":14,"coverImageUrl":15},"AWS Certified Solutions Architect - Associate","SAA-C03","aws-certified-solutions-architect-associate","\u002Fimages\u002Fdifficulties\u002Faws-certified-solutions-architect-associatesaa-c03\u002Fcovers\u002Faws-SAA-C03.png",{"slug":6,"pageSlug":14},{"id":18,"slug":19,"description":20,"questionCount":21,"isActive":9,"datePublicModified":10,"difficulty":22,"examVersion":27},5,"aws-certified-cloud-practitioner-clf-c02","Master your AWS Certified Cloud Practitioner exam with our Practice Exam Simulator. Prepare effectively and assess your readiness with realistic practice exams designed to mirror the most popular official AWS exam.",937,{"title":23,"subtitle":24,"slug":25,"coverImageUrl":26},"AWS Certified Cloud Practitioner","CLF-C02","aws-certified-cloud-practitioner","\u002Fimages\u002Fdifficulties\u002Faws-certified-cloud-practitionerclf-c02\u002Fcovers\u002Faws-CLF-C02.png",{"slug":19,"pageSlug":25},{"id":29,"slug":30,"description":31,"questionCount":32,"isActive":9,"datePublicModified":10,"difficulty":33,"examVersion":38},8,"aws-certified-devops-engineer-professional-dop-c02","Boost your readiness for the AWS Certified DevOps Engineer - Professional (DOP-C02) exam with our practice exam simulator. Featuring realistic questions and detailed explanations, it helps you identify knowledge gaps and improve your skills.",1040,{"title":34,"subtitle":35,"slug":36,"coverImageUrl":37},"AWS Certified DevOps Engineer - Professional","DOP-C02","aws-certified-devops-engineer-professional","",{"slug":30,"pageSlug":36},{"id":40,"slug":41,"description":42,"questionCount":43,"isActive":9,"datePublicModified":10,"difficulty":44,"examVersion":48},9,"aws-certified-data-engineer-associate-dea-c01","Prepare for your AWS Certified Data Engineer - Associate exam with our practice exam simulator. Featuring real exam scenarios, detailed explanations, and instant feedback to boost your confidence and success rate.",891,{"title":45,"subtitle":46,"slug":47,"coverImageUrl":37},"AWS Certified Data Engineer - Associate","DEA-C01","aws-certified-data-engineer-associate",{"slug":41,"pageSlug":47},{"id":50,"slug":51,"description":52,"questionCount":53,"isActive":9,"datePublicModified":10,"difficulty":54,"examVersion":58},11,"aws-certified-ai-practitioner-aif-c01","Prepare for the AWS Certified AI Practitioner exam with our practice exam simulator. Realistic questions on AI, machine learning and generative AI fundamentals, with detailed explanations, help you find your knowledge gaps and assess your readiness.",928,{"title":55,"subtitle":56,"slug":57,"coverImageUrl":37},"AWS Certified AI Practitioner","AIF-C01","aws-certified-ai-practitioner",{"slug":51,"pageSlug":57},{"id":60,"slug":61,"description":62,"questionCount":63,"isActive":9,"datePublicModified":64,"difficulty":65,"examVersion":69},17,"aws-certified-generative-ai-developer-professional-aip-c01","Get ready for the AWS Certified Generative AI Developer - Professional exam with our practice exam simulator. Realistic scenario-based questions with detailed explanations help you assess your readiness to build generative AI solutions on AWS.",982,"2026-10-29T00:00:00.000Z",{"title":66,"subtitle":67,"slug":68,"coverImageUrl":37},"AWS Certified Generative AI Developer - Professional","AIP-C01","aws-certified-generative-ai-developer-professional",{"slug":61,"pageSlug":68},{"id":71,"slug":72,"description":73,"questionCount":74,"isActive":9,"datePublicModified":64,"difficulty":75,"examVersion":79},19,"aws-certified-machine-learning-engineer-associate-mla-c02","Prepare for the AWS Certified Machine Learning Engineer - Associate exam with our practice exam simulator. Realistic questions with detailed explanations help you find your knowledge gaps and assess your readiness to build and run ML workloads on AWS.",861,{"title":76,"subtitle":77,"slug":78,"coverImageUrl":37},"AWS Certified Machine Learning Engineer - Associate","MLA-C02","aws-certified-machine-learning-engineer-associate",{"slug":72,"pageSlug":78},{"id":81,"slug":82,"description":83,"questionCount":84,"isActive":9,"datePublicModified":64,"difficulty":85,"examVersion":89},21,"aws-certified-cloudops-engineer-associate-soa-c03","Prepare for the AWS Certified CloudOps Engineer - Associate exam with our practice exam simulator. Realistic questions with detailed explanations help you assess your readiness to deploy, operate and troubleshoot workloads on AWS.",862,{"title":86,"subtitle":87,"slug":88,"coverImageUrl":37},"AWS Certified CloudOps Engineer - Associate","SOA-C03","aws-certified-cloudops-engineer-associate",{"slug":82,"pageSlug":88},{"id":91,"slug":92,"description":93,"questionCount":94,"isActive":9,"datePublicModified":64,"difficulty":95,"examVersion":100},13,"aws-certified-security-specialty-scs-c03","Advance your career in cloud security with the AWS Certified Security - Specialty (SCS-C03) Exam Simulator. Realistic, scenario-based practice exams mirror the official exam, with detailed explanations to close your knowledge gaps.",864,{"title":96,"subtitle":97,"slug":98,"coverImageUrl":99},"AWS Certified Security - Specialty","SCS-C03","aws-certified-security-specialty","\u002Fimages\u002Fdifficulties\u002Faws-certified-security-specialtyscs-c02\u002Fcovers\u002Faws_SCS_c02.png",{"slug":92,"pageSlug":98},{"id":102,"slug":103,"description":104,"questionCount":105,"isActive":9,"datePublicModified":64,"difficulty":106,"examVersion":110},15,"aws-certified-ai-business-strategist-aib-c01","Prepare for the AWS Certified AI Business Strategist exam with our practice exam simulator. Realistic, scenario-based questions with detailed explanations help you assess your readiness to lead AI adoption on AWS and close your knowledge gaps.",848,{"title":107,"subtitle":108,"slug":109,"coverImageUrl":37},"AWS Certified AI Business Strategist","AIB-C01","aws-certified-ai-business-strategist",{"slug":103,"pageSlug":109},{"id":112,"slug":113,"description":114,"questionCount":115,"isActive":9,"datePublicModified":116,"difficulty":117,"examVersion":121},10,"aws-certified-advanced-networking-specialty-ans-c01","The AWS Certified Advanced Networking - Specialty practice exam simulates the real test, offering scenario-based questions that assess your ability to design, implement, and troubleshoot complex AWS networking solutions. ",681,"2024-11-13T00:00:00.000Z",{"title":118,"subtitle":119,"slug":120,"coverImageUrl":37},"AWS Certified Advanced Networking - Specialty","ANS-C01","aws-certified-advanced-networking-specialty",{"slug":113,"pageSlug":120},{"id":123,"slug":124,"description":125,"questionCount":126,"isActive":9,"datePublicModified":127,"difficulty":128,"examVersion":133},4,"aws-certified-developer-associate-dva-c02","Unlock your potential as a software developer with the AWS Certified Developer - Associate Exam Simulator! Prepare thoroughly with realistic practice exams designed to mirror the official exam.",399,"2024-06-06T00:00:00.000Z",{"title":129,"subtitle":130,"slug":131,"coverImageUrl":132},"AWS Certified Developer - Associate","DVA-C02","aws-certified-developer-associate","\u002Fimages\u002Fdifficulties\u002Faws-certified-developer-associatedva-c02\u002Fcovers\u002Faws-DVA-C02.png",{"slug":124,"pageSlug":131},{"id":135,"slug":136,"description":137,"questionCount":138,"isActive":9,"datePublicModified":127,"difficulty":139,"examVersion":144},6,"aws-certified-solutions-architect-professional-sap-c02","Elevate your career with the AWS Certified Solutions Architect - Professional Exam Simulator. Get ready to ace the most popular Professional AWS exam with our realistic practice exams. Assess your readiness, boost your confidence, and ensure your success.",789,{"title":140,"subtitle":141,"slug":142,"coverImageUrl":143},"AWS Certified Solutions Architect - Professional","SAP-C02","aws-certified-solutions-architect-professional","\u002Fimages\u002Fdifficulties\u002Faws-certified-solutions-architect-professionalsap-c02\u002Fcovers\u002Faws-SAP-C02.png",{"slug":136,"pageSlug":142},{"id":146,"slug":147,"description":148,"questionCount":149,"isActive":9,"datePublicModified":127,"difficulty":150,"examVersion":151},7,"aws-certified-security-specialty-scs-c02","Advance your career in cloud cybersecurity with the AWS Certified Security - Specialty Exam Simulator! Tailored for professionals, this tool offers realistic practice exams to mirror the official exam.",5431,{"title":96,"subtitle":97,"slug":98,"coverImageUrl":99},{"slug":147,"pageSlug":152},null,[154,160,166,171,176,180,184,188,192,197],{"id":5,"slug":19,"examVersionId":155,"description":156,"difficulty":157,"examVersion":158,"lessonsCount":159},3,"Unlock your cloud computing potential with our interactive AWS course designed for the AWS Certified Cloud Practitioner exam. Gain hands-on experience, understand core AWS services, and confidently ace your certification.",{"id":155,"title":23,"subtitle":24,"slug":25},{"slug":19,"pageSlug":25},353,{"id":161,"slug":6,"examVersionId":5,"description":162,"difficulty":163,"examVersion":164,"lessonsCount":165},2,"Master cloud architecture with our comprehensive interactive course tailored for the AWS Certified Solutions Architect - Associate exam. Learn to design scalable, cost-effective AWS solutions.",{"id":5,"title":12,"subtitle":13,"slug":14},{"slug":6,"pageSlug":14},495,{"id":135,"slug":30,"examVersionId":135,"description":167,"difficulty":168,"examVersion":169,"lessonsCount":170},"Master the AWS Certified DevOps Engineer - Professional (DOP-C02) exam with our interactive course. Engage with hands-on labs, real-world scenarios, and expert guidance to enhance your skills. Learn at your own pace and ensure exam success.",{"id":135,"title":34,"subtitle":35,"slug":36},{"slug":30,"pageSlug":36},381,{"id":146,"slug":41,"examVersionId":146,"description":172,"difficulty":173,"examVersion":174,"lessonsCount":175},"Master the AWS Certified Data Engineer - Associate exam with our interactive course. Explore real-world scenarios and expert guidance to build your skills and pass with confidence. Start your certification journey now!",{"id":146,"title":45,"subtitle":46,"slug":47},{"slug":41,"pageSlug":47},341,{"id":40,"slug":51,"examVersionId":40,"description":37,"difficulty":177,"examVersion":178,"lessonsCount":179},{"id":40,"title":55,"subtitle":56,"slug":57},{"slug":51,"pageSlug":57},246,{"id":50,"slug":92,"examVersionId":60,"description":152,"difficulty":181,"examVersion":182,"lessonsCount":183},{"id":18,"title":96,"subtitle":97,"slug":98},{"slug":92,"pageSlug":98},272,{"id":91,"slug":103,"examVersionId":71,"description":152,"difficulty":185,"examVersion":186,"lessonsCount":187},{"id":50,"title":107,"subtitle":108,"slug":109},{"slug":103,"pageSlug":109},221,{"id":102,"slug":61,"examVersionId":81,"description":152,"difficulty":189,"examVersion":190,"lessonsCount":191},{"id":91,"title":66,"subtitle":67,"slug":68},{"slug":61,"pageSlug":68},368,{"id":60,"slug":72,"examVersionId":193,"description":152,"difficulty":194,"examVersion":195,"lessonsCount":196},23,{"id":102,"title":76,"subtitle":77,"slug":78},{"slug":72,"pageSlug":78},391,{"id":71,"slug":82,"examVersionId":198,"description":152,"difficulty":199,"examVersion":200,"lessonsCount":201},25,{"id":60,"title":86,"subtitle":87,"slug":88},{"slug":82,"pageSlug":88},218,[203,206,209,212,215,218,221,224,227,230,233,236,239,242],{"id":5,"slug":6,"description":7,"questionCount":8,"isActive":9,"datePublicModified":10,"difficulty":204,"examVersion":205},{"title":12,"subtitle":13,"slug":14,"coverImageUrl":15},{"slug":6,"pageSlug":14},{"id":18,"slug":19,"description":20,"questionCount":21,"isActive":9,"datePublicModified":10,"difficulty":207,"examVersion":208},{"title":23,"subtitle":24,"slug":25,"coverImageUrl":26},{"slug":19,"pageSlug":25},{"id":29,"slug":30,"description":31,"questionCount":32,"isActive":9,"datePublicModified":10,"difficulty":210,"examVersion":211},{"title":34,"subtitle":35,"slug":36,"coverImageUrl":37},{"slug":30,"pageSlug":36},{"id":40,"slug":41,"description":42,"questionCount":43,"isActive":9,"datePublicModified":10,"difficulty":213,"examVersion":214},{"title":45,"subtitle":46,"slug":47,"coverImageUrl":37},{"slug":41,"pageSlug":47},{"id":50,"slug":51,"description":52,"questionCount":53,"isActive":9,"datePublicModified":10,"difficulty":216,"examVersion":217},{"title":55,"subtitle":56,"slug":57,"coverImageUrl":37},{"slug":51,"pageSlug":57},{"id":91,"slug":92,"description":93,"questionCount":94,"isActive":9,"datePublicModified":64,"difficulty":219,"examVersion":220},{"title":96,"subtitle":97,"slug":98,"coverImageUrl":99},{"slug":92,"pageSlug":98},{"id":102,"slug":103,"description":104,"questionCount":105,"isActive":9,"datePublicModified":64,"difficulty":222,"examVersion":223},{"title":107,"subtitle":108,"slug":109,"coverImageUrl":37},{"slug":103,"pageSlug":109},{"id":60,"slug":61,"description":62,"questionCount":63,"isActive":9,"datePublicModified":64,"difficulty":225,"examVersion":226},{"title":66,"subtitle":67,"slug":68,"coverImageUrl":37},{"slug":61,"pageSlug":68},{"id":71,"slug":72,"description":73,"questionCount":74,"isActive":9,"datePublicModified":64,"difficulty":228,"examVersion":229},{"title":76,"subtitle":77,"slug":78,"coverImageUrl":37},{"slug":72,"pageSlug":78},{"id":81,"slug":82,"description":83,"questionCount":84,"isActive":9,"datePublicModified":64,"difficulty":231,"examVersion":232},{"title":86,"subtitle":87,"slug":88,"coverImageUrl":37},{"slug":82,"pageSlug":88},{"id":112,"slug":113,"description":114,"questionCount":115,"isActive":9,"datePublicModified":116,"difficulty":234,"examVersion":235},{"title":118,"subtitle":119,"slug":120,"coverImageUrl":37},{"slug":113,"pageSlug":120},{"id":123,"slug":124,"description":125,"questionCount":126,"isActive":9,"datePublicModified":127,"difficulty":237,"examVersion":238},{"title":129,"subtitle":130,"slug":131,"coverImageUrl":132},{"slug":124,"pageSlug":131},{"id":135,"slug":136,"description":137,"questionCount":138,"isActive":9,"datePublicModified":127,"difficulty":240,"examVersion":241},{"title":140,"subtitle":141,"slug":142,"coverImageUrl":143},{"slug":136,"pageSlug":142},{"id":146,"slug":147,"description":148,"questionCount":149,"isActive":9,"datePublicModified":127,"difficulty":243,"examVersion":244},{"title":96,"subtitle":97,"slug":98,"coverImageUrl":99},{"slug":147,"pageSlug":152},{"id":102,"slug":61,"description":152,"datePublicModified":64,"difficulty":246,"examVersion":2188,"lessonsCount":191,"previousExamVersion":152,"newerExamVersion":152},{"id":91,"title":66,"subtitle":67,"rating":152,"slug":68,"guideUrl":152,"categories":247},[248,1001,1490,1780,2051],{"id":249,"title":250,"subtitle":152,"subcategories":251},137,"Foundation Model Integration, Data Management, and Compliance",[252,426,545,639,733,862],{"id":253,"title":254,"subtitle":152,"lessons":255},511,"Implement prompt engineering strategies and governance for FM interactions",[256,261,266,271,276,281,286,291,296,301,306,311,316,321,326,331,336,341,346,351,356,361,366,371,376,381,386,391,396,401,406,411,416,421],{"slug":257,"title":258,"focus":259,"teaser":260},"instruction-hierarchy-trusted-roles-and-conflict-resolution-aip-c01","Instruction Hierarchy: trusted roles and conflict resolution","How to implement and test model-specific instruction precedence while keeping user requests and external content outside trusted instruction fields.","Instruction hierarchy resolves conflicting directions by authority, not by position, length, or emphasis. Before implementing it, define a model-interface contract: the exact model and API, supported instruction fields and message roles, documented precedence, and handling of conversation history. Do not assume that a separate developer role exists everywhere. Amazon Bedrock Converse separates a system field from user and assistant messages, but system-prompt support depends on the model.",{"slug":262,"title":263,"focus":264,"teaser":265},"ai-guardrails-enforcing-responsible-ai-policies-aip-c01","AI Guardrails: enforcing responsible-AI policies","How to translate policy requirements into independently enforced input and output checks, including sensitive-data redaction, refusal rules, and safe behavior when checks fail.","A responsible-AI policy becomes enforceable when each rule names its scope, detector, action, and failure behavior. “Protect customer information” is incomplete. Specify which information, whether it is forbidden before inference or only before disclosure, whether to mask or reject it, and what happens when detection cannot complete.",{"slug":267,"title":268,"focus":269,"teaser":270},"instruction-hierarchy-vs-ai-guardrails-aip-c01","Instruction Hierarchy vs. AI Guardrails","How resolving conflicts by instruction authority differs from screening model inputs and outputs against safety policies.","Instruction hierarchy answers: “Which instruction should govern when directions conflict?” Authority comes from the model interface’s supported roles and precedence rules, not from an instruction’s position, urgency, or wording. System-level instructions commonly outrank user requests, but exact roles vary by model and API. Compatible lower-priority requests still apply.",{"slug":272,"title":273,"focus":274,"teaser":275},"prompt-templates-instruction-boundaries-and-response-contracts-aip-c01","Prompt Templates: instruction boundaries and response contracts","How templates separate authoritative instructions from runtime content and specify response contracts without treating prompt instructions as enforceable security controls.","A prompt template constructs a model request from application-controlled instructions and runtime values. Keep the task, evidence rules, and response contract in the instruction locations supported by the chosen model interface. With structured messages, use actual role fields rather than strings such as SYSTEM: inside document text. Role support and instruction-following behavior vary by model.",{"slug":277,"title":278,"focus":279,"teaser":280},"context-window-enforcing-request-capacity-aip-c01","Context Window: enforcing request capacity","How to enforce model-specific token budgets through output reservation and selective context reduction, using token accounting to detect overflow and unintended truncation.","Capacity enforcement starts with the selected model version and inference API, not a universal token limit. Record its shared context limit, any separate input limit, its output limit, and how it accounts for tool use and reasoning tokens where applicable. Revalidate these rules when changing models or APIs.",{"slug":282,"title":283,"focus":284,"teaser":285},"conversation-memory-persistent-state-for-agents-aip-c01","Conversation Memory: persistent state for agents","How agents maintain durable conversational state across turns and sessions, selectively restoring relevant memories while enforcing identity boundaries and consistent updates.","Conversation memory is application state that survives model invocations. The model uses the context supplied for an invocation; storing a transcript does not make that transcript available automatically, and supplying history does not train the model. A durable record and the context selected from it are different things.",{"slug":287,"title":288,"focus":289,"teaser":290},"amazon-dynamodb-conversation-history-data-modeling-aip-c01","Amazon DynamoDB: conversation history data modeling","How to model conversation histories with session-scoped partition keys, ordered message queries, conditional writes for concurrent updates, and TTL-aware retention.","Store one item per message, rather than repeatedly replacing a transcript list. Use a session-scoped partition key such as TENANT#t7#SESSION#s9. This supports a Query for one conversation without reading other sessions. Derive the tenant scope from authenticated identity; a key naming convention alone does not enforce authorization.",{"slug":292,"title":293,"focus":294,"teaser":295},"amazon-comprehend-custom-text-classification-aip-c01","Amazon Comprehend: custom text classification","How to train, evaluate, and deploy custom classifiers with confidence-based decisions for application-defined intent and unsafe-input categories.","Custom text classification learns your categories from labeled examples; it does not discover your application's policy automatically. Define labels such as RESET_PASSWORD, CHECK_ORDER, and UNSAFE_REQUEST with inclusion rules, exclusions, and borderline examples. An unsafe-input label describes your policy, not a universal property of text. Include realistic benign requests, confusing near-matches, and adversarial wording—not just obvious unsafe examples.",{"slug":297,"title":298,"focus":299,"teaser":300},"intent-classification-resolving-intent-across-conversation-turns-aip-c01","Intent Classification: resolving intent across conversation turns","How relevant conversation state and targeted clarification resolve ambiguous requests and intent changes before a validated intent label controls routing.","Intent classification across turns assigns a goal using the latest message and relevant conversation state. After “Where is order A17?”, “Cancel it instead” changes the goal from check_order_status to cancel_order. The order reference can remain relevant; the previous intent must not become a permanent constraint.",{"slug":302,"title":303,"focus":304,"teaser":305},"amazon-s3-version-controlled-template-repositories-aip-c01","Amazon S3: version-controlled template repositories","How S3 Versioning, version-specific access, and object-level audit logging support controlled storage, retrieval, and rollback of prompt templates without providing an approval workflow.","Enable S3 Versioning on a general purpose bucket before publishing templates. Each subsequent write to a key receives a version ID; replacing the template creates another version instead of overwriting the previous version. A read without a version ID selects the current version, not a reviewed release.",{"slug":307,"title":308,"focus":309,"teaser":310},"version-control-tracing-prompt-regressions-aip-c01","Version Control: tracing prompt regressions","How to compare preserved prompt revisions and their recorded execution context to isolate changes responsible for response regressions.","A prompt regression is a decline against a defined quality criterion, not merely a different answer. To investigate it, identify the last acceptable release and the first suspect release. Preserve their exact prompt revisions and connect each to its application release and evaluation evidence. A movable label such as latest is not enough to identify what ran.",{"slug":312,"title":313,"focus":314,"teaser":315},"prompt-templates-regression-testing-and-fault-isolation-aip-c01","Prompt Templates: regression testing and fault isolation","How controlled comparisons of rendered template versions isolate instruction ambiguity, variable-substitution defects, and response-format regressions while holding model settings constant.","A paired comparison runs a baseline template and a candidate template against the same versioned test cases. Freeze the variable values, retrieved context, conversation history, tool results, and expected outcomes. Hold the model identifier or version, inference settings, output constraints, and request-building code constant. If the renderer itself is under investigation, compare renderer versions separately rather than changing both renderer and template.",{"slug":317,"title":318,"focus":319,"teaser":320},"audit-logging-ai-interaction-evidence-aip-c01","Audit Logging: AI interaction evidence","How to design privacy-aware audit records that link identities, model interactions, and policy decisions into a reconstructable evidence trail.","An AI audit trail must connect who requested an action, what the application attempted, which model was used, which policies were evaluated, and what the user actually received. Record structured events with a schema version, event ID, event type, event time, actor, action, target, source context, and outcome. A readable message alone is not a reliable evidence contract.",{"slug":322,"title":323,"focus":324,"teaser":325},"amazon-cloudwatch-and-aws-cloudtrail-application-telemetry-versus-api-audit-history-aip-c01","Amazon CloudWatch and AWS CloudTrail: application telemetry versus API audit history","How application observability records differ from AWS API activity records, and which service supplies evidence for each kind of operational or audit question.","Amazon CloudWatch supplies operational evidence through metrics and logs. AWS services publish service telemetry, while application instrumentation supplies details such as interaction identifiers, selected prompt versions, retry attempts, evaluation results, and business outcomes. CloudWatch does not automatically discover these application meanings: a quality score or approval decision must be produced and recorded by the application or another evaluator.",{"slug":327,"title":328,"focus":329,"teaser":330},"aws-cloudtrail-audit-trails-for-genai-activity-aip-c01","AWS CloudTrail: audit trails for GenAI activity","How event selection and caller, resource, and request fields establish an audit history of supported Bedrock prompt operations and data-source access, including the limits of content and lineage visibility.","CloudTrail coverage is an event-selection decision, not simply a switch marked “Bedrock logging.” Supported Prompt Management changes, such as CreatePrompt, UpdatePrompt, and CreatePromptVersion, are management activity. Supported model invocation activity is recorded as data events. Recording management events alone does not establish an invocation history.",{"slug":332,"title":333,"focus":334,"teaser":335},"amazon-cloudwatch-logs-governed-log-collection-aip-c01","Amazon CloudWatch Logs: governed log collection","How to collect structured application decision records with appropriate retention, access controls, encryption, and sensitive-data protection while preserving useful audit context.","A decision record explains an application outcome without requiring the full interaction payload. Emit a structured JSON event containing a schema version, event time, decision ID, correlation ID, model identifier, prompt-template version, policy version, outcome, and reason codes. Use approved source references and pseudonymous subject identifiers where needed; these identifiers can still be sensitive.",{"slug":337,"title":338,"focus":339,"teaser":340},"amazon-cloudwatch-logs-insights-structured-interaction-analysis-aip-c01","Amazon CloudWatch Logs Insights: structured interaction analysis","How to query structured prompt and response logs using parsing, filtering, aggregation, and correlation identifiers to isolate failures and compare behavior across prompt versions.","Start with a stable event contract. In this lesson, the application emits exactly one attempt_complete event per completed model-call attempt, with numeric failed set to 0 or 1 and numeric latencyMs. An interactionId identifies the logical interaction; an attemptId identifies one attempt, including retries. Record the actual promptVersion, model, and task used by that attempt—not the version currently deployed.",{"slug":342,"title":343,"focus":344,"teaser":345},"audit-logging-protected-evidence-archives-aip-c01","Audit Logging: protected evidence archives","How to preserve audit evidence through verified collection, integrity controls, restricted access, and retention that supports later investigation and compliance review.","A protected evidence archive must preserve both records and the ability to explain their provenance. This architecture follows CloudTrail evidence from an organization trail to an isolated archive and a controlled validation session. Arrows show evidence handoffs, not every authorization or public-key lookup. Application interaction records need their own collection path; CloudTrail is not a transcript of model prompts and responses.",{"slug":347,"title":348,"focus":349,"teaser":350},"schema-validation-versus-output-validation-aip-c01","Schema Validation versus Output Validation","How structural conformance differs from broader output acceptance checks, and why schema-valid output can still be incorrect or unsafe.","Schema validation checks a value against a declared contract: required fields, types, permitted values, bounds, and other supported constraints. Successful JSON parsing establishes syntax, not schema conformance. A parsed object can still omit required fields or contain the wrong types.",{"slug":352,"title":353,"focus":354,"teaser":355},"output-validation-response-safety-gates-aip-c01","Output Validation: response safety gates","How to enforce content-safety policies at response-consumption boundaries using deterministic checks and probabilistic assessments, with fail-closed handling before unsafe content reaches consumers.","A response-consumption boundary is the point before generated content is displayed, executed, stored for downstream use, or passed to another component. Treat the candidate response as untrusted there. A stronger system prompt is not enforcement: the application must decide whether the candidate may cross the boundary.",{"slug":357,"title":358,"focus":359,"teaser":360},"output-validation-semantic-acceptance-criteria-aip-c01","Output Validation: semantic acceptance criteria","How to validate responses against reference evidence and behavioral baselines to detect unsupported claims, semantic drift, and unacceptable inconsistency during model updates.","Semantic acceptance criteria specify what a response must mean, not which words it must use. For each validation case, record the user task, authoritative evidence and its version, required facts, prohibited inferences, and expected behavior when evidence is incomplete. A reference answer is one acceptable expression of these requirements, not necessarily the only correct wording.",{"slug":362,"title":363,"focus":364,"teaser":365},"regression-testing-vs-a-b-testing-aip-c01","Regression Testing vs. A\u002FB Testing","How checking changes against accepted behavior differs from comparing alternatives through randomized experiments, and which question each method answers.","Regression testing asks: did a change damage accepted behavior? A candidate is checked against established requirements and, where useful, a baseline version on comparable cases. For a foundation model application, accepted behavior might include grounded answers, valid tool arguments, and appropriate refusal. The reference is an approved standard, not merely whichever version scores higher.",{"slug":367,"title":368,"focus":369,"teaser":370},"regression-testing-baseline-controlled-genai-test-suites-aip-c01","Regression Testing: baseline-controlled GenAI test suites","How versioned test cases, variability-aware comparisons, and predefined acceptance criteria expose regressions, isolate prompt changes, and govern candidate promotion.","Regression testing asks whether a change damaged behavior that previously worked. For GenAI, the baseline is not just a saved answer: it is an approved application configuration evaluated against a versioned test contract. Each case needs a stable identifier, input, relevant context, expected properties, evaluation criteria, and a category or criticality label. Different wording can still satisfy the same contract.",{"slug":372,"title":373,"focus":374,"teaser":375},"prompt-context-refining-evidence-for-model-inputs-aip-c01","Prompt Context: refining evidence for model inputs","How to iteratively select and structure contextual evidence to improve response quality within token limits while keeping supporting information distinct from instructions.","Context refinement means improving the evidence available for a particular answer, not simply adding more text. Start by identifying the claims the answer must support. For a return decision, those might be the applicable policy, the purchase date, the item condition, and any exception. A passage is useful when it supports one of those claims or resolves uncertainty about it.",{"slug":377,"title":378,"focus":379,"teaser":380},"structured-outputs-reliable-response-contracts-aip-c01","Structured Outputs: reliable response contracts","How to specify response schemas, choose appropriate generation controls, and use bounded validation feedback to improve compliance without confusing it with factual accuracy.","Structured output is an interface contract, not just neatly formatted text. Start with what the consumer can accept: field names, types, required properties, allowed values, nesting, and treatment of unexpected properties. In JSON Schema, declaring a property does not make it required; required controls presence. Likewise, a required field can allow null: presence and availability of a value are different decisions.",{"slug":382,"title":383,"focus":384,"teaser":385},"chain-of-thought-prompting-designing-verifiable-reasoning-scaffolds-aip-c01","Chain-of-Thought Prompting: designing verifiable reasoning scaffolds","How to design and evaluate instruction-based or worked-example prompts that structure complex problems into checkable intermediate results without depending on private model reasoning.","Chain-of-thought prompting structures a problem through intermediate results instead of asking only for a conclusion. For application design, the useful target is a verifiable reasoning scaffold: a small set of public artifacts that another person or program can check. These might be extracted facts with source references, calculations with units, or a requirement-by-requirement assessment.",{"slug":387,"title":388,"focus":389,"teaser":390},"iterative-prompt-refinement-controlled-revision-cycles-aip-c01","Iterative Prompt Refinement: controlled revision cycles","How to turn recurring response failures into targeted changes to prompt structure and constraints, then validate improvements through repeated, versioned evaluations on representative and held-out cases.","Controlled refinement starts with a behavioral contract, not a preferred wording. Define what counts as correct, which failures block release, and what evidence will demonstrate improvement. For an incident summarizer, this could mean preserving reported impact, separating observations from hypotheses, and never presenting an unsupported root cause as established.",{"slug":392,"title":393,"focus":394,"teaser":395},"feedback-loops-evidence-driven-improvement-cycles-aip-c01","Feedback Loops: evidence-driven improvement cycles","How attributable user ratings and annotated corrections become reviewed, versioned prompt changes whose benefits are verified through independent, representative evaluations.","A useful feedback record identifies which response was judged and under what conditions. Link the rating to a response identifier, timestamp, task, prompt version, model identifier or version where available, generation settings, and relevant retrieval or tool context. Preserve the necessary input and output securely, or retain controlled references to them. A prompt version alone cannot reconstruct a response if its evidence sources have changed.",{"slug":397,"title":398,"focus":399,"teaser":400},"feedback-loops-vs-iterative-prompt-refinement-aip-c01","Feedback Loops vs. Iterative Prompt Refinement","How revising prompts differs from closing an accountable feedback loop, and why prompt refinement can be one activity within that loop.","Iterative prompt refinement repeatedly changes and tests instructions, examples, or output requirements to improve model responses. Its immediate object is the prompt. A developer can refine a prompt using a small collection of test inputs without establishing who handles production complaints or whether affected users receive a resolution.",{"slug":402,"title":403,"focus":404,"teaser":405},"conditional-branching-vs-prompt-chaining-selective-and-sequential-execution-aip-c01","Conditional Branching vs. Prompt Chaining: selective and sequential execution","How selecting a path differs from executing sequential prompt stages, and why a workflow can combine both patterns.","Conditional branching determines which path executes. Sequential prompt chaining determines how separate prompt stages execute in dependency order: an earlier stage produces information that a later stage consumes. A branch selects work; a chain carries out dependent work.",{"slug":407,"title":408,"focus":409,"teaser":410},"multi-agent-orchestration-vs-prompt-chaining-aip-c01","Multi-Agent Orchestration vs. Prompt Chaining","How delegating responsibility among agents differs from passing outputs through a sequence of prompts, even when both use the same workflow engine.","Prompt chaining connects model interactions through intermediate outputs. The application defines transformations such as extracting facts, drafting an answer, and reviewing the draft. Passing a result onward does not itself delegate responsibility for achieving a goal.",{"slug":412,"title":413,"focus":414,"teaser":415},"prompt-templates-reusable-stage-contracts-aip-c01","Prompt Templates: reusable stage contracts","How reusable templates define explicit input and output contracts for individual stages of a prompt chain, including how upstream results become downstream template variables.","A reusable stage template defines an input contract and an output contract, not just repeated wording. The input contract names the variables the stage accepts, their types, meanings, required status, and size limits. The output contract describes the result the next stage can consume: its structure, field meanings, allowed values, and how to represent missing information. Keep these requirements with the template as a versioned specification; placeholders alone do not express them.",{"slug":417,"title":418,"focus":419,"teaser":420},"conditional-branching-routing-from-validated-model-outputs-aip-c01","Conditional Branching: routing from validated model outputs","How Bedrock Flows condition nodes evaluate validated model outputs using explicit routing rules, unambiguous conditions, and safe fallback paths.","A model response is a proposed decision, not an executable routing rule. In this Bedrock Flows routing segment, a prompt node produces a response and a Lambda function validates it before a condition node sees it. Asking for JSON does not replace parsing, required-field checks, type checks, and allowed-value checks.",{"slug":422,"title":423,"focus":424,"teaser":425},"prompt-chaining-contract-driven-workflow-orchestration-aip-c01","Prompt Chaining: contract-driven workflow orchestration","How reusable prompt stages form orchestrated workflows in which validated intermediate contracts govern context transfer, conditional routing, and bounded failure recovery.","A reusable prompt stage has a function-like boundary: named inputs enter, a model produces a candidate, and application code decides whether that candidate satisfies an intermediate contract. Define required fields, types, permitted values, schema version and failure behavior. Reuse comes from a stable interface, not from copying a conversation transcript.",{"id":427,"title":428,"subtitle":152,"lessons":429},506,"Analyze requirements and design GenAI solutions",[430,435,440,445,450,455,460,465,470,475,480,485,490,495,500,505,510,515,520,525,530,535,540],{"slug":431,"title":432,"focus":433,"teaser":434},"foundation-models-workload-fit-and-model-selection-aip-c01","Foundation Models: workload fit and model selection","How representative benchmarks reveal which model's capabilities, limitations, and resource requirements best fit a workload.","A public leaderboard is evidence about its benchmark, not proof of workload fit. Start with a workload contract: required input and output types, successful behavior, unacceptable failures, and latency, cost, and governance limits. Check hard compatibility constraints such as modality support, licensing, and permitted data processing before benchmarking candidates.",{"slug":436,"title":437,"focus":438,"teaser":439},"foundation-models-inference-integration-boundaries-aip-c01","Foundation Models: inference integration boundaries","How to design foundation-model inference boundaries using synchronous or asynchronous interfaces and managed or self-hosted deployment to meet latency, availability, and data-control requirements.","A synchronous boundary keeps the caller waiting for inference on the same request. Budget for admission, network transit, queueing inside the serving system, generation, and response delivery. Use measured tail latency, not average model time, against the shortest applicable client or intermediary deadline. Streaming can improve time to first token, but does not eliminate generation time or connection limits.",{"slug":441,"title":442,"focus":443,"teaser":444},"amazon-sagemaker-and-amazon-bedrock-foundation-model-hosting-boundaries-aip-c01","Amazon SageMaker and Amazon Bedrock: foundation model hosting boundaries","How SageMaker-managed model hosting differs from Bedrock model access in artifact ownership, infrastructure control, and operational responsibility.","Amazon SageMaker AI hosting deploys a model-serving workload that you configure. For a deployment using your own model artifacts, you control the supplied weights, tokenizer, configuration, and any adapters, subject to their licenses. You also select the serving image. AWS manages the hosting service; it does not take over responsibility for whether those artifacts work together. These hosting capabilities belong to SageMaker AI, within the broader Amazon SageMaker platform.",{"slug":446,"title":447,"focus":448,"teaser":449},"amazon-sagemaker-foundation-model-endpoints-aip-c01","Amazon SageMaker: foundation model endpoints","How endpoint hosting configurations and container request contracts determine how foundation models are deployed and invoked.","A SageMaker AI deployment connects three resources. CreateModel defines the serving image, model artifacts, execution role, and container environment. CreateEndpointConfig references that model through production variants and specifies hosting capacity. CreateEndpoint creates the addressable endpoint from that configuration. A model resource alone does not run inference.",{"slug":451,"title":452,"focus":453,"teaser":454},"online-inference-live-request-path-design-aip-c01","Online Inference: live request-path design","How to design the application-to-model serving path so deployment and integration choices meet end-to-end latency and availability requirements.","A synchronous inference contract needs an end-to-end deadline, a target latency percentile, and an acceptable rate of failed or late responses. Network travel, admission, feature reads, transformations, queueing, inference, and response handling all consume that deadline. Measure complete requests: adding each stage's p99 does not calculate the request's p99.",{"slug":456,"title":457,"focus":458,"teaser":459},"amazon-opensearch-service-and-amazon-bedrock-vector-backend-versus-managed-knowledge-base-aip-c01","Amazon OpenSearch Service and Amazon Bedrock: vector backend versus managed knowledge base","How OpenSearch vector indexing and search differ in responsibility from Bedrock Knowledge Bases orchestration, and when to use direct retrieval or a managed knowledge base.","Amazon OpenSearch Service provides the search backend: it indexes vectors and associated fields, executes search requests, and returns matching records. Managing the search infrastructure does not, by itself, define how source documents become useful grounding context.",{"slug":461,"title":462,"focus":463,"teaser":464},"event-driven-architecture-decoupled-enterprise-integration-aip-c01","Event-Driven Architecture: decoupled enterprise integration","How to design asynchronous event boundaries and versioned contracts so legacy applications and foundation-model consumers can evolve independently without losing business changes.","A useful asynchronous boundary publishes a committed business fact, not a request to run a particular model. OrderChanged says what happened; SummarizeOrderWithModelX couples the producer to a consumer's implementation. The legacy transaction should complete without waiting for inference. Its success means the business change is durable, not that every subscriber has finished.",{"slug":466,"title":467,"focus":468,"teaser":469},"aws-step-functions-vs-aws-lambda-orchestration-and-computation-aip-c01","AWS Step Functions vs AWS Lambda: orchestration and computation","How durable workflow coordination differs from function execution, and where to place sequencing and transformation logic when choosing between the two services.","AWS Lambda executes application code. An ordinary event-function invocation owns its local call stack while it runs; successful completion does not create a durable record of an application's remaining steps. Calling several services inside one handler makes that handler responsible for their sequencing.",{"slug":471,"title":472,"focus":473,"teaser":474},"aws-step-functions-data-driven-state-transitions-aip-c01","AWS Step Functions: data-driven state transitions","How Choice states, JSONata expressions, and bounded loops route requests, transform query state, and coordinate iterative agent and moderation workflows.","A Choice state selects a transition; it does not invoke a model or perform moderation itself. Tasks produce structured facts such as a moderation verdict, request category, or completion flag. Choice rules interpret those facts. With QueryLanguage set to JSONata, each rule has a Boolean Condition and a fixed Next state name. For example, {\"Condition\":\"{% $states.input.verdict = 'deny' %}\",\"Next\":\"Reject\"} routes an explicit denial to a rejection path.",{"slug":476,"title":477,"focus":478,"teaser":479},"aws-step-functions-asynchronous-task-coordination-aip-c01","AWS Step Functions: asynchronous task coordination","How service integration patterns coordinate long-running processing and task-token callbacks, including secure resumption, heartbeats, and human clarification or approval.","A service accepting a request is not the same as finishing its work. With request-response, a Task advances when the integrated API call returns. For an asynchronous job-submission API, that response normally means submission succeeded, not that processing finished.",{"slug":481,"title":482,"focus":483,"teaser":484},"aws-step-functions-map-state-execution-aip-c01","AWS Step Functions: Map state execution","How Inline and Distributed Map states control concurrent work, isolate item failures, and collect results for query fan-out and prompt regression suites.","A Map state applies an ItemProcessor workflow to a collection. For query fan-out, an item can be one decomposed query or expansion. For prompt regression, it can be one case with a stable case ID, prompt version, input, and expected checks. Map schedules independent work; it does not itself rank retrieved documents or decide whether a prompt passed.",{"slug":486,"title":487,"focus":488,"teaser":489},"aws-step-functions-failure-recovery-and-circuit-breakers-aip-c01","AWS Step Functions: failure recovery and circuit breakers","How retry policies, error handlers, timeouts, and externally persisted circuit-breaker state prevent cascading failures and select fallback paths.","A failed Task first goes through its matching Retry policy. Step Functions scans retriers in order and uses the first matching one. Only when retries are unavailable or exhausted does it scan Catch handlers in order. Put specific errors before broad matches; States.ALL must appear alone and last in its array. Retry transient failures, not invalid requests or authorization failures.",{"slug":491,"title":492,"focus":493,"teaser":494},"foundation-models-coordinating-specialized-models-aip-c01","Foundation Models: coordinating specialized models","How capability-based model selection and output aggregation combine specialized foundation models while controlling error propagation, latency, and cost.","Capability-based routing chooses which specialized foundation models should handle a request or its subtasks. Maintain a versioned capability registry containing supported modalities, task-specific evaluation results, input limits, permitted data use, and measured resource requirements. First exclude ineligible models; then choose among eligible models using the request's quality, latency, and cost constraints.",{"slug":496,"title":497,"focus":498,"teaser":499},"benchmark-datasets-golden-sets-for-failure-diagnosis-aip-c01","Benchmark Datasets: golden sets for failure diagnosis","How to curate and version evidence-backed reference cases that expose hallucinations and distinguish recurring failures from variation across repeated generations.","A golden set is a reviewed collection of reference cases, not a collection of polished model answers. Each case needs a stable identifier, task input, relevant context, evidence snapshot with source locations, and a scoring rubric. Record the evidence's effective date and scope: an answer can be correct for one product version but wrong for another.",{"slug":501,"title":502,"focus":503,"teaser":504},"model-evaluation-quality-and-safety-scoring-aip-c01","Model Evaluation: quality and safety scoring","How task-specific rubrics and calibrated automated and human judges produce reliable measures of output quality and safety.","A task-specific rubric converts “good output” into judgments that another evaluator can reproduce. Define each dimension, the evidence available to the judge, scoring anchors, and rules for insufficient evidence. For a support answer, score relevance to the request, factual accuracy against authoritative information, consistency with instructions and other claims, and fluency separately. Fluent wording must not compensate for an incorrect answer.",{"slug":506,"title":507,"focus":508,"teaser":509},"model-evaluation-controlled-model-comparisons-aip-c01","Model Evaluation: controlled model comparisons","How representative, reproducible comparisons identify models that meet business acceptance criteria within quality, latency, and cost constraints.","A controlled comparison starts with a decision contract: the supported workload, unacceptable failures, acceptance thresholds, and rule for choosing among acceptable candidates. Separate hard gates from preferences. A required quality floor or latency ceiling is a gate; lower cost among candidates that pass is a preference. A weighted average must not let excellent performance elsewhere compensate for a failed mandatory requirement.",{"slug":511,"title":512,"focus":513,"teaser":514},"return-on-investment-estimating-value-from-a-genai-proof-of-concept-aip-c01","Return on Investment: estimating value from a GenAI proof of concept","How to estimate incremental financial benefits and full lifecycle costs from controlled proof-of-concept evidence, calculate ROI against a consistent baseline and period, and test deployment assumptions with sensitivity analysis.","A GenAI proof of concept supports an investment decision only when it estimates incremental impact: the difference from a credible alternative, not simply performance before and after introducing AI. Before collecting results, specify the business objective, baseline workflow, eligible task population, evaluation period, quality and safety thresholds, and measurement plan. The baseline may be an existing manual process or simpler software; it should include improvements that would happen without GenAI.",{"slug":516,"title":517,"focus":518,"teaser":519},"aws-well-architected-framework-reusable-genai-architecture-patterns-aip-c01","AWS Well-Architected Framework: reusable GenAI architecture patterns","How the six pillars and Generative AI Lens best practices guide reusable GenAI architecture standards, distinguishing consistent design requirements from deployment-specific trade-offs.","The AWS Well-Architected Framework supplies six perspectives for judging a workload; the Generative AI Lens adds GenAI-specific questions and best practices. Together they guide reusable standards, but neither prescribes one architecture for every deployment. The workload boundary includes data, model interactions, infrastructure, operating procedures, and accountable people.",{"slug":521,"title":522,"focus":523,"teaser":524},"aws-well-architected-tool-standardized-generative-ai-lens-reviews-aip-c01","AWS Well-Architected Tool: standardized Generative AI Lens reviews","How to use Generative AI Lens questions, review templates, and risk guidance to establish reusable architectural requirements across GenAI deployments without treating reviews as infrastructure provisioning.","The AWS Well-Architected Tool records workload reviews against architectural best practices. The Generative AI Lens adds questions and guidance for generative AI workloads. Define the workload boundary before answering: include the application, its model interactions, relevant data flows, and operational responsibilities. Reviewing only the model endpoint can leave retrieval, output handling, and downstream actions outside the assessment.",{"slug":526,"title":527,"focus":528,"teaser":529},"infrastructure-as-code-iac-reusable-infrastructure-components-aip-c01","Infrastructure as code (IaC): reusable infrastructure components","How to design and validate versioned infrastructure modules whose parameter contracts preserve secure architectural defaults while supporting different GenAI deployment scenarios.","A reusable infrastructure module is a versioned architectural contract, not just a template with variables. Its contract includes accepted inputs, promised outputs, security properties, and update behavior. Start with workload reviews using the AWS Well-Architected Framework and its Generative AI Lens, then translate applicable decisions into explicit requirements. For this lesson's module library, those requirements include encrypted data stores, blocked public data access, scoped workload permissions, and operational audit records without prompt bodies.",{"slug":531,"title":532,"focus":533,"teaser":534},"aws-cloudformation-reusable-infrastructure-modules-aip-c01","AWS CloudFormation: reusable infrastructure modules","How to package standardized infrastructure components as versioned CloudFormation modules with constrained inputs for consistent reuse across deployment scenarios.","A CloudFormation module packages a reusable template fragment as a registered type. Consumers declare the type in their templates, and CloudFormation expands it into resources managed by the consuming stack. This is not a separately managed nested stack. Start with a narrow contract: keep required resource settings fixed, and expose parameters only for supported variation.",{"slug":536,"title":537,"focus":538,"teaser":539},"aws-cdk-reusable-construct-libraries-aip-c01","AWS CDK: reusable construct libraries","How custom constructs encapsulate standardized infrastructure patterns with validated configuration interfaces and tested defaults for reuse across deployment scenarios.","A reusable construct is more than a shortcut for creating resources. It defines a contract: supported inputs, infrastructure guarantees, and capabilities consumers can use. A custom class extends Construct, accepts scope, id, and typed props, and calls super(scope, id). Create its child constructs with this as their scope so the pattern forms its own subtree.",{"slug":541,"title":542,"focus":543,"teaser":544},"aws-cdk-and-aws-cloudformation-abstraction-versus-deployment-aip-c01","AWS CDK and AWS CloudFormation: abstraction versus deployment","How CDK construct libraries differ from CloudFormation templates and modules, and where CDK's modeling responsibility ends and CloudFormation's deployment responsibility begins.","A CDK construct library distributes executable modeling code. Your CDK application instantiates constructs, and synthesis turns the resulting construct tree into CloudFormation templates. L1 constructs closely expose CloudFormation resource schemas; L2 constructs add intent-oriented APIs and defaults; higher-level patterns compose multiple resources. A construct is not itself a deployed resource.",{"id":546,"title":547,"subtitle":152,"lessons":548},507,"Select and configure FMs",[549,554,559,564,569,574,579,584,589,594,599,604,609,614,619,624,629,634],{"slug":550,"title":551,"focus":552,"teaser":553},"inference-latency-prefill-and-decoding-bottlenecks-aip-c01","Inference Latency: prefill and decoding bottlenecks","How controlled prompt-length, output-length, and concurrency benchmarks reveal prefill and decoding bottlenecks and guide changes within cost and quality limits.","For an autoregressive language model, prefill processes the prompt and builds attention key\u002Fvalue state, usually called the KV cache. Many prompt positions can be processed in parallel, but more input still adds work and cache storage. Decoding then generates successive tokens using that state. Each new token depends on previous tokens, so generating a longer answer adds sequential work. Longer contexts can also increase decoding work; input length does not affect only prefill.",{"slug":555,"title":556,"focus":557,"teaser":558},"adapter-pattern-provider-independent-model-contracts-aip-c01","Adapter Pattern: provider-independent model contracts","How deployed adapters translate provider-specific requests, authentication, responses, and errors behind a capability-aware contract, allowing configuration-driven switching among supported models without changing application code.","A provider-independent contract describes what the application requests, not a particular provider's JSON. Define messages, generation settings, required capabilities, and a versioned result containing content, completion status, usage, and diagnostic metadata. A logical model name identifies an approved configuration target rather than exposing a provider model identifier.",{"slug":560,"title":561,"focus":562,"teaser":563},"configuration-management-runtime-model-routing-configuration-aip-c01","Configuration Management: runtime model-routing configuration","How versioned, validated runtime configuration enables model and provider switching without code changes, with controlled rollout and rollback.","Runtime routing configuration separates a routing decision from its implementation. A versioned document can map a logical route such as summarize to an adapter, model identifier, region, inference settings, and an approved fallback. Record the configuration version separately from the application release so either can change independently.",{"slug":565,"title":566,"focus":567,"teaser":568},"strategy-pattern-configuration-driven-model-selection-aip-c01","Strategy Pattern: configuration-driven model selection","How runtime configuration selects among implemented model strategies behind a stable inference contract while preserving capability and compliance requirements.","The Strategy Pattern puts implemented inference strategies behind one contract. Here, that contract accepts messages, generation settings, and request requirements, and returns content, usage, and a normalized completion status. A deployed Python registry in AWS Lambda maps approved strategy identifiers to implementations; the caller never selects an arbitrary provider URL.",{"slug":570,"title":571,"focus":572,"teaser":573},"adapter-pattern-vs-strategy-pattern-translation-versus-selection-aip-c01","Adapter Pattern vs Strategy Pattern: translation versus selection","How Adapter makes a provider compatible with an application contract, while Strategy encapsulates interchangeable selection or execution behavior, and why provider switching can require both.","Adapter makes an existing implementation usable through the contract an application expects. It answers: “How do I call this provider without exposing its interface?” For example, an adapter maps application messages into a provider request and converts the provider response into an application result. Its defining responsibility is translation, not deciding which provider deserves the request.",{"slug":575,"title":576,"focus":577,"teaser":578},"aws-appconfig-runtime-configuration-delivery-aip-c01","AWS AppConfig: runtime configuration delivery","How applications use AppConfig Agent to retrieve, cache, and refresh externalized model-routing settings so existing application logic can switch models and providers without code changes.","AWS AppConfig delivers configuration independently of application code. A routing document can contain a schema version, a route name, a provider identifier, a model identifier, and inference parameters. Existing application logic reads those values and selects an already implemented provider adapter.",{"slug":580,"title":581,"focus":582,"teaser":583},"amazon-api-gateway-request-validation-and-integration-mappings-aip-c01","Amazon API Gateway: request validation and integration mappings","How request validation and integration mappings expose stable API contracts while adapting requests and routing parameters to interchangeable backends.","A stable API contract describes what clients send, not what one provider happens to accept. For example, expose POST \u002Fgenerate with a JSON body containing prompt and a logical route query parameter. Keep provider field names and model identifiers behind that contract. This lesson uses API Gateway REST APIs: their request models, validators, and VTL body templates are not the HTTP API feature set.",{"slug":585,"title":586,"focus":587,"teaser":588},"circuit-breaker-shared-state-failure-isolation-aip-c01","Circuit Breaker: shared-state failure isolation","How to implement a shared circuit breaker for model and tool calls using failure thresholds, state-aware workflow routing, and coordinated recovery probes.","A shared circuit breaker lets failures observed by one workflow execution stop later calls from other executions. Closed admits calls; open blocks calls; half-open admits a controlled recovery probe. Step Functions Retry and Catch handle an execution's errors, but do not themselves share health information across executions.",{"slug":590,"title":591,"focus":592,"teaser":593},"graceful-degradation-safe-fallback-modes-for-ai-applications-aip-c01","Graceful Degradation: safe fallback modes for AI applications","How to design and activate reduced-service modes with approved model or non-generative fallbacks, bounded execution budgets, independent capacity, and preserved security and response guarantees.","Graceful degradation deliberately reduces what an application does while preserving what it must guarantee. Separate essential outcomes from optional features: a support assistant can replace generated advice with approved documentation and an escalation route. It must disclose that reduction rather than present a template as a generated, evidence-backed answer.",{"slug":595,"title":596,"focus":597,"teaser":598},"resiliency-failure-aware-inference-routing-aip-c01","Resiliency: failure-aware inference routing","How circuit-breaker-controlled routing across independent regional model endpoints contains failures and preserves acceptable service through failover and graceful degradation.","Failure-aware inference routing chooses an eligible destination before spending time on inference. A separate circuit breaker for each regional endpoint and model prevents repeated calls to a destination already judged unhealthy. Independent regional endpoints contain a regional inference failure only when their required models, permissions, capacity, and supporting dependencies are independently usable.",{"slug":600,"title":601,"focus":602,"teaser":603},"fine-tuning-model-artifact-and-version-management-aip-c01","Fine-Tuning: model artifact and version management","How to package and version full-weight models and parameter-efficient adaptations while preserving base-model compatibility and reproducible artifact lineage.","A full-weight export contains the complete tuned model weights, including every shard and its index when weights are sharded. Package the model configuration, tokenizer assets, special-token mappings, chat template when used, and required loading code alongside them or through pinned references. An inference export need not contain optimizer state; a resumable training checkpoint also needs training state such as optimizer, scheduler, and random-number-generator state.",{"slug":605,"title":606,"focus":607,"teaser":608},"low-rank-adaptation-deployment-ready-adapter-releases-aip-c01","Low-Rank Adaptation: deployment-ready adapter releases","How separate versus merged serving and pinned model dependencies determine what a compatible LoRA release must contain for deployment, replacement, and rollback.","A LoRA adapter supplies a learned update to selected base-model weights: W + sBA. It is not a complete model. With separate serving, a LoRA-capable inference runtime loads the frozen base and adapter separately and applies the update during inference. Sharing one base across adapters can reduce duplicated storage and memory, but adapter loading, caching, request routing, and isolation still need explicit support. Separate artifacts do not automatically provide safe hot swapping.",{"slug":610,"title":611,"focus":612,"teaser":613},"amazon-sagemaker-customized-model-release-lifecycle-aip-c01","Amazon SageMaker: customized model release lifecycle","How Model Registry versions customized model artifacts and adapters for automated approval, deployment, rollback, and retirement.","A Model Package Group holds numbered model package versions in SageMaker AI Model Registry. Register each customized release as a new version, with its inference specification, artifact locations, evaluation references, and identifying metadata. Registry records reference artifacts; they do not preserve the bytes behind a mutable S3 key or container tag.",{"slug":615,"title":616,"focus":617,"teaser":618},"aws-codebuild-vs-aws-codepipeline-execution-and-orchestration-aip-c01","AWS CodeBuild vs AWS CodePipeline: execution and orchestration","How CodeBuild's execution of build and test commands differs from CodePipeline's orchestration of release stages, approvals, and rollback.","AWS CodeBuild executes commands in a managed build environment. A build project defines the environment and other build settings; a buildspec supplies commands and output definitions. Compilation, regression tests, security scans, and packaging are work performed by those commands, not by CodePipeline itself.",{"slug":620,"title":621,"focus":622,"teaser":623},"ci-cd-gated-genai-release-pipelines-aip-c01","CI\u002FCD: gated GenAI release pipelines","How pipelines promote versioned GenAI releases through automated evaluation and security gates, using production feedback to halt promotion or restore a known-good version.","A GenAI release is more than model weights. Its immutable manifest pins the model or model package, adapter and compatible base model, inference image digest, prompt templates, retrieval configuration, and evaluation policy. Promote those same references rather than rebuilding between environments. This architecture shows the release-control flow, not inference traffic or every artifact download.",{"slug":625,"title":626,"focus":627,"teaser":628},"aws-codepipeline-controlled-stage-promotion-aip-c01","AWS CodePipeline: controlled stage promotion","How to configure a least-privilege release pipeline that uses test and security-scan results, approval gates, and stage conditions to control deployment promotion and rollback.","A controlled release promotes a specific revision, not whatever source happens to be newest when deployment starts. Configure a V2 pipeline with Validate, Approve, and Production stages. Associate test results, security-scan evidence, and approval with that execution and its deployment artifact.",{"slug":630,"title":631,"focus":632,"teaser":633},"deployment-rollback-restoring-known-good-model-releases-aip-c01","Deployment Rollback: restoring known-good model releases","How to preserve and restore a compatible foundation-model release when deployment health or quality checks fail, then verify recovery.","A foundation-model rollback unit is the complete serving release: exact base-model revision, fine-tuned weights or LoRA adapter, tokenizer, inference container, prompt template, generation settings, and request\u002Fresponse contract. An adapter must match both its base model and serving implementation. Preserve the combination that passed evaluation; restoring old weights inside a new runtime is not necessarily a rollback to known-good behavior.",{"slug":635,"title":636,"focus":637,"teaser":638},"fine-tuning-deployment-and-operational-lifecycle-aip-c01","Fine-Tuning: deployment and operational lifecycle","How automated deployment pipelines safely introduce, replace, roll back, and retire fine-tuned model versions using evaluation gates and production monitoring.","A fine-tuned model is a release candidate, not a production release merely because training succeeded. Evaluate the exact serving combination against the incumbent: task quality, safety, retained general capabilities, latency, and resource use. For LoRA or adapters, exercise the actual base-model and adapter loading path. Define thresholds and critical data slices before running the evaluation; a better average must not conceal a safety regression.",{"id":640,"title":641,"subtitle":152,"lessons":642},508,"Implement data validation and processing pipelines for FM consumption",[643,648,653,658,663,668,673,678,683,688,693,698,703,708,713,718,723,728],{"slug":644,"title":645,"focus":646,"teaser":647},"data-profiling-quality-baselines-for-foundation-model-inputs-aip-c01","Data Profiling: quality baselines for foundation model inputs","How document-level and segment-level profiles, with explicit sampling limits, establish defensible baselines for validation thresholds before foundation model consumption.","A defensible quality baseline describes a known corpus under a recorded measurement procedure. Start with document-level measurements: extraction success, extracted character count, token count, language estimate, duplicate fingerprint, and required metadata presence. Preserve document identifiers and processing versions. An extraction failure must remain a measured outcome, not disappear because the profiler only receives successfully extracted text.",{"slug":649,"title":650,"focus":651,"teaser":652},"data-profiling-and-schema-validation-discovery-versus-conformance-aip-c01","Data Profiling and Schema Validation: discovery versus conformance","How discovering observed data characteristics differs from checking structural expectations, and why schema conformance alone does not establish suitability for foundation model consumption.","Data profiling describes what was observed: field types, missing-value frequencies, distinct counts, length distributions, or relationships between fields. Schema validation compares data with a declared structural contract: required fields, permitted types, nesting, and explicitly encoded constraints. Profiling produces evidence; validation produces a judgment relative to expectations.",{"slug":654,"title":655,"focus":656,"teaser":657},"schema-validation-data-pipeline-validation-gates-aip-c01","Schema Validation: data pipeline validation gates","How explicit structural constraints gate FM datasets at ingestion and after transformation, routing invalid records to quarantine or blocking publication.","A foundation model dataset needs a declared contract, not just parseable files or an inferred table schema. For a JSON prompt-response record, explicitly require record_id, prompt, and response; define their types, null handling, nested structure, and policy for unexpected properties. Pin the schema version and validator behavior for each run.",{"slug":659,"title":660,"focus":661,"teaser":662},"amazon-sagemaker-data-wrangler-vs-aws-glue-data-quality-responsibilities-aip-c01","Amazon SageMaker Data Wrangler vs AWS Glue: data quality responsibilities","When to choose Data Wrangler for interactive ML data preparation versus AWS Glue for managed ETL and rule-based data quality evaluation.","Amazon SageMaker Data Wrangler is the stronger fit when an ML practitioner needs to inspect data, compare transformations, and decide how to prepare it. Its interactive interface combines visual analysis, built-in transformations, and custom transformations. The central question is exploratory: which preparation choices preserve useful information and produce suitable model inputs?",{"slug":664,"title":665,"focus":666,"teaser":667},"amazon-sagemaker-data-wrangler-quality-aware-data-flows-aip-c01","Amazon SageMaker Data Wrangler: quality-aware data flows","How to build reusable data flows that use quality reports and custom transformations to detect and handle unsuitable data before foundation model consumption, then execute those flows as processing jobs.","A reusable Data Wrangler flow needs an explicit data contract: required fields, accepted types, allowed content, and rejection rules for the intended foundation model task. For example, require a stable document identifier and nonblank text, and define how to handle duplicates and sensitive content. A statistically unusual record is not necessarily unsuitable; suitability depends on this contract.",{"slug":669,"title":670,"focus":671,"teaser":672},"aws-glue-data-quality-rules-and-pipeline-gates-aip-c01","AWS Glue: Data Quality rules and pipeline gates","How DQDL rulesets evaluate datasets and rows, and how evaluation results gate downstream data processing.","A DQDL ruleset declares checks over the dataset supplied to an evaluation. For example, Rules = [RowCount > 0, Completeness \"text\" >= 0.99, IsComplete \"id\"] checks that the batch is nonempty, at least 99% of text values are present, and every id is present. The evaluated scope is the input you supply—not automatically the entire source table.",{"slug":674,"title":675,"focus":676,"teaser":677},"amazon-cloudwatch-application-metric-design-aip-c01","Amazon CloudWatch: application metric design","How to model application-produced quality, confidence, fairness, and business measurements using dimensions, aggregation, metric math, and correlated dashboard views without treating CloudWatch as an evaluator.","CloudWatch observes measurements; it does not evaluate model outputs. Application code, human review, or an external evaluator must decide whether an answer is supported, assign quality scores, or label outcomes. CloudWatch stores the resulting custom metrics, aggregates them, applies metric math, and displays trends. A metric named FairnessScore has no automatically supplied fairness definition.",{"slug":679,"title":680,"focus":681,"teaser":682},"amazon-cloudwatch-alarm-evaluation-and-anomaly-detection-aip-c01","Amazon CloudWatch: alarm evaluation and anomaly detection","How evaluation windows, missing-data treatment, anomaly detection bands, and composite alarms turn application metrics into reliable regression and operational alerts.","A CloudWatch metric alarm evaluates a selected statistic against a threshold and has three states: OK, ALARM, and INSUFFICIENT_DATA. CloudWatch evaluates measurements supplied by your application; it does not judge prompt quality itself. A regression alarm therefore needs a quality score produced by an evaluator, not simply a count of model invocations.",{"slug":684,"title":685,"focus":686,"teaser":687},"amazon-sagemaker-multimodal-processing-jobs-aip-c01","Amazon SageMaker: multimodal Processing jobs","How SageMaker Processing uses custom containers, input channels, and output artifacts to prepare different data modalities for foundation models.","SageMaker Processing, part of SageMaker AI, runs finite data-preparation jobs on managed compute. For multimodal preparation, a custom container supplies your codecs, tokenizers, libraries, and transformation code. Processing does not infer how text, images, audio, and table rows belong together.",{"slug":689,"title":690,"focus":691,"teaser":692},"amazon-textract-structure-preserving-document-extraction-aip-c01","Amazon Textract: structure-preserving document extraction","How to transform Textract block relationships into foundation-model-ready document content while preserving reading order, form and table structure, source references, and extraction confidence.","Amazon Textract blocks are a graph: each block has an Id and a BlockType, and relationships point to other blocks by ID. Concatenating every block's text loses structure and can repeat content because LINE blocks and their WORD children describe the same text at different levels. Use document analysis with the FORMS, TABLES, and LAYOUT features needed by your transformation; text detection alone does not provide those analyses.",{"slug":694,"title":695,"focus":696,"teaser":697},"amazon-transcribe-structured-transcripts-for-foundation-models-aip-c01","Amazon Transcribe: structured transcripts for foundation models","How to configure and interpret transcription output to preserve speaker and timing context and identify uncertain text before foundation-model ingestion.","For foundation-model ingestion, treat the structured JSON transcript as the source record, not just the readable transcript string. This lesson uses standard batch transcription. Configure the job according to how the recording represents speakers: speaker diarization distinguishes voices in shared audio, while channel identification preserves separate audio channels.",{"slug":699,"title":700,"focus":701,"teaser":702},"multimodal-fusion-fusion-ready-processing-pipelines-aip-c01","Multimodal Fusion: fusion-ready processing pipelines","How modality-specific preparation preserves aligned, traceable evidence for native multimodal models or application-level fusion, including when inputs are missing or degraded.","A fusion-ready artifact contains usable content plus enough metadata to establish what it describes and where it came from. Record an entity or case ID, modality, source object version or checksum, evidence location, preparation version, and quality status. Preserve originals: a normalized derivative is not a replacement for its source.",{"slug":704,"title":705,"focus":706,"teaser":707},"serialization-model-specific-inference-payloads-aip-c01","Serialization: model-specific inference payloads","How to serialize inference inputs so their data types, conversation structure, and wire representation satisfy the target model's request contract.","Serialization for inference starts with the target model and API operation, not with a JSON encoder. A request can be valid JSON yet fail because its field names, types, content blocks, or generation parameters do not match that interface. Treat the model identifier, operation, and documented request schema as one contract.",{"slug":709,"title":710,"focus":711,"teaser":712},"named-entity-recognition-vs-text-normalization-aip-c01","Named Entity Recognition vs. Text Normalization","How detecting and labeling entity mentions differs from standardizing their representation, and why neither operation establishes missing facts.","Named Entity Recognition (NER) detects mentions and assigns categories. In Maya joined Northwind Ltd. on March 12., a recognizer might return Maya → PERSON, Northwind Ltd. → ORGANIZATION, and March 12 → DATE. Its output describes spans in the input, not verified people, businesses, or events. Categories depend on the recognizer.",{"slug":714,"title":715,"focus":716,"teaser":717},"text-normalization-meaning-preserving-transformation-pipelines-aip-c01","Text Normalization: meaning-preserving transformation pipelines","How to build reproducible normalization pipelines that use deterministic rules or validated model-assisted transformations to reduce text variation without changing source meaning.","Text normalization reduces differences in representation, not differences in meaning. Define a field-specific normalization contract: permitted edits, protected content, required structure, and conditions that require abstention. Keep the original separately; a normalized copy is not evidence that the source was accurate.",{"slug":719,"title":720,"focus":721,"teaser":722},"deduplication-exact-and-near-duplicate-matching-for-fm-inputs-aip-c01","Deduplication: exact and near-duplicate matching for FM inputs","How to match normalized documents and chunks using content fingerprints and validated similarity thresholds while preserving meaningful versions and provenance.","Deduplication should remove redundant representations, not meaningful differences. Start with an explicit equality contract: which content transformations preserve meaning, and which boundaries prohibit consolidation? For example, normalize Unicode and line endings where appropriate, but preserve negation, quantities, exceptions, and effective dates. Case folding and punctuation removal are unsafe for some technical content. Keep the original alongside the normalized representation.",{"slug":724,"title":725,"focus":726,"teaser":727},"named-entity-recognition-trustworthy-annotations-for-foundation-model-inputs-aip-c01","Named Entity Recognition: trustworthy annotations for foundation model inputs","How to produce source-grounded entity annotations for foundation model inputs by validating spans and labels, preserving source offsets, and routing uncertain extractions for review.","A trustworthy annotation makes two separate claims: where the mention occurs and which category fits its context. Preserve a source version, the exact text submitted, the returned mention text, start and end offsets, label, model identity, and score. Amazon Comprehend entity offsets identify positions in the submitted text, with an inclusive beginning and exclusive end. They are not byte offsets; keep the character-index convention explicit when moving results between runtimes.",{"slug":729,"title":730,"focus":731,"teaser":732},"amazon-comprehend-entity-recognition-for-text-enrichment-aip-c01","Amazon Comprehend: entity recognition for text enrichment","How entity types, confidence scores, and text offsets support reliable extraction and structured enrichment of foundation-model inputs.","Amazon Comprehend’s DetectEntities operation identifies entity mentions in text. Each returned entity includes Text, Type, Score, BeginOffset, and EndOffset. Supply the supported LanguageCode appropriate to the input; entity detection does not automatically choose it for you.",{"id":734,"title":735,"subtitle":152,"lessons":736},509,"Design and implement vector store solutions",[737,742,747,752,757,762,767,772,777,782,787,792,797,802,807,812,817,822,827,832,837,842,847,852,857],{"slug":738,"title":739,"focus":740,"teaser":741},"hybrid-search-vs-semantic-search-aip-c01","Hybrid Search vs Semantic Search","When combining lexical and semantic retrieval offers an advantage over semantic retrieval alone, particularly for queries mixing exact identifiers with natural-language intent.","Consider How do I fix E1047 after rotating database credentials? The identifier E1047 names a specific failure; the remaining words describe an intent. In this lesson, semantic retrieval means retrieving by similarity between compatible query and passage embeddings. It can connect “rotating credentials” with “changing a password,” but similarity does not guarantee that different error codes remain distinguishable.",{"slug":743,"title":744,"focus":745,"teaser":746},"amazon-opensearch-service-vector-index-architecture-aip-c01","Amazon OpenSearch Service: vector index architecture","How vector mappings, approximate nearest-neighbor settings, shard sizing, and domain-specific index layouts determine semantic retrieval accuracy and performance at scale.","A vector index has a retrieval contract: the embedding model and version, preprocessing, vector dimension, and distance metric must agree between indexed documents and queries. Equal dimensions do not make embeddings from different models comparable. OpenSearch can accept correctly shaped vectors while their nearest neighbors are semantically meaningless.",{"slug":748,"title":749,"focus":750,"teaser":751},"amazon-rds-vector-retrieval-with-postgresql-and-pgvector-aip-c01","Amazon RDS: vector retrieval with PostgreSQL and pgvector","How RDS for PostgreSQL stores and indexes embeddings with pgvector for metadata-filtered similarity queries linked to source documents in Amazon S3.","RDS for PostgreSQL with pgvector stores embeddings beside relational metadata and executes similarity queries through PostgreSQL SQL. Amazon S3 retains the source documents, addressed by bucket, object key, and, when versioning is enabled, version ID. A filesystem path or block address is not that object identity.",{"slug":753,"title":754,"focus":755,"teaser":756},"amazon-opensearch-service-neural-and-hybrid-search-pipelines-aip-c01","Amazon OpenSearch Service: neural and hybrid search pipelines","How neural search pipelines use Amazon Bedrock model connectors, embedding generation, domain-aware filtering, and keyword–vector score fusion to retrieve relevant context.","A neural search pipeline turns text into vectors and retrieves semantically related passages. A hybrid query adds a keyword branch; a search pipeline then combines the branches into one ranking. The diagram shows both ingestion and retrieval through one OpenSearch domain, with a Lambda function acting as the client.",{"slug":758,"title":759,"focus":760,"teaser":761},"semantic-search-multi-stage-relevance-refinement-aip-c01","Semantic Search: multi-stage relevance refinement","How to refine semantic retrieval candidates using lexical evidence and reranking, measuring relevance gains against recall, latency, and inference cost.","A multi-stage search pipeline spends inexpensive retrieval work broadly, then applies more expensive relevance inference to a bounded set. Candidate retrieval finds plausible passages; reranking compares the query with those passages and changes their order. A reranker cannot recover a passage it never receives.",{"slug":763,"title":764,"focus":765,"teaser":766},"amazon-s3-object-metadata-and-tags-aip-c01","Amazon S3: object metadata and tags","How system metadata, user-defined metadata, and object tags differ in update behavior and retrieval, and how to expose these attributes to downstream search indexes.","For S3 general purpose buckets, system metadata includes service-controlled properties such as Last-Modified and user-controlled headers such as Content-Type. You cannot assign an arbitrary value to Last-Modified. It describes the stored object, not the document's publication date. Store a business timestamp explicitly instead.",{"slug":768,"title":769,"focus":770,"teaser":771},"metadata-schemas-metadata-contracts-for-retrieval-aip-c01","Metadata Schemas: metadata contracts for retrieval","How to define and validate typed metadata contracts that consistently map source timestamps, authorship, and domain labels onto documents and chunks for precise, context-aware retrieval.","A metadata contract defines names, types, required values, business meanings, and relationships—not just a JSON shape. Retrieval code depends on these promises. For this lesson, published_at means the source's publication event, while effective_at means when its guidance becomes applicable. Neither means when ingestion ran.",{"slug":773,"title":774,"focus":775,"teaser":776},"metadata-filtering-designing-filter-ready-document-metadata-aip-c01","Metadata Filtering: Designing filter-ready document metadata","How to define, validate, and propagate typed source attributes into chunk-level index fields so retrieval predicates reliably enforce date, author, and domain constraints.","A metadata contract defines each field's meaning, type, authoritative source, allowed values, missing-value policy, and owner. For this lesson, effective_at means the business-effective instant, represented as integer UTC epoch seconds. It is not the S3 upload or LastModified time. Reject ambiguous dates unless the source contract supplies a timezone.",{"slug":778,"title":779,"focus":780,"teaser":781},"approximate-nearest-neighbor-search-index-configuration-and-tuning-aip-c01","Approximate Nearest Neighbor Search: index configuration and tuning","How to configure and safely retune HNSW and inverted-file indexes using exact-search recall baselines and workload measurements of latency, memory, and index freshness.","ANN tuning is a constrained optimization problem: reduce search cost while meeting recall, latency, memory, and freshness requirements. Start with representative queries and a fixed corpus snapshot. Keep the embedding model, preprocessing, distance metric, metadata filters, and requested k identical between exact and approximate retrieval. Confirm the baseline uses an exact search plan; an index being available does not prove which plan ran.",{"slug":783,"title":784,"focus":785,"teaser":786},"sharding-vector-search-partitioning-aip-c01","Sharding: vector search partitioning","How shard layout and query routing affect vector search scalability, balancing parallelism against resource overhead, cross-shard coordination, and recall.","A vector shard owns a subset of documents plus the structures needed to search their vectors. In OpenSearch, primary shards define these partitions; replica shards are additional copies of them. A normal search selects one available copy of each participating logical shard, rather than searching every replica.",{"slug":788,"title":789,"focus":790,"teaser":791},"approximate-nearest-neighbor-search-distributed-candidate-retrieval-aip-c01","Approximate Nearest Neighbor Search: distributed candidate retrieval","How sharding, domain-index routing, and shard-local candidate budgets affect recall and tail latency when distributed ANN results are merged.","Distributed ANN has three distinct decisions: which domain indexes to search, which candidates each shard returns, and which results survive the global merge. The diagram follows one selected domain index with two shards. It shows logical roles, not a requirement for one node per role.",{"slug":793,"title":794,"focus":795,"teaser":796},"hierarchical-indexing-coarse-to-fine-retrieval-aip-c01","Hierarchical Indexing: coarse-to-fine retrieval","How routing through index levels reduces search work, and how branch selection, candidate budgets, and fallback searches affect end-to-end recall and latency.","Hierarchical indexing makes progressively finer decisions before searching individual vectors. An upper level can hold domain descriptions or representative vectors; selected domains can lead to document groups and then passages. Each routing decision removes branches from further consideration. This lesson uses an application-managed hierarchy; an ANN algorithm’s internal navigation hierarchy is a different mechanism, not the same tuning control.",{"slug":798,"title":799,"focus":800,"teaser":801},"hierarchical-indexing-vs-sharding-aip-c01","Hierarchical Indexing vs Sharding","How hierarchical indexing narrows retrieval through relationships between levels, while sharding distributes storage and execution without necessarily creating a retrieval hierarchy.","Hierarchical indexing organizes retrieval through relationships between levels. An upper-level result identifies a more specific search space: a domain points to its documents, for example, or a broad vector neighborhood leads toward finer neighborhoods. The relationship guides where retrieval goes next.",{"slug":803,"title":804,"focus":805,"teaser":806},"vector-search-scalable-index-architecture-aip-c01","Vector Search: scalable index architecture","How sharding, domain-specific indexes, and hierarchical routing control vector-query fan-out and the trade-offs among recall, latency, and capacity.","A primary shard holds a partition of an OpenSearch index. Adding primary shards can distribute vector storage and search work across nodes, but an unrestricted query generally searches one copy of every targeted primary shard. More shards therefore create more shard-level searches, candidate lists, and coordination work. Fan-out is the number of search targets contacted for one query, not simply the number of nodes available.",{"slug":808,"title":809,"focus":810,"teaser":811},"apis-interoperable-interface-contracts-aip-c01","APIs: interoperable interface contracts","How versioned OpenAPI contracts and boundary adapters give legacy systems, retrieval tools, and MCP clients consistent operations, schemas, and error semantics.","A versioned OpenAPI contract describes HTTP operations, parameters, request and response schemas, and security requirements. For this lesson, POST \u002Fv1\u002Fevidence\u002Fsearch has the stable operationId searchEvidence. Its request requires query and customerId, with an optional bounded limit. Its success data contains an ordered list of evidence items with id, text, and source.",{"slug":813,"title":814,"focus":815,"teaser":816},"extract-transform-load-incremental-document-ingestion-for-vector-stores-aip-c01","Extract, Transform, Load: incremental document ingestion for vector stores","How source connectors drive reliable document-to-vector ETL that preserves identity, provenance, and access metadata as content and permissions change.","A source connector must extract identity, content, provenance and permissions, not just download files. It authenticates with least privilege, follows pagination, handles throttling with backoff, and understands the source's change cursor. This reference design assumes a wiki API that exposes content changes, permission changes and deletion records.",{"slug":818,"title":819,"focus":820,"teaser":821},"amazon-appflow-connector-based-saas-ingestion-aip-c01","Amazon AppFlow: connector-based SaaS ingestion","How to configure connector-backed flows for secure, incremental SaaS-to-S3 ingestion that supplies downstream knowledge-base pipelines.","Amazon AppFlow extracts supported SaaS objects through a connector and writes mapped records to S3. Before configuring a flow, verify the connector's source objects, authentication, supported triggers, incremental fields, and attachment behavior. Access to a record does not imply that its linked document content is exported.",{"slug":823,"title":824,"focus":825,"teaser":826},"application-integration-fault-isolated-repository-adapters-aip-c01","Application integration: fault-isolated repository adapters","How queue-backed AWS Lambda adapters decouple document repositories from knowledge-base consumers using backpressure, idempotent retries, and controlled replay to contain dependency failures.","A repository adapter translates document changes into a consumer's ingestion contract. Here, a repository publisher submits change references to a standard Amazon SQS queue; a Lambda adapter fetches the referenced version and submits it to an Amazon Bedrock Knowledge Bases custom data source. Queue acceptance means work recorded, not document searchable.",{"slug":828,"title":829,"focus":830,"teaser":831},"incremental-processing-vs-change-data-capture-aip-c01","Incremental Processing vs. Change Data Capture","How capturing source changes differs from incrementally maintaining derived results, and why neither approach requires the other.","Change data capture (CDC) identifies changes in a source and makes them available to consumers. Its contract concerns source records: which record changed, which operation occurred, and what position or ordering information is available. Log reading, triggers, and suitably designed polling are capture methods; the available details depend on the method.",{"slug":833,"title":834,"focus":835,"teaser":836},"amazon-eventbridge-custom-event-routing-aip-c01","Amazon EventBridge: custom event routing","How event patterns, target input transformations, and delivery policies route custom application events reliably to decoupled consumers, including GenAI integrations.","A custom application publishes facts through PutEvents, naming the custom bus and supplying Source, DetailType, and JSON Detail. EventBridge routes the resulting envelope using event patterns. Producers name the event contract, not its consumers.",{"slug":838,"title":839,"focus":840,"teaser":841},"idempotency-retry-safe-vector-store-updates-aip-c01","Idempotency: retry-safe vector store updates","How stable operation keys, atomic execution records, and destination-side safeguards prevent duplicate effects when vector store updates are retried after partial failures or invoked concurrently.","Idempotency means repeating a logical update does not change its intended effect. A vector write can succeed even when its response is lost, so a retry must mean “finish this update,” not “create another set of chunks.” Repeated execution is allowed; duplicate effects are not.",{"slug":843,"title":844,"focus":845,"teaser":846},"incremental-processing-stateful-vector-store-maintenance-aip-c01","Incremental Processing: stateful vector-store maintenance","How change tracking, document-to-chunk state, and safe checkpoints support replay-safe vector updates and deletions without re-embedding unchanged content.","A maintenance worker needs two different positions: the source position of a change and the committed progress of its derived updates. Reading a record does not prove that its vectors are current. Here, producers send complete document versions or explicit deletions to a retained stream, using the document ID as the partition key. An ordered source version protects against duplicated or stale producer records; arrival time alone does not establish source order.",{"slug":848,"title":849,"focus":850,"teaser":851},"change-data-capture-vector-chunk-lifecycle-aip-c01","Change Data Capture: Vector chunk lifecycle","How document change records drive vector upserts and removal of obsolete chunks using stable document and chunk identifiers.","A source change identifies a document, but retrieval operates on its chunks. Use a stable document key, including the tenant or source namespace when necessary. Every vector record should carry that document key and have a deterministic chunk ID scoped to it, such as tenant7\u002Fdoc42\u002FchunkerA\u002F2.",{"slug":853,"title":854,"focus":855,"teaser":856},"change-data-capture-replay-safe-vector-updates-aip-c01","Change Data Capture: Replay-safe vector updates","How source-version checks and idempotent change application prevent duplicate or out-of-order events from corrupting a vector store.","A replay-safe vector projection needs a source version for each logical record: a revision or source position that orders its changes. Compare versions only within their defined scope, usually one record. Arrival time, embedding completion time, and an arbitrary event identifier do not establish source order.",{"slug":858,"title":859,"focus":860,"teaser":861},"data-quality-continuous-vector-store-validation-aip-c01","Data Quality: continuous vector-store validation","How source-reconciled quality checks and freshness thresholds govern vector-store updates, detect stale or inconsistent content, and trigger corrective action.","A vector store is a derived view, not the authority. Define acceptance against a published source snapshot: document IDs, application-assigned revisions, content hashes, deletion tombstones, and access metadata. Use an immutable manifest to identify a consistent snapshot; listing changing objects is not itself a consistent source contract.",{"id":863,"title":864,"subtitle":152,"lessons":865},510,"Design retrieval mechanisms for FM augmentation",[866,871,876,881,886,891,896,901,906,911,916,921,926,931,936,941,946,951,956,961,966,971,976,981,986,991,996],{"slug":867,"title":868,"focus":869,"teaser":870},"fixed-size-chunking-designing-token-windows-aip-c01","Fixed-Size Chunking: designing token windows","How to implement and tune fixed token windows and overlap to preserve retrievable evidence within model limits and processing budgets.","A fixed token window needs three values: window size W, overlap O, and stride S = W − O, with W > 0 and 0 ≤ O \u003C W. For a token sequence of length N, start at zero and emit [start, min(start + W, N)). Stop when the window reaches N; otherwise advance by S. Empty documents emit no chunks. The final window can be shorter; do not emit another window after one already reaches the end.",{"slug":872,"title":873,"focus":874,"teaser":875},"hierarchical-chunking-parent-child-retrieval-aip-c01","Hierarchical Chunking: parent–child retrieval","How to construct and tune parent–child chunks so passage-level matches expand into coherent, deduplicated context within a token budget.","A child chunk is a search unit; a parent chunk is an expansion unit. First identify bounded sections that preserve a useful explanation, procedure, or policy clause. Then split each parent into searchable passages. A runbook parent can contain prerequisites, execution, and recovery checks, while its children isolate those passages.",{"slug":877,"title":878,"focus":879,"teaser":880},"semantic-chunking-tuning-meaning-aware-boundaries-aip-c01","Semantic Chunking: tuning meaning-aware boundaries","How sentence grouping, similarity breakpoints, and size limits shape coherent retrieval evidence, and how to tune them using retrieval quality and processing cost.","Semantic chunking aims to produce passages that remain meaningful when retrieved independently. In a common embedding-based implementation, the chunker splits extracted text into sentences, builds a comparison group around each sentence, embeds those groups, and compares neighboring vectors. These comparison groups are not necessarily the final chunks. Their vectors help locate candidate boundaries; the final passages need their own embeddings for retrieval.",{"slug":882,"title":883,"focus":884,"teaser":885},"fixed-size-chunking-vs-semantic-chunking-aip-c01","Fixed-Size Chunking vs. Semantic Chunking","How length-based boundaries differ from meaning-based boundaries, and why overlap does not make fixed-size chunks semantic.","Fixed-size chunking chooses boundaries primarily by a length target or limit, measured in characters, words, or tokens. Semantic chunking uses meaning to decide which text belongs together and where a change justifies a split. The distinction is the decision rule, not whether a resulting passage happens to read coherently.",{"slug":887,"title":888,"focus":889,"teaser":890},"fixed-size-chunking-vs-hierarchical-chunking-aip-c01","Fixed-Size Chunking vs. Hierarchical Chunking","How independent fixed-size windows differ from parent–child retrieval units when an answer needs broader surrounding context.","Fixed-size chunking creates independently searchable windows based on a configured length. In the baseline retrieval path, each selected window is also a unit of context supplied to the model. Source metadata can identify its document and location, but does not itself cause surrounding passages to be returned.",{"slug":892,"title":893,"focus":894,"teaser":895},"hierarchical-chunking-vs-semantic-chunking-aip-c01","Hierarchical Chunking vs Semantic Chunking","How relationships between chunk levels differ from meaning-based boundary selection, and why the two approaches can be combined.","Hierarchical chunking defines relationships between levels: a smaller passage belongs to a larger parent, and retrieval can use that relationship to recover broader context. Semantic chunking selects boundaries according to meaning. It tries to keep a coherent idea together and separate changes of topic. One describes how chunks relate; the other describes where text is split.",{"slug":897,"title":898,"focus":899,"teaser":900},"embeddings-model-selection-tradeoffs-aip-c01","Embeddings: model selection tradeoffs","How to compare embedding models on representative domain queries to choose dimensionality and model capabilities against retrieval quality, latency, and storage cost.","Compare embedding models on the retrieval task you actually operate, not on vector size or a public leaderboard alone. Build a representative benchmark from domain queries and a fixed corpus snapshot. Include terminology, abbreviations, exact identifiers, ambiguous requests, supported languages, and realistic query lengths. Weight results by expected traffic, but report important slices separately so a strong average cannot hide a critical language or domain failure.",{"slug":902,"title":903,"focus":904,"teaser":905},"text-embeddings-selecting-efficient-model-configurations-aip-c01","Text Embeddings: selecting efficient model configurations","How to evaluate embedding models and dimensionality for domain-specific retrieval, balancing relevance against storage cost and batched-generation throughput while preserving compatible query and document vectors.","Select an embedding configuration against a domain retrieval benchmark, not vector size or a general leaderboard. Collect representative queries with judged relevant passages, including terminology, abbreviations, languages, exact identifiers, and difficult near-matches. Keep a held-out evaluation set separate from configuration tuning. Freeze chunking, corpus versions, filters, and retrieval depth when comparing embedding candidates so those changes do not confound the result.",{"slug":907,"title":908,"focus":909,"teaser":910},"embeddings-reliable-batch-generation-aip-c01","Embeddings: reliable batch generation","How to batch embedding requests within model limits while preserving input-to-vector mappings, handling partial failures, and recording the configuration needed for reproducible vectors.","A worker batch and a model request are different units. A Lambda invocation can receive several queue messages and make several model calls. Do not assume that an embedding API accepts a list of texts: Titan Text Embeddings V2, for example, accepts one input text per invocation. Check the selected model's current request schema and limits.",{"slug":912,"title":913,"focus":914,"teaser":915},"embeddings-diagnosing-representation-failures-aip-c01","Embeddings: diagnosing representation failures","How to isolate embedding-related retrieval failures using controlled relevance tests that distinguish preprocessing defects, incompatible vector spaces, and domain drift from search-index problems.","A poor generated answer does not identify an embedding failure. Start with a controlled relevance set: representative queries, human-judged relevant passages, and plausible but irrelevant passages. Freeze the corpus snapshot, query text, relevance judgments, embedding configuration, and access-filter scope. Confirm that the relevant information actually exists in the eligible corpus; missing content is a coverage problem, not evidence against the embedding.",{"slug":917,"title":918,"focus":919,"teaser":920},"vector-search-retrieval-relevance-aip-c01","Vector Search: retrieval relevance","How embedding compatibility, chunk quality, query preprocessing, and hybrid scoring affect candidate relevance, and how retrieval evaluation identifies the stage needing correction.","Embedding compatibility is a contract, not a dimension check. Query and document encoders must produce vectors in a shared space; different encoders can work when explicitly trained as a compatible pair. Preserve the model version, required query\u002Fdocument formatting, dimensions, and normalization settings. Use the similarity measure the model expects. Equal-length vectors from unrelated models are not meaningfully comparable, and similarity is not a probability of relevance.",{"slug":922,"title":923,"focus":924,"teaser":925},"amazon-aurora-vector-search-with-pgvector-aip-c01","Amazon Aurora: vector search with pgvector","How to configure pgvector in Aurora PostgreSQL, model embedding data, and use distance operators and vector indexes for filtered similarity retrieval.","pgvector adds vector types, distance operators, and similarity indexes to Aurora PostgreSQL; it does not generate embeddings. Check the extension versions available for your Aurora engine with SELECT name, version FROM pg_available_extension_versions WHERE name = 'vector';. Using a role authorized to install extensions, run CREATE EXTENSION IF NOT EXISTS vector; in each database that needs it. Verify the installed version with SELECT extversion FROM pg_extension WHERE extname = 'vector';. Available index features depend on that version.",{"slug":927,"title":928,"focus":929,"teaser":930},"vector-search-index-health-and-maintenance-aip-c01","Vector Search: index health and maintenance","How recall, latency, freshness, and vector-integrity checks guide automated index maintenance with validation and rollback safeguards.","Index health is a set of constraints, not a single score. Measure approximate-neighbor recall@k against exact top-k results for a representative query sample: the overlap divided by k, assuming at least k eligible records. Use the same corpus snapshot, filters, distance metric, and tie policy. This measures approximation loss, not whether the documents answer the user's question.",{"slug":932,"title":933,"focus":934,"teaser":935},"amazon-kendra-vs-amazon-opensearch-service-retrieval-responsibilities-aip-c01","Amazon Kendra vs Amazon OpenSearch Service: retrieval responsibilities","How Kendra's managed semantic retrieval differs from OpenSearch's configurable search pipelines in the controls and diagnostics available for evaluating retrieval quality.","Amazon Kendra has been in maintenance since June 30, 2026. It is closed to new customers; existing customers can continue using it. Do not select it for new workloads. AWS's migration guide is https:\u002F\u002Fdocs.aws.amazon.com\u002Fkendra\u002Flatest\u002Fdg\u002Fkendra-availability-change.html. This lesson explains its retrieval responsibilities as AWS offered them.",{"slug":937,"title":938,"focus":939,"teaser":940},"hybrid-search-candidate-fusion-and-scoring-aip-c01","Hybrid Search: candidate fusion and scoring","How to merge consistently filtered lexical and vector candidates using normalized weighted scores or reciprocal rank fusion, tuning candidate sizes and scoring against relevance and latency measurements.","Candidate fusion starts with two bounded result lists: the top N_L lexical hits and the top N_V vector hits. Both must represent the same searchable corpus and enforce the same authorization, tenant, version, and other mandatory constraints. Express these as one logical eligibility predicate, even if each retrieval path implements it differently. Use stable chunk identifiers so a hit returned by both paths becomes one candidate with two contributions.",{"slug":942,"title":943,"focus":944,"teaser":945},"reranking-second-stage-relevance-scoring-for-rag-aip-c01","Reranking: second-stage relevance scoring for RAG","How to use Amazon Bedrock reranker models to select stronger evidence from retrieved candidates, tuning candidate and output limits against ranking quality, latency, and cost without mistaking reranking for improved retrieval recall.","Reranking scores an already retrieved set against the query, then selects its strongest evidence. Let N be the candidate count and K the returned result count, with K no greater than N. Reranking can promote useful passages buried in those N candidates; it cannot recover a passage absent from them.",{"slug":947,"title":948,"focus":949,"teaser":950},"hybrid-search-vs-reranking-aip-c01","Hybrid Search vs Reranking","How combining retrieval paths changes the candidate pool, while reranking only reorders retrieved candidates and cannot recover missing evidence.","Hybrid search combines complementary retrieval paths over the searchable corpus. Let L be the lexical results and V the vector results. Their union, U = L ∪ V, contains every distinct candidate returned by either path. Combining paths can introduce evidence absent from one path alone, but does not guarantee that the evidence is relevant.",{"slug":952,"title":953,"focus":954,"teaser":955},"query-decomposition-vs-query-expansion-aip-c01","Query Decomposition vs. Query Expansion","How separating distinct information needs differs from broadening the search formulations for the same information need.","Query decomposition separates the facts a question requires. Query expansion broadens the search expressions used to retrieve evidence for the same information need. Both can produce multiple searches, so query count does not distinguish them.",{"slug":957,"title":958,"focus":959,"teaser":960},"query-expansion-vs-query-rewriting-aip-c01","Query Expansion vs. Query Rewriting","How supplementing a query with alternative search expressions differs from replacing its formulation, and when each approach addresses vocabulary mismatch.","Vocabulary mismatch occurs when a request and relevant documents express the same information need differently. For example, a user asks about “recovering accidentally deleted files,” while documentation describes “restoring previous versions.” Query expansion supplements the original query with alternative search expressions. Query rewriting, in the narrower sense used here, replaces the formulation used for retrieval with a different formulation of the same need.",{"slug":962,"title":963,"focus":964,"teaser":965},"query-rewriting-intent-preserving-retrieval-transformations-aip-c01","Query Rewriting: intent-preserving retrieval transformations","How to conditionally transform requests into retrieval-specific queries while preserving conversational intent and constraints, validating generated output, and balancing measured relevance gains against latency and cost.","Query rewriting produces a retrieval representation of a request, not an answer or merely cleaner prose. Its invariant is the user's information need: entities, requested relationships, negations, dates, jurisdiction, and other explicit constraints must survive. Natural-language retrieval does not promise identical result sets, so preservation needs both validation and empirical testing.",{"slug":967,"title":968,"focus":969,"teaser":970},"query-expansion-bounded-multi-query-retrieval-aip-c01","Query Expansion: bounded multi-query retrieval","How to generate intent-preserving query variants and combine their retrieval results while controlling query drift, access boundaries, latency, and cost.","Bounded query expansion searches the original query plus a small, validated set of alternative expressions. Preserve identifiers, negation, dates, and explicit constraints. For “Why does API X fail under load?”, throttling and timeouts are search hypotheses—not established diagnoses. Reject variants that invent a cause or change the requested scope.",{"slug":972,"title":973,"focus":974,"teaser":975},"query-decomposition-dependency-aware-retrieval-plans-aip-c01","Query Decomposition: dependency-aware retrieval plans","How to build and execute bounded subquery plans that preserve the original question’s constraints and dependencies while collecting traceable evidence for a grounded answer.","A useful decomposition is a typed dependency graph, not a list of search phrases. Consider: “For tenant A’s Orion production database as of 2025-01-31, does configured backup retention meet policy?” First identify the database; then retrieve its applicable policy and configuration. The latter two branches can run independently once the database identity is known.",{"slug":977,"title":978,"focus":979,"teaser":980},"model-context-protocol-and-tool-calling-capability-access-versus-invocation-decisions-aip-c01","Model Context Protocol and Tool Calling: capability access versus invocation decisions","How MCP standardizes application access to external capabilities, whereas tool calling lets a model propose invocations without specifying the integration protocol.","Model Context Protocol (MCP) and tool calling address different boundaries. MCP standardizes communication between an AI application and servers exposing external capabilities. Tool calling lets a model produce a structured proposal containing a tool name and arguments. That proposal does not specify how the application must reach the implementation.",{"slug":982,"title":983,"focus":984,"teaser":985},"tool-calling-retrieval-tool-contracts-aip-c01","Tool Calling: retrieval tool contracts","How to design consistent retrieval tool contracts that expose vector queries through precise input schemas and bounded, structured results across integration interfaces.","A retrieval contract defines the meaning of a search request and its result independently of the interface carrying it. For example, search_passages_v1 accepts query text and typed filters, then returns ranked passages—not a generated answer. Keep the embedding profile and index configuration behind the contract: the service embeds text using a profile compatible with the indexed vectors.",{"slug":987,"title":988,"focus":989,"teaser":990},"tool-calling-reliable-execution-boundaries-aip-c01","Tool Calling: reliable execution boundaries","How application-side execution turns model-generated requests into controlled operations through argument validation, authorization, idempotent retries, and structured failure responses.","A model-generated tool call is an untrusted proposal. The application resolves its name through an allowlist, parses its arguments, rejects unsupported fields, and checks types, ranges, and business rules. A schema-valid refund amount can still exceed the refundable balance. Never turn a tool name into an arbitrary function lookup or interpolate arguments into executable code.",{"slug":992,"title":993,"focus":994,"teaser":995},"model-context-protocol-client-server-tool-contracts-aip-c01","Model Context Protocol: client–server tool contracts","How to implement interoperable MCP tool access through capability negotiation, schema-defined retrieval and action requests, and stateless server execution with explicit authorization boundaries.","An interoperable MCP tool service separates the host's client, the protocol endpoint, and backend operations. This example runs the host on Amazon ECS and a stateless MCP implementation on AWS Lambda, behind Amazon API Gateway. The diagram shows only request and backend-call directions; responses return along those paths.",{"slug":997,"title":998,"focus":999,"teaser":1000},"amazon-bedrock-agentcore-retrieval-tools-through-gateway-aip-c01","Amazon Bedrock AgentCore: retrieval tools through Gateway","How Gateway exposes retrieval APIs and Lambda functions as discoverable MCP tools with consistent input schemas, authenticated access, and invocation contracts for agent clients.","AgentCore Gateway exposes configured retrieval operations as discoverable MCP tools. An agent uses the same MCP interface whether the implementation is a Lambda function or an HTTPS API described by a supported OpenAPI schema. Gateway adapts the protocol; it does not perform the retrieval itself.",{"id":1002,"title":1003,"subtitle":152,"subcategories":1004},138,"Implementation and Integration",[1005,1119,1188,1317,1401],{"id":1006,"title":1007,"subtitle":152,"lessons":1008},512,"Implement agentic AI solutions and tool integrations",[1009,1014,1019,1024,1029,1034,1039,1044,1049,1054,1059,1064,1069,1074,1079,1084,1089,1094,1099,1104,1109,1114],{"slug":1010,"title":1011,"focus":1012,"teaser":1013},"multi-agent-orchestration-delegation-and-execution-control-aip-c01","Multi-Agent Orchestration: delegation and execution control","How supervisor, handoff, and parallel-worker patterns route work through explicit dependencies, validated outputs, bounded retries, and termination conditions.","A supervisor owns the overall task, delegates bounded subtasks, and decides how returned results affect the next action. A handoff transfers responsibility for continuing the task to another agent; it is not merely a request for a specialist result. Define the receiving role, permitted next actions, acceptance conditions, and what happens if the recipient refuses or fails. Otherwise, agents can repeatedly redirect work without an accountable owner.",{"slug":1015,"title":1016,"focus":1017,"teaser":1018},"multi-agent-orchestration-shared-state-and-memory-boundaries-aip-c01","Multi-Agent Orchestration: shared state and memory boundaries","How agents coordinate through scoped task state, explicit update ownership, and durable checkpoints without confusing shared workflow state with individual agents' conversation memory.","Shared workflow state is the application’s authoritative record of a task: accepted results, outstanding work, approvals, and the current version. Give it an explicit scope, such as tenant_id + task_id. A result becomes shared state only through the application’s acceptance and commit rules—not because an agent said it was finished.",{"slug":1020,"title":1021,"focus":1022,"teaser":1023},"multi-agent-orchestration-vs-model-context-protocol-aip-c01","Multi-Agent Orchestration vs. Model Context Protocol","How coordinating agent responsibilities differs from standardizing access to tools and resources, and why an MCP connection does not establish agent-to-agent coordination.","Multi-agent orchestration defines a responsibility contract: which agent owns a task, what it must deliver, and how that contribution fits the application's shared goal. Agents can use the same underlying model yet have different responsibilities. Their coordination comes from those assigned responsibilities and relationships, not from model identity or connectivity.",{"slug":1025,"title":1026,"focus":1027,"teaser":1028},"multi-agent-orchestration-coordination-observability-aip-c01","Multi-Agent Orchestration: coordination observability","How correlated traces of delegation, handoffs, and tool calls reveal coordination bottlenecks, repeated work, and abnormal execution patterns against established baselines.","A correlated trace connects one task's delegation, agent execution, handoffs, and tool calls. Give each run a stable application identifier and propagate trace context across execution boundaries. A span identifies one operation; parent relationships describe nested work, while span links can represent asynchronous or multiple causal predecessors. A shared run identifier alone helps searching but does not establish those relationships.",{"slug":1030,"title":1031,"focus":1032,"teaser":1033},"react-implementing-a-bounded-reasoning-action-loop-aip-c01","ReAct: implementing a bounded reasoning–action loop","How to implement an observation-driven ReAct loop in AWS Step Functions using structured tool requests, validated execution, feedback-driven decisions, and explicit stopping limits.","A production ReAct loop alternates a model decision with an actual observation. In this implementation, AWS Step Functions owns the state and transitions; the model proposes the next action but cannot execute it directly. The diagram shows service interactions, not individual state-machine states.",{"slug":1035,"title":1036,"focus":1037,"teaser":1038},"chain-of-thought-prompting-vs-react-aip-c01","Chain-of-Thought Prompting vs ReAct","How prompting for intermediate reasoning differs from ReAct's reasoning–action–observation cycle, particularly when solving a problem requires external tools.","Chain-of-thought prompting encourages intermediate reasoning through instructions or worked examples. It can help organize dependent calculations and comparisons using the information available to the model. Its defining feature is reasoning structure, not access to external information: asking a model to explain a lookup does not execute that lookup.",{"slug":1040,"title":1041,"focus":1042,"teaser":1043},"task-planning-bounded-plan-act-observe-loops-aip-c01","Task Planning: bounded plan–act–observe loops","How to decompose a goal into dependent tool actions and use a workflow-controlled ReAct loop to revise the plan from validated results within authorization, approval, and stopping limits.","An executable plan is a dependency graph, not merely a numbered list. Give each action an identifier, an allowed tool, typed arguments, prerequisites, expected outputs and a completion check. Keep verified facts separate from assumptions that still require evidence.",{"slug":1045,"title":1046,"focus":1047,"teaser":1048},"task-planning-vs-chain-of-thought-prompting-aip-c01","Task Planning vs. Chain-of-Thought Prompting","How selecting executable actions toward a goal differs from prompting intermediate reasoning, and why a reasoning response alone does not establish an executable plan.","Chain-of-thought prompting asks a model to approach a problem through intermediate reasoning rather than jump directly to an answer. Task planning selects actions that can move a system from its current state toward a goal. The distinction is not whether the response contains numbered steps: it is whether those steps connect to available operations and their execution requirements.",{"slug":1050,"title":1051,"focus":1052,"teaser":1053},"aws-identity-and-access-management-iam-workload-authorization-guardrails-aip-c01","AWS Identity and Access Management (IAM): workload authorization guardrails","How IAM policy evaluation, explicit denies, and condition keys constrain workload roles to approved actions, resources, and data-access contexts.","For each workload request, IAM evaluates the principal, action, resource, and request context against applicable policies. A matching explicit Deny wins over any Allow. Without a sufficient Allow, the result is an implicit deny. Evaluation is not a first-match list: adding another Allow cannot override an explicit Deny.",{"slug":1055,"title":1056,"focus":1057,"teaser":1058},"least-privilege-permission-scope-for-ai-integrations-aip-c01","Least privilege: permission scope for AI integrations","How to constrain and verify effective permissions so each enterprise AI integration role can invoke only the models and access only the data its workflow requires.","A least-privilege AI integration starts with an access contract: which workload assumes the role, which model operations it performs, which data it reads or writes, and under what conditions. Separate runtime inference, ingestion, and deployment when they require different capabilities. A runtime role should not inherit model administration or data deletion merely because another stage needs them.",{"slug":1060,"title":1061,"focus":1062,"teaser":1063},"ensemble-learning-vs-model-routing-aip-c01","Ensemble Learning vs. Model Routing","How combining multiple model contributions differs from selecting one model per request, including when selective escalation becomes an ensemble.","Model routing selects which model should handle a request or workflow step. Ensembling uses multiple models’ task contributions to determine a prediction, answer, or decision. The important boundary is not how many models are deployed—or even called—but what their outputs do.",{"slug":1065,"title":1066,"focus":1067,"teaser":1068},"model-routing-constrained-model-selection-policies-aip-c01","Model Routing: constrained model selection policies","How to design and evaluate policies that route requests or workflow steps to suitable models while meeting capability, quality, reliability, and cost constraints.","A routing policy makes a constrained decision for a request or workflow step. First construct an eligible set: models that support the input modality, context size, required output interface, permitted processing location, and other mandatory conditions. A low price must never compensate for a failed hard constraint. If the set is empty, use an explicit no-route outcome rather than silently relaxing requirements.",{"slug":1070,"title":1071,"focus":1072,"teaser":1073},"ensemble-learning-aggregating-specialized-model-outputs-aip-c01","Ensemble Learning: aggregating specialized model outputs","How to combine complementary foundation-model outputs with validated aggregation rules that reconcile conflicting or missing contributions.","A useful foundation-model ensemble combines complementary evidence, not just more text. Here, an extraction specialist identifies document facts while a policy specialist identifies applicable rules and exceptions. Both receive the same versioned source snapshot; their outputs jointly determine the result.",{"slug":1075,"title":1076,"focus":1077,"teaser":1078},"human-in-the-loop-durable-human-decision-gates-aip-c01","Human-in-the-Loop: durable human decision gates","How agentic workflows route cases to authorized reviewers with supporting evidence, wait safely through delays or failures, and resume from recorded approvals, corrections, or escalations.","A human decision gate separates an agent's proposed action from permission to execute it. Route cases by explicit policy: high-impact actions can require review regardless of model confidence. Present the proposed action, source evidence, uncertainty, review reason, and model and policy versions. Approval applies to that specific proposal and evidence version, not to whatever the agent produces later.",{"slug":1080,"title":1081,"focus":1082,"teaser":1083},"amazon-sagemaker-ground-truth-vs-amazon-augmented-ai-labeling-jobs-and-human-review-aip-c01","Amazon SageMaker Ground Truth vs Amazon Augmented AI: labeling jobs and human review","When to choose Ground Truth for dataset annotation rather than Amazon A2I for human review integrated into application inference workflows.","Amazon SageMaker Ground Truth manages dataset annotation: a labeling job turns source records into labeled records for training or evaluation. Amazon Augmented AI (Amazon A2I) manages human review associated with inference: a human loop collects judgments that an application can use when handling a model result.",{"slug":1085,"title":1086,"focus":1087,"teaser":1088},"amazon-a2i-custom-human-review-loops-aip-c01","Amazon A2I: custom human review loops","How to configure and invoke custom human review loops that route FM outputs to expert work teams and return structured judgments for an agent to use.","A custom A2I review loop is an application-invoked human task, not an automatic FM confidence filter. Define the evidence reviewers see, the allowed decisions, and the fields the agent will consume: for example, decision, reason, and correctedAnswer. Create a worker UI with CreateHumanTaskUi, using a Liquid template and named form controls inside crowd-form. The template reads values from task.input; control names shape the submitted answers.",{"slug":1090,"title":1091,"focus":1092,"teaser":1093},"amazon-api-gateway-asynchronous-callback-endpoints-aip-c01","Amazon API Gateway: asynchronous callback endpoints","How authenticated callback routes collect human feedback and use backend integrations to correlate submissions with pending review workflows without holding the original request open.","An asynchronous callback is a later, independent request that supplies a result to work already in progress. The original API request starts a review workflow and returns promptly, for example with 202 Accepted and an application review ID. It does not wait for the human decision.",{"slug":1095,"title":1096,"focus":1097,"teaser":1098},"input-validation-enforcing-tool-execution-contracts-aip-c01","Input Validation: enforcing tool execution contracts","How tool handlers independently enforce structural and business constraints before side effects, recheck mutable conditions, and return safe validation errors for bounded argument repair.","A model's tool call is a proposal, not permission to execute. Function definitions describe arguments to the model; they do not prove that an invocation satisfies the contract. The tool handler must independently validate every invocation, including calls arriving through another client. Strands tool definitions and lifecycle hooks can support validation, but must not be the only enforcement point.",{"slug":1100,"title":1101,"focus":1102,"teaser":1103},"amazon-ecs-vs-aws-lambda-hosting-mcp-tool-servers-aip-c01","Amazon ECS vs AWS Lambda: hosting MCP tool servers","How execution duration, dependency requirements, and connection lifetimes distinguish ECS-hosted MCP servers from Lambda-based implementations.","An MCP server implements protocol operations such as initialization, tool discovery, and tool calls. Hosting it is not just exposing an arbitrary HTTP function: the implementation must preserve the protocol behavior its client expects. This comparison uses request-driven Lambda Event Functions; other Lambda compute modes require their own lifecycle evaluation.",{"slug":1105,"title":1106,"focus":1107,"teaser":1108},"tool-calling-execution-observability-aip-c01","Tool Calling: execution observability","How to instrument tool-call lifecycles with correlated traces and outcome metrics to establish usage baselines and diagnose anomalous selection, execution, and coordination patterns.","A tool's function log cannot explain why the model chose it or whether its result helped. Start a task trace, record model turns and proposed tool calls, then instrument dispatch, execution, result delivery, and task completion. Record a proposal even when it is rejected before execution. Use explicit application instrumentation: infrastructure tracing alone does not know that a model proposed a tool or consumed its result.",{"slug":1110,"title":1111,"focus":1112,"teaser":1113},"statelessness-request-independent-mcp-tool-execution-aip-c01","Statelessness: request-independent MCP tool execution","How MCP tool handlers remain interchangeable by receiving explicit request context and externalizing durable state, without relying on process-local sessions or execution-environment reuse.","A stateless MCP tool handler can handle a request without remembering an earlier request in its own process. Its inputs include tool arguments and explicit request context; durable task, conversation, and business records live outside the handler. Interchangeability means another authorized instance running compatible code can continue from those records, not that every retry must return identical live data.",{"slug":1115,"title":1116,"focus":1117,"teaser":1118},"amazon-ecs-service-lifecycle-for-containerized-mcp-servers-aip-c01","Amazon ECS: service lifecycle for containerized MCP servers","How ECS services keep complex MCP tool servers available through task replacement, health checks, scaling, and connection draining.","An ECS service maintains a desired number of tasks from a task definition. A task is a replaceable execution unit, not a durable home for an MCP session. For a remote MCP server using HTTP, keep the public endpoint stable while task addresses change underneath it.",{"id":1120,"title":1121,"subtitle":152,"lessons":1122},513,"Implement model deployment strategies",[1123,1128,1133,1138,1143,1148,1153,1158,1163,1168,1173,1178,1183],{"slug":1124,"title":1125,"focus":1126,"teaser":1127},"workload-predictability-inference-demand-baselines-aip-c01","Workload Predictability: inference demand baselines","How measured inference demand, operating schedules, and forecast uncertainty determine how much throughput to provision and how much demand to serve flexibly.","An inference baseline starts with offered demand: the work callers attempt to submit, including work rejected or throttled. Successful completions alone can hide a capacity shortage. Measure arrival rates over intervals short enough to expose bursts, alongside input and output token distributions, concurrent requests, retries, and latency. Separate original requests from retry attempts so overload-driven retries do not become a false business-growth forecast.",{"slug":1129,"title":1130,"focus":1131,"teaser":1132},"resource-utilization-llm-inference-bottlenecks-aip-c01","Resource Utilization: LLM inference bottlenecks","How resource-use profiles during model loading, prefill, and decoding reveal memory, compute, and bandwidth bottlenecks that constrain token throughput despite apparently spare GPU capacity.","An LLM server can have spare arithmetic capacity and still be unable to produce more tokens. Separate memory capacity, which determines what fits, from memory bandwidth, which determines how quickly resident data can reach computation. GPU memory must accommodate weights, the attention key-value cache, temporary workspaces, and runtime allocations—not just the model checkpoint.",{"slug":1134,"title":1135,"focus":1136,"teaser":1137},"kv-caching-runtime-memory-and-token-capacity-aip-c01","KV Caching: runtime memory and token capacity","How per-token cache growth and serving-engine allocation determine safe context and concurrency limits within a deployment's GPU memory budget.","KV caching retains attention keys and values so decoding need not recompute them for earlier tokens. Prefill populates the prompt cache; decode reads retained state and appends new state. For full-context attention, longer sequences still increase attention-related memory traffic. KV here means attention tensors, not a general-purpose key-value database.",{"slug":1139,"title":1140,"focus":1141,"teaser":1142},"batch-inference-vs-continuous-batching-aip-c01","Batch Inference vs Continuous Batching","How deferred dataset processing differs from dynamically scheduling active model requests, and why these mechanisms can be used together.","Batch inference is a workload execution pattern: a collected dataset is processed as a job, and predictions are saved for later consumption. The consumer accepts deferred results. A job can start when data is ready; a fixed timetable and a persistent prediction endpoint are not required.",{"slug":1144,"title":1145,"focus":1146,"teaser":1147},"continuous-batching-iteration-level-scheduling-aip-c01","Continuous Batching: iteration-level scheduling","How a serving runtime replenishes active sequences within token and memory budgets, and how to tune admission for throughput without violating latency targets.","Continuous batching makes scheduling decisions between generation iterations, rather than holding batch membership fixed until every request finishes. In ordinary autoregressive decoding, each scheduled sequence typically advances by one token per iteration. Its next token still depends on its previous tokens; batching does not remove that dependency.",{"slug":1149,"title":1150,"focus":1151,"teaser":1152},"lazy-loading-on-demand-model-loading-and-residency-aip-c01","Lazy Loading: on-demand model loading and residency","How to coordinate a model’s demand-driven loading lifecycle within GPU memory limits while bounding first-request latency and handling initialization failures.","Lazy loading separates a live inference process from a model that can generate tokens. Track each immutable model version through ABSENT → LOADING → READY → EVICTING → ABSENT, with a failure path out of LOADING. A running control interface is not evidence of model readiness. Lazy container image fetching and memory-mapped host files do not, by themselves, provide demand-paged GPU weights.",{"slug":1154,"title":1155,"focus":1156,"teaser":1157},"containers-resource-aware-llm-serving-aip-c01","Containers: resource-aware LLM serving","How to configure an LLM serving container so GPU-compatible dependencies, model loading, and token concurrency fit its host-memory and GPU-memory limits.","An LLM serving image contains the inference engine, framework, CUDA user-space libraries, and compiled attention or quantization kernels. The NVIDIA driver belongs to the host; the container runtime exposes GPU devices and required driver interfaces. Installing CUDA libraries inside an image does not provide a working host driver or make a GPU visible.",{"slug":1159,"title":1160,"focus":1161,"teaser":1162},"amazon-ec2-gpu-backed-llm-inference-aip-c01","Amazon EC2: GPU-backed LLM inference","How to configure GPU-backed EC2 instances for containerized LLM serving, matching model loading and memory requirements to accelerator capacity and token-throughput targets.","A model fits only when weights + KV cache + runtime workspace + safety margin fit on every participating GPU. Weight storage starts at parameter count × bytes per parameter, but quantization also needs scales, metadata, and compatible kernels. Quantizing weights does not automatically quantize the KV cache. Host RAM must separately accommodate the loader, tokenizer, and any temporary CPU copies.",{"slug":1164,"title":1165,"focus":1166,"teaser":1167},"amazon-eks-resource-allocation-for-llm-inference-pods-aip-c01","Amazon EKS: resource allocation for LLM inference pods","How Kubernetes resource requests and GPU placement accommodate model weights, KV-cache memory, and target token-processing capacity.","An LLM pod has two distinct memory budgets: host RAM and GPU device memory. For a GPU-resident model without CPU offload, device memory must hold model weights, the attention KV cache, and runtime allocations such as activations, workspaces, and allocator overhead. Weight storage starts roughly at parameter count multiplied by bytes per parameter; quantization changes this estimate but also introduces metadata and runtime-specific overhead.",{"slug":1169,"title":1170,"focus":1171,"teaser":1172},"amazon-eks-model-loading-lifecycle-for-inference-pods-aip-c01","Amazon EKS: model-loading lifecycle for inference pods","How model artifact staging, initialization, and startup and readiness probes keep inference pods out of service until model loading and warm-up finish.","On Amazon EKS, Running is not the same as ready for inference. A container can have a live process while its model files are incomplete or its weights are not loaded. Separate the lifecycle into artifact staging, runtime initialization, and admission to serving traffic.",{"slug":1174,"title":1175,"focus":1176,"teaser":1177},"small-language-models-workload-fit-deployment-aip-c01","Small Language Models: workload-fit deployment","How task-specific quality and serving measurements determine whether a small language model meets deployment constraints, either standalone or as a cascade's first stage.","A small language model has comparatively modest parameter and compute requirements, not a universal parameter cutoff. Deployment fit starts with a workload contract: supported tasks, quality floors, safety requirements, and serving limits. A standalone model must satisfy that contract across the supported workload; a strong average can hide an unacceptable failure category.",{"slug":1179,"title":1180,"focus":1181,"teaser":1182},"model-cascading-conditional-escalation-between-models-aip-c01","Model Cascading: conditional escalation between models","How validation-driven API escalation from a small model to a more capable model balances end-to-end quality, inference cost, and latency.","A conditional model cascade tries a small model first, validates its candidate, and invokes a more capable model only when the candidate fails acceptance checks. Unlike direct routing, the decision uses an actual first-stage result. Unlike outage fallback, escalation can happen after a technically successful API call.",{"slug":1184,"title":1185,"focus":1186,"teaser":1187},"resource-efficiency-right-sizing-foundation-model-inference-aip-c01","Resource Efficiency: right-sizing foundation model inference","How to match model capacity to request complexity using smaller models and API-based cascading, minimizing resource consumption per successful response while meeting quality and latency requirements.","Right-sizing inference means choosing the least resource-intensive model that meets a task's quality and latency requirements—not choosing the smallest model unconditionally. Benchmark smaller pretrained models on representative requests, including difficult examples, languages, context lengths, and required output formats. Parameter count alone does not establish task quality or serving efficiency.",{"id":1189,"title":1190,"subtitle":152,"lessons":1191},514,"Design and implement enterprise integration architectures",[1192,1197,1202,1207,1212,1217,1222,1227,1232,1237,1242,1247,1252,1257,1262,1267,1272,1277,1282,1287,1292,1297,1302,1307,1312],{"slug":1193,"title":1194,"focus":1195,"teaser":1196},"loose-coupling-asynchronous-enterprise-integration-boundaries-aip-c01","Loose Coupling: asynchronous enterprise integration boundaries","How stable, independently versioned contracts decouple legacy transactions from foundation model processing, with explicit handling of duplicate delivery and synchronization lag.","Loose coupling means the legacy application depends on a business contract, not a model's prompt format, location, or availability. Here, a case update commits without waiting for a summary. The application retrieves the result through a separate API later; accepting work does not mean inference has completed.",{"slug":1198,"title":1199,"focus":1200,"teaser":1201},"data-synchronization-reliable-incremental-propagation-aip-c01","Data Synchronization: reliable incremental propagation","How to keep enterprise AI data stores aligned with authoritative sources through change propagation that meets freshness requirements and preserves correctness during failures, deletions, and authorization changes.","An AI retrieval store is a derived projection, not the owner of enterprise data. This propagation-only architecture follows committed document changes into a searchable representation. Updating that representation does not update a foundation model's weights.",{"slug":1203,"title":1204,"focus":1205,"teaser":1206},"microservices-and-component-delivery-independently-deployable-genai-extensions-aip-c01","Microservices and component delivery: independently deployable GenAI extensions","How to isolate GenAI capabilities behind backward-compatible service contracts so API, webhook, and event integrations can evolve without coordinated application releases.","An independently deployable GenAI extension owns a business capability such as createSummary, not a public wrapper around a particular model. Its service contract defines accepted inputs, authorization, result structure, error meanings, and completion behavior. Prompts, model identifiers, and provider response formats stay behind that boundary.",{"slug":1208,"title":1209,"focus":1210,"teaser":1211},"webhooks-reliable-asynchronous-event-intake-aip-c01","Webhooks: reliable asynchronous event intake","How webhook handlers authenticate notifications and durably accept them for asynchronous AI processing, using prompt acknowledgments and idempotency to handle delivery retries safely.","A webhook pushes an event to a callback URL. HTTPS protects the connection, but does not prove that the caller is the expected producer. For a producer using signed notifications, follow its documented algorithm and verify the signature over the original request bytes. Preserve those bytes through the gateway integration; parsing and reserializing JSON can change what was signed.",{"slug":1213,"title":1214,"focus":1215,"teaser":1216},"role-based-access-control-scoped-enterprise-roles-aip-c01","Role-Based Access Control: scoped enterprise roles","How to map enterprise responsibilities to narrowly scoped model and data permissions, with controlled role assignments for federated users and workloads.","Start with a responsibility, then describe its actions, resources, and conditions. “AI developer” is too broad. “Invoke approved models in development” is a usable responsibility. Keep model invocation, data curation, and access administration separate; combine permissions only when the actual task requires them.",{"slug":1218,"title":1219,"focus":1220,"teaser":1221},"identity-federation-enterprise-identities-to-aws-role-sessions-aip-c01","Identity Federation: enterprise identities to AWS role sessions","How trusted enterprise assertions and tokens are validated and mapped to constrained AWS role sessions for foundation-model and data access, while keeping authentication separate from authorization.","Federation lets AWS accept evidence from an enterprise identity provider without receiving the user's password. The provider authenticates the identity and issues a signed assertion or token. AWS must validate that evidence before accepting its claims; a readable token is not necessarily a trusted token.",{"slug":1223,"title":1224,"focus":1225,"teaser":1226},"aws-sts-vs-aws-iam-temporary-credentials-and-authorization-aip-c01","AWS STS vs AWS IAM: temporary credentials and authorization","How STS credential issuance differs from IAM identity, role, and policy management, and why issuing temporary credentials does not itself grant additional permissions.","AWS IAM manages persistent identity and authorization configuration: users, groups, roles, and policies. An IAM role is an assumable identity with a trust policy and permissions policies; it is not a set of credentials and has no long-term access keys of its own.",{"slug":1228,"title":1229,"focus":1230,"teaser":1231},"temporary-credentials-least-privilege-role-sessions-aip-c01","Temporary Credentials: least-privilege role sessions","How federated users and workloads obtain time-bounded credentials for model and data access, with session permissions constrained by role policies, session policies, and applicable denies.","Temporary credentials separate a bounded authentication lifetime from the permissions of a role session. AWS STS returns an access key ID, secret access key, session token, and expiration. Signed requests need the session token as well as the key pair; all three credential values must be protected.",{"slug":1233,"title":1234,"focus":1235,"teaser":1236},"aws-sts-least-privilege-federated-role-sessions-aip-c01","AWS STS: least-privilege federated role sessions","How enterprise identities obtain temporary role credentials through SAML or OIDC federation, with trust conditions, session policies, session tags, and expiration constraining model and data access.","Federation trust decides which enterprise identities may obtain a role session; it does not authorize model invocation or data access. Before federation, register the enterprise identity provider in IAM and configure the role’s trust policy. A valid signature is necessary but insufficient: the policy must select the trusted provider, the federation action, and the intended audience or identity claims.",{"slug":1238,"title":1239,"focus":1240,"teaser":1241},"aws-iam-identity-center-and-aws-iam-workforce-access-versus-resource-authorization-aip-c01","AWS IAM Identity Center and AWS IAM: Workforce access versus resource authorization","When to use Identity Center for centralized workforce access versus IAM for resource authorization and workload identities in enterprise AI integrations.","AWS IAM Identity Center centralizes workforce access: which employees and groups can enter which AWS accounts or assigned applications. Use it to connect workforce identity management to AWS access rather than maintaining separate IAM users for employees in each account. An organization instance supports centralized AWS account access; an account instance does not manage AWS account access.",{"slug":1243,"title":1244,"focus":1245,"teaser":1246},"aws-iam-identity-center-federated-workforce-access-through-permission-sets-aip-c01","AWS IAM Identity Center: Federated workforce access through permission sets","How enterprise identities obtain least-privilege AWS account sessions through group-based permission-set assignments, including permissions to access foundation models and data.","For federated workforce access, use an IAM Identity Center organization instance. Connect the enterprise identity provider using SAML for authentication, and provision users, groups, and memberships using SCIM when supported. A successful SAML sign-in does not itself create an AWS account assignment. Enforce enterprise authentication requirements, including MFA, at the external identity provider.",{"slug":1248,"title":1249,"focus":1250,"teaser":1251},"aws-lake-formation-and-aws-iam-data-permissions-versus-api-authorization-aip-c01","AWS Lake Formation and AWS IAM: data permissions versus API authorization","Which authorization decisions belong to Lake Formation versus IAM, and why IAM access to a service does not by itself establish fine-grained access to governed data.","IAM authorization determines whether a principal may perform an AWS API action on the relevant resources. For example, permission for athena:StartQueryExecution allows a role to submit a query. It does not establish which governed tables or columns that role may read.",{"slug":1253,"title":1254,"focus":1255,"teaser":1256},"data-residency-vs-data-sovereignty-aip-c01","Data Residency vs Data Sovereignty","How geographic placement requirements differ from legal jurisdiction over data, and why satisfying one does not establish compliance with the other.","Data residency asks where specified data is stored or processed relative to an approved geographic boundary. Data sovereignty asks which legal authorities and obligations apply to the data and its handling. Residency requirements can come from contracts or internal policy as well as law; sovereignty is not simply a stricter residency setting.",{"slug":1258,"title":1259,"focus":1260,"teaser":1261},"data-residency-geographic-boundaries-for-hybrid-ai-data-flows-aip-c01","Data Residency: geographic boundaries for hybrid AI data flows","How to keep hybrid AI data flows within approved geographic boundaries by evaluating where inference requests and their derived copies are processed and retained, rather than relying on deployment location or private connectivity alone.","A hybrid application's location is only the start of a data residency assessment. Define the approved geography for each data class, then identify where prompts, retrieved context, outputs and their derived copies are processed or retained. A request processed outside the boundary is a transfer even if no long-term copy is kept there.",{"slug":1263,"title":1264,"focus":1265,"teaser":1266},"data-sovereignty-jurisdictional-boundaries-for-hybrid-ai-aip-c01","Data Sovereignty: jurisdictional boundaries for hybrid AI","How to enforce jurisdictional restrictions on foundation-model data flows and access across on-premises, edge, and cloud environments.","Define a data-flow contract with legal and compliance teams before choosing infrastructure. For each data class, record permitted processing locations, permitted recipients and administrators, retention rules, and approved recovery destinations. Include prompts, retrieved context, embeddings, responses, caches, logs, and backups. A retrieval operation can export restricted data even when the original database never moves.",{"slug":1268,"title":1269,"focus":1270,"teaser":1271},"aws-outposts-vs-aws-wavelength-on-premises-and-carrier-edge-placement-aip-c01","AWS Outposts vs. AWS Wavelength: on-premises and carrier-edge placement","How customer-site deployment with Outposts differs from carrier-edge deployment with Wavelength for residency requirements and proximity to users or local systems.","AWS Outposts places AWS infrastructure in a customer-selected facility, such as an on-premises data center or colocation site. AWS Wavelength places AWS compute and storage in telecommunications partners’ data centers, within their networks. Both extend AWS beyond a Region, but they bring processing closer to different things: Outposts to local systems, Wavelength to users reached through the carrier network.",{"slug":1273,"title":1274,"focus":1275,"teaser":1276},"ip-routing-controlled-hybrid-forwarding-paths-aip-c01","IP Routing: controlled hybrid forwarding paths","How route selection, propagation policies, and return paths keep cloud-to-on-premises traffic on approved network paths while preserving access to foundation model endpoints.","A cloud AI application needs two approved destinations: an on-premises records service and a regional foundation model endpoint. This IPv4 design uses non-overlapping networks. The diagram shows request direction only; the VPC routing card represents a routing decision, not another appliance. Label the shared first leg Request packets, every records-branch leg Records requests, and both model-branch legs Runtime HTTPS.",{"slug":1278,"title":1279,"focus":1280,"teaser":1281},"amazon-vpc-isolated-service-access-through-vpc-endpoints-aip-c01","Amazon VPC: isolated service access through VPC endpoints","How endpoint selection, private DNS, endpoint policies, and network controls keep foundation-model workloads connected to approved AWS services without public internet access.","An isolated foundation-model application still needs explicit paths to its dependencies. For regional InvokeModel calls, select the Bedrock Runtime interface endpoint, not merely the Bedrock control-plane endpoint. Interface endpoints use AWS PrivateLink and private network interfaces in your subnets. The managed model remains outside your VPC.",{"slug":1283,"title":1284,"focus":1285,"teaser":1286},"aws-privatelink-hybrid-access-to-regional-service-endpoints-aip-c01","AWS PrivateLink: hybrid access to regional service endpoints","How on-premises workloads privately reach Amazon Bedrock through regional interface endpoints, including hybrid DNS, endpoint policies, and why private connectivity alone does not guarantee data residency.","An on-premises workload reaches Amazon Bedrock through a regional interface endpoint: private network interfaces in your VPC, backed by AWS PrivateLink. For runtime inference in this example, create com.amazonaws.eu-west-1.bedrock-runtime. Management APIs use a separate bedrock endpoint; one endpoint does not cover every Bedrock API family.",{"slug":1288,"title":1289,"focus":1290,"teaser":1291},"aws-outposts-data-locality-across-hybrid-connections-aip-c01","AWS Outposts: data locality across hybrid connections","How local processing, local gateway routing, and Regional service-link dependencies determine data residency when Outposts workloads access Regional foundation models.","This design uses an Outposts rack: a local records system sends data to an EC2 application for filtering before an approved prompt reaches a Regional foundation model. The arrows show forward payload flow, not every packet, response, or management connection.",{"slug":1293,"title":1294,"focus":1295,"teaser":1296},"aws-wavelength-network-boundaries-for-edge-ai-aip-c01","AWS Wavelength: network boundaries for edge AI","How Wavelength Zone placement, carrier gateways, and regional VPC connectivity shape low-latency AI data paths and jurisdiction-compliant access to regional foundation model endpoints.","AWS Wavelength places supported compute and storage in a telecommunications partner’s network. A subnet in a Wavelength Zone belongs to a regional VPC, but its physical location differs from the Region’s Availability Zones. Place latency-sensitive inference there; a regional foundation model call still incurs a regional round trip.",{"slug":1298,"title":1299,"focus":1300,"teaser":1301},"api-gateway-pattern-enforcing-the-genai-policy-boundary-aip-c01","API Gateway Pattern: enforcing the GenAI policy boundary","How a GenAI gateway enforces caller-specific model and data-handling policies through a controlled inference interface that clients cannot bypass.","A GenAI gateway exposes an application contract, such as an approved summarization task, rather than unrestricted provider parameters. Here, Amazon API Gateway uses IAM authorization for signed client requests. Elastic Load Balancing forwards application traffic, and AWS WAF filters web requests; neither supplies API Gateway's IAM-authorized API routes.",{"slug":1303,"title":1304,"focus":1305,"teaser":1306},"amazon-api-gateway-throttling-and-backend-protection-aip-c01","Amazon API Gateway: throttling and backend protection","How gateway throttling tiers constrain request traffic, differ from model token quotas, and shape client retry behavior.","API Gateway uses a token bucket for request throttling: the rate setting replenishes request-admission tokens, while the burst setting bounds bucket capacity. A short spike can consume accumulated capacity faster than it replenishes. When admission capacity is unavailable, API Gateway can reject the request with 429 Too Many Requests, rather than queue it for later. Burst capacity is not a limit on in-flight backend executions.",{"slug":1308,"title":1309,"focus":1310,"teaser":1311},"security-quality-gates-enforcing-release-policies-aip-c01","Security Quality Gates: enforcing release policies","How delivery pipelines evaluate security evidence for the exact artifact being promoted, block changes when checks fail or evidence is incomplete, and enforce auditable, time-limited exceptions.","A security quality gate turns security evidence into an enforced release decision. This diagram shows a container release's evidence and decision flows—not invocation calls, lookup requests, or image downloads. Its policy verifier and exception handling are custom implementation choices, not automatic features of a scanning service.",{"slug":1313,"title":1314,"focus":1315,"teaser":1316},"aws-codebuild-buildspec-driven-quality-gates-aip-c01","AWS CodeBuild: buildspec-driven quality gates","How buildspec phases run GenAI regression tests and security scans, publish reports, and fail builds to prevent noncompliant artifacts from advancing through a pipeline.","A quality gate must translate unacceptable results into a failed build, not merely print warnings. Keep the buildspec, test harness, and policy thresholds under version control together. With version: 0.2, commands share shell state across commands, unlike the isolated command shells of version 0.1.",{"id":1318,"title":1319,"subtitle":152,"lessons":1320},515,"Implement FM API integrations",[1321,1326,1331,1336,1341,1346,1351,1356,1361,1366,1371,1376,1381,1386,1391,1396],{"slug":1322,"title":1323,"focus":1324,"teaser":1325},"aws-tools-and-sdks-sdk-retry-policies-aip-c01","AWS Tools and SDKs: SDK retry policies","How SDK retry modes, exponential backoff with jitter, and attempt limits handle transient errors and throttling without creating excessive retries or latency in model API calls.","An SDK retry policy decides whether a failed model API call is eligible for another attempt and how to delay that attempt. Standard mode combines retryable-error classification, exponential backoff with jitter, and a retry quota that limits retries during sustained failures. It is a good starting point when you want retries without adaptive client-side request pacing. Authentication failures and invalid requests generally require correction, not repetition.",{"slug":1327,"title":1328,"focus":1329,"teaser":1330},"message-queuing-asynchronous-model-request-processing-aip-c01","Message Queuing: asynchronous model request processing","How queued model requests move from acceptance to completed results despite slow inference, consumer failures, and duplicate delivery.","A queued model API returns acceptance, not an inference result. Validate the request, create a stable tenant-scoped job ID, and confirm that SQS accepted the message before returning an accepted response. Include the job ID, input or input reference, model selection, parameters, and a request fingerprint. If the send outcome is uncertain, retry with the same job ID; duplicate messages are safer than falsely reporting acceptance.",{"slug":1332,"title":1333,"focus":1334,"teaser":1335},"amazon-sqs-reliable-asynchronous-request-processing-aip-c01","Amazon SQS: reliable asynchronous request processing","How SQS manages queued model-invocation requests through worker processing, using visibility timeouts, explicit deletion, idempotent retries, and dead-letter queues to handle slow or failed invocations safely.","Amazon SQS stores invocation requests until workers can process them. Accepting a message is not completing an invocation: the worker must receive it, call the model, persist the result, and explicitly delete the message. This design uses a Standard queue, so workers must tolerate duplicate deliveries and out-of-order requests.",{"slug":1337,"title":1338,"focus":1339,"teaser":1340},"request-validation-enforcing-inference-request-contracts-aip-c01","Request Validation: enforcing inference request contracts","How to enforce a stable inference request contract using API Gateway REST API parameter and body validation, backend semantic checks, and revalidation at asynchronous consumer boundaries.","A request contract defines accepted inputs, not just a JSON shape. For an inference endpoint, separate required request parameters, body structure, and rules that depend on the selected model or caller. API Gateway REST APIs can reject basic violations before invoking the integration; do not assume HTTP APIs offer the same built-in validation.",{"slug":1342,"title":1343,"focus":1344,"teaser":1345},"server-sent-events-vs-websockets-aip-c01","Server-Sent Events vs. WebSockets","How server-to-client updates over SSE differ from bidirectional WebSocket messaging when choosing a transport for real-time AI interactions.","Server-Sent Events (SSE) carries server-to-client text events in a long-lived HTTP response. The client initiates the request, but that response is a one-way application channel. Another prompt, feedback, or cancellation requires a separate request or another mechanism. This is often sufficient for an assistant that receives a prompt and then displays incremental text.",{"slug":1347,"title":1348,"focus":1349,"teaser":1350},"chunked-transfer-encoding-framing-incremental-http-responses-aip-c01","Chunked Transfer Encoding: framing incremental HTTP responses","How HTTP\u002F1.1 chunk framing lets a streaming-enabled API integration transmit generated output before its final length is known, without treating chunks as application messages.","Chunked transfer encoding lets an HTTP\u002F1.1 response carry generated output before the total body length is known. A streaming-enabled API integration supplies body bytes incrementally; the HTTP layer frames those bytes for transmission. The response declares Transfer-Encoding: chunked and must not also send Content-Length. HTTP libraries normally handle this framing rather than application code constructing it manually.",{"slug":1352,"title":1353,"focus":1354,"teaser":1355},"server-sent-events-streaming-model-responses-to-clients-aip-c01","Server-Sent Events: streaming model responses to clients","How a backend translates foundation-model streaming output into correctly framed SSE events and delivers them incrementally through a streaming-capable HTTP path.","A streaming backend is a protocol adapter. Amazon Bedrock ConverseStream supplies structured SDK events, not browser-compatible SSE. The backend selects useful output and encodes a separate HTTP response. ConverseStream is a Bedrock API; a SageMaker inference endpoint uses a different API contract.",{"slug":1357,"title":1358,"focus":1359,"teaser":1360},"server-sent-events-vs-chunked-transfer-encoding-aip-c01","Server-Sent Events vs. Chunked Transfer Encoding","Why SSE event boundaries differ from HTTP transport boundaries, and why enabling chunked transfer alone does not provide SSE or guarantee immediate delivery.","Server-Sent Events (SSE) defines application events in a UTF-8 response with the media type text\u002Fevent-stream. A data: field contributes event content; a blank line ends the event block and triggers dispatch when the block contains data. Neither the media type alone nor a transport setting creates those fields and delimiters.",{"slug":1362,"title":1363,"focus":1364,"teaser":1365},"websockets-streaming-model-responses-aip-c01","WebSockets: streaming model responses","How a backend bridges model output into correlated WebSocket messages, with sequencing, completion, partial-output errors, and client cancellation.","The browser's WebSocket connection and the model's response event stream are separate interfaces. A backend reads model events, converts them into application messages, and sends them to the connection. API Gateway does not automatically translate Bedrock output into browser messages.",{"slug":1367,"title":1368,"focus":1369,"teaser":1370},"amazon-api-gateway-incremental-response-delivery-aip-c01","Amazon API Gateway: incremental response delivery","How response-streaming integrations and WebSocket connection management deliver incremental model output within their respective timeout and connection limits.","Response streaming sends partial output within one HTTP response. API Gateway REST APIs support streaming responses through supported Lambda proxy and HTTP proxy integrations. Configure the integration's responseTransferMode as STREAM and use a streaming-capable backend; a normal buffered Lambda return does not become a stream merely because it contains several strings. Do not assume that HTTP APIs have the same streaming support as REST APIs.",{"slug":1372,"title":1373,"focus":1374,"teaser":1375},"exponential-backoff-bounded-retries-for-model-apis-aip-c01","Exponential Backoff: bounded retries for model APIs","How to configure jittered SDK retries for eligible model API failures within an overall deadline, accounting for nested retries, ambiguous timeouts, and partially delivered streams.","A model API failure must pass two gates before another attempt: is the failure eligible for retry? and is replay acceptable? Use the API's documented error codes and the SDK's retry classification. Throttling, selected transient server errors, and some transport failures are candidates; malformed prompts, unsupported parameters, and authorization failures generally require correction instead.",{"slug":1377,"title":1378,"focus":1379,"teaser":1380},"rate-limiting-token-aware-inference-budgets-aip-c01","Rate Limiting: token-aware inference budgets","How request-rate and token-rate budgets govern inference admission and pacing to maximize usable model throughput within sustained and burst limits.","Inference admission must often satisfy both a request-rate budget and a token-rate budget. Each invocation consumes one request allowance, but its token cost depends on the work counted by the provider. Many short invocations can exhaust request allowance; a few long invocations can exhaust token allowance. Spare capacity in one budget cannot compensate for exhaustion of the other.",{"slug":1382,"title":1383,"focus":1384,"teaser":1385},"exponential-backoff-vs-rate-limiting-aip-c01","Exponential Backoff vs. Rate Limiting","How reactive retry timing differs from proactive request admission, and why backing off cannot enforce request-rate or token budgets.","Exponential backoff answers: after an eligible failure, when should this operation try again? Its delay ceiling grows with successive failures, usually up to a cap. Jitter randomizes the wait so clients do not repeatedly retry together. These mechanisms react to an attempt that has already happened.",{"slug":1387,"title":1388,"focus":1389,"teaser":1390},"aws-x-ray-vs-amazon-cloudwatch-traces-logs-and-metrics-aip-c01","AWS X-Ray vs Amazon CloudWatch: traces, logs, and metrics","When distributed request traces answer FM troubleshooting questions that logs and metrics cannot, and when CloudWatch provides the evidence that X-Ray lacks.","A slow or incorrect foundation model (FM) response creates different troubleshooting questions: Where did this request spend its time? How widespread is the change? What did the application actually send and validate? These require different evidence, even when one observability console brings the signals together.",{"slug":1392,"title":1393,"focus":1394,"teaser":1395},"aws-x-ray-contextual-tracing-of-distributed-fm-requests-aip-c01","AWS X-Ray: contextual tracing of distributed FM requests","How OpenTelemetry instrumentation preserves request context across service boundaries and enriches X-Ray traces with call timing, errors, and searchable prompt-version annotations without exposing sensitive prompt content.","OpenTelemetry instrumentation creates spans around application work and outbound calls. In this architecture, a frontend calls an inference service, which invokes an FM through Amazon Bedrock. Instrumentation observes the call; it does not require recording its prompt or response body.",{"slug":1397,"title":1398,"focus":1399,"teaser":1400},"content-based-routing-foundation-model-selection-policies-aip-c01","Content-Based Routing: foundation model selection policies","How to implement rules-first, runtime-classified model selection that enforces eligibility constraints, uses measured quality, latency, and cost to choose destinations, and preserves those constraints on default and fallback paths.","A content-based router selects a foundation model from request attributes, not merely endpoint load. This implementation separates request normalization, attempt orchestration, and application-level model selection. The diagram shows outbound calls and telemetry; responses and internal workflow transitions are omitted.",{"id":1402,"title":1403,"subtitle":152,"lessons":1404},516,"Implement application integration patterns and development tools",[1405,1410,1415,1420,1425,1430,1435,1440,1445,1450,1455,1460,1465,1470,1475,1480,1485],{"slug":1406,"title":1407,"focus":1408,"teaser":1409},"token-budgeting-vs-context-window-aip-c01","Token Budgeting vs. Context Window","Why a request fitting within the model's context capacity can still exceed the application's token or spending budget.","A context window is a model constraint: how much information a request can contain under that model's accounting rules. An application budget is a policy constraint: how many tokens or how much money the application permits. Passing the model's capacity check does not imply passing either application check.",{"slug":1411,"title":1412,"focus":1413,"teaser":1414},"apis-diagnosing-request-response-failures-aip-c01","APIs: diagnosing request–response failures","How correlated request and response evidence distinguishes schema mismatches, authentication failures, throttling, timeouts, and malformed model responses to identify the appropriate correction.","A failure message identifies a symptom, not necessarily its source. Diagnose an individual attempt by pairing its outgoing request evidence with its response or transport exception. A logical operation may contain several SDK retries: the final exception alone can hide earlier throttling or a different failure. Use an application correlation ID across the operation, a separate attempt identifier, and the provider request ID when one is returned.",{"slug":1416,"title":1417,"focus":1418,"teaser":1419},"api-first-design-openapi-contracts-for-ai-applications-aip-c01","API-First Design: OpenAPI contracts for AI applications","How to define consumer-driven OpenAPI contracts that hide model-specific details, specify interaction and failure behavior, and support independent client and backend development.","A consumer-driven contract starts with what a client must accomplish and the decisions its interface must support. For a support-case summarizer, agree on POST \u002Fsummaries with caseId, language, and lengthPreference, rather than copying a provider's invocation payload. Review examples with consumers before implementing the backend. Keep model identifiers, prompt templates, and inference settings private unless consumers have a genuine requirement to control them. The backend translates application intent into model-specific calls.",{"slug":1421,"title":1422,"focus":1423,"teaser":1424},"declarative-programming-accessible-ai-interface-components-aip-c01","Declarative Programming: accessible AI interface components","How to compose reusable declarative UI components for AI conversations, model loading, streaming, and error states, and test keyboard access, focus transitions, and screen-reader announcements as those states change.","A declarative component describes the interface for its current inputs. Compose a conversation from reusable parts: a transcript, composer, model-readiness indicator, response controls, error panel, and announcement region. AWS Amplify UI can supply building blocks, but the application still owns their state contract and accessibility behavior. Keep conversation data above these components; pass state down and send user actions back through callbacks.",{"slug":1426,"title":1427,"focus":1428,"teaser":1429},"aws-amplify-declarative-ai-interface-components-aip-c01","AWS Amplify: declarative AI interface components","How to connect and customize Amplify UI AI components for authenticated model interactions with accessible streaming, loading, and error states.","Amplify UI AIConversation is a declarative React interface, not a model endpoint. In the Amplify AI Kit conversation pattern, the browser binds to an authenticated Amplify Data conversation route; a backend handler invokes Amazon Bedrock. The diagram shows this interaction path, not every resource used for conversation persistence.",{"slug":1431,"title":1432,"focus":1433,"teaser":1434},"workflow-orchestration-durable-business-process-execution-aip-c01","Workflow Orchestration: durable business process execution","How an orchestrator maintains business-process state across service calls, asynchronous processing, and approvals, with explicit completion and recovery paths rather than chained function calls.","A durable orchestrator owns the business process, not the business operations themselves. AWS Step Functions records execution progress and state between tasks, evaluates conditions, and decides what happens next. A Lambda function can update a CRM record; it should not have to remain running while the process waits for extraction or approval.",{"slug":1436,"title":1437,"focus":1438,"teaser":1439},"amazon-q-and-amazon-codewhisperer-capability-boundaries-aip-c01","Amazon Q and Amazon CodeWhisperer: capability boundaries","How the code-suggestion capabilities formerly offered by CodeWhisperer fit within Q Developer's broader development assistance, without treating them as separate current offerings.","The supplied Amazon Q lifecycle notice states that maintenance began on June 30, 2026: new customers are not accepted, and existing customers can continue using it. AWS’s migration guide is https:\u002F\u002Fdocs.aws.amazon.com\u002Famazonq\u002Flatest\u002Fqbusiness-ug\u002Fqbusiness-availability-change.html. That guide concerns Q Business; it does not establish Q Developer’s lifecycle status. This lesson describes capabilities AWS offered, rather than recommending a new deployment.",{"slug":1441,"title":1442,"focus":1443,"teaser":1444},"developer-tools-grounding-ai-code-suggestions-in-project-context-aip-c01","Developer tools: grounding AI code suggestions in project context","How to supply repository context and SDK API constraints to an AI coding assistant so generated GenAI integration code matches the application's interfaces and dependencies.","An AI coding assistant can produce valid SDK code that is wrong for your application. Grounding means supplying authoritative project constraints, not merely asking for similar-looking code. For an assistant such as Amazon Q Developer, explicitly select or attach the relevant files using the context controls available in your environment. Do not assume that an open workspace means every relevant file was retrieved or read.",{"slug":1446,"title":1447,"focus":1448,"teaser":1449},"amazon-q-context-guided-development-with-q-developer-aip-c01","Amazon Q: context-guided development with Q Developer","How to guide Q Developer with project context to generate and refine GenAI application changes, using tests and code review to validate API usage, correctness, and performance.","Amazon Q is in maintenance since 2026-06-30: it is closed to new customers, while existing customers can keep using it. AWS's migration guide is https:\u002F\u002Fdocs.aws.amazon.com\u002Famazonq\u002Flatest\u002Fqbusiness-ug\u002Fqbusiness-availability-change.html. This lesson teaches Q Developer as AWS offered it, not as a recommendation for new workloads.",{"slug":1451,"title":1452,"focus":1453,"teaser":1454},"amazon-codewhisperer-context-guided-code-refinement-aip-c01","Amazon CodeWhisperer: context-guided code refinement","How to steer and validate IDE code suggestions in Amazon Q Developer, formerly CodeWhisperer, to improve GenAI integrations and implement application-specific error recognition.","Amazon Q Developer, which incorporates the code-suggestion capabilities formerly called CodeWhisperer, uses development context to propose code. Context guides generation; it does not prove correctness. Nearby comments, function signatures, imports, and existing implementations help steer inline suggestions. When requesting a larger refinement in chat, explicitly supply the relevant files or code rather than assuming every repository detail is available.",{"slug":1456,"title":1457,"focus":1458,"teaser":1459},"unit-testing-deterministic-tests-for-genai-application-logic-aip-c01","Unit Testing: deterministic tests for GenAI application logic","How to isolate GenAI application behavior with fixed model responses and verify that AI-assisted tests protect intended behavior rather than implementation assumptions.","A deterministic GenAI unit test asks: given this model response, does the application behave correctly? It does not ask whether the model will produce that response. Even a low-temperature live model call is not a substitute for a fixed test input.",{"slug":1461,"title":1462,"focus":1463,"teaser":1464},"code-refactoring-behavior-preserving-changes-in-genai-applications-aip-c01","Code Refactoring: behavior-preserving changes in GenAI applications","How to use AI-assisted, incremental refactoring to isolate model integration behind stable contracts, verifying that prompts, responses, errors, and side effects remain compatible.","Refactoring changes code structure while preserving observable behavior. Extracting model invocation into an adapter can be refactoring; changing the model, improving a prompt, adding caching, or introducing retries is a separate behavior change. Keep these changes separate so a failing comparison has a small set of possible causes.",{"slug":1466,"title":1467,"focus":1468,"teaser":1469},"developer-tools-test-gated-ai-refactoring-aip-c01","Developer tools: test-gated AI refactoring","How to constrain AI-assisted changes to GenAI components with executable regression tests that expose behavioral changes before accepting a refactor.","An AI-assisted refactor should change implementation without changing approved behavior. For a GenAI component, that behavior includes more than the final answer: prompt roles, retrieved context, tool arguments, response schemas, refusal handling, retries, and error mapping can all be observable contracts. Ask Amazon Q Developer for a bounded implementation change, not an unrestricted improvement, and define what must remain invariant before accepting its patch.",{"slug":1471,"title":1472,"focus":1473,"teaser":1474},"performance-profiling-locating-genai-application-bottlenecks-aip-c01","Performance Profiling: locating GenAI application bottlenecks","How to correlate execution profiles with request timings to distinguish application hotspots from dependency waits and validate AI-assisted optimizations against a controlled baseline.","A request timing measures elapsed time; a CPU profile shows where sampled execution used CPU. A slow request can therefore have little CPU activity. Instrument retrieval, prompt construction, model invocation and response processing as spans, and propagate trace context across supported boundaries. Record retries, connection-pool acquisition and backoff separately where possible.",{"slug":1476,"title":1477,"focus":1478,"teaser":1479},"event-correlation-reconstructing-fm-application-failure-sequences-aip-c01","Event Correlation: reconstructing FM application failure sequences","How correlation keys and time windows connect FM application events into reliable failure sequences despite retries, duplicate records, and delayed arrivals.","An FM application can retry an invocation, call several tools, or run model calls in parallel. Reconstructing its failure sequence requires an operation key that survives those actions, not just nearby timestamps. A useful application-defined key is (environment, tenant_id, operation_id). Propagate it through application logs and queued work; a conversation ID alone can merge separate user turns.",{"slug":1481,"title":1482,"focus":1483,"teaser":1484},"distributed-tracing-critical-paths-in-fm-workflows-aip-c01","Distributed Tracing: critical paths in FM workflows","How context propagation and custom spans reveal end-to-end FM workflow latency and distinguish critical-path delays from overlapping operations.","An FM request can include retrieval, independent classification, prompt assembly and generation. Its end-to-end latency is the elapsed time to a defined completion boundary, not the sum of every operation's duration. Here, completion means that the orchestrator has finished returning the generated response.",{"slug":1486,"title":1487,"focus":1488,"teaser":1489},"event-correlation-vs-distributed-tracing-aip-c01","Event Correlation vs. Distributed Tracing","How inferred relationships among events differ from instrumented parent–child span relationships, and what each can establish during troubleshooting.","Event correlation relates observations using evidence such as shared identifiers, resources, attributes, and timing. The relationship is inferred by a query, rule, or investigator; it need not have been recorded when the activity happened. Collecting events together is aggregation, not correlation.",{"id":1491,"title":1492,"subtitle":152,"subcategories":1493},139,"AI Safety, Security, and Governance",[1494,1593,1657,1741],{"id":1495,"title":1496,"subtitle":152,"lessons":1497},517,"Implement input and output safety controls",[1498,1503,1508,1513,1518,1523,1528,1533,1538,1543,1548,1553,1558,1563,1568,1573,1578,1583,1588],{"slug":1499,"title":1500,"focus":1501,"teaser":1502},"input-validation-real-time-prompt-acceptance-policies-aip-c01","Input Validation: real-time prompt acceptance policies","How deterministic request checks, probabilistic content moderation, and domain rules determine whether incoming prompts proceed, are rejected, or require review, including when a required validator fails.","Deterministic checks enforce exact request contracts: required fields, permitted properties, types, lengths, nesting limits, and allowed operation values. Decode and normalize consistently before applying relevant rules. Reject ambiguous representations rather than letting different validators interpret different inputs.",{"slug":1504,"title":1505,"focus":1506,"teaser":1507},"text-to-sql-controlled-database-computation-aip-c01","Text-to-SQL: controlled database computation","How to replace generated numerical claims with schema-grounded, validated SQL executed under restricted permissions and resource limits, without confusing reproducible computation with correct interpretation.","Text-to-SQL moves arithmetic from model-generated prose into a database. The model proposes a query; the database computes its result. But “net revenue by region last month” is not yet a calculation: it leaves the revenue definition, reporting period, region attribution, and aggregation level unresolved.",{"slug":1509,"title":1510,"focus":1511,"teaser":1512},"amazon-athena-parameterized-sql-aip-c01","Amazon Athena: parameterized SQL","How prepared statements and execution parameters let text-to-SQL applications use vetted query structures instead of executing unrestricted model-generated SQL.","A constrained text-to-SQL application maps language to a supported intent and candidate values. For example, the model proposes sales_since and a start date. Trusted application code selects a reviewed query structure; it never forwards model-written SQL or falls back to unrestricted SQL when no intent matches.",{"slug":1514,"title":1515,"focus":1516,"teaser":1517},"hallucinations-vs-nondeterminism-aip-c01","Hallucinations vs. Nondeterminism","Why variation between responses and lack of factual support are independent properties, so consistent answers can still be fabricated.","Nondeterminism concerns whether repeated executions produce different outputs under the same effective inputs and configuration. Hallucination concerns whether an output contains false, fabricated, or unsupported information. Variation is a relationship between runs; factual support is a relationship between a claim and the evidence it should use.",{"slug":1519,"title":1520,"focus":1521,"teaser":1522},"hallucinations-evidence-based-response-verification-aip-c01","Hallucinations: evidence-based response verification","How claim-level checks against authoritative evidence detect unsupported answers, including the limits of retrieval similarity, confidence scores, citations, and schema validation.","Claim-level verification asks whether each factual assertion follows from evidence the application is allowed to trust. Split a draft into independently checkable claims, preserving qualifiers such as product version, date, region, and eligibility conditions. One sentence can contain several claims: “Standard-plan customers receive refunds automatically” asserts both eligibility and an automatic process.",{"slug":1524,"title":1525,"focus":1526,"teaser":1527},"retrieval-augmented-generation-indexed-evidence-integrity-aip-c01","Retrieval-Augmented Generation: indexed evidence integrity","How tracing source passages through preprocessing, chunking, and embedding reveals ingestion defects and representation drift that require repair or reindexing.","An indexed passage is a derived artifact, not a copy you can assume is faithful. Evidence lineage links an immutable source version to extracted text, chunk boundaries, the exact embedding input, and the stored index record. A successful ingestion job proves that work completed; it does not prove that the passage survived correctly.",{"slug":1529,"title":1530,"focus":1531,"teaser":1532},"retrieval-augmented-generation-retrieval-quality-testing-aip-c01","Retrieval-Augmented Generation: retrieval quality testing","How labeled reference passages, recall and precision at k, context-match checks, and latency measurements guide controlled tests of query-time retrieval settings.","A retrieval test needs labeled reference passages, not just expected answers. For each query, record the evidence that would support an answer, its source identifier and version, and any required region, date, or permission scope. Label passages for their ability to support the requested fact: a high similarity score or shared vocabulary is not a relevance judgment.",{"slug":1534,"title":1535,"focus":1536,"teaser":1537},"retrieval-augmented-generation-grounded-answer-evaluation-aip-c01","Retrieval-Augmented Generation: grounded answer evaluation","How representative test cases, calibrated model judges, and human review assess answer correctness, completeness, faithfulness, and citation support while separating retrieval failures from generation failures.","A useful evaluation case contains more than a question and an ideal sentence. Record the user's task and scope, authoritative reference passages with versions, required facts, acceptable alternatives, and expected behavior when evidence is missing. Build representative cases from real task categories, including multi-part questions, conflicting or outdated sources, unanswerable requests, and permission-sensitive requests. Include rare, high-impact cases deliberately; report them separately rather than allowing frequent easy questions to hide their failures. Keep a held-out set separate from cases used to tune prompts or evaluation rules.",{"slug":1539,"title":1540,"focus":1541,"teaser":1542},"confidence-scoring-evidence-based-acceptance-thresholds-aip-c01","Confidence Scoring: evidence-based acceptance thresholds","How to derive claim-support scores from evidence, validate their meaning on labeled examples, and set risk-based thresholds for accepting, retrying, or escalating generated responses without treating confidence as proof of correctness.","A claim-support score measures whether specified evidence supports a claim—not whether the claim is universally true. Split a generated answer into independently checkable claims, preserving conditions, dates, quantities, and exceptions. For each claim, retain the supporting passage and document version, then distinguish supported, contradicted, and insufficient evidence. Missing evidence is not evidence that a claim is false.",{"slug":1544,"title":1545,"focus":1546,"teaser":1547},"hallucinations-diagnosing-unsupported-claim-failures-aip-c01","Hallucinations: diagnosing unsupported-claim failures","How golden datasets, claim-level output comparisons, and observable retrieval and tool traces distinguish evidence failures from generation failures.","A golden dataset is a reviewed set of inputs, authoritative evidence, and expected behavior. For diagnosis, each case needs more than an ideal answer: record required claims, their supporting passages or tool results, relevant dates and scope, and when the system should abstain. This separates an unsupported assertion from a valid paraphrase or a justified refusal.",{"slug":1549,"title":1550,"focus":1551,"teaser":1552},"amazon-comprehend-pii-detection-and-selective-redaction-aip-c01","Amazon Comprehend: PII detection and selective redaction","How PII entity types, confidence thresholds, and text offsets drive selective masking and batch redaction while preserving useful context.","DetectPiiEntities returns candidate PII spans with a Type, Score, BeginOffset, and EndOffset. Types such as NAME, EMAIL, and PHONE describe what was detected; they do not decide what your application must remove. Comprehend PII detection supports English and Spanish, not every language supported by other Comprehend features.",{"slug":1554,"title":1555,"focus":1556,"teaser":1557},"defense-in-depth-independent-safeguards-for-foundation-model-interactions-aip-c01","Defense in Depth: independent safeguards for foundation-model interactions","How to combine input, model, and output safeguards so that bypasses and shared failure modes do not defeat the entire safety system.","Defense in depth assumes that every safeguard can miss a violation. Input controls reduce what reaches the model, model safeguards apply configured content policies, and output controls decide what the application may release. A system prompt guides generation; it is not an authorization boundary.",{"slug":1559,"title":1560,"focus":1561,"teaser":1562},"jailbreaking-and-prompt-injection-distinguishing-overlapping-attacks-aip-c01","Jailbreaking and prompt injection: distinguishing overlapping attacks","How defeating model safeguards differs from redirecting application behavior through injected instructions, and when an attack qualifies as both.","Jailbreaking targets a model’s safeguards: the attacker tries to defeat protective restrictions on what the model will disclose, generate, or support. Prompt injection uses attacker-supplied instructions to redirect application behavior away from its authorized task or governing instructions. Jailbreaking emphasizes the restriction being attacked; prompt injection emphasizes the instruction-based mechanism.",{"slug":1564,"title":1565,"focus":1566,"teaser":1567},"input-sanitization-bounded-normalization-before-threat-inspection-aip-c01","Input Sanitization: bounded normalization before threat inspection","How to apply bounded, format-aware transformations to untrusted AI inputs so downstream threat detectors inspect the content actually consumed, without treating sanitized text as trusted.","Sanitization changes untrusted input for a specific processing context. Validation decides whether input meets requirements. Rejecting a field containing prohibited control characters is validation; removing permitted-to-remove control characters is sanitization. Neither operation proves that the resulting text is safe to follow as an instruction.",{"slug":1569,"title":1570,"focus":1571,"teaser":1572},"prompt-injection-detection-across-trust-boundaries-aip-c01","Prompt Injection: detection across trust boundaries","How to screen user messages, retrieved content, and tool responses for instruction attacks, using adversarial tests to measure detection coverage and false positives without treating filters as a security boundary.","Prompt-injection detection asks whether content is trying to gain authority it does not have. Screen three entry points: user messages, retrieved passages, and tool responses. A user can request an allowed task, but cannot override application rules. Retrieved passages and tool responses supply evidence or results, not new application instructions—even when they arrive through an authenticated service.",{"slug":1574,"title":1575,"focus":1576,"teaser":1577},"jailbreaking-detecting-safeguard-bypass-attempts-aip-c01","Jailbreaking: detecting safeguard-bypass attempts","How layered screening detects single-turn and multi-turn safeguard-bypass attempts, and how adversarial testing measures missed attacks and false positives without treating detection as a security boundary.","A jailbreak detector estimates whether input is trying to defeat model safeguards. For a single-turn request, useful signals include claimed authority to override restrictions, requests to suspend safeguards, and attempts to disguise a prohibited objective. These are evidence, not proof: a legitimate security discussion can describe the same techniques. Judge the requested behavior and its context, not just the presence of suspicious words.",{"slug":1579,"title":1580,"focus":1581,"teaser":1582},"adversarial-robustness-adversarial-input-screening-aip-c01","Adversarial Robustness: adversarial-input screening","How to configure an input-screening gate to detect prompt injection and jailbreak attempts, using sanitization and classifier thresholds without excessively rejecting legitimate requests.","Prompt injection attempts to turn untrusted text into instructions that override application policy; a jailbreak attempts to bypass model safeguards. Detect the attempted instruction change, not merely words such as “ignore” or “system.” A legitimate security lesson can quote those words without requesting a bypass.",{"slug":1584,"title":1585,"focus":1586,"teaser":1587},"red-teaming-automated-adversarial-testing-aip-c01","Red Teaming: automated adversarial testing","How to design authorized, repeatable adversarial tests that expose safety-control bypasses and measure detector effectiveness across a generative AI application's trust boundaries.","Red teaming searches for violations of a defined security or safety requirement, not merely poor answers. Obtain written authorization identifying target environments, identities, permitted attack surfaces, request and spending limits, stop conditions, and an owner who can halt execution. Use synthetic secrets, isolated tenants, restricted credentials, and simulated transactions.",{"slug":1589,"title":1590,"focus":1591,"teaser":1592},"adversarial-robustness-automated-attack-evaluation-aip-c01","Adversarial Robustness: automated attack evaluation","How to automate threat-model-driven adversarial tests that expose safety-control bypasses, including adaptive attacks and regression testing after system changes.","An automated adversarial evaluation needs a test contract, not just difficult prompts. Define the protected asset, forbidden outcome, attacker-controlled surface, attacker knowledge, and interaction budget. Distinguish direct user instructions from attacker-controlled retrieved documents or tool responses. Inject each test through its actual surface: putting a malicious document into the user message tests a different trust boundary.",{"id":1594,"title":1595,"subtitle":152,"lessons":1596},518,"Implement data security and privacy controls",[1597,1602,1607,1612,1617,1622,1627,1632,1637,1642,1647,1652],{"slug":1598,"title":1599,"focus":1600,"teaser":1601},"network-isolation-private-communication-boundaries-for-ai-workloads-aip-c01","Network Isolation: private communication boundaries for AI workloads","How to constrain foundation model workloads to explicitly authorized private communication paths using VPC endpoints while preventing unintended internet and cross-network access.","An AI application can call a managed foundation model without an internet path. This design permits two application API paths: regional Amazon Bedrock Runtime inference and application log writes to CloudWatch Logs. The arrows show outbound API requests; responses, DNS exchanges, and configuration controls are not separate arrows. The model remains a managed service outside your VPC.",{"slug":1603,"title":1604,"focus":1605,"teaser":1606},"aws-lake-formation-fine-grained-data-permissions-aip-c01","AWS Lake Formation: fine-grained data permissions","How Lake Formation grants and data filters restrict access to tables, columns, rows, and cells through supported query engines, and how to prevent direct S3 access from bypassing those restrictions.","A Lake Formation SELECT grant defines what a principal may read from a cataloged table. A table-wide grant permits all its data; a column-level grant limits the permitted columns. Access to a database or table's metadata is not itself permission to read its records.",{"slug":1608,"title":1609,"focus":1610,"teaser":1611},"data-loss-prevention-sensitive-data-enforcement-in-model-pipelines-aip-c01","Data Loss Prevention: sensitive-data enforcement in model pipelines","How content inspection, data minimization, and policy enforcement prevent sensitive information from crossing unauthorized boundaries in foundation model applications.","Data Loss Prevention (DLP) makes a transfer decision about content, identity, purpose, and destination. Define the protected data and permitted boundaries first: permission to read a customer record does not automatically permit sending that record to a model, another tenant, or an external tool.",{"slug":1613,"title":1614,"focus":1615,"teaser":1616},"amazon-macie-sensitive-data-discovery-in-s3-ai-datasets-aip-c01","Amazon Macie: sensitive data discovery in S3 AI datasets","How to configure discovery scope and data identifiers to detect PII in S3 datasets used by foundation models, accounting for discovery coverage and the absence of inline protection.","Amazon Macie discovers sensitive data in S3 objects; it does not automatically inspect every dataset a foundation model can use. Start by mapping training, fine-tuning, evaluation, and retrieval-source data to their S3 buckets and object prefixes. Include intermediate exports and copies where they belong to the privacy review. Macie configuration and discovery are Regional, so account and Region boundaries matter.",{"slug":1618,"title":1619,"focus":1620,"teaser":1621},"amazon-comprehend-vs-amazon-macie-text-pii-detection-and-s3-data-discovery-aip-c01","Amazon Comprehend vs Amazon Macie: text PII detection and S3 data discovery","When application-level text inspection with Comprehend differs from sensitive-data discovery across S3 with Macie.","Amazon Comprehend inspects text that an application supplies. Its PII detection can support a decision about a particular message before that message reaches a foundation model. Amazon Macie discovers sensitive data in S3 and reports findings tied to stored data. It supports decisions about a data estate, not synchronous admission of a prompt.",{"slug":1623,"title":1624,"focus":1625,"teaser":1626},"data-retention-lifecycle-expiration-for-sensitive-ai-data-aip-c01","Data Retention: lifecycle expiration for sensitive AI data","How to implement retention limits for sensitive AI interaction data using S3 Lifecycle expiration, accounting for object versions, retained copies, and legal holds.","For sensitive AI prompts, responses, and interaction logs, define the retention clock before configuring cleanup: which event starts it, which copies it covers, and which exceptions allow longer retention. S3 Lifecycle age-based expiration uses object creation time, not an interaction timestamp inside the object. Exporting an old conversation into a new object can therefore start a different clock.",{"slug":1628,"title":1629,"focus":1630,"teaser":1631},"data-minimization-purpose-limited-ai-data-flows-aip-c01","Data Minimization: purpose-limited AI data flows","How to enforce purpose-based limits on the information entering and persisting in AI pipelines while validating that required model utility is preserved.","A purpose contract specifies the task, allowed fields, necessary precision, permitted recipients, retention, and a minimum utility target. For a support-summary task, allow product, error code, and relevant troubleshooting text; exclude payment details and unrelated account history. Reject unexpected fields before downstream calls rather than accepting everything and cleaning up later.",{"slug":1633,"title":1634,"focus":1635,"teaser":1636},"data-masking-preserving-utility-at-ai-data-boundaries-aip-c01","Data Masking: preserving utility at AI data boundaries","How to select and test detection-driven masking at AI data boundaries to reduce sensitive-value exposure while preserving context needed by foundation models.","Detection-driven masking locates sensitive spans and replaces selected values before text crosses a defined boundary. Specify the forbidden values, the permitted context, and the processing services allowed to receive raw text. A detector must see the original text; masking before a foundation model does not mean the detector never receives it.",{"slug":1638,"title":1639,"focus":1640,"teaser":1641},"data-anonymization-balancing-re-identification-risk-and-ai-utility-aip-c01","Data Anonymization: balancing re-identification risk and AI utility","How to select and validate anonymization transformations for AI data against linkage attacks while preserving task-relevant information.","Anonymization must be evaluated against an attacker’s plausible knowledge in a specific release context. For AI support-ticket data, an attacker might know a person’s occupation, town, and incident date from a public post. Those attributes can link the person to a ticket even after names and email addresses are removed. Treat combinations of fields, narrative details, and event sequences as possible quasi-identifiers, not just individual columns.",{"slug":1643,"title":1644,"focus":1645,"teaser":1646},"data-anonymization-vs-data-masking-aip-c01","Data Anonymization vs Data Masking","Why obscuring sensitive values does not establish anonymity when remaining attributes, reversible substitutions, or external information can identify people.","Data masking obscures selected values. Data anonymization aims to prevent information from being associated with an identifiable person in its intended release context. These describe different things: masking is a transformation; anonymity is a property of the resulting information and the ways people can use it.",{"slug":1648,"title":1649,"focus":1650,"teaser":1651},"data-minimization-vs-data-masking-aip-c01","Data Minimization vs. Data Masking","Why concealing sensitive values does not by itself reduce unnecessary collection, model exposure, or retention.","Data minimization asks whether information is necessary for a specific purpose, at the required precision, for particular recipients and for a justified duration. Data masking changes how selected values are represented or disclosed. These controls answer different questions: whether information belongs in a workflow, and how sensitive values should appear where information is used.",{"slug":1653,"title":1654,"focus":1655,"teaser":1656},"data-minimization-vs-data-anonymization-aip-c01","Data Minimization vs. Data Anonymization","How limiting necessary information differs from preventing identification, and why neither guarantees the other.","Data minimization asks whether information is necessary for a defined purpose. The decision includes which records and fields are needed, their precision, who receives them, and how long they persist. Necessary information is not necessarily anonymous: completing a delivery can require an identifiable address.",{"id":1658,"title":1659,"subtitle":152,"lessons":1660},519,"Implement AI governance and compliance mechanisms",[1661,1666,1671,1676,1681,1686,1691,1696,1701,1706,1711,1716,1721,1726,1731,1736],{"slug":1662,"title":1663,"focus":1664,"teaser":1665},"data-provenance-vs-source-citation-aip-c01","Data Provenance vs. Source Citation","How evidence of a source's origin and processing history differs from a citation identifying material that supports a generated response.","Data provenance describes a source's origin and relevant processing history. It connects an artifact to evidence about collection, ownership, permissions, and transformations. Source citation identifies material offered as support for a generated claim. Provenance asks how the evidence came to exist; citation asks which evidence supports this statement.",{"slug":1667,"title":1668,"focus":1669,"teaser":1670},"data-provenance-source-identity-across-genai-pipelines-aip-c01","Data Provenance: source identity across GenAI pipelines","How versioned source identifiers and linked provenance records preserve traceability from registered data through transformations and retrieval to generated content.","Source identity must survive changes in representation: an object becomes cleaned text, chunks, retrieved context, and input to generation. Pair a stable logical source ID with an exact version locator, such as an S3 bucket, key, and VersionId. A path alone can resolve to different bytes after an update.",{"slug":1672,"title":1673,"focus":1674,"teaser":1675},"aws-glue-data-catalog-provenance-metadata-aip-c01","AWS Glue: Data Catalog provenance metadata","How catalog identifiers, metadata parameters, table versions, and captured ETL source-to-target mappings support auditable source attribution without implying automatic end-to-end lineage.","The AWS Glue Data Catalog stores descriptions of datasets, not copies of their contents. For source attribution, record the table’s Region, CatalogId, DatabaseName, and Name. A table name alone is ambiguous across databases, catalogs, and Regions. For the default Data Catalog, the catalog ID is the AWS account ID. Keep this qualified identity separate from the underlying storage location.",{"slug":1677,"title":1678,"focus":1679,"teaser":1680},"model-transparency-evidence-backed-model-cards-aip-c01","Model Transparency: evidence-backed model cards","How programmatic, versioned model cards document intended uses, evaluations, limitations, and ownership while linking deployed foundation models to lineage and decision-log evidence for compliance review.","An evidence-backed model card connects claims about a model to inspectable records. Document intended tasks, users and operating conditions; unsuitable uses; evaluation methods and results; known limitations; and accountable owners. For a foundation-model application, distinguish the provider's model documentation from your evidence about the deployed application, including its prompts, retrieval configuration and safeguards.",{"slug":1682,"title":1683,"focus":1684,"teaser":1685},"amazon-sagemaker-programmatic-model-cards-aip-c01","Amazon SageMaker: programmatic model cards","How model card APIs capture intended use, evaluation evidence, limitations, and versioned documentation for foundation model compliance reviews.","Amazon SageMaker AI model cards hold structured documentation for a model: its identity, intended use, evaluation results, and known limitations. For a foundation model, identify the exact model revision and any customization being reviewed. A card records the basis for a compliance decision; it does not certify compliance or enforce runtime behavior.",{"slug":1687,"title":1688,"focus":1689,"teaser":1690},"source-citation-versioned-evidence-links-aip-c01","Source Citation: versioned evidence links","How stable source identifiers and version metadata survive GenAI processing to connect generated claims to verifiable evidence and supporting catalog and audit records.","A durable citation needs a logical source ID, an exact revision, and a passage locator. For example, policy-17 identifies a document across revisions; an S3 bucket, key, and VersionId identify one stored revision; a page and section identify supporting material within it. A key alone resolves to the current object, not necessarily the bytes used for an earlier answer.",{"slug":1692,"title":1693,"focus":1694,"teaser":1695},"management-and-governance-foundation-model-governance-frameworks-aip-c01","Management and governance: foundation-model governance frameworks","How a risk-tiered framework translates organizational policies, regulatory obligations, and responsible AI principles into accountable ownership, lifecycle approval gates, and auditable controls for foundation models.","A foundation-model governance framework governs a use case, not just a model. Record the intended purpose, affected people, data, model provider, deployment context, and permitted actions. The same model can require different oversight when drafting internal notes and when influencing consequential decisions. Assess inherent risk before use-case controls, considering potential harm, exposure, autonomy, and reversibility.",{"slug":1697,"title":1698,"focus":1699,"teaser":1700},"separation-of-duties-independent-approval-in-ai-governance-aip-c01","Separation of Duties: independent approval in AI governance","How to enforce independent approval of foundation model changes so no actor can authorize their own change or bypass oversight through their effective permissions.","Independent approval means that the actor proposing a foundation model change cannot authorize that same change. The controlled change includes more than model weights: model selection, system prompts, guardrail settings, retrieval sources, and deployment configuration can all change production behavior.",{"slug":1702,"title":1703,"focus":1704,"teaser":1705},"policy-as-code-organization-wide-ai-policy-enforcement-aip-c01","Policy as Code: organization-wide AI policy enforcement","How versioned, tested policy bundles enforce organizational AI requirements consistently across deployment paths, with controlled exceptions and auditable evaluation results.","Policy as Code turns organizational AI requirements into executable checks. A versioned bundle contains rules, input schemas and supporting policy data. Checks can require an approved model identifier, permitted Region, configured guardrail and a reference to an approved evaluation. They verify declared facts and trusted evidence, not the safety of every future model response.",{"slug":1707,"title":1708,"focus":1709,"teaser":1710},"aws-organizations-scp-guardrails-for-foundation-model-workloads-aip-c01","AWS Organizations: SCP guardrails for foundation-model workloads","How SCP inheritance across organizational units and accounts constrains foundation-model workloads, including effective permission evaluation and limits of organizational enforcement.","Service control policies (SCPs) set the maximum permissions available to covered principals in member accounts; they do not grant permissions. SCPs require AWS Organizations all features and the SCP policy type to be enabled. Policies attached to the organization root, each parent organizational unit (OU), and the account all participate in evaluation.",{"slug":1712,"title":1713,"focus":1714,"teaser":1715},"aws-service-catalog-governed-portfolios-across-accounts-aip-c01","AWS Service Catalog: governed portfolios across accounts","How shared portfolios use approved product versions, template constraints, and launch roles to govern self-service provisioning of foundation model infrastructure across organizational accounts.","AWS Service Catalog separates centrally approved infrastructure from local self-service launches. This example shares a portfolio containing a CloudFormation product for a private, encrypted bucket used by foundation model workloads. Sharing distributes product definitions and constraints; it does not deploy resources into recipient accounts.",{"slug":1717,"title":1718,"focus":1719,"teaser":1720},"anomaly-detection-vs-model-drift-aip-c01","Anomaly Detection vs. Model Drift","How deviations from expected behavior differ from changes in model input or output distributions, and why detecting one does not establish the other.","Anomaly detection asks whether an observation departs from expected behavior for its context. The observation can be one request, a time-window metric, or a batch statistic. A token-usage burst can be anomalous relative to an expected range without saying anything about the distribution of prompt content.",{"slug":1722,"title":1723,"focus":1724,"teaser":1725},"anomaly-detection-contextual-baselines-for-genai-metrics-aip-c01","Anomaly Detection: contextual baselines for GenAI metrics","How to model expected token usage, response-quality metrics, and costs using workload context, seasonality, training windows, and sensitivity settings to detect meaningful deviations.","A contextual baseline estimates expected behavior for a particular workload and time. Define stable workload cohorts, such as task type, model version, and prompt version. Otherwise, a shift from short classification requests to long document summaries can look like abnormal token use even when both tasks behave normally. In CloudWatch, express this context through appropriately separated metric series; the detector does not automatically infer task or prompt context.",{"slug":1727,"title":1728,"focus":1729,"teaser":1730},"model-drift-calibrated-change-detection-aip-c01","Model Drift: calibrated change detection","How versioned baselines and cohort-aware thresholds distinguish meaningful semantic, performance, and fairness drift from expected variation during production monitoring and foundation-model updates, producing auditable signals for investigation.","A drift score is meaningful only relative to a defined reference. A versioned baseline binds an accepted dataset to its sampling period, cohort definitions, transformations, metrics, and threshold policy. Record model, prompt, retrieval configuration, embedding model, and evaluator versions where they affect measurement. A baseline is therefore more than a stored average: it specifies how to reproduce a comparison.",{"slug":1732,"title":1733,"focus":1734,"teaser":1735},"algorithmic-bias-continuous-fairness-monitoring-aip-c01","Algorithmic Bias: continuous fairness monitoring","How group-level fairness baselines, uncertainty-aware thresholds, and versioned evaluations detect changing disparities and trigger auditable remediation.","A group-level baseline records how a defined system behaved on a defined population. A fairness requirement states what behavior is acceptable. They are not interchangeable: a historically unequal system can remain stable while still violating the requirement. Monitor both absolute disparities and changes from the baseline, rather than treating “no drift” as “fair.”",{"slug":1737,"title":1738,"focus":1739,"teaser":1740},"ai-guardrails-continuous-policy-assurance-aip-c01","AI Guardrails: continuous policy assurance","How repeatable evaluations and privacy-preserving enforcement telemetry detect policy regressions, trigger corrective action, and provide evidence for safety audits.","Continuous policy assurance asks whether a deployed application still meets its policy, not merely whether its filter is enabled. Create a versioned evaluation corpus containing prohibited requests, legitimate near-boundary requests, sensitive-data examples, and multi-turn attacks. Attach expected outcomes and scoring rules to each case. Include allowed cases so that blocking everything cannot count as success.",{"id":1742,"title":1743,"subtitle":152,"lessons":1744},520,"Implement responsible AI principles",[1745,1750,1755,1760,1765,1770,1775],{"slug":1746,"title":1747,"focus":1748,"teaser":1749},"ai-transparency-evidence-backed-output-disclosures-aip-c01","AI Transparency: evidence-backed output disclosures","How to ground user-facing explanations in source evidence, confidence telemetry, and protected agent traces without overstating certainty or presenting generated explanations as faithful accounts of model reasoning.","A useful user-facing explanation identifies the AI-generated answer, the evidence supporting its material claims, and its limits. A generated rationale is another model output: fluent wording does not establish that it faithfully describes the model’s internal computation. Prefer “This recommendation is supported by these passages” over “These are the exact steps the model used to think.”",{"slug":1751,"title":1752,"focus":1753,"teaser":1754},"algorithmic-fairness-evaluating-disparities-in-foundation-model-outputs-aip-c01","Algorithmic Fairness: evaluating disparities in foundation model outputs","How to choose context-appropriate fairness criteria and evaluate subgroup disparities using representative prompts, controlled comparisons, uncertainty estimates, and checks for evaluator bias.","Fairness is a context-dependent requirement, not a property established by one model score. Define the task, affected populations, and harm with domain specialists and affected stakeholders. For a help assistant, relevant harms include unjustified refusals, lower-quality assistance, and demeaning stereotypes. Measure these separately: equal refusal rates could conceal equally poor service, and toxicity scores do not measure unequal assistance.",{"slug":1756,"title":1757,"focus":1758,"teaser":1759},"llm-as-a-judge-calibrated-rubric-based-evaluation-aip-c01","LLM-as-a-Judge: calibrated rubric-based evaluation","How to produce trustworthy automated judgments using evidence-aware scoring rubrics, separate quality dimensions, and calibration against human-reviewed examples.","LLM-as-a-Judge applies an evaluation prompt to a candidate answer. The prompt must define the task, criteria, permitted evidence, and output format. Its score describes compliance with that contract—not objective quality in every context. For a retrieval-augmented answer, provide the original question, candidate answer, and exact retrieved passages with stable identifiers. A reference answer is optional; evidence is not optional when judging support against those passages.",{"slug":1761,"title":1762,"focus":1763,"teaser":1764},"human-in-the-loop-evaluation-vs-llm-as-a-judge-aip-c01","Human-in-the-Loop Evaluation vs. LLM-as-a-Judge","How human judgment differs from automated model-based judgment in independence, reliability, and accountability, even when both use the same scoring rubric.","A rubric defines what a score should mean; it does not determine how an evaluator reaches that score. A human reviewer interprets criteria through knowledge, experience, and incentives. An LLM judge applies them through learned model behavior and the supplied context. Identical instructions therefore do not make the two judgments interchangeable.",{"slug":1766,"title":1767,"focus":1768,"teaser":1769},"a-b-testing-controlled-experiments-for-foundation-model-configurations-aip-c01","A\u002FB Testing: controlled experiments for foundation model configurations","How to isolate configuration changes, randomize exposure consistently, and use predefined metrics and statistically sound stopping rules to identify meaningful improvements within quality, latency, cost, and safety constraints.","A foundation model configuration includes the model version, prompt template, decoding parameters, retrieval settings, tool policies, and safety controls. To estimate the effect of one change, freeze the other settings. For example, change only the prompt while holding temperature, top-p, retrieval corpus, and token limits constant. Changing several settings together is valid, but the result estimates the combined intervention, not each setting's contribution.",{"slug":1771,"title":1772,"focus":1773,"teaser":1774},"a-b-testing-vs-canary-testing-comparative-evidence-versus-release-risk-aip-c01","A\u002FB Testing vs. Canary Testing: comparative evidence versus release risk","How the evidence needed to establish a comparative improvement differs from the health signals used to limit release risk, even when both use split traffic.","A\u002FB testing asks whether a defined alternative improves an outcome relative to a control. Canary testing asks whether exposing more production traffic to a candidate is acceptable under release criteria. Both can split live traffic between the same configurations. Neither the split percentage nor the routing service determines which question the evidence answers.",{"slug":1776,"title":1777,"focus":1778,"teaser":1779},"model-cards-evidence-backed-suitability-decisions-aip-c01","Model Cards: evidence-backed suitability decisions","How to document a model version’s policy-relevant limitations using traceable evaluation evidence, making acceptable uses, required safeguards, and residual risks explicit without treating documentation as enforcement or proof of compliance.","A model card is a structured, versioned record of a model’s intended uses, evaluation results, limitations, and ethical considerations. For a suitability decision, identify the exact model version, accountable owner, intended users, languages, modalities, and use boundaries. Record unavailable information, such as undisclosed training-data details, as unknown rather than filling gaps with assumptions.",{"id":1781,"title":1782,"subtitle":152,"subcategories":1783},140,"Operational Efficiency and Optimization for GenAI Applications",[1784,1913,1997],{"id":1785,"title":1786,"subtitle":152,"lessons":1787},521,"Implement cost optimization and resource efficiency strategies",[1788,1793,1798,1803,1808,1813,1818,1823,1828,1833,1838,1843,1848,1853,1858,1863,1868,1873,1878,1883,1888,1893,1898,1903,1908],{"slug":1789,"title":1790,"focus":1791,"teaser":1792},"tokenization-model-aware-token-accounting-aip-c01","Tokenization: model-aware token accounting","How model-matched token counts of complete requests support cost controls and output reservations while preventing overflow and unintended truncation of essential content.","Model-aware token accounting measures the complete model input, not just the latest user message. Include system instructions, retained conversation turns, retrieved evidence, tool definitions, tool results, and the message structure that the provider converts into model input. A count of visible text alone can miss model-specific formatting overhead.",{"slug":1794,"title":1795,"focus":1796,"teaser":1797},"text-chunking-vs-tokenization-aip-c01","Text Chunking vs. Tokenization","How grouping passages into processing units differs from encoding text into model-specific tokens, and why token counts alone cannot establish evidence completeness.","Text chunking groups text into passages used as processing or retrieval units. Tokenization converts text into a sequence of token identifiers using a model-specific vocabulary and encoding rules. A chunk is an application-level unit; a token is a representation unit, not necessarily a word, character, or meaningful passage.",{"slug":1799,"title":1800,"focus":1801,"teaser":1802},"token-budgeting-enforcing-workflow-token-allowances-aip-c01","Token Budgeting: enforcing workflow token allowances","How token estimates and actual usage guide context allocation, compression, and response limits to reduce cost per successful task across multiple model calls.","A workflow allowance covers every model call needed to complete a task: planning, answering, tool-call follow-ups, retries, and model-based summarization. Track input and output separately. Reusing history in another request consumes input tokens again unless the provider applies a different accounting treatment, such as supported prompt caching.",{"slug":1804,"title":1805,"focus":1806,"teaser":1807},"context-pruning-budget-constrained-context-selection-aip-c01","Context Pruning: budget-constrained context selection","How to select context for removal within a model-specific token budget while preserving instructions, dependencies, and evidence, and validate the policy’s effect on cost and answer quality.","Context pruning selects material to remove from a model request while preserving what the task needs. The context window is a hard constraint, not a target to fill. Establish the selected model and API’s input, output, and combined-window rules before choosing what to remove.",{"slug":1809,"title":1810,"focus":1811,"teaser":1812},"prompt-compression-preserving-meaning-under-token-constraints-aip-c01","Prompt Compression: preserving meaning under token constraints","How to create compact prompt representations and evaluate their net cost savings against an uncompressed baseline without losing task-critical meaning.","Prompt compression replaces a request's wording or representation with fewer tokens while preserving what the model needs to do the task. Treat it as a constrained optimization: minimize total cost subject to explicit quality requirements, not merely minimize prompt length. The prompt includes instructions, examples, history, evidence, and tool results.",{"slug":1814,"title":1815,"focus":1816,"teaser":1817},"context-pruning-vs-prompt-compression-aip-c01","Context Pruning vs. Prompt Compression","How removing selected material differs from representing retained information more compactly, including their distinct information-loss risks.","Context pruning selects which material enters a model request. Prompt compression represents retained information more compactly. Removing an unrelated incident report is pruning; rewriting a retained report as a compact record is compression. Both reduce input, but they make different decisions: what to include versus how to express it.",{"slug":1819,"title":1820,"focus":1821,"teaser":1822},"stop-sequences-reliable-generation-boundaries-aip-c01","Stop Sequences: reliable generation boundaries","How to configure and validate model-specific stopping boundaries that reduce output-token costs without prematurely truncating useful answers.","A stop sequence makes the serving system terminate generation when generated text matches a configured string. It is a boundary detector, not an instruction to become concise. Prompting the model to append END_RESPONSE encourages that boundary; configuring the same string as an inference parameter enforces stopping if the model produces it. The model can still omit the marker or produce it too early.",{"slug":1824,"title":1825,"focus":1826,"teaser":1827},"batch-inference-token-aware-throughput-tuning-aip-c01","Batch Inference: token-aware throughput tuning","How token-length-aware workload partitioning and bounded worker concurrency improve completed-job throughput without exceeding memory or invocation limits.","Completed-job throughput means finishing useful datasets, not merely starting more requests. Compare runs with the same input snapshot, model, and generation settings, and count a job as complete only after its required outputs are durably written and checked. Equal-sized record partitions can have very unequal runtimes when prompt and generated lengths vary.",{"slug":1829,"title":1830,"focus":1831,"teaser":1832},"cost-benefit-analysis-incremental-value-of-model-configurations-aip-c01","Cost-Benefit Analysis: incremental value of model configurations","How to compare model configurations against a baseline using measured business benefits, lifecycle and error costs, and sensitivity to workload assumptions.","A configuration includes more than the model: prompts, retrieval, output limits, routing, retries, and human review can all change its value. Compare each candidate with a credible baseline, such as the current workflow or a rules-based alternative. Fix the business objective, evaluation period, and workload segments before measuring differences.",{"slug":1834,"title":1835,"focus":1836,"teaser":1837},"price-performance-ratio-cost-per-acceptable-model-result-aip-c01","Price-Performance Ratio: cost per acceptable model result","How to compare models and inference policies, including tiered routing, using representative workloads and end-to-end cost per accepted result under quality and latency constraints.","Cost per accepted result measures the cost of producing a usable task outcome, not merely generating tokens. Define acceptance before testing: for example, a result must be correct, grounded in supplied evidence, valid against a schema, and compliant with required instructions. Count each original task at most once, even if several attempts were needed. Lower cost per accepted result is better.",{"slug":1839,"title":1840,"focus":1841,"teaser":1842},"cost-benefit-analysis-vs-price-performance-ratio-aip-c01","Cost-Benefit Analysis vs Price-Performance Ratio","Why a favorable capability-per-dollar ratio does not necessarily mean a model investment delivers positive incremental business value.","Price-performance ratio asks how efficiently a configuration delivers a defined capability. With accepted outputs per dollar, higher is better; with cost per accepted output, lower is better. The comparison must hold workload and acceptance requirements consistent. A raw benchmark score per dollar is weaker evidence when score improvements do not represent useful task improvements.",{"slug":1844,"title":1845,"focus":1846,"teaser":1847},"right-sizing-foundation-model-inference-capacity-aip-c01","Right-Sizing: foundation model inference capacity","How measured prompt and completion token demand determines resource configurations and capacity headroom that meet inference latency and throughput requirements without waste.","Foundation model requests are not equal units of work. Record each request’s prompt tokens, completion tokens, arrival time, model version, and generation settings. Preserve the joint distribution: long prompts and long completions occurring together can create pressure that separate averages hide. Include system instructions, retrieved context, and conversation history in prompt counts, using the model’s tokenizer.",{"slug":1849,"title":1850,"focus":1851,"teaser":1852},"capacity-planning-sizing-foundation-model-serving-capacity-aip-c01","Capacity Planning: sizing foundation model serving capacity","How token-demand forecasts and realistic serving benchmarks determine sustainable capacity and headroom within latency objectives and scale-out constraints.","Token-demand forecasting starts with inference calls, not just application requests. Include repeated calls, retrieved context, and conversation history. Segment demand by model and request class, preserving prompt\u002Fcompletion length pairs, bursts, and growth. Ten inference requests per second averaging 2,000 input tokens and 500 output tokens imply 20,000 input tokens per second and 5,000 output tokens per second.",{"slug":1854,"title":1855,"focus":1856,"teaser":1857},"elasticity-token-aware-scaling-for-model-inference-aip-c01","Elasticity: token-aware scaling for model inference","How prompt and completion workloads inform scaling signals, capacity bounds, and response timing to match inference capacity to changing demand without oscillation or interrupted requests.","For model inference, requests per second is an incomplete scaling signal. A short prompt with a short answer and a long prompt with a long answer impose different loads. Separate prefill, which processes prompt tokens, from decode, which generates completion tokens incrementally. Their throughput and resource demands differ, so one combined token count can hide the limiting phase.",{"slug":1859,"title":1860,"focus":1861,"teaser":1862},"capacity-planning-vs-elasticity-aip-c01","Capacity Planning vs Elasticity","How determining future resource requirements differs from dynamically adjusting resources, and why elastic scaling does not guarantee sufficient capacity.","Capacity planning determines what resources a future workload will require to meet its service-level objectives. Its outputs include a capacity baseline, growth and failure assumptions, headroom, and constraints that must be resolved before demand arrives. Planning is repeated as evidence changes; it is not just an initial sizing exercise.",{"slug":1864,"title":1865,"focus":1866,"teaser":1867},"right-sizing-and-elasticity-resource-fit-versus-demand-response-aip-c01","Right-Sizing and Elasticity: resource fit versus demand response","How choosing resources that fit an inference workload differs from adjusting capacity as demand changes, and why automatic scaling does not eliminate sizing problems.","Right-sizing determines which resource configuration can serve an inference workload efficiently while meeting its requirements. The configuration includes accelerator compute and memory, host resources, and serving settings. The smallest instance is not necessarily the best fit: a larger configuration can deliver more useful throughput per unit of cost.",{"slug":1869,"title":1870,"focus":1871,"teaser":1872},"aws-auto-scaling-target-tracking-for-inference-capacity-aip-c01","AWS Auto Scaling: target tracking for inference capacity","How to configure target-tracking policies with demand-per-capacity metrics, capacity bounds, and cooldowns to maintain inference throughput without excessive provisioning or scaling oscillation.","Target tracking adjusts capacity to keep a utilization metric near a target; it is not simply a rule that adds one instance whenever demand crosses a threshold. For inference, the metric should express demand per unit of capacity. With steady demand and equivalent replicas, doubling usable capacity should approximately halve the metric.",{"slug":1874,"title":1875,"focus":1876,"teaser":1877},"caching-exact-inference-responses-aip-c01","Caching: exact inference responses","How deterministic request keys, reuse boundaries, and selective prewarming make exact-response caches safe and cost-effective at application or edge locations.","An exact-response cache returns a previously generated answer without invoking the model again. Exact means equality under a deliberately defined request representation, not similarity of meaning. A deterministic key does not make model generation deterministic: caching freezes one accepted result. If the product promises a fresh independent sample on every call, bypass response caching.",{"slug":1879,"title":1880,"focus":1881,"teaser":1882},"cryptographic-hashing-deterministic-cache-keys-aip-c01","Cryptographic Hashing: deterministic cache keys","How to construct collision-resistant cache keys from canonicalized requests, including model versions, inference settings, and tenant scope, so cached results are reused only for equivalent requests.","A deterministic cache key represents an equivalence contract: two requests may share a stored result only when the application considers their effective inputs interchangeable. This is exact-request caching, not semantic similarity matching. Hashing only the visible user prompt misses dependencies; even a perfect hash cannot repair an incomplete identity.",{"slug":1884,"title":1885,"focus":1886,"teaser":1887},"cache-invalidation-validity-rules-for-genai-responses-aip-c01","Cache Invalidation: validity rules for GenAI responses","How freshness limits and changes to source data, model or prompt versions, and permissions trigger expiration, explicit invalidation, or cache namespace changes to prevent incorrect response reuse.","A generated response is reusable only while its validity contract holds: the request is compatible, its dependencies are current enough, and the caller is still authorized. An exact request hash or a high semantic similarity score finds a candidate; neither proves that it is safe to return. This lesson concerns answer caching, not model prompt caching, which reuses supported prompt-prefix processing rather than a completed answer.",{"slug":1889,"title":1890,"focus":1891,"teaser":1892},"amazon-elasticache-inference-response-caching-aip-c01","Amazon ElastiCache: inference response caching","How deterministic request keys, model and context versioning, expiration, and concurrent-miss control enable safe reuse of cached model responses.","Inference response caching reuses a completed model response instead of invoking the model again. This design uses cache-aside: application code decides whether reuse is allowed, reads ElastiCache, and invokes the model only when necessary. ElastiCache does not decide whether two prompts mean the same thing.",{"slug":1894,"title":1895,"focus":1896,"teaser":1897},"amazon-cloudfront-cache-policies-for-safe-response-reuse-aip-c01","Amazon CloudFront: cache policies for safe response reuse","How cache keys, cacheable HTTP methods, and TTLs control edge reuse of deterministic application responses to reduce origin model invocations without sharing personalized results.","Edge reuse avoids an origin model invocation by serving an already generated HTTP response. The essential contract is that requests sharing a cache key may safely receive the same response while it remains fresh. CloudFront does not inspect prompts for semantic equivalence or decide whether an answer is personalized.",{"slug":1899,"title":1900,"focus":1901,"teaser":1902},"caching-semantic-response-matching-aip-c01","Caching: semantic response matching","How similarity thresholds, context isolation, and freshness rules determine whether a cached response can safely answer a differently worded request.","A semantic response cache retrieves a stored answer using similarity between request representations, usually embeddings. Differently worded requests can therefore reuse one answer. But similarity measures closeness in a representation space, not answer interchangeability: “Can I cancel?” and “Can I cancel without a fee?” may be close while requiring different answers. A retrieved entry is a candidate, not yet a cache hit.",{"slug":1904,"title":1905,"focus":1906,"teaser":1907},"semantic-caching-safe-response-reuse-aip-c01","Semantic Caching: safe response reuse","How embedding-based cache lookups avoid model invocations while context, authorization, freshness, and calibrated similarity thresholds control incorrect reuse and total cost.","Semantic response caching retrieves a stored answer using similarity between request embeddings. Unlike an exact key, an embedding can connect differently worded requests. A hit avoids the generative model invocation, but embedding inference, vector search, and acceptance checks still run.",{"slug":1909,"title":1910,"focus":1911,"teaser":1912},"caching-reusable-prompt-prefixes-aip-c01","Caching: reusable prompt prefixes","How prompt-prefix matching, cache lifetime, and reuse frequency determine the latency and cost benefits of caching model input processing.","Prompt caching reuses model-side processing of a previously submitted input prefix. During prefill, a model processes input tokens and builds internal state used to generate an answer. A supported caching implementation retains reusable prefix state so a later invocation can avoid repeating some of that work.",{"id":1914,"title":1915,"subtitle":152,"lessons":1916},522,"Optimize application performance",[1917,1922,1927,1932,1937,1942,1947,1952,1957,1962,1967,1972,1977,1982,1987,1992],{"slug":1918,"title":1919,"focus":1920,"teaser":1921},"inference-latency-the-application-critical-path-aip-c01","Inference Latency: the application critical path","How request dependencies determine end-to-end latency and when precomputation or overlapping independent calls removes work from the critical path.","The application critical path is the longest chain of required work between request arrival and a defined completion boundary. Here, completion means the full answer is ready. Model execution is only part of that interval: input preparation, retrieval, queueing, and communication can all delay it. Represent each operation by its duration and the results it must receive before starting.",{"slug":1923,"title":1924,"focus":1925,"teaser":1926},"precomputation-reusable-inference-artifacts-aip-c01","Precomputation: reusable inference artifacts","How to prepare and serve validated, versioned inference artifacts with refresh and fallback paths that balance request latency, freshness, and total cost.","A reusable inference artifact needs a reuse contract: which requests it answers, which source revision it represents, and who may read it. For a prepared product answer, identity can include product revision, language, tenant scope, prompt revision, model identifier and configuration, and output-schema revision. Record generation settings and provenance; recording them does not make model output deterministic.",{"slug":1928,"title":1929,"focus":1930,"teaser":1931},"precomputation-vs-caching-aip-c01","Precomputation vs. caching","How preparing work before demand differs from reactive caching, and why storing results or reusing prompt processing does not necessarily constitute precomputation.","Precomputation deliberately executes work before a request needs its result. The trigger might be a source-data change, a schedule, or a prediction of future demand. Generating product summaries when catalog records change is precomputation relative to later requests for those summaries.",{"slug":1933,"title":1934,"focus":1935,"teaser":1936},"parallel-execution-bounded-fan-out-and-fan-in-aip-c01","Parallel Execution: bounded fan-out and fan-in","How to overlap independent GenAI workflow branches and coordinate their completion to reduce latency without exceeding inference budgets or downstream capacity.","Parallel execution overlaps branches whose inputs are already available and which do not need one another's results. Asynchronous remote calls can provide this overlap without multiple local CPU cores. A later synthesis that consumes their outputs remains a dependency and must wait.",{"slug":1938,"title":1939,"focus":1940,"teaser":1941},"response-streaming-vs-inference-latency-aip-c01","Response Streaming vs. Inference Latency","Why delivering output earlier differs from generating it faster, and why streaming alone does not reduce total completion time or inference cost.","Response streaming changes when available output is delivered. Inference acceleration changes when the model produces that output. Holding the model, prompt, generated answer, and serving conditions constant, exposing successive portions of an answer does not remove the computation needed to generate it.",{"slug":1943,"title":1944,"focus":1945,"teaser":1946},"inference-latency-streamed-response-delivery-aip-c01","Inference Latency: streamed response delivery","How streaming and delivery buffering affect time to visible output without necessarily reducing completion time or inference cost.","A streaming model API does not guarantee visible streaming. Every stage between generation and the screen must release useful content before the answer finishes. This diagram shows only the response path; request routing and authentication are omitted.",{"slug":1948,"title":1949,"focus":1950,"teaser":1951},"response-streaming-end-to-end-incremental-delivery-aip-c01","Response Streaming: end-to-end incremental delivery","How to implement and verify a production streaming path that delivers useful model output incrementally while preserving correctness.","A production stream needs an incremental producer, relay, transport, and reader. This architecture uses Amazon Bedrock ConverseStream with a model that supports it, an ECS application, and an Application Load Balancer that directly routes to registered task IP targets. The diagram shows response delivery and telemetry only; request submission is omitted.",{"slug":1953,"title":1954,"focus":1955,"teaser":1956},"retrieval-latency-tuning-context-retrieval-within-a-latency-budget-aip-c01","Retrieval Latency: tuning context retrieval within a latency budget","How to use explicit measurement boundaries, percentile latency, and relevance-constrained benchmarks to tune index and query execution for FM context retrieval.","For foundation model context retrieval, define retrieval latency from the moment the retrieval layer accepts a query until the selected context is ready for prompt assembly. This boundary includes preprocessing, query embedding, search, document fetching, reranking, and context selection when those operations are required. It excludes subsequent model generation. A search engine’s execution time measures only a nested portion of this interval.",{"slug":1958,"title":1959,"focus":1960,"teaser":1961},"temperature-sampling-calibrating-generation-randomness-aip-c01","Temperature Sampling: calibrating generation randomness","How temperature reshapes token probabilities and how to calibrate model-specific settings through controlled evaluations without mistaking low randomness for correctness or guaranteed reproducibility.","At each generation step, the model produces logits, or scores, for possible next tokens. For positive temperature T, standard temperature sampling uses p_i(T) = exp(z_i\u002FT) \u002F sum_j exp(z_j\u002FT). Equivalently, starting from probabilities at temperature one, p_i(T) = p_i(1)^(1\u002FT) \u002F sum_j p_j(1)^(1\u002FT). These equations describe temperature alone, before any additional candidate filtering.",{"slug":1963,"title":1964,"focus":1965,"teaser":1966},"top-k-sampling-tuning-the-candidate-cutoff-aip-c01","Top-K Sampling: tuning the candidate cutoff","How per-token truncation and renormalization guide model-specific K selection through controlled trials of task quality, variability, and cost per successful request.","Top-K sampling restricts the next-token distribution, not the number of complete answers. At each generation step, the decoder retains the K highest-probability tokens, removes the others, renormalizes the retained probabilities, and samples one token. The generated token extends the context; the model then computes a new distribution and repeats the procedure.",{"slug":1968,"title":1969,"focus":1970,"teaser":1971},"nucleus-sampling-calibrating-top-p-aip-c01","Nucleus Sampling: calibrating top-p","How cumulative-probability truncation and renormalization guide model-specific top-p tuning through controlled evaluations of output quality and variability.","Nucleus sampling acts on the next-token probability distribution at each generation step. Sort candidates from highest to lowest probability, then retain the smallest leading set whose cumulative mass reaches or exceeds top-p. The token that crosses the threshold stays in the set: the retained mass can exceed the requested threshold.",{"slug":1973,"title":1974,"focus":1975,"teaser":1976},"temperature-sampling-vs-top-k-sampling-aip-c01","Temperature Sampling vs Top-K Sampling","How temperature's probability reshaping differs from top-k's fixed candidate-count restriction, and why the two controls are not interchangeable.","At each generation step, a language model produces logits, or scores, for possible next tokens. For positive temperature T, temperature sampling uses p_T(i) = exp(z_i\u002FT) \u002F sum_j exp(z_j\u002FT). Lowering T increases the probability advantage of higher-scoring tokens; raising T reduces that advantage. With finite logits and positive T, temperature preserves token ranking and does not explicitly remove candidates.",{"slug":1978,"title":1979,"focus":1980,"teaser":1981},"nucleus-sampling-vs-temperature-sampling-aip-c01","Nucleus Sampling vs. Temperature Sampling","How cumulative-probability filtering differs from probability reshaping, and why applying temperature before top-p makes their effects interdependent.","Both controls act on next-token selection, but they change different things. Temperature reshapes probabilities. For logits z_i and positive temperature T, the distribution is q_i(T) = exp(z_i\u002FT) \u002F sum_j exp(z_j\u002FT). Equivalently, if r_i is the probability at temperature 1, then q_i(T) = r_i^(1\u002FT) \u002F sum_j r_j^(1\u002FT).",{"slug":1983,"title":1984,"focus":1985,"teaser":1986},"nucleus-sampling-vs-top-k-sampling-aip-c01","Nucleus Sampling vs. Top-K Sampling","How an adaptive probability-mass cutoff differs from a fixed candidate-count cutoff when next-token distributions become concentrated or diffuse.","At each generation step, compare both methods on the same next-token distribution, holding other decoding settings fixed. Sort token probabilities as p1 ≥ p2 ≥ ..., using a consistent tie rule. Top-K sampling retains the first K candidates, assuming at least K candidates have positive probability. Their identities can change at every step; only the count is fixed.",{"slug":1988,"title":1989,"focus":1990,"teaser":1991},"connection-pooling-capacity-and-reuse-for-genai-clients-aip-c01","Connection Pooling: capacity and reuse for GenAI clients","How to tune reusable HTTP and retrieval-database client pools using connection setup time, acquisition waits, streaming occupancy, and aggregate backend capacity to reduce communication overhead without increasing contention.","Connection pooling separates a request's lifetime from its connection's lifetime. Reuse an HTTP client or retrieval-database pool across requests within the lifetime and concurrency rules supported by the library. Constructing and closing a client for every request can repeatedly incur DNS resolution, transport establishment, TLS, and database authentication work; the exact setup path depends on caching and protocol.",{"slug":1993,"title":1994,"focus":1995,"teaser":1996},"asynchronous-communication-backpressure-for-genai-workloads-aip-c01","Asynchronous Communication: backpressure for GenAI workloads","How queue-backed work and quota-aware worker concurrency absorb GenAI traffic bursts without hiding overload behind fast acknowledgments or excessive job completion latency.","A queue converts a traffic burst into waiting work, not extra inference capacity. This architecture covers admission through durable completion or dead-letter handling. Its application handler returns a job identifier and 202 Accepted only after enqueueing succeeds; that response promises acceptance, not a successful generation.",{"id":1998,"title":1999,"subtitle":152,"lessons":2000},523,"Implement monitoring systems for GenAI applications",[2001,2006,2011,2016,2021,2026,2031,2036,2041,2046],{"slug":2002,"title":2003,"focus":2004,"teaser":2005},"task-completion-rate-measuring-end-to-end-agent-success-aip-c01","Task Completion Rate: measuring end-to-end agent success","How to measure verified agent task outcomes using consistent success criteria, task boundaries, retry accounting, observation windows, and separate autonomous and assisted completion rates.","Task completion rate is verified successful tasks \u002F eligible attempted tasks × 100. The unit is the user's task, not a message, model invocation, or tool call. A task can cross several systems and still contribute only one outcome.",{"slug":2007,"title":2008,"focus":2009,"teaser":2010},"key-performance-indicators-decision-ready-performance-reporting-aip-c01","Key Performance Indicators: decision-ready performance reporting","How to report GenAI KPIs against baselines and targets, preserving comparability and uncertainty so stakeholders can judge business impact.","A decision-ready KPI connects a business outcome to a decision rule. Define its numerator, denominator, unit, eligible population, observation window, data source, owner, and direction of improvement. For a support assistant, use cases resolved without reopening within seven days divided by eligible cases—not model responses generated. Pair the outcome with quality, safety, and cost guardrails so that apparent efficiency cannot hide rework or harm.",{"slug":2012,"title":2013,"focus":2014,"teaser":2015},"aws-cost-explorer-cost-anomaly-detection-aip-c01","AWS Cost Explorer: Cost anomaly detection","How AWS Cost Anomaly Detection monitors GenAI spending using historical cost patterns, monitor scopes, and threshold-based alert subscriptions, with Cost Explorer drill-downs to identify cost drivers and billing-data latency limits that distinguish it fro","AWS Cost Anomaly Detection uses machine learning to identify unusual spending from historical AWS cost patterns, including recurring patterns such as day-of-week variation. Its baseline is learned, not a spending ceiling you configure. A GenAI workload can therefore trigger an anomaly while still below its budget, or spend heavily without being anomalous if that spending matches its established pattern.",{"slug":2017,"title":2018,"focus":2019,"teaser":2020},"log-retention-tiered-retention-policies-aip-c01","Log Retention: tiered retention policies","How to configure searchable and archived retention windows so GenAI audit and interaction records remain retrievable for the required duration while respecting privacy and cost constraints.","A searchable window defines how long investigators can query records immediately; total retention defines how long evidence must remain retrievable. The diagram uses illustrative requirements: 30 days in CloudWatch Logs and archive objects expiring after 365 days. These are design examples, not compliance defaults.",{"slug":2022,"title":2023,"focus":2024,"teaser":2025},"evidence-integrity-verifiable-forensic-records-aip-c01","Evidence Integrity: verifiable forensic records","How to preserve and verify the provenance and unchanged state of FM application records from collection through forensic analysis.","Integrity asks whether collected bytes still match a trusted baseline. Provenance asks where those bytes came from and how they were collected. A matching SHA-256 hash supports the first claim, not the second: a compromised application can produce a false record that remains unchanged forever.",{"slug":2027,"title":2028,"focus":2029,"teaser":2030},"user-satisfaction-reliable-experience-measurement-aip-c01","User Satisfaction: reliable experience measurement","How to design feedback scales and experience-focused annotation rubrics that measure satisfaction reliably across representative users while controlling response bias and keeping correctness and safety as independent checks.","User satisfaction is a user's judgment of an application experience, not a direct measurement of model accuracy. Specify the target users, eligible tasks, and observation point. A rating after one answer measures something different from a rating after task completion. Ask one neutral question, such as “How satisfied were you with this interaction?” Do not combine satisfaction, accuracy, and speed in one question.",{"slug":2032,"title":2033,"focus":2034,"teaser":2035},"amazon-quicksight-interactive-metric-dashboards-aip-c01","Amazon QuickSight: interactive metric dashboards","How calculated measures, parameter-driven filters, and drill-downs turn prepared FM telemetry into dashboards that connect operational behavior with business impact.","Begin with prepared foundation model (FM) telemetry at a declared grain: here, one row per application request. Each row contains total inference cost across its attempts, end-to-end latency, model family and version, business unit, and a numeric success flag. Reduce business outcomes to this same grain before joining them; joining several outcome events to one request would duplicate its cost. Define what success means and when an outcome becomes final.",{"slug":2037,"title":2038,"focus":2039,"teaser":2040},"trajectory-evaluation-execution-path-scoring-aip-c01","Trajectory Evaluation: execution-path scoring","How dependency-aware scoring of observable agent traces measures execution correctness and efficiency while allowing valid alternative paths.","Trajectory evaluation checks how an agent executes a task, not just whether its final answer sounds correct. Its evidence includes tool selections, arguments, returned observations, retries, and termination decisions. A refund confirmation can be accurate while the execution still violates a required authorization check. Conversely, an appropriate tool call can fail because the external service is unavailable.",{"slug":2042,"title":2043,"focus":2044,"teaser":2045},"nondeterminism-diagnosing-response-variability-aip-c01","Nondeterminism: diagnosing response variability","How controlled repeated runs, captured request context, and semantic output comparisons distinguish generation variability from changing inputs and reveal unstable business outcomes.","Nondeterminism is variation across runs with the same apparent inputs. Diagnosis starts by defining the boundary being repeated: the model invocation or the whole application. Repeating a user's question through live retrieval does not hold the model's input fixed. Different document ordering, conversation history, tool responses, or injected dates can change the answer without demonstrating generation variability.",{"slug":2047,"title":2048,"focus":2049,"teaser":2050},"differential-testing-diagnosing-response-regressions-aip-c01","Differential Testing: diagnosing response regressions","How controlled, repeated comparisons on golden cases distinguish harmless response variation from meaningful regressions and use execution traces to locate their causes.","Differential testing compares the same inputs across a baseline and a candidate. A difference is a lead, not a verdict: both responses can be acceptable, and agreement can still be wrong. A versioned golden dataset supplies an independent reference: expected facts, supporting evidence, acceptable behaviors, and failure conditions—not necessarily one exact answer.",{"id":2052,"title":2053,"subtitle":152,"subcategories":2054},141,"Testing, Validation, and Troubleshooting",[2055,2169],{"id":2056,"title":2057,"subtitle":152,"lessons":2058},524,"Implement evaluation systems for GenAI",[2059,2064,2069,2074,2079,2084,2089,2094,2099,2104,2109,2114,2119,2124,2129,2134,2139,2144,2149,2154,2159,2164],{"slug":2060,"title":2061,"focus":2062,"teaser":2063},"answer-relevance-vs-factual-accuracy-aip-c01","Answer Relevance vs. Factual Accuracy","How to distinguish answering the actual request from making correct claims, keeping their evaluation scores independent when either dimension fails.","Answer relevance asks whether a response addresses the actual request, including its context and constraints. Factual accuracy asks whether its verifiable claims are correct. These are different judgments: truth does not establish usefulness to this request, and directly addressing a request does not establish truth.",{"slug":2065,"title":2066,"focus":2067,"teaser":2068},"answer-relevance-request-conditioned-scoring-rubrics-aip-c01","Answer Relevance: request-conditioned scoring rubrics","How to build and calibrate relevance rubrics that score coverage of user intent, conversation context, and constraints without rewarding keyword overlap or verbosity.","A request-conditioned rubric defines success for the actual request, not for a generally informative answer. Before inspecting candidate answers, extract the intended outcome, required subparts, relevant conversation context, and explicit constraints. Express these as observable obligations, each traceable to the request or history.",{"slug":2070,"title":2071,"focus":2072,"teaser":2073},"factual-accuracy-evidence-based-claim-evaluation-aip-c01","Factual Accuracy: evidence-based claim evaluation","How to measure claim correctness against authoritative, time-appropriate evidence using explicit scoring policies and calibrated verification, without rewarding omissions or excessive abstention.","Evaluate atomic claims: independently checkable assertions that retain their conditions, version, Region, and date. “The feature is available in Region X and enabled by default” contains two claims. Fix decomposition and deduplication rules before comparing systems; otherwise splitting true statements or repeating them can inflate a claim-based score.",{"slug":2075,"title":2076,"focus":2077,"teaser":2078},"fluency-versus-factual-accuracy-aip-c01","Fluency versus Factual Accuracy","Why natural expression and truthful claims are independent quality dimensions whose scores must not compensate for one another.","Fluency measures how naturally and clearly language is expressed. Factual accuracy measures whether its verifiable claims are true. Neither establishes the other: polished prose can state a falsehood, and awkward prose can express a correct fact.",{"slug":2080,"title":2081,"focus":2082,"teaser":2083},"fluency-calibrated-linguistic-quality-scoring-aip-c01","Fluency: calibrated linguistic-quality scoring","How to produce reliable fluency scores using audience-aware rubrics, calibrated human and model judges, and diagnostic signals without penalizing necessary technical language.","Fluency measures how naturally and clearly language is expressed for its intended reader. Define the audience, language, expected register, and response format before scoring. Assess grammar, phrasing, sentence connections, and distracting repetition. Do not reward formality or length by default, and keep factual accuracy and relevance as separate scores.",{"slug":2085,"title":2086,"focus":2087,"teaser":2088},"model-evaluation-regression-based-release-gates-aip-c01","Model Evaluation: regression-based release gates","How continuous evaluation against versioned baselines detects meaningful regressions and determines whether a model change can be released.","A regression-based release gate asks whether a candidate preserves required behavior relative to an approved, versioned baseline. The candidate is the whole application configuration: model, prompt, retrieval settings, tools, and guardrails. A model identifier alone does not identify what was evaluated.",{"slug":2090,"title":2091,"focus":2092,"teaser":2093},"canary-testing-evidence-gated-production-rollout-aip-c01","Canary Testing: evidence-gated production rollout","How representative production cohorts and quality, safety, latency, and cost-per-success thresholds govern staged exposure and rollback of versioned GenAI configurations.","A canary exposes a limited production cohort to a candidate that has passed offline screening. Version the complete configuration: model identifier, prompt, retrieval settings and index version, inference parameters, guardrails, and tool policy. Record the assigned version with evaluation events. Pin conversations to a version; changing configurations midway confounds both behavior and attribution.",{"slug":2095,"title":2096,"focus":2097,"teaser":2098},"human-in-the-loop-evaluation-reliable-human-quality-assessments-aip-c01","Human-in-the-Loop Evaluation: reliable human quality assessments","How to turn user feedback and reviewer ratings into trustworthy quality assessments using representative review samples, evidence-backed scoring rubrics, reviewer calibration, and adjudication.","User feedback is a signal, not a representative sample. A thumbs-down records dissatisfaction among people who chose to respond; it does not establish factual error or the failure rate across all requests. Capture a response identifier, an optional reason, and enough protected context to investigate. Keep missing feedback distinct from positive feedback, and remove unnecessary sensitive information before review.",{"slug":2100,"title":2101,"focus":2102,"teaser":2103},"label-quality-reliable-response-quality-annotations-aip-c01","Label Quality: reliable response-quality annotations","How calibrated annotation rubrics and independent audits turn subjective user feedback into reliable evaluation labels without mistaking satisfaction or reviewer agreement for correctness.","A user rating is an observation about user experience, not automatically a label of response correctness. A fluent but false answer can receive a positive rating; an accurate refusal can receive a negative one. Keep satisfaction, factual correctness, relevance, and safety as separate dimensions rather than averaging them into an unexplained quality score.",{"slug":2105,"title":2106,"focus":2107,"teaser":2108},"amazon-sagemaker-ground-truth-custom-response-annotation-workflows-aip-c01","Amazon SageMaker Ground Truth: custom response-annotation workflows","How custom worker templates, preprocessing and annotation-consolidation Lambda functions turn rubric-based human ratings of model responses into consistent labeled datasets.","A custom Ground Truth labeling job turns prompt–response records into human labels through three contracts: a pre-human-task Lambda prepares display data, a worker template collects rubric fields, and an annotation-consolidation Lambda produces the final label. Ground Truth routes these exchanges; the two functions do not call each other.",{"slug":2110,"title":2111,"focus":2112,"teaser":2113},"quality-gates-enforcing-genai-promotion-criteria-aip-c01","Quality Gates: Enforcing GenAI Promotion Criteria","How to turn continuous evaluation and regression evidence into auditable GenAI promotion decisions using risk-sensitive thresholds, uncertainty-aware criteria, version-bound evidence, and explicit blocking and exception policies.","A quality gate turns evaluation evidence into permission to proceed. A completed evaluation job or a successful deployment is not permission. Define the gate policy before inspecting candidate results: required measures, risk categories, acceptance rules, evidence requirements, and which failures block promotion. Treat changes to prompts, retrieval, knowledge content, guardrails, inference settings, or the foundation model as potential behavioral changes.",{"slug":2115,"title":2116,"focus":2117,"teaser":2118},"subgroup-analysis-disparities-in-generative-ai-evaluation-aip-c01","Subgroup Analysis: disparities in generative AI evaluation","How to compare generative AI quality and harm metrics across meaningful, intersectional groups while accounting for reference-label quality, evaluator bias, sample size, and uncertainty.","Subgroup analysis estimates quality and harm within meaningful populations rather than treating the overall score as sufficient. Start with affected users, tasks, and plausible harms. Predefine important groups and justified intersections, such as language × accessibility need: acceptable scores for each attribute separately can hide poor results at their intersection. Distinguish user attributes from attributes of people mentioned in generated content. Collect sensitive attributes only under appropriate legal, privacy, and access controls; do not silently infer them from text.",{"slug":2120,"title":2121,"focus":2122,"teaser":2123},"precision-k-and-recall-k-relevant-results-versus-evidence-coverage-aip-c01","Precision@k and Recall@k: relevant results versus evidence coverage","How precision measures relevance within the top k results while recall measures coverage of the relevant results, and why neither implies the other.","Precision@k asks how much of the top k is relevant. Recall@k asks how much of the relevant set appears in the top k. Let r be the number of relevant items retrieved, and R the total number of relevant items for the query: Precision@k = r\u002Fk and Recall@k = r\u002FR.",{"slug":2125,"title":2126,"focus":2127,"teaser":2128},"precision-k-controlled-retrieval-evaluation-aip-c01","Precision@k: controlled retrieval evaluation","How to compare retrieval configurations using consistent relevance judgments, evaluation units, retrieval stages, and per-query Precision@k measurements.","Precision@k counts relevant items in the first k positions and divides by k. Its validity depends on a stable relevance rubric, not on the retriever’s similarity scores. Define what evidence must support the query and which applicability constraints matter. For credential-rotation instructions, those constraints can include database engine, authentication method, and environment.",{"slug":2130,"title":2131,"focus":2132,"teaser":2133},"recall-k-measuring-and-diagnosing-evidence-coverage-aip-c01","Recall@k: measuring and diagnosing evidence coverage","How relevance-labeled, stage-by-stage Recall@k evaluations expose missing evidence and isolate retrieval regressions under a limited result budget.","Recall@k measures how much labeled relevant evidence appears in the first k results: |relevant ∩ top-k| \u002F |relevant|. If five passages are relevant and three appear in the first ten results, Recall@10 is 3\u002F5 = 0.60. The denominator is five, not ten. With five relevant items and only three result slots, the maximum possible passage-level Recall@3 is 3\u002F5.",{"slug":2135,"title":2136,"focus":2137,"teaser":2138},"amazon-kendra-passage-retrieval-and-relevance-tuning-aip-c01","Amazon Kendra: passage retrieval and relevance tuning","How Retrieve API passage results, confidence scores, metadata filters, and relevance overrides affect context quality and latency, measured against judged query sets.","Amazon Kendra has been in maintenance since June 30, 2026. It is closed to new customers; existing customers can continue using it. Do not select it for new workloads. AWS provides a migration guide: https:\u002F\u002Fdocs.aws.amazon.com\u002Fkendra\u002Flatest\u002Fdg\u002Fkendra-availability-change.html. This lesson explains retrieval controls for existing deployments.",{"slug":2140,"title":2141,"focus":2142,"teaser":2143},"tool-use-tool-call-effectiveness-aip-c01","Tool Use: tool-call effectiveness","How to evaluate tool calls against expected behavior, distinguishing selection and argument errors from execution failures and measuring unnecessary calls, latency, and cost.","Tool-call effectiveness asks whether the agent chose appropriate operations, supplied correct inputs, and achieved the required outcome without avoidable work. A successful API response proves only that an operation executed, not that it was the right operation. Conversely, a dependency outage does not prove that the agent chose badly.",{"slug":2145,"title":2146,"focus":2147,"teaser":2148},"experiment-tracking-traceable-model-comparison-reports-aip-c01","Experiment Tracking: traceable model comparison reports","How to structure tracked foundation-model evaluation results so stakeholder reports compare compatible runs and trace every reported metric to its evaluation configuration and evidence.","A foundation-model leaderboard is meaningful only when its rows answer the same question. Define a comparison contract: the task, dataset snapshot and split, eligible examples, prompt template, retrieval snapshot when used, decoding settings, scoring rubric, evaluator version, and aggregation rules. For a model-only comparison, hold these fixed and declare the model package as the candidate variable. A prompt comparison deliberately varies the prompt instead. Record that scope explicitly; changing both model and prompt supports a claim about the combined system, not an isolated model improvement.",{"slug":2150,"title":2151,"focus":2152,"teaser":2153},"confidence-intervals-uncertainty-in-genai-evaluation-reports-aip-c01","Confidence Intervals: uncertainty in GenAI evaluation reports","How to calculate and communicate confidence intervals that respect evaluation sampling design and support defensible model comparisons and release decisions.","A confidence interval describes sampling uncertainty around an estimate, not variation among individual answers. A 95% procedure has approximately 95% coverage across repeated equivalent samples when its assumptions hold. It does not assign a 95% probability to the fixed parameter being inside this particular interval. Nor is it a prediction interval, a Bayesian credible interval, or a model-generated confidence score.",{"slug":2155,"title":2156,"focus":2157,"teaser":2158},"analytics-foundation-model-evaluation-reporting-aip-c01","Analytics: foundation model evaluation reporting","How to build reproducible stakeholder reports that compare foundation models using consistently aggregated metrics, uncertainty-aware visualizations, and automated refreshes.","A reproducible report starts with a comparison contract: dataset snapshot, eligible examples, model versions, prompt and inference settings, evaluator version, metric definitions, and failure policy. Store one record per example, model, repetition, and metric, with stable identifiers. Deduplicate retries without discarding intentional repetitions. Preserve errors and missing judgments; silently dropping them can reward a model that fails on difficult inputs.",{"slug":2160,"title":2161,"focus":2162,"teaser":2163},"end-to-end-testing-outcome-based-regression-suites-aip-c01","End-to-End Testing: outcome-based regression suites","How versioned synthetic user workflows, repeated outcome scoring, and baseline comparisons gate foundation model updates on hallucination rates, semantic drift, and response consistency.","An outcome-based regression suite checks whether a complete synthetic user journey still achieves its intended result after a foundation model update. Enter through the application's real test interface, preserve conversation state across turns, and verify the final response, stored state, and external effects. For an address-change journey, saying “updated” is insufficient: the intended synthetic order must contain the authorized new address, with any required confirmation recorded.",{"slug":2165,"title":2166,"focus":2167,"teaser":2168},"aws-codedeploy-deployment-validation-gates-aip-c01","AWS CodeDeploy: deployment validation gates","How lifecycle hooks run synthetic model-output checks and deployment alarms trigger rollback to protect Lambda traffic shifts during foundation-model integration updates.","CodeDeploy shifts a Lambda alias between published function versions. An integration update can change prompts, model selection, response parsing, or retrieval behavior without changing the application's API. A successful invocation therefore does not prove that the new version produces acceptable answers.",{"id":2170,"title":2171,"subtitle":152,"lessons":2172},525,"Troubleshoot GenAI applications",[2173,2178,2183],{"slug":2174,"title":2175,"focus":2176,"teaser":2177},"text-chunking-evidence-preserving-chunk-design-aip-c01","Text Chunking: evidence-preserving chunk design","How to diagnose and adjust chunk boundaries, size, and overlap so necessary evidence survives processing limits and remains retrievable.","A useful chunk preserves an evidence unit: the passages needed to support a claim, including its conditions, exceptions, and definitions. Start troubleshooting with a question and its required source passages, not with a preferred chunk size. Trace those passages through extracted text, generated chunks, indexed content, retrieved results, and the final assembled prompt. The first representation that loses necessary evidence identifies the stage to investigate.",{"slug":2179,"title":2180,"focus":2181,"teaser":2182},"schema-validation-model-api-payload-contracts-aip-c01","Schema Validation: model API payload contracts","How to validate model-specific request and response structures and distinguish contract violations from other API integration failures.","A model integration has several contracts: the service operation's request envelope, the selected model's supported inputs, the service response structure, and any application-defined structure inside generated content. A payload can satisfy one contract and violate another. Successful JSON parsing establishes syntax, not conformance to any of these contracts.",{"slug":2184,"title":2185,"focus":2186,"teaser":2187},"schema-validation-prompt-contract-regression-tests-aip-c01","Schema Validation: prompt contract regression tests","How schema assertions on rendered prompts and generated structures reveal format regressions across prompt, model, and schema versions.","A prompt contract regression test checks whether a maintained prompt still produces the structures its consumer expects. Test two boundaries separately: the rendered prompt after fixture inputs are substituted, and the generated structure returned by the model. A template can look correct while an optional branch drops a message or serialization turns an object into a string.",{"id":81,"code":67,"slug":61,"dateLastDay":152,"whatChanged":152,"pageSlug":68},1793320651509]