Building Production AI Agents and Agentic Platforms at Scale

vercel · Tech · 2025 · source Agentic: yes · promotional bias: high · source-backed · extracted with prompt 0.5.5 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Production AI agent platforms

AWS and Vercel frame the production problem as a platform problem: AI POCs fail when teams bolt model calls onto traditional software lifecycles without model-switching, evaluation, observability, governance, orchestration, and durable agent execution.

Constraints:

Architecture

The architecture combines Amazon Bedrock platform primitives with Vercel's agent application stack. Bedrock supplies the model catalog, Converse API for a unified model interface, Strands Agent SDK for model-agnostic agents, Guardrails for input/output governance, AgentCore Evaluations for live and custom model/agent scoring, and CloudWatch/AgentCore Observability for traces and metrics. Vercel builds applications on top with the Vercel AI SDK for provider-agnostic tool-calling agents, AI Gateway as a model-call control plane, and Workflow Development Kit to compile TypeScript functions into durable workflows. Customer-facing products such as v0, Vercel Agent, and internal agents reuse the same Bedrock-backed platform.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  bedrock-model-catalog["Bedrock model catalog"] --> converse-api["Converse API"]
  bedrock-model-catalog --> strands-agent-sdk["Strands Agent SDK"]
  bedrock-model-catalog --> vercel-ai-sdk["Vercel AI SDK"]
  converse-api --> bedrock-guardrails["Bedrock Guardrails"]
  bedrock-guardrails --> cloudwatch-and-agentcore-observability["CloudWatch and AgentCore Observability"]
  strands-agent-sdk --> agentcore-tools["AgentCore tools"]
  vercel-ai-sdk --> ai-gateway["AI Gateway"]
  vercel-ai-sdk --> agentcore-tools
  vercel-ai-sdk --> workflow-development-kit["Workflow Development Kit"]
  ai-gateway --> bedrock-model-catalog
  ai-gateway --> cloudwatch-and-agentcore-observability
  workflow-development-kit --> durable-agent["Durable Agent"]
  workflow-development-kit --> agentcore-tools
  durable-agent --> agentcore-tools
  durable-agent --> vercel-application-agents["Vercel application agents"]
  vercel-application-agents --> internal-business-agents["Internal business agents"]
  agentcore-evaluations["AgentCore Evaluations"] --> cloudwatch-and-agentcore-observability
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Bedrock model catalog Provides access to multiple foundation models for production applications and agents. Converse API, Strands Agent SDK, Vercel AI SDK
Converse API Normalizes model calls across Bedrock providers so applications can switch models without rewriting call formats. Bedrock model catalog, Bedrock Guardrails
Strands Agent SDK Keeps Bedrock-hosted agent logic model-agnostic while models are swapped underneath. Bedrock model catalog, AgentCore tools
Bedrock Guardrails Applies configurable safety and policy checks to model inputs and outputs across Bedrock and external models. Converse API, CloudWatch and AgentCore Observability
AgentCore Evaluations Scores live or offline agent interactions with built-in and custom evaluators. CloudWatch and AgentCore Observability
CloudWatch and AgentCore Observability Collects traces, logs, metrics, and evaluation outputs for debugging and monitoring. AgentCore Evaluations
Vercel AI SDK Provides provider-agnostic agent, chat, streaming, tool-calling, and human-in-the-loop primitives. Bedrock model catalog, AI Gateway, AgentCore tools, Workflow Development Kit
AI Gateway Acts as Vercel's cross-provider routing and observability control plane for model calls. Vercel AI SDK, Bedrock model catalog, CloudWatch and AgentCore Observability
Workflow Development Kit Compiles TypeScript orchestration functions into pausable, resumable, queue-backed durable workflows. Vercel AI SDK, Durable Agent, AgentCore tools
Durable Agent Runs long-lived tool-using agent logic with retry, queueing, observability, and error handling. Workflow Development Kit, AgentCore tools, Vercel application agents
AgentCore tools Supplies browser and code-interpreter tools that agents can call as durable workflow steps. Durable Agent, Strands Agent SDK
Vercel application agents Customer-facing and developer-facing agents such as v0 and Vercel Agent built on the shared stack. Durable Agent, Internal business agents
Internal business agents Go-to-market, procurement, and data analytics agents that reuse the same underlying platform. Vercel application agents

