首页 / 正文

GLM-5.1 写程序到底行不行?我用同一份产品文档实测:Agent 工作流这样用最稳

Mooko
发布于 2026-04-27 · 5分钟阅读
34 浏览
0 点赞 暴击点赞!

GLM-5.1 写程序:别只让它“写代码”,让 Agent 带你把项目做完

你是不是也遇到过这种场景:

  • 产品丢来一份 PRD,说“下周要上线”。
  • 你盯着需求发呆,心里想:能不能让模型直接给我把活干了?
  • 结果模型一会儿写得像个高级工程师,一会儿又像断网了一样“卡球”。

我做过一次很直白的实测:同一份产品开发文档,让 GLM-5.1 和另一款常用大模型各自把软件从 0 做出来。实际效果差异没你想的那么大。

要让 GLM-5.1 真正好用,关键不在“问一句给一段代码”,而在 把它当成 Agent 来跑一个可控的开发流程。下面这套你照着做,项目能明显更稳。😄


你该准备什么:一份“能喂给模型”的产品文档

很多 PRD 对人类友好,对模型不友好。

你要做的是把需求整理成模型能执行的格式。建议把文档拆成 6 块(复制到一个 SPEC.md):

  • 目标:一句话讲清要做什么
  • 用户故事:谁在什么场景要完成什么
  • 功能清单:按模块列出(不要长篇散文)
  • 数据结构:核心实体 + 字段 + 约束
  • 接口契约:请求/响应示例,错误码
  • 验收标准:一条条可勾选

你会发现:文档越“像合同”,模型越不敢乱写。


GLM-5.1 的正确打开方式:让 Agent 承包“拆解 + 方案 + 交付”

我推荐的节奏是:

1)让 Agent 先当“产品经理”,把需求拆成任务树

SPEC.md 丢给它,然后只提一个要求:

  • 输出 任务树(模块 → 子任务 → 产出物)
  • 每个任务标注:依赖关系、文件位置、验收方式

可直接用的提示词:

你是资深全栈 Tech Lead。
输入是一份 SPEC.md。
请输出一棵任务树(模块/子任务/产出物)。
每个子任务必须包含:
- 依赖(前置任务)
- 需要创建/修改的文件路径
- 验收方式(如何验证对不对)
不要写代码。

你会得到一份“能照着走”的施工计划。到这一步,很多人会忍不住让它立刻开写。

别急。

2)让 Agent 当“架构师”,先锁技术栈和目录结构

你只需要它给出:

  • 技术栈选择(前后端/数据库/鉴权方式)
  • 项目目录结构
  • 关键设计决策(为什么这么选,用一句话)

提示词模板:

基于任务树,给出项目的技术栈与目录结构。
要求:
- 目录结构必须可落地(给到具体文件夹)
- 关键决策用要点说明
- 同时列出未来可能踩的坑(3~8条)
不要写业务代码。

这一步的意义是:减少后面“写到一半推倒重来”。

3)再让 Agent 当“工程师”,按任务树逐个交付

真正写代码的时候,你要控制它的输出粒度。

我自己的经验:

  • 一次只让它做 一个子任务
  • 要求它给出 变更清单(新增/修改了哪些文件)
  • 每段代码配一个 本地验证命令

提示词模板:

现在执行任务:{任务名}
约束:
- 只完成这一个任务,不要顺手做别的
- 输出必须包含:
  1) 变更文件清单(路径 + 作用)
  2) 代码(按文件分块)
  3) 本地验证步骤(命令/请求示例)
如果信息不足,先问我3个以内的澄清问题。

你会明显感觉到“卡球”的概率下降。


一个最实用的玩法:用同一份文档做“双模型验收”

如果你也想对比两边效果,别让它们自由发挥。

你要做的是:

  • 给两边喂 同一份 SPEC.md
  • 要求输出格式一致(任务树/接口表/文件清单)
  • 用同一套验收清单去打分

验收清单(直接抄走)✅

  • 需求覆盖率:功能点是否漏了
  • 一致性:字段命名、状态枚举、错误码是否统一
  • 可运行:能不能一键启动
  • 可维护:目录结构是否清晰,有没有“写死常量满天飞”
  • 可扩展:后续加一个字段/接口要改几处

把验收变成“打勾”,你就不会被模型的长篇输出带跑偏。


“卡球”怎么办:GLM-5.1 Lite 也能救回来

卡球常见表现:

  • 写着写着绕圈子,重复解释
  • 代码断片,漏 import、漏路由、漏字段
  • 接口和数据库对不上

我用过最有效的 4 个解法:

解法 A:把它从“写代码”切回“出计划”

你直接说:

你刚刚卡住了。
暂停写代码。
请用要点列出:你已经完成了什么、缺什么信息、接下来3步要做什么。

很多时候不是不会写,是上下文跑丢了。

解法 B:要求它输出“差异清单”而不是继续生成

对照 SPEC.md,列出当前实现的差异清单:
- 缺失的功能点
- 不一致的数据字段
- 可能的 bug
不要写新代码。

它会立刻变成“审计员”,比继续写更靠谱。

解法 C:强制收敛输出长度

Lite 订阅最怕“输出太长然后崩”。你可以加这句:

输出限制:不超过120行。超过就分两次输出,先给文件清单与关键片段。

解法 D:把问题缩小到一个“最小复现”

不要说“接口不通”。说:

  • 请求是什么
  • 期望响应是什么
  • 实际响应是什么
  • 日志/报错贴出来

模型会更像一个会排查的同事,而不是“瞎猜的写手”。


你可以直接套用的 Agent 提示词组合(复制即用)

把下面三段存成你自己的“快捷指令”。

1)需求澄清(防止做偏)

阅读 SPEC.md。
请提出你必须确认的澄清问题(<=3个)。
问题要能影响架构或数据设计,不要问无关细节。

2)接口契约生成(让前后端不扯皮)

基于 SPEC.md 输出接口契约:
- 路径/方法/鉴权
- 请求 JSON 示例
- 响应 JSON 示例
- 错误码
用 Markdown 表格输出。

3)交付模式(按文件输出代码)

按文件输出代码,每个文件用:
### path/to/file
```lang
...

并给出本地验证方式。


---

## 避坑清单:别把“模型写得快”当成“项目能上线”

- **不锁字段命名**:`userId / uid / id` 三套体系,后面必炸。
- **不写验收标准**:你以为做完了,产品一句“不是这个意思”。
- **一次让它写太多**:输出越长,越容易漏依赖、漏文件。
- **没有接口示例**:前端拿不到稳定契约,只能靠猜。
- **不做差异审计**:模型很会“自圆其说”,漏需求还特别淡定。

---

## 我对 GLM-5.1 的一句话评价(按开发者视角)

把它当 Agent 用,给它任务树、文件清单、验收方式,它能交付得很像回事。

偶尔卡球也正常,Lite 订阅更明显。别生气,换“计划/审计/最小复现”三板斧,基本都能拉回来。

你要是愿意,把你的 PRD(删敏后)贴一段,我可以按上面的流程帮你把“任务树 + 技术栈 + 目录结构 + 第一批子任务”直接生成出来。
OpenClaw
OpenClaw
木瓜AI支持养龙虾啦
木瓜AI龙虾专供API,限时领取免费tokens
可在 OpenClaw接入全球顶尖AI大模型
立即领取