官方更新 AWS ML Blog Fri, 09 Oct 2026 正文 ok 2744 words

Postman 如何借助 Amazon Bedrock 为 4000 万开发者运行 Agent Mode

英文标题:How Postman runs Agent Mode for 40 million developers on Amazon Bedrock

为 4000 万开发者运行 AI Agent,与构建演示原型是完全不同的工程问题。Postman 表示,其 Agent Mode 的关键架构经验包括控制工具膨胀、提供基于 Schema 的读取能力,以及将上下文而非工具能力视为主要瓶颈。该系统通过 Amazon Bedrock 获得 Claude 模型选择灵活性、跨区域推理、与模型相关的零数据保留设置及多层提示词缓存能力。对开发团队而言,Postman 的实践表明:应按任务动态收敛工具集、让 Agent 面向结构化数据查询,并将上下文窗口作为需要主动管理的稀缺资源。
打开原文相关 2.7 · 机会 3
media1.3 MB media1.3 MB media2.4 KB media345.0 KB media141.2 KB media346.5 KB media1.3 MB media215.6 KB media399.0 KB media707.5 KB media22.6 KB media31.8 KB media266.8 KB

中文

为演示构建一个 AI Agent,与为 4000 万名开发者运营一个 Agent,是两类不同的工程问题。Postman 着手构建 Agent Mode,这是一种覆盖 API 测试、文档、发现和实现工作的 AI 原生方式。团队原本预计,模型质量和提示词设计将是最困难的问题。但更深层的挑战来自于:如何将 Agent 集成到一款成熟产品中——该产品具有多年来以界面为中心形成的假设、广泛的功能范围以及专业化概念。

本文中,Postman 和 AWS 介绍了在让成熟产品能够被 AI Agent 理解的过程中形成的架构模式。这些模式包括控制工具膨胀、提供基于 Schema 的读取能力,以及将上下文而非能力视为首要瓶颈。

我们还将说明,Agent Mode如何使用 Amazon Bedrock,以获得模型选择灵活性、按地理区域划分的跨区域推理、与模型相关的零数据保留,以及多层提示词缓存。这些经验结合起来,可帮助团队推动生产环境中的 Agent 超越原型阶段。

Postman 为什么构建 Agent Mode

Agent Mode是 Postman 以 AI 原生方式开展测试、文档、发现和实现工作的入口。Postman 已发展 11 年,开发者和用户已经习惯于通过展开侧边栏、查看标签页和打开请求,在界面中定位信息。为 Agent 重新构建这种感知能力,暴露出产品 API、用户体验和产品知识分布中存在的结构性假设。Agent 围绕数据进行推理,而不是浏览屏幕。图 1 展示了 Agent Mode 如何直接针对应用程序运行。

Postman Agent Mode 直接在应用程序中创建 pull request 并提出后续步骤建议

图 1:Agent Mode 直接针对 Postman 应用程序运行。在这个示例中,它创建一个 pull request 并提出后续步骤建议,而无需用户在界面中导航。

Agent Mode运行在 Amazon Bedrock之上,后者为 Agent 背后的基础模型提供托管访问能力。服务 Postman 的全球开发者社区意味着需求存在波动、对延迟敏感,并且流量会出现明显峰值。借助 Amazon Bedrock,Postman 可以扩展这一生产工作负载,而无需自行运营模型服务基础设施,同时仍保留模型选择的灵活性,以及对吞吐量、地理处理位置和成本的控制。图 2 提供了生产架构的高层视图,后续章节将进一步分析其组件。

Postman Agent Mode 架构,结合客户端工具、Agent 编排、专用上下文和 Amazon Bedrock 推理

图 2:Postman Agent Mode 结合客户端工具、Agent 编排、专用上下文和 Amazon Bedrock 模型推理。工具会按任务划定范围,而修改应用程序状态的操作仍须经过用户批准。

