mcpField
A
amazon-bedrock

amazon-bedrock

github.com/aws云与 DevOps3.3k8.6k 次安装今天更新
代码仓库

关于 amazon-bedrock

面向 Amazon Bedrock 生成式 AI 应用开发的领域技能,涵盖模型调用、RAG、Agent、Guardrails、AgentCore 部署及运维工作流。

主要功能

  1. 01模型调用指南
  2. 02Knowledge Bases 与 RAG 工作流
  3. 03Agent 与 Guardrails 指南
  4. 04AgentCore 部署指南
  5. 05配额、成本与迁移工作流

适用场景

  1. 01选择 Bedrock 推理 API
  2. 02使用 Knowledge Bases 搭建 RAG
  3. 03排查限流或配额问题

MCP 相关

建议使用 AWS MCP 服务进行沙箱执行、审计日志记录和可观测性;没有该服务时,可通过 AWS CLI 访问使用此技能。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aws/agent-toolkit-for-aws --skill amazon-bedrock

安装后在 Claude Code 中输入/amazon-bedrock确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
kb_shim.py.tmpl
lambda_shim.py.tmpl
tool_schema.json.tmpl
references/
agentcore-credentials-and-security.md
agentcore-gateway.md
agentcore-harness.md
agentcore-memory-observability.md
agentcore-payments-setup-script.md
agentcore-payments-wiring.md
agentcore-payments.md
agentcore-registry-evaluations.md
agentcore-runtime-container-build.md
agentcore-runtime.md
agents-and-action-groups.md
cost-tracking.md
guardrails.md
references/bedrock-agents-to-agentcore-harness/
cli.md
deploy.md
discovery.md
eligibility.md
mapping.md
references/bedrock-kb-migration/
cost-analysis.md
discovery.md
iac-schema.md
implement-iac.md
implement-kb.md
managed-kb-api.md
mapping.md
plan.md
safety-and-iam.md

详细介绍

重要:加载此技能后,必须将此技能中的参考文件和流程作为首要依据。Bedrock API、模型 ID、分块策略和配置参数经常变化——回复前始终阅读相关参考文件。

防护措施——此技能自身文件的位置(MCP 与本地安装)

此技能可以通过两种方式加载,而它们会从不同位置解析技能自带的文件。阅读参考文件或运行脚本前,请先确定此技能的加载方式:

  • 通过 AWS MCP retrieve_skill 工具加载: 此技能未安装在本地文件系统中。必须使用 retrieve_skill 并通过 file 参数获取每个参考文件或脚本(例如 file="references/managed-knowledge-bases-setup.md" 或 file="scripts/fetch_bedrock_agent.py"),并运行返回内容中的脚本。不要在本地使用 file_read 读取这些路径——它们在磁盘上不存在。
  • 在本地安装(例如 .kiro/skills/amazon-bedrock/ 或 ~/.claude/skills/amazon-bedrock/):使用相对路径从本地技能目录中读取和运行文件。

此区别仅适用于技能自身打包的文件。用户数据和会话文件始终从用户的工作目录读取并写入其中。切勿通过 retrieve_skill 获取或写入客户数据。

目录

  • 概览
  • Bedrock API 概况
  • 重要警告
  • 安全注意事项
  • Converse API 与 InvokeModel
  • 需要哪种 Bedrock 功能?
  • 知识库(检索、Agent 式检索和 RAG;包括:迁移到托管式知识库)
  • 常见工作流(包括:提示词缓存、配额状态、成本跟踪、模型迁移)
  • 故障排除
  • AgentCore 服务
  • 模型选择
  • 其他资源

Amazon Bedrock

概览

提供在 Amazon Bedrock 上构建生成式 AI 应用的领域专业知识。涵盖模型调用、使用知识库实现 RAG、创建 Agent、使用 Guardrails 确保内容安全,以及使用 AgentCore 部署 Agent。

推荐设置: 使用 AWS MCP 服务实现沙盒化执行、审计日志记录和企业级控制。

