View a markdown version of this page

开始使用 - Amazon Bedrock AgentCore

开始使用

您可以通过 AgentCore CLI 使用该工具,也可以直接使用 AWS 软件开发工具包,boto3例如。对于大多数开发者来说,CLI 是最快的途径;SDK 供您自己的应用程序编程使用。

先决条件

  • AWS 在其中一个支持的区域中配置的凭证。

  • 对于 CLI 来说: Node.js 20+

  • 对于 SDK/boto3:boto3已安装的 Python 3.10+,以及该工具可以扮演的 IAM 执行角色。有关最低权限,请参阅执行角色策略

开始使用

AWS CLI/boto3

使用名称和执行角色创建安全带:

aws bedrock-agentcore-control create-harness \ --harness-name "MyHarness" \ --execution-role-arn "arn:aws:iam::123456789012:role/MyHarnessRole"

投票get-harness直到"status": "READY". 记下响应中的 arn

aws bedrock-agentcore-control get-harness \ --harness-id "MyHarness-XyZ123"

从 Python 中调用。如果你没有指定型号,Amazon Bedrock 上的安全带默认为 Anthropic Claude Sonnet 4.6:

import boto3 client = boto3.client("bedrock-agentcore", region_name="us-west-2") response = client.invoke_harness( harnessArn="arn:aws:bedrock-agentcore:us-west-2:123456789012:harness/MyHarness-XyZ123", # Replace with your harness ARN runtimeSessionId="1234abcd-12ab-34cd-56ef-1234567890ab", messages=[{ "role": "user", "content": [{"text": "Research three tropical vacation options under $3k."}] }], ) for event in response["stream"]: if "contentBlockDelta" in event: delta = event["contentBlockDelta"].get("delta", {}) if "text" in delta: print(delta["text"], end="", flush=True) elif "runtimeClientError" in event: print(f"\nError: {event['runtimeClientError']['message']}")
AgentCore CLI

安装 C AgentCore LI:

npm install -g @aws/agentcore

使用旗帜以非交互方式创建线束项目:

agentcore create --name myresearchagent --model-provider bedrock

部署并调用:

agentcore deploy agentcore invoke --harness myresearchagent \ --session-id "$(uuidgen)" \ "Research three tropical vacation options under $3k, within five hours of NYC."

响应会流向您的终端。在调用--session-id之间重复使用相同的内容,以便在相同的环境中继续对话。

要向现有项目添加更多线束,请使用agentcore add harness。要生成独立的 Python 调用脚本,请添加--with-invoke-script

有用的标志:

  • --no-browser(-b)-使用终端 TUI 代替浏览器检查器

  • --logs(-l)-在非交互模式下运行,并将日志记录到 stdout

  • --port <port>(-p)-设置开发服务器端口(默认 8080)

  • --no-traces-禁用本地 OTEL 跟踪采集

Interactive

安装 C AgentCore LI:

npm install -g @aws/agentcore

agentcore create不带标志运行以启动交互式向导:

agentcore create
  1. 输入您的项目名称:

    创建向导:输入项目名称
  2. 选择 H ar ness 作为项目类型:

    创建向导:选择项目类型
  3. 选择您的模型提供商:

    创建向导:选择模型提供商
  4. 选择您的环境(默认、容器 URI 或 Dockerfile):

    创建向导:选择环境
  5. 配置内存:

    创建向导:配置内存
  6. (可选)配置高级设置(工具、身份验证、网络、生命周期、限制、截断、会话存储):

    创建向导:高级设置
  7. 检查您的配置并确认:

    创建向导:查看并确认

确认后,向导将为您的项目搭建脚手架。使用部署agentcore deploy,然后使用调用agentcore invoke

随时通过agentcore status以下方式查看项目状态:

AgentCore 状态控制面板
  1. 本地开发

如果你想在本地环境中测试安全带,你可以运行开发服务器:

agentcore dev

当你运行时agentcore dev,CLI 会首先将你的线束资源部署到 AWS,创建 IAM 角色、线束以及在你的项目中配置的任何内存或证书:

部署进度: CloudFormation 资源创建

部署完成后,它会启动本地服务器并在浏览器中打开代理检查器,您可以在其中与工具聊天、检查跟踪和浏览项目资源:

特工检查员:用你的安全带聊一聊

展开 Harn ess Settings 以查看和覆盖当前会话的线束配置:

代理检查器:线束设置和配置

这就是让安全带运行所需要的全部。以下各节涵盖了您可以配置的所有内容。

注意

runtimeSessionId必须至少为 33 个字符。使用 UUID 或类似的标识符。在调用之间重复使用相同的会话 ID,以便在同一环境中继续对话。

API 文档

如需了解更多详情,请参阅 API 参考:

流媒体响应格式

InvokeHarness返回事件流。关键事件类型有:

  • messageStart-新留言的开头(包括role

  • contentBlockStart-内容块的开头(文本toolUse、或toolResult

  • contentBlockDelta-增量内容(texttoolUse输入、reasoningContent

  • contentBlockStop-内容块的结尾

  • messageStop-消息结尾(包括stopReason

  • metadata-代币使用情况和延迟指标

  • runtimeClientError-执行过程中出错

stopReasonin messageStop 表示代理停止的原因:

  • end_turn-代理正常完成

  • tool_use-代理正在调用内联函数并等待客户端结果

  • max_tokens-已达到模型的每回合代币上限

  • max_iterations_exceeded-已达到maxIterations极限

  • timeout_exceeded-已达到timeoutSeconds极限

  • max_output_tokens_exceeded-maxTokens 预算已用尽