人工监督是生产设计的一部分。Agent Mode 在执行修改应用程序状态的操作前需要用户批准。Postman 还会将可用工具限定在任务所需范围内、选择专用上下文,并应用与模型相关的数据保留设置。这些控制措施可减少非预期操作和不必要的数据暴露,但生产测试和监控仍然必不可少。作为一项负责任 AI 控制措施,Postman 使用 Amazon Bedrock Guardrails在个人身份信息到达底层大语言模型(LLM)之前将其脱敏。企业管理员可以在 Agent Mode 的 guardrail 设置中启用该功能。

在 Agent Mode 中,工具定义了 Agent 在 Postman 内部的行动方式。早期,团队倾向于采用高度原子化的工具:例如打开一个请求、更新一个字段,或获取一项特定元数据等小而精确的操作。这种方法在早期迭代中有助于保证正确性和可控性,但也暴露出一些问题。

许多现实工作流需要长串的工具调用。即使每一步都很快,整体体验仍显得缓慢,因为每次操作后都必须返回模型,才能开始下一步。用户会看到 Agent 逐步执行那些他们在认知上已归为单次操作的动作。

在 Postman 的测试中,一旦可见工具集超过约 40 个,工具选择错误就会增加。Agent 可能调用不存在的工具、尽管 Schema 有效却传入错误参数,或选择在语义上看似合理、但在当前上下文中错误的工具。更大或更新的模型能够减少这种行为,但无法彻底消除它。

当工具集规模超过一定程度后,暴露更多工具反而可能降低 Agent 的有效性。当前架构会依据需求和上下文选择工具,并隔离各个执行线程。模型只能看到与当前任务相关的工具。图 3 展示了这一动态选择过程。

根 Agent 查询工具嵌入向量数据库,将 170 多个工具收敛至约 15 个,然后交给上下文隔离的子 Agent

图 3:根 Agent 查询工具嵌入向量数据库,将 170 多个工具收敛为与请求相关的约 15 个。随后,它将这些工具交给一个上下文隔离的子 Agent,使模型只能看到完成任务所需的工具。

另一个更隐蔽的问题是,许多客户端 API 与界面状态存在隐式耦合。修改请求的工具需要某些元素处于打开状态,而其他工具则会将打开新标签页作为副作用。Agent 必须打开请求标签页才能读取请求,这是在模仿界面交互,而非围绕数据进行推理。Postman 正在积极地将工具与标签页解耦,其 Native Git功能广泛采用了这种方法。例如,Agent Mode现在可以在没有打开标签页的情况下在后台发送请求,但仍需要用户批准。

构建者要点: 将工具目录视为上下文预算的一部分。应按任务动态限定向模型暴露的工具范围,并将“Agent 能做什么”与“UI 当前恰好打开什么”解耦。

提供基于 Schema 的读取能力

对于 API Catalog 等产品,Postman 将多个狭窄视图整合为单一查询工具。这些产品跨多个服务公开服务可用性、测试结果和端点响应时间等结构化数据。

在具备底层 ClickHouse 表 Schema 的前提下,Agent 可以生成包含 join 和 WHERE 子句的复杂查询。这显著减少了回答分析问题所需的不同工具数量:

SELECT toString(service_id) AS service_id,
    countMerge(total_events_state) AS total_requests,
    countMerge(error_events_state) AS total_errors,
    round(countMerge(error_events_state) * 100.0
        / countMerge(total_events_state), 4) AS error_rate_pct,
    avgMerge(avg_latency_state) AS avg_latency_ms,
    quantileMerge(0.95)(p95_latency_state) AS p95_latency_ms
FROM http_events_summary_1d
WHERE service_id IN ('...list of service IDs')
    AND bucket_1d >= today() - 7
GROUP BY service_id
HAVING p95_latency_ms < 100
    AND total_requests > 0
ORDER BY error_rate_pct DESC;

采用这种方法后,工程工作会从_为每个问题构建一个工具_转变为_一次性做好数据建模_。随后,Agent 能够生成的查询种类将远多于团队能够逐个列举并实现为独立工具的数量。

