AWS Machine Learning Blog

Amazon Bedrock AgentCore harness is now generally available: Go from idea to production-grade agent in minutes

8.5内容质量
Amazon Bedrock AgentCore harness is now generally available: Go from idea to production-grade agent in minutes

TL;DR · AI 摘要

AWS 推出 Amazon Bedrock AgentCore harness,简化从概念到生产级代理的开发流程,仅需几分钟即可完成。

核心要点

  • 使用 Amazon Bedrock AgentCore harness,仅需两个 API 调用即可创建并运行代理。
  • AgentCore 提供了运行代理所需的全部基础设施,包括内存、存储、身份和可观测性。
  • 代理可在隔离环境中运行,支持多模型提供商切换和实时监控。

结构提纲

按章节快速跳转。

  1. 文章介绍了 Amazon Bedrock AgentCore harness 的发布及其对代理开发的影响。

  2. 代理通过循环运行工具来实现目标,但实际开发中面临诸多基础设施挑战。

  3. AgentCore harness 提供了运行代理所需的基础设施,简化了开发流程。

  4. 支持多模型提供商、实时监控、隔离环境和自动追踪等功能。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Amazon Bedrock AgentCore harness
    • 核心功能
      • 简化代理开发流程
      • 支持多模型提供商
      • 实时监控与追踪
    • 优势
      • 无需手动配置基础设施
      • 隔离环境与安全性
      • 自动化的工具集成

金句 / Highlights

值得收藏与分享的关键句。

  • The harness handles that wiring as a managed abstraction, so it becomes something you configure rather than something you build.

    第 3 段

    ⬇︎ 下载 PNG𝕏 分享到 X
  • It runs in its own isolated environment with a filesystem and shell, so it can read files, run commands, and write code safely.

    第 4 段

    ⬇︎ 下载 PNG𝕏 分享到 X
  • Every step streams back to you in real time and is automatically traced to CloudWatch.

    第 4 段

    ⬇︎ 下载 PNG𝕏 分享到 X
#AWS#AgentCore#机器学习#云服务
打开原文

Amazon Bedrock AgentCore 框架现已正式发布:几分钟内从构想打造生产级代理 | 人工智能

Amazon Bedrock AgentCore 框架现已正式发布:几分钟内从构想打造生产级代理

一年前,Simon Willison 写下了关于代理的一个最简洁的定义,这个定义一直沿用至今:

一个大型语言模型代理通过循环运行工具来实现目标。

这个定义之所以被广泛接受,是因为它准确描述了每个生产级代理的实际运作方式。Kiro、Amazon Q Developer、Quick Agents、Codex、Claude Code:在这些系统背后,它们都遵循相同的结构。代理循环是它们的共同点。

但循环本身从来不是难点。真正的难点在于循环之外的各个方面。

选择一个框架。连接工具。提供沙箱计算环境。配置存储、密钥和网络。决定内存的位置。添加可观测性。将正确的依赖项放入正确的容器中。此外,本地原型开发通常比较简单:一个开发人员可以在一个下午就在自己的笔记本电脑上搭建一个代理。而将它部署到生产环境时,工作量会急剧增加,而当它需要为多个用户提供服务时,又会出现一个新的工作层次:并发、隔离、身份、状态、扩展。

更糟糕的是,随着每个新用例的出现,这些开销还会成倍增长。想要进行实验、尝试不同模型、替换工具、将代理指向新领域团队的团队发现自己不得不重复相同的基础设施工作。瓶颈不是智能,而是编排和基础设施。

当我们在四月份发布 AgentCore 框架预览版时,我们下了一个赌注:AgentCore 的基本组件(运行时、内存、网关、浏览器、身份、可观测性)已经为团队提供了在生产环境中运行代理所需的一切;他们不应该每次都手动连接这些组件。框架将这些连接作为托管抽象来处理,因此它变成了一种配置,而不是需要构建的东西。