Data flow

A Vercel or customer agent is implemented with the Vercel AI SDK and routed through AI Gateway to Bedrock models. Bedrock-facing calls can use unified Converse-style interfaces, model-agnostic agent SDKs, and Guardrails at the input and output boundaries. When the agent needs tools, it can call AgentCore browser or code-interpreter tools through AI-SDK-compatible interfaces. For long-running work, WDK wraps the agent in a workflow with durable queue-backed steps. Evaluation logs and OpenTelemetry-compatible traces flow into AgentCore Evaluations, AgentCore Observability, CloudWatch dashboards, or third-party observability systems.

4 supporting quotes
“you should easily be able to switch models within your platform from day one. This isn't something you want to try to architect later on.”transcript, stated
“It's a unified interface that you can use to call any model in Bedrock and it provides consistent input and output formats”transcript, stated
“The gateway tracks every call to every model, which agent made it, what the latency and costs were and how to use those metrics”transcript, stated
“workflow development kit is a compiler layer on top of TypeScript that turns any TypeScript function into a durable workflow.”transcript, stated

Why this architecture

The stack is designed around the three production gaps the speakers say teams neglect: model switching, evaluation, and observability. Bedrock supplies unified model access, guardrails, evaluations, and observability so model and safety changes are platform capabilities rather than one-off application rewrites. Vercel then adds an SDK, gateway, and WDK durability layer because its production agents need provider abstraction, model-call visibility, and long-running tool execution without giving up serverless-style ergonomics.

4 supporting quotes
“there are hundreds of models that are launched every year and many of those are deprecated quickly with short life cycles.”transcript, stated
“You can't just develop one without the other. For example, you can't easily switch models if you don't have a great model evaluation framework.”transcript, stated
“we built a clean abstraction layer on top of that that let's just write our application logic once and then plug in different models and providers underneath”transcript, stated
“we needed something that could handle long running background tasks while still scaling like our familiar serverless primitives.”transcript, stated

Models used: Amazon Bedrock foundation models · Anthropic Claude Sonnet 4.5 · OpenAI-compatible models via provider switching · LLM-as-a-judge models · Amazon Nova · Llama · DeepSeek

Scale

Alternatives considered (roads not taken)

Retrofit model switching after the platform is already built.

Rejected because: The speakers argue model switching must be architected from day one because provider APIs differ and models churn quickly.

“should be that you should easily be able to switch models within your platform from day one. This isn't something you want to try to architect later on. And to support that, first of all, a quick review is one of the key value props of Bedrock is giving you access to an array”transcript, stated
“And unfortunately what sounds really straightforward is actually kind of hard. First of all, there's no such thing as a plug and play interface for all models. Each model provider has a different model interface and each model is built with a different set of maybe philosophical”transcript, stated

Use generic benchmark datasets as the primary evaluation basis.

Rejected because: The talk says open-source datasets are useful but often fail to match a team's business case and use case.

“open source that you can use and they're great for generic benchmarking, but that doesn't mean that they're great for your business case”transcript, stated
“your business case and your use case in particular. So you either going to have to create your own or find one that really works. If you're self-hosting, you have to spin up your own evaluation infrastructure and connect all those different pieces together, which again can be time consuming”transcript, stated

Rely entirely on human or programmatic evaluation.

Rejected because: Bedrock promotes LLM-as-a-judge as a way to automate parts of evaluation while still retaining human checks for golden datasets.

“instead of using programmatic evaluators like accuracy, robustness, toxicity or human evaluators, like brand voice, tone, style.”transcript, stated
“you still need the human element. You wanna make sure that you're having a human check, if not the full blown evaluation results, but some sample of them at least at the very least for your golden dataset because that's the thing that's gonna be the standard”transcript, stated

Manually instrument every agent for observability.

Rejected because: AgentCore Observability is positioned as a way to avoid manual instrumentation while still sending OTEL-compatible telemetry to CloudWatch or third-party tools.

“developers used to spend a lot of time instrumenting code using libraries and tools, but that's no longer the case.”transcript, stated
“because the data is emitted in the standard OTEL compatible format to your third party observability tool of choice.”transcript, stated

Run complex tool-using agents as ordinary serverless requests.