构建者要点: 如果拥有结构良好的数据,应让 Agent 获得具备 Schema 感知能力的查询引擎读取权限,而不是不断增加单一用途的读取工具。你是以数据建模换取更少的工具数量,而这会带来更优的扩展曲线。

上下文才是真正的瓶颈

Postman 最初认为,缺少_工具_将是最大的阻碍。实践中,缺失或不完整的_上下文_导致的失败,比缺少能力导致的失败更多。

上下文指的是 Agent 对用户在 Postman 中所处位置、哪些实体处于活跃状态,以及已经建立了何种状态的理解。当这些上下文不正确或缺失时,即使工具本身正确,也会失去效果。图 4 区分了提供给 Agent 的两种上下文形式。

自动收集的背景上下文和经由每实体处理器路由的用户选择上下文,二者都输入 Agent

图 4:两类上下文会输入 Agent。广泛但浅层的背景上下文会被自动收集并压缩后放入提示词;深入且聚焦的已选上下文由用户选择,并通过每种实体类型的专用处理器进行路由。每个处理器都会将实体提炼为 Agent 所需的信息。

这一挑战具有结构性。11 年来,开发者和用户已习惯于通过界面寻找信息。为 Agent 重新构建这种感知能力,需要多轮迭代来确定每个工作流中哪些信息重要、哪些是噪声。直接序列化现有的界面数据模型无法产生有用的上下文,因为这些对象是为渲染和数据传输设计的,而不是为推理设计的。因此,Postman 构建了专用上下文处理器,将每个实体提炼为 Agent 需要了解的信息。

随着越来越多对象获得处理器,截断成为下一个问题。许多字段包含开放式的用户生成数据,包括请求描述、OpenAPI 规范和请求载荷。这些数据可能挤占上下文窗口。在大规模环境下,谨慎管理上下文预算至关重要,也有助于支持团队正在探索的文件系统支持方法;在该方法中,每个处理器都不需要自定义截断和扩展逻辑。

构建者要点: 不要将渲染数据模型直接输入模型。应构建面向特定目标的上下文处理器,并将上下文窗口视为稀缺且需要主动管理的预算。在模型达到上下文上限很久之前,噪声就会挤占有效信号。

将所有部分整合起来

随着 Agent Mode 的演进,团队逐渐明确:系统必须聚合三个不同的组件,每个组件解决不同的问题。

  1. 客户端工具位于 Postman 应用程序中,代表 Agent 最终可执行的操作,例如打开请求、修改设置、运行集合以及检查认证。Agent Mode 也使用服务端工具来完成网页搜索和 Agent 循环管理等功能,但大多数工具都作用于 Postman 应用程序。
  2. 通用 Agent 指令定义系统层面的行为,包括 Agent Mode 应有多主动、如何表达不确定性,以及它具备哪些基础产品知识。
  3. 知识库采用检索增强生成(RAG)方法。Postman 拥有庞大的产品范围,涵盖多种请求协议、模拟服务器、监控器、文档、API Network、工作区治理、变量、辅助工具、代码生成、请求设置和集合运行。

编码到静态提示词中既不可行,而且其中大部分内容对特定查询并不相关。为进行初始填充,团队使用 Postman Learning Center 生成简明、面向特定功能的文章。在运行时,Agent Mode 会根据传入查询和可用上下文选择知识文章。例如,当用户选择一个模拟服务器时,Agent Mode 会自动注入相关文章。这让 Agent 默认保持轻量,同时在需要时提供深度信息。知识库会随应用程序一同演进,因此团队可以在发布新功能时同步发布 Agent Mode 文档。

在 Amazon Bedrock 上运行 Agent Mode

前文描述的三个组件,最终都会落到同一项运行时操作:向基础模型(FM)发起推理调用。在 Postman 的规模下,流量由开发者驱动且具有突发性。路由、缓存和地理处理控制帮助 Postman 应对流量峰值、管理推理成本,并满足特定工作负载的处理要求。Amazon Bedrock 提供了四项在此最为重要的能力。