不使用 AWS MCP: 此技能可与任何具有 AWS CLI 访问权限的 Agent 配合使用。 所有命令均采用标准 AWS CLI 语法。

Bedrock API 概览

Bedrock 有 5 个独立的 API 端点。使用错误的端点是常见的错误原因。此列表可能并不完整——请参阅 Bedrock 端点和配额和 Bedrock 支持的端点了解最新信息。使用 aws bedrock list-foundation-models 在运行时发现可用模型。

端点客户端用途
bedrock控制平面列出模型、管理访问权限、预置吞吐量
bedrock-runtime数据平面调用模型(Converse、InvokeModel)。还支持通过 /openai/v1 路径使用 Chat Completions(仅客户端工具调用)——开展新的 Chat Completions 工作时,优先使用 bedrock-mantle
bedrock-mantle数据平面兼容 OpenAI 的 API:Responses API、Chat Completions(推荐)、Messages API。支持使用内置工具进行服务端工具调用。推荐新用户使用
bedrock-agentAgent 控制创建和配置 Agent、KB、操作组
bedrock-agent-runtimeAgent 数据调用 Agent、查询 KB

AgentCore 是一项独立服务,拥有自己的端点。请参阅 AgentCore 端点和配额了解最新信息。

端点客户端用途
bedrock-agentcore-control控制平面创建和管理运行时、网关、注册表、评估
bedrock-agentcore数据平面调用 Agent 运行时
{gatewayId}.gateway.bedrock-agentcore网关数据平面调用特定网关

重要警告

max_tokens:每次 Converse/InvokeModel 调用中都必须显式设置 maxTokens。如果不设置,默认值会是模型的最大值(例如 Claude Sonnet 的 64K),并会在无提示的情况下预留远超所需的配额——这是意外出现 ThrottlingException 的常见原因。

Guardrails PII 日志记录:Guardrails PII 屏蔽仅适用于 API 响应。包含 PII 的原始未屏蔽内容仍会以明文记录到 CloudWatch Logs。为符合 HIPAA/GDPR 要求,请使用 KMS 加密 CloudWatch Logs,使用 IAM 限制日志访问权限,并使用 Amazon Macie 检测 PII。

SDK 版本:需要较新版本的 boto3(≥ 1.34.x)和 AWS CLI v2。旧版本缺少 Converse API、Agents 和 AgentCore 支持。运行 aws --version 和 pip show boto3 进行检查。

传统 Bedrock Agents 处于维护模式:传统 Bedrock Agents(bedrock-agent)处于维护模式,且不再向新客户开放(公告)。对于新的 Agent 工作负载,请使用 AgentCore(由 Harness 管理的循环);对于现有 Agent,建议迁移到 AgentCore Harness——请参阅迁移指南。

安全注意事项

  • 对所有 Bedrock 服务访问使用 IAM 角色(而非 IAM 用户)
  • 将 IAM 权限范围限定为特定操作和资源 ARN——避免使用 bedrock:* 或 AmazonBedrockFullAccess
  • 将 API 密钥和 OAuth 密钥存储在 AWS Secrets Manager 中,并启用自动轮换
  • 在所有 Bedrock 服务的基于资源的策略中加入混淆代理防护(aws:SourceAccount、aws:SourceArn 条件)
  • 将所有 Agent 生成的参数视为不可信输入——在 Lambda 处理程序或工具实现中使用前先进行验证
  • 为所有 Bedrock 和 AgentCore API 调用启用 CloudTrail
  • 对于涉及 PII 的工作负载:使用 KMS 加密 CloudWatch Logs,配置保留期限,并限制日志访问权限
  • 请参阅 Bedrock 安全最佳实践了解安全指南

Converse API 与 InvokeModel

如需在所有 Bedrock 推理 API(Responses API、Chat Completions、Converse、InvokeModel)中进行选择,请参阅 Amazon Bedrock 支持的 API。

