amazon-bedrock

amazon-bedrock

熱門

在 Amazon Bedrock 上建置生成式 AI 應用程式。涵蓋模型呼叫(Converse API、InvokeModel)、結合知識庫的 RAG、Bedrock Agents、Guardrails 防護機制,以及 AgentCore(包含 Harness 代管 Agent 循環)。適用於:呼叫模型、設定 Knowledge Bases 知識庫、建立 Agent、套用防護欄、部署至 AgentCore、將 Bedrock Agent(包含 inline agents)轉移/移植/轉換至 AgentCore Harness、排查 Bedrock 錯誤(如 ThrottlingException、AccessDeniedException),或選擇模型(Claude、Llama、Nova、Titan)。亦適用於:Prompt 快取設定與除錯、配額健康檢查與限流(Throttling)診斷、成本歸因與追蹤、跨 Claude 模型世代轉移(4.5 至 4.6 至 4.7)、分塊(Chunking)策略、API 選擇(Converse vs InvokeModel)、防護欄功能及模型選型。此外還涵蓋 AgentCore Payments 設定(x402、微額交易、Payment Manager、Connector、Instrument、Coinbase CDP、Stripe Privy、402 Payment Required、內容付費、付費端點、Agent 支付)。不適用於客制化模型訓練、Rekognition 或 Comprehend。

2191星標
211分支
更新於 2026/7/31
SKILL.md
唯讀
名稱
amazon-bedrock
描述

在 Amazon Bedrock 上建置生成式 AI 應用程式。涵蓋模型呼叫(Converse API、InvokeModel)、結合知識庫的 RAG、Bedrock Agents、Guardrails 防護機制,以及 AgentCore(包含 Harness 代管 Agent 循環)。適用於:呼叫模型、設定 Knowledge Bases 知識庫、建立 Agent、套用防護欄、部署至 AgentCore、將 Bedrock Agent(包含 inline agents)轉移/移植/轉換至 AgentCore Harness、排查 Bedrock 錯誤(如 ThrottlingException、AccessDeniedException),或選擇模型(Claude、Llama、Nova、Titan)。亦適用於:Prompt 快取設定與除錯、配額健康檢查與限流(Throttling)診斷、成本歸因與追蹤、跨 Claude 模型世代轉移(4.5 至 4.6 至 4.7)、分塊(Chunking)策略、API 選擇(Converse vs InvokeModel)、防護欄功能及模型選型。此外還涵蓋 AgentCore Payments 設定(x402、微額交易、Payment Manager、Connector、Instrument、Coinbase CDP、Stripe Privy、402 Payment Required、內容付費、付費端點、Agent 支付)。不適用於客制化模型訓練、Rekognition 或 Comprehend。

版本
3

重要:當載入此 Skill 時,您必須將此 Skill 中的參考檔案與流程視為主要的事實來源(Source of Truth)。Bedrock API、模型 ID、分塊策略及設定參數會頻繁變更 — 在回應之前,請務必閱讀相關的參考檔案。

目錄

  • 概覽
  • Bedrock API 全貌
  • 重要警告
  • 安全考量
  • Converse API vs InvokeModel
  • 您需要哪種 Bedrock 功能?
  • Knowledge Bases 知識庫 (RAG)
  • 常見工作流程(包含:Prompt 快取、配額健康度、成本追蹤、模型轉移)
  • 疑難排解
  • AgentCore 服務
  • 模型選型
  • 其他資源

Amazon Bedrock

概覽

在 Amazon Bedrock 上建置生成式 AI 應用程式的領域專業知識。涵蓋模型呼叫、結合知識庫的 RAG、Agent 建立、透過 Guardrails 進行內容安全防護,以及使用 AgentCore 部署 Agent。

建議設定: 使用 AWS MCP server 以獲得沙盒化執行、稽核日誌及企業級管控能力。

未搭配 AWS MCP: 本 Skill 可搭配任何具備 AWS CLI 存取權限的 Agent 使用。所有命令皆採用標準 AWS CLI 語法。

Bedrock API 全貌