跨 Claude 系列的模型灵活性

Agent Mode 并不绑定于单一模型。通过 Amazon Bedrock 模型推理 API,Postman 可以访问受支持的 Anthropic Claude 模型,并将每项工作负载路由至合适的模型。更快的模型可服务高流量、对延迟敏感的交互,而更大的模型则可处理更复

English / 原文

Building an AI agent for a demo and operating one for 40 million developers are different engineering problems. Postman set out to build Agent Mode, an AI-native way to work across API testing, documentation, discovery, and implementation. The team expected model quality and prompt design to be the hardest problems. The deeper challenges came from integrating an agent into a mature product with years of interface-driven assumptions, a wide surface area, and specialized concepts.

In this post, Postman and AWS describe the architectural patterns that emerged while making a mature product legible to an AI agent. These patterns include controlling tool sprawl, exposing schema-based reads, and treating context rather than capability as the primary bottleneck.

We also explain how Agent Mode uses Amazon Bedrock for model flexibility, geographically scoped cross-Region inference, model-dependent zero data retention, and multi-tier prompt caching. Together, these lessons can help teams move production agents beyond prototypes.

Why Postman built Agent Mode

Agent Mode is Postman’s portal for working with the product in an AI-native way across testing, documentation, discovery, and implementation. Postman has evolved over 11 years, and developers and users learned to locate information through the interface by expanding sidebars, checking tabs, and opening requests. Re-engineering that awareness for an agent surfaced structural assumptions in the product’s APIs, user experience, and distribution of product knowledge. An agent reasons over data rather than navigating a screen. Figure 1 illustrates how Agent Mode works directly against the application.

Postman Agent Mode opening a pull request and proposing next steps directly in the application

Figure 1: Agent Mode works directly against the Postman application. In this example, it opens a pull request and proposes next steps without requiring the user to navigate through the interface

Agent Mode runs on Amazon Bedrock, which provides managed access to foundation models behind the agent. Supporting Postman’s global developer community creates variable, latency-sensitive demand with sharp traffic bursts. With Amazon Bedrock, Postman can scale this production workload without operating its own model-serving infrastructure while retaining flexibility in model selection and control over throughput, geographic processing, and cost. Figure 2 provides a high-level view of the production architecture before the following sections examine its components.

Postman Agent Mode architecture combining client-side tools, agent orchestration, purpose-built context, and Amazon Bedrock inference

Figure 2: Postman Agent Mode combines client-side tools, agent orchestration, purpose-built context, and Amazon Bedrock model inference. Tools are scoped for each task, and user approval remains part of actions that modify application state

Human oversight is part of the production design. Agent Mode requires user approval before actions that modify application state. Postman also scopes available tools to the task, selects purpose-built context, and applies model-dependent data-retention settings. These controls reduce unintended actions and unnecessary data exposure, while production testing and monitoring remain necessary. As a responsible AI control, Postman uses Amazon Bedrock Guardrails to redact personally identifiable information before it reaches the underlying large language model (LLM). Enterprise admins can turn this on in Agent Mode’s guardrail settings.

In Agent Mode, tools define how the agent acts inside Postman. Early on, the team leaned toward highly atomic tools: small, precise actions such as opening a request, updating one field, or fetching a specific piece of metadata. That approach supported correctness and control in early iterations, but it also revealed several problems.

Many real-world workflows require long sequences of tool calls. Even when each step was fast, the overall experience felt slow, because every action had to return to the model before the next one could begin. Users watched the agent step through actions they had mentally grouped as a single operation.

In Postman’s testing, tool-selection errors increased once the visible toolset exceeded approximately 40 tools. The agent could call nonexistent tools, pass incorrect arguments despite valid schemas, or select tools that seemed semantically reasonable but were wrong in context. Larger or newer models reduced this behavior but didn’t remove it.

Past a certain toolset size, exposing more tools can reduce agent effectiveness. The current architecture selects tools based on need and context and isolates individual execution threads. The model sees only the tools relevant to the current task. Figure 3 illustrates this dynamic selection process.

