AWS推出基于Bedrock托管知识库和AgentCore的可观测企业智能检索方案
方案使用单个CloudFormation链部署四个堆栈,实现跨多个知识库的智能路由、带引用的回答,以及七层遥测和两种形式的评估。
AWS于 2025 年 10 月 8 日发布了一个示例解决方案,演示如何在多个Bedrock托管知识库上构建具有可观测性和评估功能的企业级智能体检索。该方案由AWS机器学习博客的作者Luis Felipe Yepez Barrios撰写,使用Amazon Bedrock Managed Knowledge Base和Amazon Bedrock AgentCore,通过单一AWS CloudFormation链部署了四个原生堆栈,包括两个托管知识库、一个智能体网关、一个运行时智能体以及两个CloudWatch仪表盘。
方案架构与部署
用户向托管在Bedrock AgentCore运行时上的智能体发送问题。运行时自动为每一步生成OpenTelemetry spans,确保从第一次调用起整个思考和行动循环可观测。智能体的推理模型计划任务并执行跨知识库路由:给定每个知识库一个检索工具,它选择与问题主题匹配的工具(财务或天气)。选中的工具调用由AgentCore Gateway通过模型上下文协议(MCP)代理,该协议调用托管知识库上的AgenticRetrieveStream API。
AgenticRetrieveStream负责知识库内部的工作:将问题分解为子查询,从托管数据存储中迭代检索,并合成带引用的答案流回智能体。智能体检查返回的上下文是否充足,不足时在另一次循环中再次检索,充足时返回带引用的答案给用户。整个过程中,运行时将spans、token使用量和指标发送到CloudWatch和AWS X-Ray,填充七个可观测性层。
部署要求包括:具备Amazon Bedrock、AgentCore运行时和Gateway、IAM、CloudWatch、X-Ray、ECR、CodeBuild、S3、Lambda和CloudFormation权限的AWS账户;启用Bedrock模型访问,默认模型为us.anthropic.claude-haiku-4-5-20251001-v1:0;启用CloudWatch Transaction Search;AWS CLI v2;Python 3.13和boto3>=1.43。用户需要克隆GitHub仓库中的示例代码,然后运行 ./scripts/deploy.sh us-west-2 bmkb-ml21427。部署脚本会创建部署桶、准备CloudFormation模板,并按顺序部署四个堆栈,整个流程大约需要 8-10 分钟,用于构建智能体容器。
两个合成语料库与双知识库设计
方案附带两个小型合成语料库:一个合成金融文档(Octank Financial 10-K,约 198 KB)和一份真实的美国国会研究服务报告(关于龙卷风,约 560 KB)。这两个语料库刻意保持不同,因此智能体必须将每个问题路由到正确的知识库,这正是语义路由的演示。
AWS选择使用两个独立知识库而不是一个知识库带两个数据源。原因是每个知识库作为独立检索工具暴露,智能体在它们之间做出实际路由决策。仪表盘上每个知识库的指标(索引大小、检索质量、token使用量、评估分数,均按KnowledgeBaseId键控)保持清晰分离。由于是托管知识库,AWS无需配置分块、嵌入或索引;Amazon Bedrock自动解析、分块、嵌入和索引文档。
- 两个数据源分别代表金融和天气主题,强制智能体进行路由决策。
- 使用独立知识库,每个知识库暴露为独立工具,使得路由和指标分离成为可能。
七层可观测性与两种评估方式
方案提供的两个CloudWatch仪表盘覆盖了七个可观测性层。L1是知识库原生指标,捕获检索调用、错误和节流;L2是摄取状态;L3是无需参考的检索质量信号,包括利用率、grounded coverage和重复率;L4是网关/MCP指标,如工具调用量和延迟;L5是完整的OpenTelemetry span树;L6是token使用量;L7是评估分数,包括正确性、忠实度、工具选择准确性和响应相关性。仪表盘A针对端到端的智能体可观测性,仪表盘B针对每个知识库的运营指标和成本指标。
质量评估有两种方式:按需评估和持续评估。按需评估通过驱动笔记本调用AgentCore Evaluate(LLM-as-judge),对每个会话的spans运行内置评估器(正确性、忠实度、工具选择准确性),并将分数发布到CloudWatch。持续评估由堆栈 03-agent-runtime配置的AWS::BedrockAgentCore::OnlineEvaluationConfig提供,它采样实时会话并自动评分,结果出现在CloudWatch、GenAI Observability、Bedrock AgentCore、Evaluations下,无需运行笔记本。方案示例中设置的采样率为 100%,但AWS明确警告这仅为博客实验,不是生产建议,因为持续评估每次采样都会调用LLM,成本随采样率和流量增长。用户应将SamplingPercentage调整为适合自己质量监控需求和预算的值。
- 七个层分别回答不同运营问题:知识库健康、摄取状态、检索质量、网关性能、智能体行为、token成本、答案质量。
- 按需评估适合开发和发布前检查,只在使用时付费;持续评估适合生产监控,自动采样并评分。
- 示例使用 100% 采样率仅为了演示,生产环境必须调整。
清理资源
该方案提供清理脚本 ./scripts/cleanup.sh us-west-2 bmkb-ml21427,以反向依赖顺序删除四个堆栈。