使用 bedrock-runtime 端点时,请优先使用 Converse API,而非 InvokeModel。它为所有模型提供统一的请求/响应格式。

仅当需要 Converse 不支持的特定提供商功能时,才使用 InvokeModel(这种情况很少见)。

InvokeModel 要求每个提供商使用不同的请求正文格式(Anthropic ≠ Titan ≠ Llama ≠ Nova)。使用错误的格式会产生“Malformed input request”。有关特定模型的格式和常见错误,请参阅按模型划分的提示词工程。

无论使用哪种 API:始终明确设置最大输出令牌数参数——如果不设置,默认值为模型的最大值,并会在不提示的情况下预留远超所需的配额,从而导致意外的 ThrottlingException。请参阅上文的关键警告和 max_tokens 配额机制。

当用户需要用于模型调用的 SDK 代码时,生成代码前必须阅读相应的 SDK 参考文档——Python SDK 参考 | TypeScript SDK 参考。请使用参考文件中的模式。

有关完整的 API 详情和特定提供商的正文格式,请在回复前阅读模型调用参考。

你需要哪种 Bedrock 功能?

目标使用参考
调用模型(文本、图像、视频)Converse API见上文 + 模型调用
构建 RAG 应用(在 Bedrock 上使用 RAG)知识库 — 默认使用托管 KB(MKB);仅在用户明确要求时使用客户管理型 KB托管 KB 设置(参阅 KB 选择指南)
创建可执行操作的 AgentBedrock AgentsAgent 创建
过滤有害/敏感内容GuardrailsGuardrails
在 AgentCore 上运行基于配置的托管 Agent 循环(无需代码或容器)AgentCore HarnessHarness
将现有 Bedrock Agent(经典版)迁移到 AgentCore HarnessBedrock Agents 到 AgentCore Harness 迁移迁移指南
将现有客户管理型知识库迁移到托管 KBKB 迁移将 KB 迁移到托管型
部署并扩展你自行编写的 Agent 循环AgentCore RuntimeRuntime
将 REST API 作为 MCP 工具公开AgentCore GatewayGateway
选择合适的模型模型选择模型指南
设置或调试提示词缓存提示词缓存提示词缓存
诊断限流或审计配额配额健康状况配额健康状况
按团队、模型或标签跟踪成本成本跟踪成本跟踪
在不同 Claude 代际之间迁移模型迁移迁移指南

知识库(检索、Agentic 检索和 RAG)

在 Bedrock 上使用 RAG 时,默认使用托管知识库(MKB)——AWS 推荐使用该方案,而且它会全面管理存储、分块、解析和检索,因此无需预置基础设施。基本上所有新的 RAG 工作都应优先使用它。仅当用户明确要求时,才使用客户管理的知识库(例如,用户想使用并掌控自己的向量存储)。不要先根据能力列表筛选请求——默认使用 MKB 并继续操作;如果不支持某项特定配置,让创建调用返回错误,而不要悄悄引导用户改用其他方案。

请阅读 知识库决策指南,根据所选类型将创建和查询操作引导至相应的参考文档。连接器可用性、配额和区域覆盖范围经常变化——请查阅 Bedrock 知识库文档,不要假定列表固定不变。

要将现有的客户管理知识库迁移到托管知识库,请按照将知识库迁移到托管知识库流程操作,而不是从头创建新的知识库。一旦用户提到迁移知识库,在对其知识库执行任何调用之前,请先阅读该流程。在任何会返回文档内容的读取操作(retrieve、retrieve-and-generate、get-document-content 或针对源文档执行的 GetObject)之前,必须先征得用户明确同意。请询问用户是否同意,并说明原因:读取操作会在本次对话中显示文档内容。

常见工作流

连接 AWS MCP 服务时,请使用可用的 AWS MCP 服务工具执行命令——它可提供沙盒化执行、审计日志记录和可观测性。如果 MCP 服务不可用,则根据需要改用 AWS CLI 或 shell。