Rejected because: Vercel says browser/code-interpreter agents can exceed serverless timeouts, so WDK turns tool use into durable queue-backed steps.

“Vercel we are fully serverless. So you know, it's using Lambdas roughly under the hood, but as we all know, those have timeouts, you can't go forever on these things. And so in order to allow this agent to run for longer than the serverless timeout, we need to add some durability. So let's”transcript, stated
“will then be executed as a durable step backed by a queue retriable and with observability and error handling built in.”transcript, stated

Patterns

model-routing (model_operations)

The platform abstracts model access through Bedrock APIs, Strands, Vercel AI SDK, and AI Gateway so teams can change model providers or versions without rewriting application logic.

3 supporting quotes
“you should easily be able to switch models within your platform from day one.”transcript, stated
“the Strands Agent SDK is designed to be model agnostic for your agents so that you can easily swap out the models within your agents”transcript, stated
“from the app's perspective, you know, talking to a model on Bedrock or you know, going out to a open AI or anthropic directly or wherever it's all the same code”transcript, stated

guardrails-io-filtering (safety)

Bedrock Guardrails apply safety checks to both model inputs and outputs, with failures logged and application fallback left to the calling system.

3 supporting quotes
“Guardrails is a tool that allows you to define and apply configurable safeguards, things like harmful content filters, PI read acts, hallucination detection, deny topics.”transcript, stated
“Once you have Guardrails enabled and a safe AI policy defined, you apply these Guardrails checks at the input and the outputs. And if those checks pass, then your application gets to continue on with the output from that model.”transcript, stated
“If it fails for any reason, that's logged and your application can decide what you want to do with it.”transcript, stated

eval-driven-development (evaluation)

The system treats evaluation as an iterative production loop using business-specific datasets, automated scoring, human checks for golden data, live sampling, custom evaluators, and LLM-as-a-judge.

3 supporting quotes
“You wanna be able to understand and evaluate for your specific use case and with your data”transcript, stated
“As you can guess from how I'm speaking about it, this is not a one and done process. It's very much iterative. You're going to have to repeat this for every single new model that you bring into the system as well as for your new applications as a whole.”transcript, stated
“You can sample and score live interactions with 13 built in out of the box evaluators for common quality dimensions”transcript, stated

observability-tracing (operations)

CloudWatch, AgentCore Observability, and Vercel AI Gateway provide traces, metrics, logs, costs, latency, tokens, and model-call attribution across agents and providers.

3 supporting quotes
“Observability allows you to assess system health holistically. It lets you root cause across all model calls”transcript, stated
“You can see logging metrics like latency, token counts, throttles, error accounts, additional filters like timing, tool usage, knowledge lookups.”transcript, stated
“The gateway tracks every call to every model, which agent made it, what the latency and costs were”transcript, stated

durable-execution (reliability)

Vercel's WDK turns TypeScript orchestration and tool calls into pausable, resumable, queue-backed durable workflows for agents that exceed normal serverless timeouts.

3 supporting quotes
“workflow development kit. At its core, workflow development kit is a compiler layer on top of TypeScript that turns any TypeScript function into a durable workflow. You can mark the orchestration function with just a used workflow directive and we'll see an example of this later on that”transcript, stated
“used workflow directive and we'll see an example of this later on that basically turns it into a possible and resumable TypeScript function.”transcript, stated
“use step directives on any function that is called within that to turn that into an asynchronous Q-backed durable step.”transcript, stated

tool-use-orchestration (agent_tools)

The Vercel demo starts with text generation, adds AgentCore browser tools, then adds code-interpreter tools before wrapping tool use in durable execution.

3 supporting quotes
“browser tools is a way to spin up a browser in the cloud and the LLM to actually pilot it.”transcript, stated
“So instead of just giving it access to a browser, we're also gonna give it access to some code interpreter tools. So maybe now we can go out and do some sort of deeper research for us.”transcript, stated
“We want to be able to orchestrate the tool use and give it instructions and understand which tools it can it can use there.”transcript, stated

human-in-the-loop-gate (evaluation)

The evaluation process retains human checks, at least for sampled or golden datasets, before automated evaluators become the standard for future runs.

“you still need the human element. You wanna make sure that you're having a human check”transcript, stated
“at the very least for your golden dataset because that's the thing that's gonna be the standard for all future evaluations that you do.”transcript, stated