今天,Amazon Bedrock AgentCore 框架正式发布。只需两次 API 调用(CreateHarness 用于定义代理,InvokeHarness 用于运行它),快速浏览一下 AgentCore CLI(如下图所示的 GIF 所示),或在控制台中点击几次,几分钟内你就可以运行一个代理。它在自己的隔离环境中运行,拥有文件系统和 shell,因此它可以安全地读取文件、运行命令和编写代码。它能记住用户和对话,跨会话保持状态,可以学习你指向它的技能(包括 AWS 精选目录),浏览网页,通过网关或 MCP 调用你的工具,并在会话中切换模型提供商而不会丢失上下文。每一步都会实时流式传输回你,并自动记录到 CloudWatch。你不需要编写编排代码或构建容器,除非你想要这样做。

框架为你提供的功能

一个框架是代理在生产环境中运行所需的一切,通过两次 API 调用即可实现。你可以指向你想要使用的模型、工具、技能和指令。AgentCore 处理沙箱环境、内存、存储、身份和将所有内容连接在一起的可观测性。在 GA(正式发布)中新增的功能在下图中用 * 标出。

任何模型:为任务选择合适的模型,需要时进行切换

不同的任务需要不同的模型。客户告诉我们,他们希望使用一个模型进行规划,使用另一个模型进行执行,或者为了价格性能测试而切换提供商,甚至在模型刚刚发布回归问题后,也能在不丢失对话的前提下切换模型。在 CreateHarness 上选择一个默认模型,然后在需要的时候通过任何单个 InvokeHarness 调用覆盖它。默认模型将用于其他所有调用。为想要的提供商设置匹配字段:

  • bedrock:用于 Amazon Bedrock 上的任何模型,包括 Anthropic Claude、Amazon Nova、Meta Llama、DeepSeek、Qwen、Kimi、MiniMax、Cohere、Mistral,以及最近的 Bedrock 上的 OpenAI GPT-5.5 和 GPT-5.4
  • openAi:直接访问 OpenAI 的 API(api.openai.com)
  • gemini:用于 Google Gemini
  • liteLlm:用于 LiteLLM 支持的任何第三方提供商,包括 Anthropic 直接连接、Cohere、Mistral、Vertex、Azure OpenAI 等等

客户告诉我们,他们最关心的是:可以在任何时候切换提供商,甚至在会话进行中切换,同时保持上下文。例如,可以使用 Claude Opus 进行规划,切换到 GPT-5.5 来编写代码,再切换到 Gemini 来进行总结。对话继续进行,Harness 会无缝处理这种转换。

如果你使用 API 密钥访问任何底层模型提供商,这些密钥将被安全地存储在 AgentCore Identity 的令牌保险库中。代理永远不会看到原始凭证。

工具作为配置:无需编写胶合代码即可将你的代理连接到世界

工具是代理影响其自身推理之外事物的方式,而连接这些工具是大多数团队默默讨厌的部分。客户告诉我们,他们不想为每个 API 编写适配器代码,不想管理 MCP 服务器生命周期,也不想构建自己的浏览器沙箱。他们希望声明代理可以使用的内容,并让 Harness 处理连接、认证和执行。

在 CreateHarness 上的工具是一个列表。每个条目都有一个类型和一个配置块,Harness 会将它们连接起来:

  • agentcore_gateway:你可以通过 ARN 引用 AgentCore Gateway。Gateway 暴露的每个目标(OpenAPI、Smithy、Lambda、MCP)都会作为工具出现,IAM/JWT 认证、每个工具的授权以及出站凭证代理均由系统自动处理。
  • remote_mcp:你可以通过 URL 直接连接到任何 MCP 服务器。当服务器已经安全,并且你不需要在它前面添加 Gateway 的治理层时,这非常有用。
  • agentcore_browser:一个完整的浏览器沙箱,只需一行代码即可引用。可以点击、输入、导航、截图。
  • agentcore_code_interpreter:沙箱化的 Python 和 Node 执行,使用相同的单行模式。
  • inline_function:Harness 会作为工具使用事件在流中发出一个工具模式,并等待你进行响应。适用于人机协作审批或必须在你这边运行的工具。