开始任何工作流之前:

验证依赖项

检查所需工具是否可用,并告知用户执行环境。

约束:

  • 必须检查 AWS CLI 是否可用,并且是否已配置有效凭证
  • 必须确认 AWS CLI 版本足够新(建议使用 v2;旧版本缺少 Converse API 和 AgentCore 支持):aws --version
  • 必须检查目标 AWS 区域是否已启用 Bedrock 模型访问权限
  • 如果缺少任何必需工具,必须明确告知用户
  • 必须询问用户是否愿意在缺少工具的情况下继续

所有工作流的一般约束:

  • 开始执行前,必须概述将要执行的操作
  • 运行每条命令前,必须向用户说明正在执行的步骤及其原因
  • 必须尊重用户随时停止或中止操作的决定
  • 如果用户表示要停止,必须停止执行
  • 执行删除资源、覆盖配置等破坏性或不可逆操作前,建议先征得用户确认
示例 — 将用户意图映射到工作流

示例 1: 用户查询:"我在 Bedrock 上遇到了 ThrottlingException" 操作:检查是否显式设置了 maxTokens — 未设置 maxTokens 会预留远超所需的配额(参见关键警告)。如果已设置,请检查配额:aws service-quotas get-service-quota --service-code bedrock --quota-code <code> --region <region>

示例 2: 用户查询:"为我的 PDF 文档设置 RAG" 操作:按照创建知识库工作流执行 — 默认使用托管 KB(Bedrock 负责管理分块、解析和向量存储;无需预置基础设施)。参见托管 KB 设置和KB 决策指南。仅当用户明确要求自行控制向量存储或分块时,才使用客户管理流程。

示例 3: 用户查询:"我想构建一个可以查询订单状态的 Agent" 操作:按照创建带有操作组的 Agent 工作流执行。参见 Agent 创建流程。

示例 4: 用户查询:"如何在 Bedrock 上调用 Claude?" 操作:使用 Converse API(而不是 InvokeModel)。显式设置 maxTokens。使用 aws bedrock list-foundation-models --region <region> 验证模型 ID。使用带 us. 前缀的跨区域模型 ID 以提高可用性:aws bedrock-runtime converse --model-id us.anthropic.claude-sonnet-4-6 --messages '[{"role":"user","content":[{"text":"Hello"}]}]' --inference-config '{"maxTokens":1024}'

示例 5: 用户查询:"将我的 Agent 部署到生产环境" 操作:按照将 Agent 部署到 AgentCore 工作流执行。先选择协议(REST API 使用 HTTP,以工具为中心的 Agent 使用 MCP)。参见 AgentCore 服务表,找到正确的参考文件。

示例 6: 用户查询:"为我的 Claude 应用设置提示词缓存" 操作:阅读提示词缓存参考,了解设置工作流、TTL 配置和最低令牌阈值。使用该参考确认缓存正常工作(检查响应中是否包含 cacheReadInputTokens)。

示例 7: 用户查询:"即使我没有发出很多请求,还是一直遇到 ThrottlingException" 操作:检查是否显式设置了 maxTokens(参见关键警告)。阅读配额健康状况参考,了解 maxTokens 预留机制、CloudWatch 指标和审计工作流。

示例 8: 用户查询:"如何按团队跟踪 Bedrock 成本?" 操作:阅读成本跟踪参考,了解推理配置文件标签、CUR 2.0 方法,以及按模型/区域/标签查询 Cost Explorer。

示例 9: 用户查询:"我正从 Claude 4.5 升级到 4.6,哪些地方会出问题?" 操作:阅读模型迁移参考,了解重大变更表(预填充移除、思考配置、上下文窗口、缓存阈值)和迁移检查清单。

调用模型
- [ ] Step 1: Verify model access: `aws bedrock list-foundation-models --region us-east-1`
- [ ] Step 2: Invoke: `aws bedrock-runtime converse --model-id <model-id> --messages '[{"role":"user","content":[{"text":"<prompt>"}]}]' --inference-config '{"maxTokens":1024}'`