Root agent narrowing more than 170 tools to about 15 by querying a vector database of tool embeddings, then handing them to a context-isolated sub-agent

Figure 3: The root agent queries a vector database of tool embeddings and narrows more than 170 tools to approximately 15 relevant to the request. It then hands those tools to a context-isolated sub-agent, so the model sees only the tools needed for the task

A subtler problem was that many client APIs were implicitly coupled to interface state. Tools that modified requests needed certain elements to be open, while other tools opened new tabs as side effects. The agent had to open a request tab to read it, mimicking interface interactions instead of reasoning about data. Postman is actively decoupling tools from tabs, and its Native Git feature makes extensive use of this approach. For example, Agent Mode can now send requests in the background without an open tab, although user approval is still required.

Builder takeaway: Treat your tool catalog as part of the context budget. Dynamically scope the tools exposed to the model per task, and decouple “what the agent can do” from “what the UI happens to have open.”

Exposing schema-based reads

For products such as the API Catalog, Postman consolidated multiple narrow views into a single query tool. These products expose structured data such as service uptime, test results, and endpoint response times across many services.

Given the schemas of the underlying ClickHouse tables, the agent can generate complex queries with joins and WHERE clauses. This substantially reduces the number of distinct tools needed to answer an analysis question:

SELECT toString(service_id) AS service_id,
    countMerge(total_events_state) AS total_requests,
    countMerge(error_events_state) AS total_errors,
    round(countMerge(error_events_state) * 100.0
        / countMerge(total_events_state), 4) AS error_rate_pct,
    avgMerge(avg_latency_state) AS avg_latency_ms,
    quantileMerge(0.95)(p95_latency_state) AS p95_latency_ms
FROM http_events_summary_1d
WHERE service_id IN ('...list of service IDs')
    AND bucket_1d >= today() - 7
GROUP BY service_id
HAVING p95_latency_ms < 100
    AND total_requests > 0
ORDER BY error_rate_pct DESC;

With this approach, the engineering job shifts from building a tool per question to modeling the data well once. The agent can then generate a far wider variety of queries than the team could ever have enumerated as individual tools.

Builder takeaway: Where you have well-structured data, give the agent schema-aware read access to a query engine instead of a proliferation of single-purpose read tools. You trade tool count for data modeling, which produces a better scaling curve.

Context was the real bottleneck

Postman initially assumed missing tools would be the biggest blocker. In practice, missing or incomplete context caused more failures than missing capabilities.

Context is the agent’s understanding of where the user is in Postman, which entities are active, and what state has already been established. When that context was wrong or absent, even correct tools became ineffective. Figure 4 distinguishes the two forms of context supplied to the agent.

Background context gathered automatically and user-selected context routed through per-entity handlers, both feeding the agent

Figure 4: Two kinds of context feed the agent. Broad, shallow background context is gathered automatically and minified for the prompt. Deep, focused selected context is chosen by the user and routed through a dedicated handler for each entity type. Each handler distills the entity into the information the agent needs

The challenge was structural. Over 11 years, developers and users learned to find information through the interface. Re-engineering that awareness for an agent required multiple iterations to determine what mattered for each workflow and what was noise. Serializing the existing interface data model did not produce useful context because those objects were shaped for rendering and data transfer, not reasoning. Postman therefore built dedicated context handlers that distilled each entity into what the agent needed to know.

As more objects gained handlers, truncation became the next problem. Many fields contain open-ended user-generated data, including request descriptions, OpenAPI specifications, and request payloads. This data can crowd the context window. Managing the context budget carefully is essential at scale and supports the filesystem-backed approach the team is exploring, where each handler does not need custom truncation and expansion logic.

Builder takeaway: Don’t feed the model your rendering data model. Build purpose-shaped context handlers and treat the context window as a scarce, actively managed budget. Noise crowds out signal long before the model reaches its limit.

Putting it all together