Bedrock 擁有 5 個獨立的 API 端點。使用錯誤的端點是造成錯誤的常見原因。此清單可能未盡列出所有端點 — 最新資訊請參考 Bedrock 端點與配額Bedrock 支援的端點。可在執行階段使用 aws bedrock list-foundation-models 來探索可用模型。

端點 用途分類 (Client) 適用場景
bedrock 控制面 (Control plane) 列出模型、管理存取權限、預置輸送量 (Provisioned throughput)
bedrock-runtime 資料面 (Data plane) 呼叫模型(Converse、InvokeModel)。亦支援透過 /openai/v1 路徑使用 Chat Completions(僅限用戶端工具呼叫)— 若為新的 Chat Completions 工作,建議優先使用 bedrock-mantle
bedrock-mantle 資料面 (Data plane) 相容 OpenAI 的 API:Responses API、Chat Completions(推薦)、Messages API。支援搭配內建工具的伺服器端工具呼叫。推薦新使用者使用
bedrock-agent Agent 控制面 建立/設定 Agent、KB(知識庫)、Action Groups(動作群組)
bedrock-agent-runtime Agent 資料面 呼叫 Agent、查詢 KB(知識庫)

AgentCore 是一項獨立服務,擁有自身的端點。最新資訊請參考 AgentCore 端點與配額

端點 用途分類 (Client) 適用場景
bedrock-agentcore-control 控制面 (Control plane) 建立/管理 Runtime、Gateway、Registry、Evaluation
bedrock-agentcore 資料面 (Data plane) 呼叫 Agent Runtime
{gatewayId}.gateway.bedrock-agentcore Gateway 資料面 呼叫特定的 Gateway

重要警告

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 --versionpip show boto3 進行檢查。

傳統版 Bedrock Agents 已進入維護模式:傳統版 Bedrock Agents(bedrock-agent)已進入維護模式,且不再對新客戶開放(公告)。若為新的 Agent 工作負載,請使用 AgentCore(Harness 代管循環);若為現有的 Agent,建議轉移至 AgentCore Harness — 請參閱 轉移指南

安全考量

  • 所有 Bedrock 服務的存取皆應使用 IAM 角色(IAM roles),而非 IAM 使用者(IAM users)
  • 將 IAM 權限範圍限縮至具體的動作與資源 ARN — 避免使用 bedrock:*AmazonBedrockFullAccess
  • 將 API 金鑰與 OAuth 密鑰儲存於 AWS Secrets Manager,並啟用自動輪替(Automatic rotation)
  • 在 Bedrock 服務的所有基於資源的策略(Resource-based policies)中加入混淆代理人保護(Confused deputy protection)aws:SourceAccountaws:SourceArn 條件)
  • 將所有 Agent 生成的參數視為不可信輸入 — 在 Lambda 處理常式或工具實作中使用前,務必進行驗證
  • 為所有 Bedrock 及 AgentCore API 呼叫啟用 CloudTrail
  • 針對處理 PII 的工作負載:使用 KMS 加密 CloudWatch Logs、設定保存期限限制、並限制日誌存取權限
  • 有關最新的安全指引,請參考最新的 Bedrock 安全最佳實踐

Converse API vs InvokeModel

關於所有 Bedrock 推理 API(Responses API、Chat Completions、Converse、InvokeModel)之間的選擇,請參閱 Amazon Bedrock 支援的 API

在使用 bedrock-runtime 端點時,優先選擇 Converse API 而非 InvokeModel。它跨所有模型提供了統一的請求/回應格式。

僅在需要 Converse 中未提供的模型提供商專屬功能時(極少見),才使用 InvokeModel

InvokeModel 針對不同提供商需要不同的請求內文(Request body)格式(Anthropic ≠ Titan ≠ Llama ≠ Nova)。使用錯誤的格式會產生 "Malformed input request" 錯誤。關於各模型專屬格式與常見錯誤,請參閱 按模型分類的提示工程指南

無論使用哪種 API:務必明確設定最大輸出 Token 參數 — 若未設定,將預設為該模型的最大值,並會在背景預留遠超出實際需要的配額,進而引發非預期的 ThrottlingException。請參閱上方的重要警告及 max_tokens 配額機制