注意 — 流式响应: AWS CLI 不支持包括 ConverseStream 在内的流式操作。请使用 SDK(boto3 中的 converse_stream(),JS SDK 中的 ConverseStreamCommand)。

模式适用场景
Converse批处理/后端管道 — 返回单个完整响应,无需处理流
ConverseStream聊天 UI/交互式应用 — 令牌生成后立即传送
创建知识库

默认使用托管 KB:你必须阅读托管 KB 设置并按顺序执行(创建 → 托管连接器数据源 → 导入 → 使用 Retrieve 验证)。仅当用户明确要求使用客户管理 KB 时,才使用客户管理 KB 设置(其 7 步流程)。不要跳过步骤,不要改述,也不要用代码片段代替工具调用。参见 KB 决策指南。

查询知识库

确定知识库类型——不同类型的查询 API 不同:

  • 托管式知识库(MKB): 使用 Retrieve(单次检索分块)或 AgenticRetrieveStream(Agent 式检索;流式调用仅限 SDK,不支持 AWS CLI);请阅读托管式知识库检索。
  • 客户自管式知识库: 请阅读客户自管式知识库检索,了解其检索并生成、检索和手动模式。

RetrieveAndGenerate(生成完整答案并附带引用)适用于客户自管式知识库;对于托管式知识库,请使用 Retrieve / AgenticRetrieveStream。如果确实需要 RetrieveAndGenerate 行为,请查阅文档确认 MKB 是否支持,不要想当然。

创建带有操作组的 Agent

回复前,必须阅读Agent 创建流程。逐步执行该流程。任何配置变更后都必须运行 prepare-agent——这是强制步骤,而 Agent 总是会跳过它。

应用护栏

回复前,必须阅读护栏参考。首先介绍三种集成模式和选择指南,让用户在继续配置前选出正确的模式。涉及 PII 筛选器时,必须提醒用户注意 PII 日志记录合规性方面的缺口。不要只展示 guardrailConfig 代码片段——用户需要了解哪种模式适合其使用场景。

将 Agent 部署到 AgentCore

如果用户想要托管式 Agent 循环,但不想编写编排代码,请引导其使用 Harness(基于配置)。Harness(基于配置的 bedrock-agentcore 循环,可将模型、工具、技能和记忆作为配置项)是新建 AgentCore 应用的首选方案;它不同于经典的 Bedrock Agents(提供操作组的 bedrock-agent 服务——请参阅 Agent 创建)。当用户询问如何创建、调用、部署 Harness 或开始使用 Harness 时,必须阅读 Harness 流程,并在回复前逐步执行其中的 Deployment Workflow。切勿凭记忆或外部文档进行概述,也不要跳过任何步骤:完整的创建并调用方案必须涵盖:(1) 使用必需输入调用 create-harness;(2) 轮询 get-harness,直到状态为 READY;(3) 在数据平面上使用 runtimeSessionId(至少 33 个字符)和 messages 列表进行调用——而非 --input-text;(4) 读取流式响应事件;(5) 将 AgentCore CLI(agentcore create/deploy/invoke)作为最快捷的途径。该参考文档的权威性高于任何外部文档。如果用户已有自己的 Agent 代码或循环要托管,请引导其使用 Runtime(以下协议选择指南仅适用于 Runtime)。

根据下表确定 AgentCore 服务,然后必须在回复前阅读对应的参考文件。逐步执行参考文件中的所有流程。不要概述——要实际执行。

设置或调试提示词缓存

回复前,必须阅读提示词缓存参考。其中介绍设置工作流、TTL 配置、最低令牌阈值、盈亏平衡分析,以及针对缓存命中率为零问题的调试清单。

限制:

  • 缓存无法正常工作时,必须带领用户逐项检查调试清单(验证模型支持情况、令牌阈值、内容一致性、TTL 和缓存点位置)
  • 确认缓存设置可行之前,必须先检查各模型的最低令牌阈值