As Agent Mode evolved, it became clear the system had to aggregate three distinct components, each solving a different problem.

  1. Client-side tools live in the Postman application and represent the final actions the agent can take, such as opening requests, modifying settings, running collections, and inspecting authentication. Agent Mode also uses server-side tools for functions such as web search and agent-loop management, but most tools operate on the Postman application.
  2. Generic agent instructions define system-level behavior, including how proactive Agent Mode should be, how it communicates uncertainty, and what baseline product knowledge it carries.
  3. A knowledge base uses a Retrieval Augmented Generation (RAG) approach. Postman has a large product surface that includes multiple request protocols, mock servers, monitors, documentation, the API Network, workspace governance, variables, helpers, code generation, request settings, and collection runs.

Encoding all of this in static prompts was not feasible, and most of it is irrelevant to a given query. For initial seeding, the team used Postman’s Learning Center to generate concise feature-specific articles. At runtime, Agent Mode selects knowledge articles based on the incoming query and available context. For example, when a user selects a mock server, Agent Mode injects the related article automatically. This keeps the agent lightweight by default while providing depth when needed. The knowledge base evolves with the application, so teams can ship Agent Mode documentation with new features.

Running Agent Mode on Amazon Bedrock

The three components previously described resolve to the same runtime action: an inference call to a foundation model (FM). At Postman’s scale, traffic is bursty and developer-driven. Routing, caching, and geographic processing controls help Postman accommodate traffic bursts, manage inference cost, and address workload-specific processing requirements. Amazon Bedrock provides four capabilities that matter most here.

Model flexibility across the Claude family

Agent Mode isn’t tied to one model. Through Amazon Bedrock model inference APIs, Postman can access supported Anthropic Claude models and route each workload to an appropriate model. A faster model can serve high-volume, latency-sensitive interactions, while a larger model can handle complex reasoning where quality matters more than cost. Moving between supported Claude models is primarily a configuration change rather than a new integration. This flexibility directly supports the tool-sprawl and context challenges described earlier. In Postman’s testing, newer and larger models reduced tool hallucinations, and Postman can adopt supported models without rebuilding the integration. See supported models by AWS Region in Amazon Bedrock.

Cross-Region inference for high throughput

Developer traffic is spiky, and provisioning for peak demand in one AWS Region can be costly. Agent Mode uses Amazon Bedrock cross-Region inference to automatically route requests among the destination Regions defined by an inference profile. At runtime, the application passes the selected inference profile ID or Amazon Resource Name (ARN) as the modelId in Converse or InvokeModel. The profile, applicable AWS Identity and Access Management (IAM) and service control policies, and quotas must permit every destination Region that Bedrock might select.

  1. Geographic inference profiles route requests only among supported Regions within a defined geography, such as the United States or European Union. This option combines increased throughput with a configured geographic processing boundary.
  2. Global inference profiles can route requests among supported destination Regions worldwide to provide additional throughput during traffic bursts. They are appropriate only when the workload does not require a geographically constrained processing boundary.

Postman can select the inference profile per workload: a global profile for maximum available throughput or a geographic profile when processing must remain within the profile’s defined geography. This choice is explicit in the modelId used for each Bedrock inference request.

# Schematic Converse request
response = bedrock_runtime.converse(
    modelId="<geographic-inference-profile-id-or-arn>",
    messages=messages,
    system=system_blocks,
)

Data residency and enterprise controls

For enterprise customers, permitted processing geography can be as important as throughput. Geographic inference profiles constrain Bedrock routing to the profile’s supported destination Regions within the selected geography. This does not mean that inference runs inside Postman’s own AWS environment. Amazon Bedrock processes requests in the eligible AWS Regions for that profile, with data encrypted in transit and at rest. AWS states that Bedrock doesn’t use prompts and completions to train AWS models or distribute them to third parties. Postman has configured zero data retention with data_retention_mode set to none for supported Agent Mode models. Availability and behavior are model-dependent, so each production model must be checked against the current Amazon Bedrock data-protection and retention documentation.