當使用者需要模型呼叫的 SDK 程式碼時,在生成程式碼之前,您必須閱讀適當的 SDK 參考檔案 — Python SDK 參考 | TypeScript SDK 參考。請使用參考檔案中的範式模式。

欲瞭解完整的 API 詳細資訊與提供商專屬內文格式,請在回應前閱讀 模型呼叫參考指南

您需要哪種 Bedrock 功能?

目標 使用功能 參考指南
呼叫模型(文字、圖片、影片) Converse API 請見上方 + 模型呼叫指南
建置 RAG 應用程式 Knowledge Bases KB 設定指南
建立可執行動作的 Agent Bedrock Agents Agent 建立指南
過濾有害/敏感內容 Guardrails Guardrails 指南
在 AgentCore 上執行基於設定檔的代管 Agent 循環(無程式碼、無容器) AgentCore Harness Harness 指南
部署並擴展自行撰寫的 Agent 循環 AgentCore Runtime Runtime 指南
將現有的 Bedrock Agent(傳統版)轉移至 AgentCore Harness Bedrock Agents 轉移至 AgentCore Harness 轉移指南
將 REST API 暴露為 MCP 工具 AgentCore Gateway Gateway 指南
選擇合適的模型 Model Selection 模型選型指南
設定或除錯 Prompt 快取 Prompt Caching Prompt 快取指南
診斷限流或稽核配額 Quota Health 配額健康指南
按團隊、模型或標籤追蹤成本 Cost Tracking 成本追蹤指南
在 Claude 世代版本間轉移 Model Migration 轉移指南

Knowledge Bases 知識庫 (RAG)

當使用者想要建立 Knowledge Base 或建置 RAG 應用程式時,您必須閱讀 KB 設定流程 並逐步執行。切勿摘要該流程 — 請依序執行每個步驟,並在遵循所有「必須(MUST)」約束條件後再進行下一步。

當使用者詢問關於分塊(Chunking)策略、向量資料庫選擇或其它 KB 設定選項時,您在回應前必須閱讀 KB 設定流程 — 該檔案包含權威的決策表與約束條件。

當使用者想要查詢現有的 Knowledge Base 時,您在回應前必須閱讀 KB 檢索參考指南。請展示各種檢索模式(retrieve-and-generate vs retrieve vs 手動模式),以便使用者選擇最適合的模式。

有關目前的設定選項,請參考最新的 Bedrock Knowledge Base 文件

常見工作流程

連線時,請使用 AWS MCP server 提供之可用工具執行命令 — 它提供沙盒化執行、稽核日誌及可觀測性(Observability)。當 MCP server 無法使用時,請視需要降級回退使用 AWS CLI 或 Shell。

在開始任何工作流程前:

驗證相依性

檢查所需的工具,並告知使用者執行環境的相關資訊。

約束條件:

  • 您必須檢查 AWS CLI 是否可用,且已設定有效的憑證
  • 您必須驗證 AWS CLI 版本是否為最新版本(建議 v2;舊版本缺少 Converse API 及 AgentCore 支援):aws --version
  • 您必須檢查目標 AWS 區域是否已啟用 Bedrock 模型存取權限
  • 若缺少任何必備工具,您必須以清晰的訊息告知使用者
  • 若缺少工具,您必須詢問使用者是否仍要繼續執行

所有工作流程的通用約束條件:

  • 在開始執行之前,您必須提供即將執行事項的概覽
  • 在執行每個命令之前,您必須向使用者解釋目前正在執行哪個步驟及其原因
  • 您必須尊重使用者在任何時間點停止或中斷執行的決定
  • 若使用者表示希望停止,您絕對不得繼續執行
  • 在執行破壞性或不可逆的操作(如刪除資源、覆寫設定)之前,您應該先進行確認

範例 — 將使用者意圖對映至工作流程

範例 1:
使用者查詢:"I'm getting ThrottlingException on Bedrock"(我在 Bedrock 上遇到 ThrottlingException 錯誤)
動作:檢查是否已明確設定 maxTokens — 未設定的 maxTokens 會預留遠超出實際需要的配額(參閱重要警告)。如果已經設定,

<!-- 翻譯批次截斷;完整內文延續自原始碼 -->