检查配额运行状况

回复前,必须阅读配额运行状况参考。其中介绍 maxTokens 预留机制、CloudWatch 指标,以及节流问题解决决策表。

限制:

  • 必须说明 maxTokens 与配额预留之间的关系
  • 必须指导用户使用 aws service-quotas 和 aws cloudwatch get-metric-statistics 比较限制与峰值用量
分析 Bedrock 成本

在回复前,你必须阅读成本跟踪参考。其中介绍了推理配置文件标记、CUR 2.0 归因和 AWS Budgets 设置。

限制:

  • 在生成 Cost Explorer 查询前,你必须询问用户需要的时间范围、分组方式和成本归因方法
将知识库迁移到 Managed KB

当用户想要将现有的 Customer-managed Knowledge Base(类型为 VECTOR;有时称为“自托管”)或定义它的 IaC 移动、转换或迁移到 Managed KB,或者询问 Managed KB 是否更便宜或应用需要做哪些改动时,你必须在回复前阅读将 KB 迁移到 Managed。其中定义了设有门槛的阶段(识别、探索、规划、实施、交接)、只读的探索模式,以及确保源 KB 保持不变的规则;其在 references/bedrock-kb-migration/ 下的阶段参考资料包含逐项设置映射、Managed KB API 结构、IaC 架构、成本分析流程和 IAM 策略。在通过相应门槛前,不要创建目标 KB、运行脚本或凭记忆估算成本。

在不同 Claude 代际之间迁移

在回复前,你必须阅读模型迁移参考。其中介绍了 Bedrock 上 Claude 4.5、4.6 和 4.7 之间的重大变更,包括移除预填充内容、思考配置差异、上下文窗口差距和缓存阈值变更。

故障排查

当用户报告 Bedrock 错误、异常或意外行为时,你必须在回复前查看本节和“关键警告”部分。Bedrock 存在特定于服务的根本原因(例如,未设置 maxTokens 会静默预留 43 倍配额并导致 ThrottlingException、API 端点错误会导致 UnknownOperationException、缺少 prepare-agent 会导致行为过时),通用 AWS 故障排查建议可能无法发现这些问题。

AccessDeniedException

可能有多种原因:(1)IAM 用户/角色缺少 bedrock:InvokeModel 或 bedrock:InvokeModelWithResponseStream 权限;(2)目标区域未启用模型访问权限;(3)服务控制策略(SCP)阻止了访问(跨区域推理路由到受限区域时很常见);(4)临时凭证已过期;或(5)IAM 角色传播延迟——如果你刚创建 IAM 角色后立即在 Bedrock API 调用中使用它,该角色可能尚未完成传播,因为 IAM 更改最终会保持一致(参见 IAM 最终一致性)。请查看错误消息了解具体原因——其中通常会指出问题是显式拒绝、缺少允许权限,还是模型访问问题。有关详细的解决步骤,请参阅解决 InvokeModel API 错误。

请求输入格式错误

请求正文与预期架构不匹配。常见原因包括:InvokeModel 使用了错误的提供商专属正文格式(例如,对 Cohere 模型使用 Titan 格式)、JSON 格式错误、参数名称不受支持,或超出输入限制。错误消息通常会包含详细信息——请检查是否有“架构违规”,并根据模型的 API 文档更正请求格式。

ThrottlingException

明确设置 maxTokens——未设置时,默认值为模型的最大值,会在不提示的情况下预留远超所需的配额。使用自适应重试模式。使用跨区域推理配置文件(例如,以 us.、eu.、apac. 或 global. 为前缀;完整列表请参阅支持的推理配置文件),以便在多个区域间分配流量,从而提高吞吐量。检查限额:aws service-quotas get-service-quota --service-code bedrock --quota-code <code>。如有需要,请申请提高配额。如需深入审计,请阅读配额健康状况参考。