code
"tools": [
  { "type": "agentcore_browser" },
  { "type": "agentcore_code_interpreter" },
  { "type": "remote_mcp",
      "name": "X_tool",
      "config": { "remoteMcp": { "url": "https://mcp.X_tool/mcp" } } },
  { "type": "agentcore_gateway",
      "name": "Y_tool",
      "config": { "agentCoreGateway": { "arn": "arn:aws:bedrock-agentcore:..." } } }
]

每个会话还会自动内置 shell(在微虚拟机中运行命令)和 file_operations(在代理的文件系统上读写),无需你显式列出它们。这些功能使得有状态的文件系统和 shell 故事对模型来说是可用的。

在 InvokeHarness 上,你也可以对每次调用进行编辑,可以选择传递新的工具来更改单次调用的工具,或者通过 allowed_tools 参数将工具列表精简为专注于该调用的集合。默认值在创建时设置,但你可以在调用时轻松覆盖这些默认值。

内置内存:你的框架会记住用户和对话

客户希望他们的代理能够识别返回的用户,从上次对话中继续进行,并记住用户的偏好,而无需任何人重新播放消息历史。在预览版本中,你必须单独配置一个 AgentCore Memory 资源并传递其 ARN,这虽然可行,但需要进行第二次 API 调用,而且在通往生产的过程中很容易被遗忘。

在 GA 版本中,创建 Harness 时如果不指定内存,会自动为你配置一个托管内存,默认设置包括:语义 + 摘要策略、30 天事件过期时间、AWS 所有加密,以及默认通过以 actorId 为键的命名空间模板实现的多租户隔离。这是一个真实且由客户拥有的 Memory 资源,由你来配置。内存不是强制性的。如果你的代理是无状态的,设置 memory: { disabled: {} },框架将完全跳过内存。如果你更愿意使用你已拥有的 AgentCore Memory 资源,传递 agentCoreMemoryConfiguration 并附上其 ARN。这三个路径如下所示:

code
// 配置内置内存 

"memory": { 
 "managedMemoryConfiguration": { 
    "strategies": ["SEMANTIC", "SUMMARIZATION"], 
    "eventExpiryDuration": 30 
  } 
} 

// 使用已有的内存 

"memory": { "agentCoreMemoryConfiguration": { "arn": "arn:aws:bedrock-agentcore:..." } } 

// 无状态代理 
"memory": { "disabled": {} }

切换到你自己的内存只需要一次 UpdateHarness 调用。传递 agentCoreMemoryConfiguration 并附上你的内存 ARN,之前托管的内存会立即解除关联。它仍然是你账户中的一个常规 AgentCore Memory 资源,因此你可以继续在任何地方使用它,将其附加到另一个框架,直接查询它,或根据自己的条件删除它。当你删除框架时,默认情况下托管内存会被级联删除( deleteManagedMemory: true )。如果你希望保留它,请传递 deleteManagedMemory: false。

托管内存是自动的,但不是不透明的。它是一个真实且可寻址的 AWS 资源,你可以查询它,将其附加到其他代理,进行审计,或将其传递给分析流程。

技能:为你的代理提供正确的专业知识以完成正确的任务

客户希望他们的代理在尝试执行任务之前就知道如何处理特定任务。例如,如何格式化 Excel 报告,如何按照团队的方式提交 JIRA 工单,或如何遵循 AWS 推荐的流程来访问其 AWS 上的数据。技能就是你按需为代理提供这些知识的方式。它们是一组文件、脚本和指令的集合。框架会加载技能元数据,并仅在任务实际需要时将完整内容引入上下文。

在 GA 版本中,HarnessSkill 是一个包含四个来源的联合,因此你可以声明性地附加技能,而无需将其烘焙到容器中或进行外壳封装:

  • awsSkills – 启用 AWS 精选的技能包。
  • git – 通过 HTTPS 克隆一个公共或私有仓库,固定到某个提交或分支。
  • s3 – 从你自己的 Amazon Simple Storage Service(Amazon S3)存储桶中拉取技能包。
  • path – 引用已经在你引入的容器中存在的路径。
code
"skills": [ 
 { "awsSkills": {*} }, 
  { "git": { "uri": "https://github.com/anthropics/skills", "path": "document-skills/xlsx" } }, 
  { "s3":  { "uri": "s3://my-bucket/skills/team-sops/" } } 
]