Tradeoffs

Use unified model interfaces and gateways.

Chose Provider/model abstraction over Direct provider-specific calls embedded in application logic.

Rationale: Abstraction makes model switching faster and safer, at the cost of introducing platform layers such as Bedrock APIs, Vercel AI SDK, and AI Gateway.

3 supporting quotes
“First of all, there's no such thing as a plug and play interface for all models. Each model provider has a different model interface and each model is built with a different set of maybe philosophical perspectives so they behave differently.”transcript, stated
“write our application logic once and then plug in different models and providers underneath”transcript, stated
“we can very easily just swap out a string and start playing around with a new model.”transcript, stated

Combine automated evaluation with human checks.

Chose Managed and LLM-based scoring plus golden-dataset human review over Fully manual evaluation or fully automated evaluation alone.

Rationale: Managed evaluators reduce setup and operational burden, but human checks remain necessary to calibrate quality for future evaluations.

3 supporting quotes
“saving you from requiring you to build your own evaluation infrastructure and managing those operational complexities.”transcript, stated
“you still need the human element. You wanna make sure that you're having a human check”transcript, stated
“that's gonna be the standard for all future evaluations that you do.”transcript, stated

Use Guardrails as a cross-model policy layer.

Chose One safe-AI policy applied to inputs and outputs over Separate safety handling for each model/provider.

Rationale: A unified policy gives governance continuity during model switching, but the application still needs to decide fallback behavior when checks fail.

“you can have a single unified safe AI policy for your entire AI platform regardless of which model you decide to switch to.”transcript, stated
“If it fails for any reason, that's logged and your application can decide what you want to do with it.”transcript, stated

Adopt durable workflow execution for complex agents.

Chose WDK durable workflows and queue-backed steps over Simple short-lived serverless agent requests.

Rationale: Durability lets agents use browsers and code interpreters for multi-minute work while preserving serverless-style scaling and developer ergonomics.

3 supporting quotes
“The AI SDK and AI gateway were enough for us to build simple short-lived agents like chatbots or quick little helpers.”transcript, stated
“we needed something that could handle long running background tasks while still scaling like our familiar serverless primitives.”transcript, stated
“You write straightforward forward TypeScript and workflow development kit figures out how to deploy, run and resume all of that behind the scenes.”transcript, stated

Keep observability portable through OpenTelemetry-compatible emissions.

Chose CloudWatch/AgentCore dashboards plus third-party export options over A single mandatory observability backend.

Rationale: The talk promotes CloudWatch as the default view while preserving compatibility for teams that use other observability systems.

“if CloudWatch isn't your tool of choice, you can integrate with whichever tool you want to visualize and track your agent's performance.”transcript, stated
“the data is emitted in the standard OTEL compatible format to your third party observability tool of choice.”transcript, stated

Gotchas (what bit them)

Static AI platforms fall behind the model ecosystem.

Root cause: Model versions, capabilities, regional availability, costs, and provider interfaces change faster than traditional development cycles.

Resolution: Design the platform around day-one model switching through unified APIs, model-agnostic agent SDKs, and gateway routing.

3 supporting quotes
“their platforms are built to static from day one, and they have a hard time keeping up with the pace of change.”transcript, stated
“they haven't even finished their DevTest lifecycle or their DevTest cycle and already they're on a version of a model that's behind.”transcript, stated
“If OpenAI launches a new one or a new model hits Bedrock, we can very easily just swap out a string and start playing around with a new model.”transcript, stated

Model switching is risky without evaluation.

Root cause: Different models have different APIs, behaviors, and quality/cost/latency tradeoffs, so replacement cannot be treated as a pure endpoint swap.

Resolution: Tie model switching to evaluation frameworks that use business-specific data, automated scoring, human review, and production feedback.

3 supporting quotes
“Each model provider has a different model interface and each model is built with a different set of maybe philosophical perspectives so they behave differently.”transcript, stated
“if you don't have a great model evaluation framework, then it makes it hard and costly to switch out these models.”transcript, stated
“Once your automated evaluation matches your human evaluations, you can record results and synthesize insights.”transcript, stated

Production observability is not automatic.

Root cause: CloudWatch model invocation logging is disabled by default, and AI workflows span LLMs, agents, tools, and knowledge bases.