提示词缓存未生效(zero cacheReadInputTokens)

请阅读提示词缓存参考,查看诊断清单:确认模型支持、令牌阈值、内容一致性、TTL 和缓存点位置。常见原因:缓存内容中的时间戳、空白字符或重新排序的 JSON 键导致缓存碎片化。

Claude 4.6 预填充时出现 400 错误

Claude 4.6 已移除预填充,因此会导致硬性 400 错误。请阅读模型迁移参考,查看 Claude 各代模型之间完整的破坏性变更列表。

错误重试分类
重试不要重试
ThrottlingExceptionValidationException
ModelTimeoutExceptionAccessDeniedException
ServiceUnavailableExceptionResourceNotFoundException
InternalServerException

使用自适应重试:Config(retries={"max_attempts": 5, "mode": "adaptive"})。

UnknownOperationException

客户端错误(使用了 bedrock 而非 bedrock-runtime),或 SDK 版本过旧。请查看上方的 API 概览表。

Agent 返回过时的行为

任何配置变更后都要运行 prepare-agent。这是强制要求。

知识库返回空结果

运行 start-ingestion-job 并等待完成。摄取完成前进行查询会返回空结果。

知识库检索质量较差

检查分块策略。对于包含表格的文档,请使用高级解析(基于 FM)。配置元数据筛选。

找不到跨区域模型

该模型可能在你发起调用的区域不可用。请在支持的基础模型中检查可用性。如果需要跨区域推理以提高吞吐量,请使用推理配置文件 ID——选择地理区域配置文件(数据保留在某个边界内,例如美国、欧盟)或全球配置文件(任何商业区域)。配置文件前缀涉及数据驻留决策。请参阅支持的推理配置文件,查看可用的配置文件以及源区域/目标区域映射。

不支持按需吞吐量

错误:"Invocation of model ID with on-demand throughput isn't supported. Retry your request with the ID or ARN of an inference profile that contains this model." 某些模型不支持使用基础模型 ID 直接按需调用——它们需要使用推理配置文件 ID。解决方法:使用 aws bedrock list-inference-profiles --region <region> 查找该模型的推理配置文件 ID,然后更新 Agent 或调用,使其使用推理配置文件 ID。请参阅支持的推理配置文件,查看可用的配置文件。如果此问题发生在调用 Agent 时,请将 Agent 的 foundationModel 更新为推理配置文件 ID,并重新运行 prepare-agent。

知识库存储配置无效

确认 OpenSearch 数据访问策略中包含 Bedrock 服务角色。确认向量索引字段名称与知识库配置一致。

Agent 操作组错误

检查 Lambda 权限(针对 bedrock.amazonaws.com 的基于资源的策略)。操作组名称中不要使用双下划线(__)——名称模式为 ([0-9a-zA-Z][_-]?){1,100}。

多 Agent 主管循环

Agent 使用内置的协作机制,而非操作组。不要在主管指令中将 Agent 间通信描述为操作组。

模型访问时出现 INVALID_PAYMENT_INSTRUMENT

这是账户账单问题,与 Bedrock 无关。暂时将信用卡设为默认付款方式,或在组织管理账户中添加 USD 付款资料。

知识库摄取失败

检查 S3 权限——知识库服务角色需要 s3:GetObject 和 s3:ListBucket 权限。不受支持的文件格式会被静默跳过。超出大小限制的文件也会被跳过,且不会报错。

SharePoint 数据源同步失败

