精选AWS AI Blog发布
在 Amazon Bedrock 上推出 GLM 5.3
Z.ai 的 GLM 5.3 模型现已上线 Amazon Bedrock。该模型为 753B 参数的混合专家架构,专为代码生成和长周期智能体任务设计。支持 OpenAI 兼容 API 调用,可通过提示词缓存降低延迟与成本,并集成开源 Strix 代理进行安全测试。
与以往相比,编码和智能体工作负载对 AI 模型提出了更高的要求:重构跨越数百个文件的代码仓库、在持续数小时的智能体工作流中保持上下文不丢失,并在每一步都借助工具使用来推理复杂的系统问题。历史上,要用开源权重模型满足这些需求,意味着需要自行配置和运维推理基础设施。
智谱 AI(Z.ai)的 GLM 5.3 现已在 Amazon Bedrock 上提供。GLM 5.3 作为发布在 Hugging Face Hub 上的模型,是一个拥有 7530 亿参数的混合专家(MoE)模型,专为编码和长周期智能体任务优化。特别是,Z.ai 报告称该模型展现出显著的网络安全能力。在 Amazon Bedrock 上,您现在可以通过完全托管的 API 使用它,支持跨区域推理、提示词缓存和服务层级。您无需管理任何基础设施。符合条件的企业客户可以访问 Bedrock 上的 GLM 5.3。
在本文中,我们将向您展示如何使用 OpenAI 兼容的 API 在 Amazon Bedrock 上调用 GLM 5.3,并通过提示词缓存降低成本和延迟。随后,我们将把该模型应用于一个真实的智能体工作流:使用 Strix——一个开源的 AI 渗透测试智能体——对您自己的应用程序执行授权的安全测试。
与 GLM 5 相比的新特性
GLM 5 今年早些时候登陆了 Amazon Bedrock。GLM 5.3 继承了相同的血统,并带来了多项重要提升:
- 更强的编码能力:Z.ai 声称在包括 DeepSWE、Terminal Bench 3.0 和 FrontierSWE 在内的多种编码基准测试中具有竞争力的性能。他们还报告称,在其内部编码基准测试中,性能较 GLM 5.2 提升了 50%。由于改进幅度之大,导致自 GLM 5.1 发布以来基准测试本身也进行了更新,因此未报告与 GLM 5 的直接对比数据。
- 涌现的网络安全能力:在安全任务上的基准测试表现突出,使该模型成为防御性安全工作流的自然选择。例如,Z.ai 在发布时在 CyberGym 基准测试中取得了 84.5 分的领先成绩。
- 更广泛的 Amazon Bedrock 集成:支持跨区域推理配置文件、隐式和显式提示词缓存,以及通过 Invoke 和 Converse API 实现的 OpenAI 兼容 Responses 和 Chat Completions API 的功能对齐改进。
关键能力
- 前沿的编码和智能体性能。GLM 5.3 旨在应对复杂的系统工程和长周期智能体任务。这包括多步推理、工具增强型工作流以及在大型代码库中保持持续的上下文。
- 灵活的 API 访问。您可以通过 OpenAI 兼容的 Responses 和 Chat Completions API,或者 Amazon Bedrock 的 Invoke 和 Converse API 调用 GLM 5.3。
- 提示词缓存。GLM 5.3 默认支持隐式(自动)提示词缓存,并在 Responses 和 Chat Completions API 上支持显式缓存控制(推荐)。对于每次交互都重新发送大型系统提示词或仓库上下文的智能体工作负载,缓存可以降低延迟和输入成本。
- 跨区域推理。GLM 5.3 可通过美国跨区域推理配置文件(us.zai.glm-5.3)和全球跨区域推理配置文件(global.zai.glm-5.3)获得。您将请求发送到所选的“源”AWS 区域,Amazon Bedrock 会安全地路由每个请求进行处理。有关更多详细信息,请参阅 Amazon Bedrock 用户指南。
- 服务层级。选择 Flex 以针对不太敏感的时间要求的工作负载优化成本;选择 Priority 以更高的价格优先处理对延迟敏感的关键请求;或选择 Standard 以获得价格与速度之间的默认平衡。
前提条件
- 一个可访问 Amazon Bedrock 的 AWS 账户。
- 用于调用基础模型和目标推理配置的 AWS 身份和访问管理(IAM)权限:bedrock:InvokeModel、bedrock:InvokeModelWithResponseStream 和 bedrock:CallWithBearerToken。
- (针对基于代码的演示)Python 3.10 或更高版本。
- (仅针对可选的安全测试演示)安装 Docker 和带有 bedrock extra 的 Strix。
在 Amazon Bedrock 控制台上试用 GLM 5.3
您可以在 AWS 管理控制台上直接向 GLM 5.3 发送提示,无需编写代码或安装开发工具。要开始使用,请导航至 Amazon Bedrock,然后从左侧边栏菜单中选择“测试”>“游乐场”。
在此游乐场界面中,您可以从模型列表中选择 GLM 5.3,并通过聊天用户界面发送您的第一个提示,如下截图所示:

图 1:在 Amazon Bedrock 控制台上与 GLM 5.3 对话
通过 Responses API 入门
以编程方式调用时,您可以通过 bedrock-runtime 端点调用该模型。这支持 OpenAI 兼容的 Responses 和 Chat Completions API,以及适用于 GLM 5.3 的 Amazon Bedrock Invoke 和 Converse API。对于新应用,建议使用 OpenAI 兼容 API,因为它们支持更完整的功能集。
Amazon Bedrock 确实支持为需要 API 密钥的 OpenAI 兼容集成生成 API 密钥。但是,我们强烈建议尽可能优先使用短期凭证而非长期有效的 API 密钥。
在以下示例中,我们将使用 OpenAI Python SDK 从 Python 调用 Responses API,并使用 aws-bedrock-token-generator 库从标准 AWS 命令行界面 (AWS CLI) 凭证生成短期令牌。
- 安装所需的软件包。pip install -U openai aws-bedrock-token-generator
- 将以下代码保存为 bedrock-request.py。from aws_bedrock_token_generator import provide_token from openai import OpenAI region = "us-west-2" # 您的源 AWS 区域 client = OpenAI( api_key=provide_token(region=region), base_url=f"https://bedrock-runtime.{region}.amazonaws.com/openai/v1", ) resp = client.responses.create( input="Refactor this Python function to be iterative instead of recursive: ...", model="global.zai.glm-5.3", ) print(resp.output_text)
- 运行脚本,它将显示模型的输出。python bedrock-request.py
通过显式提示缓存优化推理
长时间运行的编码和知识工作流通常会在多次对话轮次中重复发送稳定的上下文,例如系统提示、工具定义或存储库文件。
Amazon Bedrock 上的 GLM 5.3 默认支持隐式提示缓存,这有助于降低响应延迟和共享相同初始提示前缀的重复调用的输入令牌成本。
使用显式提示缓存模式,您可以具体标识可重用的提示前缀,从而相比隐式缓存进一步提高缓存命中率(因此带来延迟和成本节省)。
要在 GLM 5.3 中使用显式提示缓存,请按照以下示例操作:
- 在请求中通过 prompt_cache_options 选择显式缓存模式。
- 在输入内容块中添加一个或多个 prompt_cache_breakpoint 标记,以指示可重用提示前缀的结束位置(包含该标记)。每个断点必须至少包含 1,024 个令牌才有资格被缓存。
resp = client.responses.create( model="global.zai.glm-5.3", # 启用显式缓存模式: extra_body={"prompt_cache_options": {"mode": "explicit"}}, input=[ { "type": "message", "role": "system", "content": [ { "type": "input_text", "text": SYSTEM_PROMPT, # 长而静态的系统提示词是缓存的理想目标: "prompt_cache_breakpoint": {"mode": "explicit"}, }, ] }, { "type": "message", "role": "user", "content": [ { "type": "input_text", "text": USER_INPUT, # 还可以定义多个断点,以实现分层缓存: "prompt_cache_breakpoint": {"mode": "explicit"}, }, ], }, ], )
if resp.usage.input_tokens_details.cached_tokens: print("命中缓存!")
有关更多信息,请参阅 Amazon Bedrock 用户指南中的提示词缓存部分。
示例智能体工作负载:使用 Strix 进行授权安全测试
能够直接从 GLM 5.3 的优势中受益的工作负载之一是自动对您自己的应用程序进行安全测试。Strix 是一个开源的 AI 渗透测试智能体,它可以动态运行您的代码,发现漏洞,并通过概念验证测试对其进行验证。截至本文撰写时,Strix 文档将 GLM 5.3 作为其默认模型。您可以配置 Strix 在 Amazon Bedrock 上使用 GLM 5.3,而不是第三方推理提供商,从而使模型推理在您的 AWS 账户控制下运行。
仅测试您拥有或已获得明确书面许可测试的应用程序。在您不拥有的系统上进行未经授权的安全测试在大多数司法管辖区都是非法的,并且违反了 AWS 可接受使用政策。在本演练中,目标是 OWASP Juice Shop,这是一个在您本地机器上运行的故意存在漏洞的示例应用程序。
如果您希望获得完全托管的持续安全测试,而不仅仅是自己运行开源智能体,AWS Continuum 提供按需渗透测试和其他安全分析作为托管服务。这两种方法是互补的:像 Strix 这样的开源智能体为您提供开发人员驱动的、人在回路中的、高度可定制的针对本地构建版本的测试,而 AWS Continuum 则以规模化方式运行托管评估。
要运行授权安全测试
- 在本地启动示例 Juice Shop 目标应用程序。docker run --rm -p 3000:3000 bkimminich/juice-shop
- 配置 Strix 以在 Amazon Bedrock 上使用 GLM 5.3。Strix 底层使用 LiteLLM,因此(如他们在 Amazon Bedrock 文档中所述)您的 AWS CLI 凭据将被自动拾取。这意味着不需要 API 密钥,但您可能需要设置诸如 AWS_PROFILE 和 AWS_REGION 之类的环境变量来配置连接。截至本文撰写时,LiteLLM 尚未解析 bedrock/global.zai.glm-5.3。在此修复之前,您可以显式指定 Converse API 路由和推理配置文件 Amazon 资源名称 (ARN),如下所示:# 在运行之前填写下面的 REGION 和 ACCOUNT_ID 占位符!export STRIX_LLM="bedrock/converse/arn:aws:bedrock:{AWS_REGION}:{AWS_ACCOUNT_ID}:inference-profile/global.zai.glm-5.3"
- 对本地目标运行 Strix。strix --target http://localhost:3000
- 等待根 Strix 智能体完成,然后查看结果。
Strix 会启动一组子智能体来映射威胁面,探索一系列潜在的漏洞类别,并尝试通过有效的概念验证来验证每个发现。这有助于最大限度地减少花在分类误报上的时间。成功的运行将生成一份报告,包括每个发现的严重程度、证据和修复指导。
图 2:使用 GLM 5.3 和 Strix 运行示例安全测试
清理
在运行 Juice Shop 容器的终端中按 Ctrl+C 停止该容器,或者运行 docker ps 查找容器 ID,然后使用 docker stop 命令停止它。Amazon Bedrock 推理采用按 token 计费模式,无持久化资源,因此请求完成后不会产生额外费用。如果您为本教程生成了 Amazon Bedrock API 密钥且不再需要,请在 Amazon Bedrock 控制台中将其删除。
可用性
您可以在 Amazon Bedrock 控制台中试用 GLM 5.3,通过 OpenCode 等代码助手使用它(如我们近期关于 Kimi K3 的文章所示),或通过支持的 API 连接您的自定义应用程序。
想了解 Amazon Bedrock 如何支持您的团队?请与我们联系,开启对话。
作者介绍
译文已达到本站中文翻译的字数上限,剩余内容请查看原文。