相同的结构在 InvokeHarness 上也适用,用于每次调用的分层。Harness 会在会话开始时将每个技能部署到会话文件系统中,或者如果技能配置发生变化时在新的调用期间部署。

对 AWS 构建者而言,一个重大突破是:AWS 技能仓库提供了经过精心挑选的技能,涵盖 AWS 的各个领域,从核心技能(SDK 使用、基础设施即代码(IaC)、AWS 身份和访问管理(IAM)、Amazon CloudWatch 和 Amazon Bedrock)到针对特定服务的深度工作流程,包括分析、数据库、Amazon 弹性计算云(Amazon EC2)、网络、安全、无服务器和存储。

为了进一步简化这一过程,GA 引入了一个一流的 awsSkills 开关:只需打开 AWS 技能包,无需任何管道、无需 URL、无需网络请求(技能直接由 harness 的底层运行时加载,随时可用)。

code
aws bedrock-agentcore-control create-harness \ 
  --harness-name myAgent \ 
  --skills '[{"awsSkills": {}}]' 

# 或者使用路径通配符限定到特定的包
aws bedrock-agentcore-control create-harness \ 
  --harness-name myAgent \ 
  --skills '[{"awsSkills": {"paths": ["core-skills/*", "specialized-skills/operations-skills/*"]}}]'

环境和文件系统:在所需的环境中运行你的代理

大多数代理在 harness 的默认环境中运行良好,该环境包括 Python 和 bash。当你需要更多内容(如私有依赖项、运行时版本、CLI 工具或跨会话的持久性)时,有两个选项可以帮助你根据自己的技术栈定制代理的运行时环境:容器镜像和文件系统。

容器镜像。如果 Python 和 bash 不够用,你可以将源代码、依赖项、运行时和工具打包到一个自定义容器中,将其推送到 Amazon 弹性容器注册表(Amazon ECR),然后在 CreateHarness 中引用它。代理将使用该精确的环境。你还可以将其与 InvokeAgentRuntimeCommand 配合使用,这是一个 API,可以在代理的微虚拟机会话中直接运行 shell 命令,用于每次调用时的特定会话设置(例如克隆特定分支、填充测试数据或拉取凭证)。它是确定性的,不经过模型,也不消耗令牌。

文件系统。代理通常需要文件在单个响应之外持续存在:共享的知识库、跨会话的工作目录,或将生成的文档放回你自己的存储桶中的位置。Harness 为你提供了三种文件系统选项,每种都有不同的覆盖范围和持久性特征。

类型

管理

需要虚拟私有云(VPC)

持久性

管理会话存储

在相同会话的停止/恢复周期之间

code
runtimeSessionId

.

Amazon 弹性文件系统(Amazon EFS)访问点

自带(BYO)

跨所有会话,可在多个 harness 之间共享。

Amazon 简单存储服务(Amazon S3)文件访问点

跨所有会话和 harness,具有完整的 Amazon S3 健壮性、版本控制和历史记录。

使用托管会话存储来保存需要在会话内跨微虚拟机(microVM)重启而持续存在的工作文件。当多个测试工具(harnesses)或会话需要共享参考数据、提示或技能包时,使用 EFS。当希望代理通过标准文件操作读写文件,同时更改能自动与后端 S3 存储桶同步时,使用 S3 文件(S3 Files)(代理写入报告时,报告会实时出现在你的 S3 存储桶中)。

统一可观测性:在一个地方查看代理做了什么

当出现问题时,客户希望在一个地方了解代理执行了哪些操作、调用了哪些内容、在哪些地方变慢以及在哪些地方失败。一个典型的测试工具调用会跨越运行时、内存、网关以及一两个内置工具,以前要拼凑出完整的画面需要打开五个标签页。

在 GA 版本中,AgentCore 控制台中的每个测试工具页面都显示一个统一的可观测性小部件:一个汇总行,总结了测试工具在所有涉及的原始组件上的表现,同时还包括仅在测试工具配置或使用了这些原始组件时才会显示的每个原始组件的单独部分。