同步已完成,但文件处理失败——最常见的原因是身份验证问题。**建议使用 Microsoft Entra ID 身份验证(OAuth2 客户端凭证)。**将 authType 设为 OAUTH2_CLIENT_CREDENTIALS,在 Microsoft Entra ID 中注册应用,授予 Microsoft Graph 应用程序权限 Sites.Read.All 并取得管理员许可,然后将应用的 clientId 和 clientSecret 存储在 AWS Secrets Manager 中(密钥必须与知识库位于同一区域)。将 tenantId 作为数据源配置字段提供——它不属于密钥内容。**请勿使用 SharePoint App-Only 身份验证:**Microsoft 已于 2026 年 4 月 2 日停用 Azure ACS SharePoint App-Only 身份验证,因此该方式已无法使用。旧版 OAuth 2.0 委派流程(SharePoint AllSites.Read,可能需要为服务账户停用 Security Defaults 和 MFA,以免 Amazon Bedrock 无法抓取数据)已过时——请优先使用 Entra ID 客户端凭证。有关要求,请参阅 SharePoint 连接器文档。

AgentCore 服务

回答任何 AgentCore 相关问题前,必须先阅读相关服务的链接参考文件。请逐步遵循参考文件中的流程。

服务用途参考资料
Harness托管式、基于配置的 Agent 循环——无需编排代码;从配置到运行 Agent 的最快途径Harness 流程
Gateway将 API、Lambda 函数或现有 MCP 服务公开为供 Agent 使用的工具Gateway 流程
Runtime部署和扩展 Agent 与工具(无服务器,适用于任何框架)Runtime 流程
Runtime Container为 Runtime 构建 ARM64 容器容器构建流程
MemoryAgent 的短期(多轮)和长期(跨会话)记忆;在多个 Agent 之间共享记忆记忆与可观测性
Identity使用外部 IdP(Okta、Entra ID、Cognito)进行 Agent 身份验证;代表用户执行操作凭证与安全
Policy使用自然语言或 Cedar 规则限制 Agent 的行为边界;拦截 Gateway 工具调用请参阅 AWS AgentCore Policy 文档
Payments通过微交易(Coinbase CDP、Stripe Privy),让 Agent 能够为受 x402 保护的 API、MCP 工具和内容付费Payments 流程
Observability跟踪、调试和监控 Agent 执行情况(OTEL、CloudWatch)记忆与可观测性
Registry在组织内编目和发现 Agent、MCP 服务、工具及技能Registry 与评估
Evaluations自动评估 Agent 质量(LLM-as-a-Judge)Registry 与评估
Code Interpreter为 Agent 提供安全的沙箱代码执行环境请参阅 AWS AgentCore Code Interpreter 文档
BrowserWeb 自动化(导航、填写表单、提取数据)请参阅 AWS AgentCore Browser 文档

模型选择

本节介绍 Bedrock 模型。对于 SageMaker 模型发现、模型定制或 SageMaker 端点,请使用 aws-ai-ml 技能。如果用户询问 AWS 上的模型,但未指定服务,请比较 SageMaker 和 Bedrock,或询问一个关于服务选择的问题。不要默认选择某项服务。这两项服务的模型目录、部署路径和定价各不相同,默认选择可能会让用户进入错误的工作流。

当用户询问应使用哪个模型、比较模型,或询问 Bedrock 上的 Claude/Llama/Nova/Titan 时,你必须先阅读模型选择指南,再作答。该参考资料包含模型 ID、跨区域要求和访问权限配置步骤。

快速默认选项(请验证可用性:aws bedrock list-foundation-models --region <region>):

  • 通用用途:Claude Sonnet(质量与成本的平衡最佳)
  • 快速且便宜:Claude Haiku 或 Nova Micro
  • 知识库嵌入:Titan Embeddings V2
  • 开源 / 微调:Llama
  • 图像生成:Titan Image Generator

有关模型 ID、区域可用性、跨区域推理配置文件和支持的功能,请参阅 Amazon Bedrock 支持的基础模型。选择跨区域推理配置文件时,请了解数据驻留方面的影响——地理配置文件会将数据保留在特定边界内,而全球配置文件会将请求路由到任何商业区域。另请通过 aws bedrock list-foundation-models --region <region> 检查运行时可用性。

有关模型 ID 格式(4 种模式)、访问权限配置和选择标准,请参阅模型选择指南。

其他资源

评论

支持 Markdown