[{"data":1,"prerenderedAt":226},["ShallowReactive",2],{"reinvent2026-svs317":3},{"id":4,"title":5,"YouTubeChannelID":6,"banner":6,"contributors":7,"description":6,"extension":10,"introBox":11,"meta":14,"pdf":15,"resources":18,"stem":224,"type":6,"video":6,"videos":6,"__hash__":225},"reinvent2026\u002Freinvent2026\u002Fsvs317.json","SVS317: Integrating AI agents with event-driven architectures",null,[8,9],"content\u002Fcontributors\u002Fmarco-jahn.json","content\u002Fcontributors\u002Ftolga-orhon.json","json",{"headline":12,"text":13},"Resources for SVS317: Integrating AI agents with event-driven architectures","Multi-agent systems call each other synchronously by default, so one slow agent blocks the chain, failures are hard to replay and debugging across agents gets hard. In this chalk talk we took a travel concierge with a trip agent and flight, hotel and ground agents, and moved its calls to an event bus: labelling each call now, later or never, triggering agents from events, pausing and resuming them for long-running work and human approval, and handling the parts that fail.\u003Cbr>\u003Cbr>This page has the slides and links for each topic of the session.",{},{"source":16,"headline":17},"https:\u002F\u002Fserverlessland.s3.us-east-1.amazonaws.com\u002Fpdf\u002Freinvent2026\u002FSVS317.pdf","Slides from the presentation",{"left":19,"right":136},[20,40,60,83,106,120,126,131],{"headline":21,"subheading":22,"text":23,"bullets":24},"Agents and multi-agent patterns","The loop, then the team","An agent is a model in a loop with tools, data and memory. The common multi-agent patterns call each other synchronously by default.",[25,28,31,34,37],{"text":26,"link":27},"Strands Agents: the agent loop","https:\u002F\u002Fstrandsagents.com\u002Flatest\u002Fdocumentation\u002Fdocs\u002Fuser-guide\u002Fconcepts\u002Fagents\u002Fagent-loop\u002F",{"text":29,"link":30},"Strands Agents: multi-agent patterns compared","https:\u002F\u002Fstrandsagents.com\u002Flatest\u002Fdocumentation\u002Fdocs\u002Fuser-guide\u002Fconcepts\u002Fmulti-agent\u002Fmulti-agent-patterns\u002F",{"text":32,"link":33},"Strands Agents: agents as tools","https:\u002F\u002Fstrandsagents.com\u002Fdocs\u002Flearning\u002Fmulti-agent-patterns-agents-as-tools\u002F",{"text":35,"link":36},"Amazon Bedrock AgentCore Runtime","https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock-agentcore\u002Flatest\u002Fdevguide\u002Fagents-tools-runtime.html",{"text":38,"link":39},"AWS Prescriptive Guidance: multi-agent collaboration","https:\u002F\u002Fdocs.aws.amazon.com\u002Fprescriptive-guidance\u002Flatest\u002Fagentic-ai-patterns\u002Fmulti-agent-collaboration.html",{"headline":41,"subheading":42,"text":43,"bullets":44},"Now, later, never","Sync or async between agents","If the caller needs the answer in this turn, call and wait. If it can come later, send a request with a correlation ID. If nobody needs to answer, publish a fact as an event.",[45,48,51,54,57],{"text":46,"link":47},"Enterprise Integration Patterns: Request-Reply","https:\u002F\u002Fwww.enterpriseintegrationpatterns.com\u002Fpatterns\u002Fmessaging\u002FRequestReply.html",{"text":49,"link":50},"Enterprise Integration Patterns: Correlation Identifier","https:\u002F\u002Fwww.enterpriseintegrationpatterns.com\u002Fpatterns\u002Fmessaging\u002FCorrelationIdentifier.html",{"text":52,"link":53},"Model Context Protocol: Tasks","https:\u002F\u002Fmodelcontextprotocol.io\u002Fextensions\u002Ftasks\u002Foverview",{"text":55,"link":56},"Agent2Agent protocol: streaming and asynchronous operations","https:\u002F\u002Fa2a-protocol.org\u002Flatest\u002Ftopics\u002Fstreaming-and-async\u002F",{"text":58,"link":59},"Creating asynchronous AI agents with Amazon Bedrock","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fmachine-learning\u002Fcreating-asynchronous-ai-agents-with-amazon-bedrock\u002F",{"headline":61,"subheading":62,"text":63,"bullets":64},"The event bus: trigger, emit, await","Amazon EventBridge","An event starts an agent, an agent publishes a fact, and other agents subscribe to it, replay it or wait for it without knowing who produced it.",[65,68,71,74,77,80],{"text":66,"link":67},"Introducing enhanced custom event buses in Amazon EventBridge","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Faws\u002Fintroducing-enhanced-custom-event-buses-in-amazon-eventbridge-for-enterprise-scale-event-driven-applications\u002F",{"text":69,"link":70},"What is the EventBridge Custom Event Bus?","https:\u002F\u002Fdocs.aws.amazon.com\u002Feventbridge\u002Flatest\u002Fuserguide\u002Feb-custom-bus-what-is.html",{"text":72,"link":73},"Ordering and deduplicating events","https:\u002F\u002Fdocs.aws.amazon.com\u002Feventbridge\u002Flatest\u002Fuserguide\u002Feb-custom-bus-ordering.html",{"text":75,"link":76},"Replaying retained events to a subscriber","https:\u002F\u002Fdocs.aws.amazon.com\u002Feventbridge\u002Flatest\u002Fuserguide\u002Feb-custom-bus-replay.html",{"text":78,"link":79},"Serverless services now support payloads up to 1 MB","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fmore-room-to-build-serverless-services-now-support-payloads-up-to-1-mb\u002F",{"text":81,"link":82},"Serverless Land pattern: invoke an AI agent with EventBridge Scheduler","https:\u002F\u002Fserverlessland.com\u002Fpatterns\u002Feventbridge-scheduler-ai-agent",{"headline":84,"subheading":85,"text":86,"bullets":87},"Long-running agents: who holds the call","Pause and resume","When an agent runs for minutes or hours, something holds the token that resumes the caller: an AWS Step Functions task token, an AWS Lambda durable functions callback, or a completion event the agent emits itself.",[88,91,94,97,100,103],{"text":89,"link":90},"Asynchronous patterns for calling Amazon Bedrock AgentCore agents in serverless pipelines","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fmachine-learning\u002Fasynchronous-patterns-for-calling-amazon-bedrock-agentcore-agents-in-serverless-pipelines\u002F",{"text":92,"link":93},"Step Functions: wait for a callback with a task token","https:\u002F\u002Fdocs.aws.amazon.com\u002Fstep-functions\u002Flatest\u002Fdg\u002Fconnect-to-resource.html#connect-wait-token",{"text":95,"link":96},"Durable Execution SDK: callbacks","https:\u002F\u002Fdocs.aws.amazon.com\u002Fdurable-execution\u002Fsdk-reference\u002Foperations\u002Fcallback\u002F",{"text":98,"link":99},"Best practices for Lambda durable functions","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fbest-practices-for-lambda-durable-functions-using-a-fraud-detection-example\u002F",{"text":101,"link":102},"Amazon Bedrock AgentCore Runtime: long-running agents","https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock-agentcore\u002Flatest\u002Fdevguide\u002Fruntime-long-run.html",{"text":104,"link":105},"Serverless Land pattern: AgentCore with Lambda durable functions","https:\u002F\u002Fserverlessland.com\u002Fpatterns\u002Flambda-durable-bedrock-agentcore-async",{"headline":107,"subheading":108,"text":109,"bullets":110},"Event-driven architectures","The foundations","The event-driven basics this session builds on: producers and consumers that don't know about each other, with an event bus between them.",[111,114,117],{"text":112,"link":113},"Serverless Land: event-driven architecture","https:\u002F\u002Fserverlessland.com\u002Fevent-driven-architecture",{"text":115,"link":116},"AWS learning path: how to use Amazon EventBridge to build decoupled, event-driven architectures","https:\u002F\u002Fpages.awscloud.com\u002FAWS-Learning-Path-How-to-Use-Amazon-EventBridge-to-Build-Decoupled-Event-Driven-Architectures_2020_LP_0001-SRV.html",{"text":118,"link":119},"AWS Well-Architected Serverless Applications Lens: event-driven architectures","https:\u002F\u002Fdocs.aws.amazon.com\u002Fwellarchitected\u002Flatest\u002Fserverless-applications-lens\u002Fevent-driven-architectures.html",{"headline":121,"subheading":122,"button":123},"Asynchronous systems and event-driven architecture for global scale","re:Invent 2022 keynote, Dr. Werner Vogels",{"text":124,"link":125},"Watch","https:\u002F\u002Faws.amazon.com\u002Fvideo\u002Fwatch\u002F1fa141ec9ed\u002F",{"headline":127,"subheading":128,"button":129},"Building next-gen applications with event-driven architectures","re:Invent 2022, API311-R",{"text":124,"link":130},"https:\u002F\u002Faws.amazon.com\u002Fvideo\u002Fwatch\u002F85b19d02c5c\u002F",{"headline":132,"subheading":133,"button":134},"Event-driven architectures at scale: manage millions of events","re:Invent 2024, API307",{"text":124,"link":135},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=dy7UXS7ur14",[137,157,175,192,199,204,209,214,219],{"headline":138,"subheading":139,"text":140,"bullets":141},"Human in the loop with events","The approval is another event","When the hotel agent goes over budget, the workflow sends an approval request with its token, waits without using compute, and resumes when the matching answer comes back.",[142,145,148,151,154],{"text":143,"link":144},"Step Functions tutorial: human approval","https:\u002F\u002Fdocs.aws.amazon.com\u002Fstep-functions\u002Flatest\u002Fdg\u002Ftutorial-human-approval.html",{"text":146,"link":147},"Serverless Land pattern: human approval with Lambda durable functions","https:\u002F\u002Fserverlessland.com\u002Fpatterns\u002Flambda-durable-human-approval-sam",{"text":149,"link":150},"Strands Agents: interrupts","https:\u002F\u002Fstrandsagents.com\u002Fdocs\u002Fuser-guide\u002Fsdk\u002Finterrupts\u002F",{"text":152,"link":153},"Human-in-the-loop constructs for agentic workflows","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fmachine-learning\u002Fhuman-in-the-loop-constructs-for-agentic-workflows-in-healthcare-and-life-sciences\u002F",{"text":155,"link":156},"Well-Architected Agentic AI Lens: human approval for high-risk actions","https:\u002F\u002Fdocs.aws.amazon.com\u002Fwellarchitected\u002Flatest\u002Fagentic-ai-lens\u002Fagentsec04-bp02.html",{"headline":158,"subheading":159,"text":160,"bullets":161},"When things fail","Delivery, the business step, the agent","Agents run on the same at-least-once delivery as any event-driven system, so make every step safe to retry and give every multi-step booking a way to undo itself.",[162,165,166,169,172],{"text":163,"link":164},"Retry policies and dead-letter queues for the Custom Event Bus","https:\u002F\u002Fdocs.aws.amazon.com\u002Feventbridge\u002Flatest\u002Fuserguide\u002Feb-custom-bus-retry.html",{"text":75,"link":76},{"text":167,"link":168},"Powertools for AWS Lambda: idempotency","https:\u002F\u002Fdocs.aws.amazon.com\u002Fpowertools\u002Fpython\u002Flatest\u002Futilities\u002Fidempotency\u002F",{"text":170,"link":171},"Amazon Builders' Library: making retries safe with idempotent APIs","https:\u002F\u002Faws.amazon.com\u002Fbuilders-library\u002Fmaking-retries-safe-with-idempotent-APIs\u002F",{"text":173,"link":174},"Well-Architected Agentic AI Lens: idempotent task execution","https:\u002F\u002Fdocs.aws.amazon.com\u002Fwellarchitected\u002Flatest\u002Fagentic-ai-lens\u002Fagentrel06-bp04.html",{"headline":176,"subheading":177,"text":178,"bullets":179},"Seeing what agents do","Tracing and evaluation","A failed delivery shows up in the logs, a wrong answer from an agent does not. Trace every hop, log the bus and score agent output.",[180,183,186,189],{"text":181,"link":182},"Amazon Bedrock AgentCore Observability","https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock-agentcore\u002Flatest\u002Fdevguide\u002Fobservability.html",{"text":184,"link":185},"Amazon Bedrock AgentCore Evaluations","https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock-agentcore\u002Flatest\u002Fdevguide\u002Fevaluations.html",{"text":187,"link":188},"Observability for the Custom Event Bus: metrics, logs and CloudTrail","https:\u002F\u002Fdocs.aws.amazon.com\u002Feventbridge\u002Flatest\u002Fuserguide\u002Feb-custom-bus-observability.html",{"text":190,"link":191},"Well-Architected Agentic AI Lens: end-to-end tracing","https:\u002F\u002Fdocs.aws.amazon.com\u002Fwellarchitected\u002Flatest\u002Fagentic-ai-lens\u002Fagentops05-bp01.html",{"headline":193,"subheading":194,"text":195,"button":196},"Try it yourself","GitHub repo","AWS Step Functions orchestrates Strands agents on Amazon Bedrock AgentCore and pauses and resumes them with callback tokens.",{"text":197,"link":198},"Code","https:\u002F\u002Fgithub.com\u002Faws-samples\u002Fsample-durable-multi-agent-step-functions-agentcore",{"headline":200,"subheading":201,"button":202},"Build, deploy, and operate agentic architectures on AWS Serverless","Previous re:Invent session: 2025, CNS359",{"text":124,"link":203},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=ZuRjxhV6GAY",{"headline":205,"subheading":206,"button":207},"Building intelligent workflows with event-driven AI","Previous re:Invent session: 2025, MAM327",{"text":124,"link":208},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=_wpjJWm8KBQ",{"headline":210,"subheading":211,"button":212},"Building AI agents with serverless, Strands, and MCP","Previous re:Invent session: 2025, NTA405",{"text":124,"link":213},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=LwubRSoJcIM",{"headline":215,"subheading":216,"button":217},"Improve agent quality in production with Amazon Bedrock AgentCore Evaluations","Previous re:Invent session: 2025, AIM3348",{"text":124,"link":218},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Gcje6pRGr1g",{"headline":220,"subheading":221,"button":222},"Using multiple agents for scalable generative AI applications","Previous re:Invent session: 2024, AIM304",{"text":124,"link":223},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=7pvEYLW1yZw","reinvent2026\u002Fsvs317","-36dhthmvNjdlSbMuM06-6gOkDwdnBOIqfABCbVWMR8",1794310836576]