对于更深入的分析,CloudWatch GenAI Observability 现在在运行时和其他原始组件旁边新增了一个“测试工具(Harnesses)”标签页。你可以从一个测试工具深入到一个会话,再深入到一个单个的追踪,查看代理具体做了什么、执行顺序、每个步骤耗时多长以及在何处失败。所有原始组件(内存、网关、浏览器、代码解释器)的日志都会在右侧的相应跨度中直接显示,因此你无需在日志组之间来回跳转来拼凑发生了什么。

评估和优化:持续改进你的代理

一旦代理投入生产,问题的重点就从“它是否有效?”转变为“它是否在持续改进?”客户希望有一种方法来评估代理在真实流量中的实际表现,获得改进建议,并在部署之前验证这些更改。GA 版本带来了两个功能,以实现这一闭环:

  • AgentCore 评估通过内置的大型语言模型(LLM)作为裁判的评估器(评估帮助性、准确性、安全性)或你自定义的评估器,对测试工具追踪进行评分。你可以在线运行(实时对每个会话进行评分)、按需对单个追踪进行评分、批量处理历史追踪、在固定测试数据集上运行,或者通过使用合成用户进行模拟测试,以在上线前进行压力测试。
  • AgentCore 优化会读取这些评估器的评分,并生成提示和工具描述的建议,然后通过 AgentCore 网关将实时流量路由到两个变体之间,对每个会话进行在线评估评分,并提供统计显著性报告来验证这些建议。变体可以是同一运行时上可选配置包的不同版本,也可以是指向不同端点的不同版本,因此你可以在不重新部署代码的情况下,通过指向不同的端点对提示和工具描述的更改进行 A/B 测试。

运行你的测试工具,捕获追踪,获取评分,获取建议,将推荐的配置与当前配置进行 A/B 测试,然后部署表现更好的版本。

版本管理和回滚:安全地推出更改,即时回滚

客户希望在不将整个代理置于风险中的情况下,更新提示、替换工具或在部分流量上尝试新模型。Harness 上的版本管理和端点与 AgentCore Runtime 提供的功能一致:每次 UpdateHarness 都会创建一个不可变的版本,捕获完整的配置(模型、系统提示、工具、内存配置、技能、环境、截断、执行限制),回滚操作则是“将端点指向早期版本”。

code
# 创建 PROD 并固定到 V2 

aws bedrock-agentcore-control create-harness-endpoint \ 
  --harness-id my-harness-xxx --endpoint-name PROD --harness-version 2 

# 将 V5 推送到 PROD(或回滚到 V4) 
aws bedrock-agentcore-control update-harness-endpoint \ 
  --harness-id my-harness-xxx --endpoint-name PROD --harness-version 5

DEFAULT 端点在每次更新时会自动前进。命名端点(如 PROD、STAGING)会保持固定,直到你明确地将其升级。

导出为代码:当配置不再足够时进行升级

当使用场景超出配置范围(如自定义编排、多代理协调、深度监控)时,客户希望在不从头开始重建代理的情况下进一步扩展代理。一条 CLI 命令可以将 harness 导出为基于 Strands 的代码,该代码可以部署在 AgentCore Runtime 或其他任何地方:

code
agentcore export harness --name myHarness-6dk4df --output ./my-agent

导出的项目保留了你的模型、提示、工具、内存连接、技能和容器环境。计算路径相同,可观测性相同,身份原语相同。这种升级是配置到代码的转换,而不是架构的切换。

Strands 是第一个导出目标;Claude Agent SDK 即将推出,因此偏好该框架的客户也可以以相同方式升级。

这是我们最关心的 harness 故事的一部分。当配置不再足够时,你可以升级到相同的计算和相同的原语,使用可以阅读和修改的代码,而不是从头开始。

其他重要新增功能

我们还添加了以下功能:

Step Functions 集成。Harness 调用现在是 AWS Step Functions 中的一等状态。在 Workflow Studio 中,搜索 AgentCore InvokeHarness 并将其拖入你的工作流中。使用 Quick Create Harness 在 Step Functions 中快速创建一个新的 harness 和执行角色,或者指向一个现有的 harness 并按调用覆盖。相同的 InvokeHarness 语义适用,Harness 上有默认值,Task 状态上有覆盖。

