大多数前沿模型在 HumanEval 上成绩不错,可一旦你把它们丢给一个真实的 GitHub issue——那种要读六个文件、协调互相冲突的约束、还得写一个不破坏现有测试套件的补丁的问题——就立刻露馅了。GLM 5.2 正是冲着这个缺口设计的,它的编程数据也反映了这一点。
一句话总结
GLM 5.2 在 SWE-bench Pro 上得分 62.1%、Terminal-Bench v2.1 上 78%、HumanEval 上 90%+。它以 158 tokens/秒运行,支持 1M token 上下文窗口,并且兼容 OpenAI——这意味着从 Continue.dev 到 Cursor,几乎所有主流编程工具都能用两行配置改动接进来。如果你想要一个模型搞定全代码库重构、智能体 shell 任务和实时自动补全、不用切换工具,GLM 5.2 值得认真考虑。
编程基准总览
对真实编程工作最重要的三个基准是 SWE-bench Pro(仓库级 bug 修复)、Terminal-Bench(智能体 shell 和 CLI 任务)和 HumanEval(函数级代码生成)。下面看 GLM 5.2 在这三项及相邻指标上的表现。
| 基准 | GLM 5.2 得分 | 衡量什么 |
|---|---|---|
| SWE-bench Pro | 62.1% | 数百个仓库上的真实 GitHub issue 解决 |
| FrontierSWE | 67.3% | 困难软件工程任务,多文件修改 |
| Terminal-Bench v2.1 | 78% | 智能体终端与 shell 编程任务 |
| HumanEval | 90%+ | 函数级代码生成 |
| GPQA Diamond | 89% | 研究生级推理(硬核调试的代理指标) |
SWE-bench Pro 是这张表上最难的实战测试。它从公开 GitHub 仓库拉取真实 issue,把完整仓库交给模型,然后检查生成的补丁是否在不破坏现有测试的前提下解决了问题。62.1% 的得分让 GLM 5.2 跻身当前可用模型的顶级梯队。
Terminal-Bench v2.1 更新,对工程工作流的参考意义可能更大——它测试模型能否在 shell 里自主操作:读文件树、串联命令、写脚本、从错误中恢复。78% 是这一基准已公开的最高分数之一。
为什么 GLM 5.2 编程表现好
三个架构决策解释了 GLM 5.2 的编程表现。
1. 1M token 上下文窗口。 大多数代码库能整个塞进一次提示里。一个含 80 万 token 源码的 monorepo——大约 60 万行——一次性加载完毕。不需要分块、不需要检索增强管道、不用担心检索器排序太低而漏掉相关文件。你把整个东西发过去,问你的问题就行。
2. 每秒 158 tokens。 在这个速度下,一个 4,000 token 的代码补全大约 25 秒返回。一个 20,000 token 的大模块重构大约两分钟。对交互式编码循环来说够快——不只是夜里跑批处理。
3. 原生函数调用。 GLM 5.2 支持结构化工具调用,这正是编码智能体真正需要的:读文件、跑测试、写补丁、重跑测试。函数调用接口完全遵循 OpenAI schema,所以任何已经能处理 GPT-4o 工具调用的智能体框架,无需改动即可工作。
代码任务的最佳提示词模式
提示词质量对代码输出有超乎寻常的影响。在所有 GLM 5.2 编程任务上稳定有效的模式是:角色 + 任务 + 输出格式 + 约束。
模式 1:修 Bug
You are a senior Python engineer. The function below raises a KeyError on empty input.
Fix it so it returns an empty list instead, and add a docstring.
Do not change the function signature.
[paste the function]
角色设定激活了模型的内部语域。明确的约束(「不要改函数签名」)阻止模型重写接口、破坏调用方。输出格式由任务本身隐含。
模式 2:全代码库重构
当你在处理大型代码库时(GLM 5.2 能容纳最多 1M token),把相关文件内联进去,而不是让模型凭空想象。
You are refactoring a Node.js Express API.
Here are the current route handlers, middleware, and types:
[paste all relevant files]
Task: Extract all database queries into a repository layer.
Output: New files for each repository class, plus a diff showing changes to the existing handlers.
Constraints: TypeScript only. Do not change the HTTP interface. Keep Jest test coverage.
模型会给出具体的目录结构、完整文件内容和改动摘要——不会有幻觉 import,因为真实源码就在提示词里。
模式 3:智能体 shell 任务
针对 Terminal-Bench 式任务,GLM 5.2 通过函数调用驱动 shell:
You have access to bash, read_file, and write_file tools.
Goal: Find all Python files in ./src that import requests, and replace the import with httpx.
Work step by step. Verify each change before moving to the next file.
「每一步都验证」这个约束激活了模型的自我检查行为——它会在每次替换后跑一遍 grep,而不是盲目地批量替换。
模式 4:代码评审
Review the following pull request diff for security issues, performance regressions, and violations of the style guide below.
Output: A numbered list of issues, each with severity (high/medium/low), file:line, and a suggested fix.
Style guide: [paste style guide]
Diff: [paste diff]
输出格式规范(「编号列表……严重级别……file:line」)让评审结果机器可解析,可以直接喂给 CI 评论机器人。
IDE 集成:VS Code + Continue.dev
Continue.dev 是 VS Code 和 JetBrains 上最受欢迎的开源编程助手扩展。它支持任何 OpenAI 兼容端点,所以把它接到 GLM 5.2 大约只要两分钟。
第 1 步:安装 Continue
打开 VS Code,进入扩展面板,搜索「Continue」,安装 Continue.dev 发布的扩展。
第 2 步:打开配置文件
按 Cmd+Shift+P(Windows/Linux 上是 Ctrl+Shift+P),运行 Continue: Open config.json。这会打开 ~/.continue/config.json。
第 3 步:把 GLM 5.2 加为 Provider
把 models 数组替换成(或追加进):
{
"models": [
{
"title": "GLM 5.2",
"provider": "openai",
"model": "glm-5.2",
"apiKey": "YOUR_Z_AI_API_KEY",
"apiBase": "https://api.z.ai/v1"
}
]
}
保存文件。Continue 会自动重新加载。
第 4 步:验证
打开任意源文件,选中一段代码,按 Cmd+L 发给 GLM 5.2 聊天面板。凭借 158 t/s 的吞吐,几秒内就能看到响应。
第 5 步:设置自动补全模型(可选)
要做行内自动补全,加一个独立的 tabAutocompleteModel 条目:
{
"tabAutocompleteModel": {
"title": "GLM 5.2 Autocomplete",
"provider": "openai",
"model": "glm-5.2",
"apiKey": "YOUR_Z_AI_API_KEY",
"apiBase": "https://api.z.ai/v1"
}
}
在 158 t/s 下,自动补全延迟低到足以在大多数文件中实时使用。
IDE 集成:Cursor
Cursor 内置的自定义模型 Provider 支持任何 OpenAI 兼容端点。
第 1 步:打开 Cursor 设置
点击左下角的齿轮图标,或按 Cmd+,。进入 Models。
第 2 步:添加自定义 Provider
滚动到 Custom Models 区域,点击 Add Model。填写:
- Model name:
glm-5.2 - API base URL:
https://api.z.ai/v1 - API key: 你的 Z.ai API key
点击 Save。
第 3 步:把 GLM 5.2 设为活动模型
在 Cursor 聊天面板顶部的模型下拉菜单里选择 glm-5.2。
第 4 步:配置长上下文模式(可选)
Cursor 会自动发送整个文件和相关的上下文。因为 GLM 5.2 接受 1M token,你可以在 Settings > Context 里调高 Cursor 的上下文预算而不用担心撞上模型上限。把 Max context tokens 设为 Cursor 暴露的最高值。
第 5 步:用多文件任务测试
打开 Cursor composer(Cmd+I),输入一句自然语言指令,比如「把认证模块重构为使用 JWT refresh token」,让 GLM 5.2 跨文件修改。1M 上下文意味着 Cursor 能往提示词里塞的项目文件,比那些上限 128K 或 200K token 的模型多得多。
OpenRouter 备选方案
如果你不想管理 Z.ai API key,GLM 5.2 也在 OpenRouter 上提供,模型 ID 为 z-ai/glm-5.2。base URL 变成 https://openrouter.ai/api/v1。上面的配置改动完全照搬——只换 apiBase 和 apiKey 两个字段即可。
真实世界的编程用例
全仓库代码评审。 把一个小到中型仓库(8 万 token 以下)整个塞进一次提示,要求做安全审计、依赖分析或架构点评。没有检索步骤,不会漏文件。
测试生成。 粘贴一个模块,让 GLM 5.2 生成全面的单元测试。90%+ 的 HumanEval 分数意味着,绝大多数时候生成的测试代码语法正确、逻辑有据。
自动化 issue 分诊。 喂一条 GitHub issue 正文加上相关文件。让模型 (a) 用伪代码复现问题,(b) 定位根因,(c) 提出补丁。62.1% 的 SWE-bench Pro 分数反映的就是这个流程能产出可用修复的频率。
Shell 脚本与 DevOps。 Terminal-Bench v2.1 的 78% 覆盖 bash 脚本、Docker 配置、CI 流水线编写和命令串联。让 GLM 5.2 写部署脚本,它给的是真正能跑的东西——不是带 TODO 占位符的模板。
文档生成。 源码全在上下文里时,GLM 5.2 能写出准确的 API 文档,不幻觉方法签名或参数类型。输出格式提示词模式(角色 + 任务 + 输出格式 + 约束)在这里尤其有效:把输出格式指定为 Markdown、JSDoc 或 OpenAPI,模型就会产出干净、可解析的输出。
常见问题排查
| 问题 | 可能原因 | 解决方法 |
|---|---|---|
| Continue 里空响应 | apiBase 写错——带尾斜杠或拼写错误 | 把 apiBase 严格设为 https://api.z.ai/v1,不带尾斜杠 |
| 401 Unauthorized | API key 未设置或已过期 | 在 z.ai 重新生成 key 并更新配置 |
| 自动补全慢 | 文件太大,超出短提示预算 | 把 config.json 里的 tabAutocompleteOptions.maxPromptTokens 降到 2048 |
| Cursor 里找不到模型 | 模型名写错 | 严格使用 glm-5.2(带连字符、小写) |
| 上下文窗口错误 | 提示词超过 1M token | 拆成多个提示,或过滤无关文件 |
| 函数调用不工作 | 智能体框架要求严格模式 | 给工具定义加 "strict": true;GLM 5.2 两种模式都支持 |
常见问题解答
GLM 5.2 支持图片输入做编程任务吗? 不支持。GLM 5.2 是纯文本模型——不接受图像或音频输入。如果你需要分析报错截图或 UI 原型图,那一步得用多模态模型。
GLM 5.2 和更小的 GLM 模型在编程上有什么区别? GLM 5.2 是 753B 参数 MoE 模型,每次前向传播激活 40B 参数。更小的 GLM 变体用基准成绩换更低成本和延迟。在代码库级任务(SWE-bench 式工作)上,GLM 5.2 的分数明显更高。在 HumanEval 表现是主要信号的函数级补全上,更小的模型可能已经够省钱。
用 API 跑 GLM 5.2 编程要花多少钱? 输入 token 每百万 $1.40,输出每百万 $4.40。重复上下文的缓存命中每百万 $0.26。一次典型的编程会话——200K token 代码库提示 + 4K token 响应——单次成本大约 $0.30。完整的按用例估算见 GLM 5.2 定价拆解。
GLM 5.2 开源吗?能自托管吗? 能。GLM 5.2 以 MIT 许可证发布,权重在 Hugging Face 的 THUDM/GLM-5.2 可下。自托管 753B MoE 模型需要相当规模的 GPU 基础设施。对大多数工程团队来说,Z.ai 的托管 API 才是现实路径。
GLM 5.2 支持流式响应吗? 支持。Z.ai 端点支持标准 OpenAI 格式的 Server-Sent Events 流式输出。Continue.dev 和 Cursor 默认都开流式,这让 158 t/s 的吞吐在交互使用中感觉很流畅——大约 1.54 秒(TTFT)后开始出字,之后 token 连续到达。
我能在 CI/CD 流水线里用 GLM 5.2 吗?
能。因为它兼容 OpenAI,任何当前调用 openai.ChatCompletion.create 的脚本,只要改 base_url 和 api_key 就能对接 GLM 5.2。常见的 CI 用例包括自动化 PR 评审、新提交的测试生成和文档 lint。
代码库级任务的提示词长度多少比较实际? 1M token 上下文窗口是硬上限。实际上,500K token 的提示(大约 37.5 万行代码)是合理的工作尺寸——它给指令、模型输出和对话历史留出空间。对大多数生产服务来说,这已经覆盖整个源码树。
结语
GLM 5.2 占据了一个明确且边界清晰的生态位:它是带 1M token 上下文窗口的最快前沿级模型(158 t/s),拥有顶级的编程基准分数——SWE-bench Pro 62.1%、Terminal-Bench v2.1 78%。对需要跑代码库级任务、把编程助手接进现有 OpenAI 兼容工作流、或构建与 shell 交互的智能体管线的工程团队来说,这些数字直接转化为实际能力。
上面的 IDE 集成大约五分钟就能配好。提示词模式开箱即用。如果你一直用的模型上限只有 128K token、或者面对真实 GitHub issue 力不从心,GLM 5.2 是一次值得测试的直接升级。
试试 GLM 5.2——无需 API key:glm5.app/chat。




