AWS上线Bedrock AgentCore Web Search API,查询由亚马逊自营索引返回
AWS称该API用调用方已有的AWS凭证签名,不把查询发给第三方搜索引擎;AWS博客给出一个LangGraph依赖监控示例,测试中三分支并行耗时 36 秒。
AWS在机器学习博客中宣布,Amazon Bedrock AgentCore的Web Search API现在可用。代理和应用程序通过单次API调用获取当前网页结果,请求使用它们已有的AWS凭证签名。
AWS称每个查询由亚马逊运营的网页索引返回,不发送给第三方搜索引擎。每条结果包含页面标题、URL、发布日期以及与查询相关的摘录。请求可以包含或排除指定域名,并限定结果的发布日期范围。
这些是AWS对自身服务的描述,博客同时给出了一个用它构建每日依赖监控的示例。
LangGraph依赖监控示例的规则划分
博客作者Sundar Raghavan描述了一个面向安全团队的每日依赖监控:每天早上检查影响团队发布的开源包和容器基础镜像是否有新情况。它以LangGraph图的形式运行在Web Search API上,并行研究npm、PyPI和容器基础镜像三个生态。
示例把模型不该改的规则放在代码里:日期窗口、屏蔽名单、搜索预算以及每条发现与来源的校验。分支内的模型在Amazon Bedrock中调用Anthropic Claude模型决定搜索什么并产出结构化发现;搜索工具给每个查询加上日期窗口和屏蔽名单,再用SigV4签名调用Web Search API。
- 每个分支最多搜索四次,一次完整运行最多 12 次搜索。
- 分支只保留来源支持且在时间窗口内的发现;三个分支结束后,keep_new对照LangGraph存储记录新发现,避免重复报告。
- 博客称示例中的证据检查能发现不支持的URL、未提到包名的来源、编造的ID和窗口外的来源,但不确认严重程度、利用状态、受影响版本或建议操作,也不证明问题首次披露的时间。
- 博客建议生产安全流程用权威漏洞源核实发现,并让人在据此行动前复核。
测试数字与使用限制
AWS报告的测试运行使用 7 天窗口。三个分支共做 12 次搜索,得到 80 个来源,并行耗时 36 秒,而把三个分支的耗时相加为 99 秒。证据检查剔除了两条发现,原因分别是来源未提到包名和CVE ID未出现在来源中;没有来源来自被屏蔽的域名。通过检查的四条发现中,keep_new报告了两条,另外两条在更早的测试中已经报告过。
博客还列出接入已有LangChain或Deep Agents应用的注意事项:调用身份或执行角色需要授予bedrock-agentcore:InvokeWebSearch权限;工具集所在区域必须提供Web Search API,可以与模型或应用其他部分所在区域不同;工具默认名为web_search,若与已有搜索工具重名需改名。多个代理共享账户的Web Search配额,博客称默认每个区域每秒 10 个请求。
如果需要由一个平台团队统一执行来源策略,博客建议走AgentCore Gateway:策略放在网关目标上,代理看不到也无法解除。这条路径需要两项IAM授权,网关的服务角色需要InvokeWebSearch,代理签名所用凭证需要InvokeGateway。
- 运行示例需要Python 3.10或以上,以及boto3 1.43.127、bedrock-agentcore 1.26.0、langchain-aws 1.9.3或更高版本。
- Web Search和模型调用按使用量计费。
- 博客称Web Search与模型调用均按用量计费,具体见AgentCore定价页。
- 示例的完整代码在随博客提供的notebook中。