上周我正埋头搞一轮重构冲刺,试图理清一个三年下来已经膨胀成怪物的庞大 Express.js 后端。我打开平时常用的编程智能体配置,把仓库地址喂给它,然后……就眼睁睁看着它瞎编方法签名,跑了大概十分钟后就搞不清文件依赖关系了,最后居然建议我把一半的代码库删了重写。行吧,可太有用了。
问题很明显:我平时爱用的那些模型处理不了长线任务。它们会搞丢上下文,忘了前面做过的决定,或者在干出点实质性的成果前就“熄火”了。之前老听人念叨 Z.ai 的 GLM-5 是专门为长线智能体和系统工程设计的,所以我觉得是时候好好试它一把了。
以下是我在不同环境下跑它的真实体验。
入门:免费的 Modal 端点
体验 GLM-5 最快的方式就是通过 Modal 的免费端点。Z.ai 在正式公开发布前跟他们达成了合作,现在提供免费的 API 访问,你可以把它对接到任何你想用的前端。
去 Modal 那篇关于 GLM-5 的博客文章,你就能找到端点详情。这个端点兼容 OpenAI,也就是说,只要是个支持 OpenAI API key 的工具,你基本都能直接插上用。
这是你需要的基本连接信息:
# Modal 的免费 GLM-5 端点
base_url = "https://modal-labs--glm-5-openai-compatible-endpoint.modal.run/v1"
api_key = "your-modal-api-key" # 从 Modal 获取
model = "glm-5"
如果你想先写个简单的 Python 脚本测试一下:
from openai import OpenAI
client = OpenAI(
base_url="https://modal-labs--glm-5-openai-compatible-endpoint.modal.run/v1",
api_key="your-modal-api-key"
)
response = client.chat.completions.create(
model="glm-5",
messages=[
{"role": "system", "content": "You are a senior systems engineer."},
{"role": "user", "content": "Refactor this Express route to use proper dependency injection: [paste code]"}
]
)
print(response.choices[0].message.content)
我拿一个特别恶心的路由处理器跑了下,输出的结构清晰得让人意外。它不光重写了代码——还解释了依赖图,找出了我之前漏掉的循环依赖,并且建议了一种对我们代码库来说确实合理的 service layer(服务层)模式。
在 Claude Code 中运行 GLM-5
这对我来说是最有意思的部分。Claude Code 已经成了我日常写代码的主力工具,把 GLM-5 接进去非常简单。
你需要把 Claude Code 配置为使用自定义的 OpenAI 兼容提供商。在你的 Claude Code 设置里:
# 设置环境变量
export OPENAI_API_KEY="your-modal-api-key"
export OPENAI_BASE_URL="https://modal-labs--glm-5-openai-compatible-endpoint.modal.run/v1"
然后在你的 Claude Code 配置里,指定 GLM-5 作为模型。具体的配置位置取决于你的设置,通常在 ~/.claude/config.json 或者你项目的 .claude/config.json 里:
{
"model": "glm-5",
"provider": "openai",
"apiBaseUrl": "https://modal-labs--glm-5-openai-compatible-endpoint.modal.run/v1"
}
我通过 Claude Code 把那个 Express 重构任务丢给它,在这里,GLM-5 长线任务的设计真正展现出了实力。它理顺了 14 个文件,在所有文件中保持了命名规范的一致性,而且居然还记得它在三个文件之前决定使用 repository 模式。我之前用的模型经常会在任务中途换模式,导致一半代码库用一种方案,另一半用另一种。
在 OpenCode 中配置
OpenCode 是另一个很火的编程智能体前端,GLM-5 跟它也很搭。配置方法类似——因为兼容 OpenAI,你只要把地址指向 Modal 端点就行了。
在你的 OpenCode 配置中:
# opencode.yaml 或相应的配置文件
provider: openai
model: glm-5
api_base: https://modal-labs--glm-5-openai-compatible-endpoint.modal.run/v1
api_key: your-modal-api-key
我注意到一点:在 OpenCode 上跑 GLM-5 感觉比我用过的其他一些模型更干脆。Token 生成速度很稳,我没碰到过在其他云端端点跑开源模型时经常遇到的超时问题。
用 Ollama 在本地运行
如果你想在自己的机器上跑 GLM-5,Ollama 是支持的。提前打个预防针:这个模型挺吃资源的。你最好有一台显存(VRAM)够猛的机器。
# 拉取模型
ollama pull glm5
# 运行
ollama run glm5
在我这台 64GB 统一内存的 M3 Max 上,能跑,但速度确实谈不上快。如果是正经写代码,Modal 端点要实用得多。话虽如此,如果是离线工作或者代码库比较敏感,本地运行绝对是首选。
顺便提一嘴,我看到有说法称 GLM-5 在 Ollama Cloud 上的表现比 Z.ai 官方端点还要好,据说官方端点一直有稳定性的问题。具体情况可能因人而异,但在我测试期间,Modal 端点那是相当稳。
GLM-5.1 更新
在我最初测试之后,Z.ai 发布了 GLM-5.1,号称在开源权重智能上达到了新的 SOTA(业界最先进水平)。Modal 的免费端点也已经升级到 5.1 了,所以如果你走的是这条路,你用的已经是最新的版本了。我感觉它在指令遵循上稍微好了一些,在任务中途自我推翻的情况也变少了。
Vibe Coding 的风向变了
真正重要的是这一点:在编程智能体领域,开源模型和闭源模型之间的差距正在迅速缩小。我一直用 Claude Opus 和 GPT-5 Codex 来处理长线任务,而在系统工程工作上,GLM-5 真的能跟它们打一打。
我这次测试的核心体会:GLM-5 不只是擅长写代码,它更擅长在漫长的工程任务中保持连贯性。这才是真正的硬骨头。谁都能生成一个函数,但在 30 分钟的智能体运行中,跨越 20 个文件维持架构的一致性?大多数模型都在这儿栽跟头,而 GLM-5 撑住了。
实用建议与客观局限
建议:
- 原型验证直接用 Modal 端点。免费、快速、稳定。
- 如果是生产环境的工作负载,考虑自己部署或者用专门的推理提供商。免费端点有速率限制。
- 给 GLM-5 搭配一个好前端(Claude Code、OpenCode、OpenClaw)。模型只是一半,智能体框架同样重要。
- 在初始提示词里把架构决策说清楚。GLM-5 很守规矩,但你得在前面把规矩定明白。
局限:
- Modal 的免费端点不是给你跑生产环境用的,只是让你体验模型的。
- 本地运行需要硬核硬件,这不是那种你能随随便便在笔记本上跑的模型。
- 我发现它在特别冷门的库上偶尔会出问题——有次它给一个不知名的 npm 包推荐了个已废弃的 API。所以一定要自己核实。
- Z.ai 官方端点一直有稳定性不佳的反馈。如果你需要保证正常运行时间,Modal 或自建会更稳妥。
- 它在长线任务上也并非完美。它比我试过的其他开源模型都好,但在一次 45 分钟的运行中,我还是抓到它有一次跑偏了。
总结一下:GLM-5 是第一个让我敢放心把真正重构任务交给它,并且信任其输出只需走查而不必重写的开源模型。这个门槛可不低,但它迈过去了。