AgentCore 上的 Web 搜索。新的 AgentCore 上的 Web 搜索(也在纽约峰会发布)通过 AgentCore Gateway 提供给 harness 代理:将 Web 搜索作为 Gateway 的目标暴露出来,从 harness 引用 Gateway,代理就可以进行搜索。即将推出一个第一方的 agentcore_web_search 工具类型,与 agentcore_browser 和 agentcore_code_interpreter 的单行模式匹配。

你可以用所有这些做什么

Harness 可以支持无数种使用场景,涵盖各行各业和各种类型的代理。为了给你一个多样性方面的概念,以下是三个具体的例子,每个例子都是团队在之前告诉我们的,他们之前都是手动拼凑起来的。

一个研究和写作代理。该代理可以搜索网络、浏览来源、起草文档,并返回一个真正的 xlsx 或 pptx 文件,内存可以在会话之间携带,因此下一个问题不会重复所有内容。启动它的最低要求是执行一次 CreateHarness 调用:

  • 工具:agentcore_browser,以及一个网关目标,用于在 AgentCore 上暴露网络搜索功能。
  • 技能:一个指向 anthropics/skills 的 Git 源,用于文档技能包。

默认情况下,内存是开启的,因此你无需显式配置它。就是这样。

为你的团队提供的一个 AWS 数据和分析代理。该代理可以从你的 AWS 账户(Amazon Athena、AWS Glue、Amazon S3、Amazon Redshift、Amazon CloudWatch)中提取数据,运行分析,并返回一个摘要、图表或发现,同时遵循 AWS 推荐的逐步访问每个服务的程序,而不是临时发挥。启动它的最低要求是一个 CreateHarness 调用:

  • 技能:[{"awsSkills": {}}] 以启用精选的 AWS 目录(分析、数据库、Amazon EC2、网络、安全、无服务器和存储)。
  • executionRoleArn:一个 IAM 角色,作用范围限定于你希望代理读取的 AWS API。

如果你希望代理还能在沙箱中运行 Python 以切片和可视化提取的数据,请添加 agentcore_code_interpreter。

一个编码代理。该代理可以读取你的代码库,规划更改,编写代码,运行测试,并打开一个拉取请求(PR),并且能够在会话中切换到不同的模型进行设计和实现,而不会丢失上下文。启动它的最低要求是两个步骤:

  • 将自定义容器(包含你的仓库和工具链)推送到 Amazon ECR。
  • 使用 environmentArtifact 指向该镜像,并添加一个连接到 GitHub(或你内部的 GitLab 或 Bitbucket 等效服务)的网关目标,以便代理可以与分支、PR 和评审进行交互。

对于确定性的 Git 操作(如克隆、提交、推送和打开 PR,而无需模型进行思考),请直接调用 InvokeAgentRuntimeCommand。

这些都是三个不同的代理,使用完全相同的框架。唯一变化的是 API 配置。

仅为你实际使用的部分付费

没有额外的框架费用。你根据实际使用情况为底层功能付费。

  • 运行时计算(框架会话运行的地方):按秒计费的主动消耗定价,每 vCPU 小时 $0.0895,每 GB 小时 $0.00945。智能代理工作负载在模型和工具 I/O 上花费大量时间等待。运行时仅在 CPU 实际消耗时计费。
  • 浏览器和代码解释器:相同的主动消耗模型。
  • 网关:每 1,000 次调用和每 1,000 次搜索查询。
  • 内存:每 1,000 个短期事件,每月每 1,000 个长期记录,每 1,000 次检索。
  • 可观测性:标准的 Amazon CloudWatch 定价用于跨度、日志和指标。
  • 模型推理:按 Amazon Bedrock 或第三方提供商的标准费率计费。

每个功能都是独立的。使用其中一个,或全部使用。运行 60 秒并调用两个工具的代理将相应计费。运行一小时并进行大量计算的代理也将相应计费。你将根据你的代理实际计算的内容按比例付费。

如需完整的定价详情,请查看 AgentCore 定价页面。