Prompt caching to keep costs in check

A production agent resends substantial stable context on each turn, including system instructions, generic agent behavior, a core tool set, selected knowledge, and conversation context. Reprocessing the unchanged prefix on every request adds avoidable latency and cost.

Agent Mode uses Amazon Bedrock prompt caching to reuse stable prompt prefixes. The near-immutable core, including the system prompt, agent instructions, and core tool definitions, uses a one-hour cache checkpoint. More variable context uses a five-minute checkpoint that refreshes on a cache hit. Bedrock requires the longer-lived checkpoint to appear before the shorter-lived checkpoint. The shorter tier suits interactive sessions because idle context expires, while the one-hour tier can amortize its higher cache-write price across many reads. Cache benefits and supported TTLs depend on the selected model. Teams can verify behavior through the cacheReadInputTokens and cacheWriteInputTokens usage fields and measure time to first token for their own workloads.

# Schematic cache checkpoints in Converse content blocks
{"cachePoint": {"type": "default", "ttl": "1h"}}  # stable core
{"cachePoint": {"type": "default", "ttl": "5m"}}  # variable layer

Builder takeaway: Treat inference as a routing-and-caching problem, not only a model-selection decision. Select the Claude model per workload, choose the appropriate cross-Region inference profile, and cache the stable prompt prefix with TTLs that match how frequently each layer changes.

Best practices for scaling agents in production

Distilled from Postman’s journey, for builders working on Amazon Bedrock:

  1. Budget tools as carefully as tokens. Dynamically select the tools exposed per task. In Postman’s testing, tool-selection errors increased as the visible toolset became large.
  2. Prefer schema-aware reads over tool proliferation. Model your data well and let the agent query it.
  3. Decouple agent actions from interface state. If a tool requires an open tab, the agent is navigating the interface rather than reasoning directly over data.
  4. Engineer context deliberately. Purpose-built context handlers beat serializing your rendering model every time.
  5. Manage the context window as a scarce resource. Truncation and expansion strategy is a first-class design problem, not an afterthought.
  6. Ship docs with features. A RAG knowledge base only stays useful if it evolves in lockstep with the product.
  7. Route and cache on Bedrock. Match each workload to the appropriate Claude model, choose cross-Region inference based on throughput and geographic requirements, and apply tiered caching to stable prompt prefixes.

Conclusion

Building Agent Mode required Postman to confront the gap between large language model capabilities and the structure of mature products: interface assumptions, coupled clients, sprawling tool catalogs, and knowledge distributed across documentation and teams. Dynamic tool selection, schema-based reads, and deliberate context engineering emerged as repeatable patterns at the scale of Postman’s developer community. Amazon Bedrock provides the managed model access, cross-Region inference, model-dependent retention controls, and prompt caching that support the production architecture.

Whether you’re building your first agent or scaling an existing one, these patterns can help teams avoid common agent-integration and scaling challenges.

To learn more, see the Amazon Bedrock documentation, including guidance for cross-Region inference, prompt caching, and data protection and retention. For related implementation guidance, read Effectively use prompt caching on Amazon Bedrock and Amazon Bedrock announces global cross-Region inference for increased throughput on the AWS Machine Learning Blog. To explore the product, see the Postman Agent Mode documentation.

Postman’s production implementation is proprietary and isn’t available as a public sample repository.


About the authors

Srinivas Kini

Srinivas is a Senior Engineer on Postman’s AI team, building enterprise agents at the intersection of distributed systems and AI infrastructure. His focus is core agent architecture that keeps agents reliable and accurate at scale.

Shubham Gupta

Shubham is a Solutions Architect at AWS based in Bengaluru, India, supporting independent software vendors (ISVs). He works with engineering and leadership teams to design, build, and run their products on AWS, from first architecture to production, with a deep focus on generative AI and resilience at scale. Outside of work, Shubham is an avid hiker who brings the same preparation and persistence from the trail to building systems that last.