Resolution: Explicitly enable logging, collect traces/metrics, and route OTEL-compatible telemetry into CloudWatch, AgentCore Observability, or third-party systems.

3 supporting quotes
“it's not enabled by default. Again, not enabled by default, meaning you all have to go in to the CloudWatch console and actually toggle on model invocation logging”transcript, stated
“First off, there's fragmented tracing. You have to be able to stitch together interactions across your LMs, your agents, your RAG bases.”transcript, stated
“you can send trace info from any agent built with any AI SDK to CloudWatch.”transcript, stated

Tool-rich agents can exceed ordinary serverless execution limits.

Root cause: Browser use and code execution may take minutes, while serverless functions have timeouts.

Resolution: Wrap long-running tool use in WDK durable workflows and queue-backed steps with retry, observability, and error handling.

3 supporting quotes
“It might be going out there and using the browser for multiple minutes at a time.”transcript, stated
“traditionally on Vercel we are fully serverless. So you know, it's using Lambdas roughly under the hood, but as we all know, those have timeouts”transcript, stated
“in order to allow this agent to run for longer than the serverless timeout, we need to add some durability.”transcript, stated

Initial evaluation setup is not the same as meaningful evaluation.

Root cause: Teams must still choose metrics, datasets, custom evaluators, and human review standards suited to their own use case.

Resolution: Use managed evaluators to reduce operational work while retaining custom evaluators and golden-dataset checks for domain quality.

3 supporting quotes
“if you don't have an applied science team who can help you understand the different ones can be a little challenging to pick.”transcript, stated
“Next, you can build your own quality assessments for your specific use case using custom evaluators and configure them with your choice of prompt and model. Next, it's fully managed.”transcript, stated
“You wanna make sure that you're having a human check, if not the full blown evaluation results, but some sample of them at least at the very least for your golden dataset because that's the thing that's gonna be the standard for all future evaluations that you do.”transcript, stated

Evaluation

The session's evaluation design is itself a platform capability: evaluate candidate models and agents against business-specific data, quality/cost/latency goals, safety behavior, built-in and custom evaluators, LLM-as-a-judge, human checks for golden datasets, and continuous scoring of live interactions. It does not disclose measured production accuracy for Vercel's applications.

Metrics: Quality, cost, and latency tradeoffs · Bias and trusted behavior monitoring · 13 built-in AgentCore evaluators · Correctness, helpfulness, and goal success rate · Live interaction sampling · Latency, token counts, throttles, error counts, timing, tool usage, and knowledge lookups · Model-call latency and cost by agent in AI Gateway

5 supporting quotes
“You wanna be able to make the quality cost latency trade off. You wanna be able to understand and evaluate for your specific use case and with your data so you can monitor biases and make sure that the model is acting in a safe and trusted way.”transcript, stated
“monitor biases and make sure that the model is acting in a safe and trusted way.”transcript, stated
“You can sample and score live interactions with 13 built in out of the box evaluators for common quality dimensions, such as correct fullness, helpfulness goal success rate. There's no complex setup or ongoing management needed.”transcript, stated
“You can see logging metrics like latency, token counts, throttles, error accounts, additional filters like timing, tool usage, knowledge lookups.”transcript, stated
“The gateway tracks every call to every model, which agent made it, what the latency and costs were”transcript, stated

Outcomes

The source reports a 46% AI POC cancellation statistic, hundreds of AWS customer conversations, 13 AgentCore evaluators, Vercel AI production experience since 2019, globally distributed deployment, and multi-minute agent tool use. The case does not provide adoption counts, cost savings, accuracy deltas, or reliability metrics for Vercel's deployed agents.

5 supporting quotes
“AgentCore is a tool that allows you to build and deploy agents securely at scale with a range of primitives”transcript, stated
“those different use cases in different stakeholders. The common thread across all of these is Amazon Bedrock. We use Bedrock as the foundation for our AI and agentic workloads. It gives us access to a range of high quality foundation models with the or, yeah, with all of the security compliance”transcript, stated
“The patterns I've showed you here are the same ones that we use for v0, for Vercel agent and for all of those internal agents”transcript, stated
“we're gonna start with a very simple text generation and incrementally turn it into a durable tool using agent.”transcript, stated
“this thing is a complex thing to manage and we understand the challenges related to AI platform management”transcript, stated