Twilio 的产品副总裁 Omar Paul 表示:“Twilio 的客户正在构建能够跨语音、消息和数字渠道运行的 AI 代理,这些代理具备实时智能和持久记忆,使每次交互都像一场对话。通过将 AgentCore 框架与 Twilio Conversations 结合,开发人员可以无需重新构建基础设施,就能从想法直接过渡到实时代理。最好的客户体验发生在伟大的 AI 和卓越的通信基础设施共同构建之时。”

TUI GROUP 的首席机器学习工程师 Lukas Schack 告诉我们:“Amazon Bedrock AgentCore 已经成为 TUI 的核心构建模块:我们使用 Runtime 在不同框架中托管代理,并使用 Memory 在它们之间共享上下文,这在生产环境和有超过 500 名员工的研讨会中都得到了应用,有时甚至有超过 130 人同时进行构建。借助 AgentCore 框架,过去从想法到可用产品需要数周时间,现在只需要几分钟,而面向客户的用例也即将到来。”

VTEX 的工程副总裁 Rodrigo Moreira 表示:“我们正在构建将彻底改变电子商务的 AI 代理。以前,为每个新代理进行原型设计需要数天的编排代码和基础设施设置,才能验证一个想法。AgentCore 框架改变了这一点:更换模型、添加工具、替换技能或优化代理的指令现在只需进行配置更改,而不是重新构建。我们现在可以在几分钟内验证代理的想法,而不是几天,我们期待着利用这些新功能进一步加速代理的开发。”

FUJISOFT AI 推广部高级经理 Kazumi Matsuda 指出:“在 FUJISOFT,我们正在构建 AI 代理,以加快我们团队的软件开发和运营。我们的框架 Character Capsule 将代理角色、技能和执行流程封装为可重用的胶囊,这些胶囊可以扩展到 AgentCore 上的多代理编排。借助 AgentCore 框架,我们可以在几分钟内部署新代理并对每次更改进行版本控制。一旦进入生产环境,评估系统会根据执行日志来衡量我们的代理表现,而 AgentCore 的优化功能会根据这些评分生成提示和工具建议。我们在实际流量上对这些建议进行 A/B 测试,然后再发布,因此改进是持续的,而不是猜测。这些功能使我们能够快速部署新代理,并充满信心地不断改进它们,在它们进入生产环境之前就发现质量回归问题,并只发布经过验证的更改,从而在我们的多代理模式中实现持续改进。”

开始使用

Amazon Bedrock AgentCore 框架今天已在所有 AgentCore 一般可用的 AWS 区域中提供。

code
# CLI(最快路径)

npm install -g @aws/agentcore@preview 
agentcore create --name myresearchagent --model-provider bedrock 
agentcore deploy 
agentcore invoke "Plan a 5-day Tokyo itinerary with daily budgets and reservation links."
code
# SDK 

import boto3, uuid 
control = boto3.client("bedrock-agentcore-control", region_name="us-west-2") 
data    = boto3.client("bedrock-agentcore",         region_name="us-west-2") 

# 1. 定义 
harness = control.create_harness( 
    harnessName="MyAgent", 
    executionRoleArn="arn:aws:iam::123456789012:role/MyAgentRole" 
) 

2. 调用

session_id = str(uuid.uuid4()).ljust(33, "0") # 必须至少为 33 个字符 response = data.invoke_harness( harnessArn=harness["harnessArn"], runtimeSessionId=session_id, messages=[{"role": "user", "content": [{"text": "计划一个 5 天的东京行程。"}]}] )

for event in response["stream"]: print(event)

code

团队从想法到构建出可用代理的速度越快,他们就能测试更多想法。Harness 将这个过程从数天缩短到几分钟。我们很期待看到你们构建出什么。

### 其他资源

更多信息请参阅以下内容:

- 入门

- GitHub 示例

- 文档 AgentCore harness 概述 模型和指令 技能 内存 环境和文件系统 可观测性和成本控制 版本控制和端点 导出为代码 安全性和访问控制 Harness 与 Runtime CreateHarness API – InvokeHarness API

## 关于作者

'"`