GLM-5.2 的代码审查质量取决于你的提示词
Z.ai 推出的 GLM-5.2 是一款广受欢迎的开源权重模型。我们对其进行了测试,以评估其代码审查能力。我们发现,其审查质量会随着你与它交流方式的不同而变化。
我们进行了两项测试。在第一项测试中,我们使用了一个包含 16 个 Bug 的简单 TypeScript 后端。在第二项测试中,我们构建了一个包含 10 个隐蔽 Bug 的复杂系统。这些 Bug 需要理解应用程序不同部分是如何协同工作的。
以下是我们的发现:
- 提示词的措辞比推理强度更重要。改变提示词对结果的影响,比在低推理模式和高推理模式之间切换的影响更大。
- 过于严格的提示词可能会适得其反。如果你告诉模型“拦截或批准生产环境的 PR”,它会过度关注安全性。它能发现硬编码的密钥和弱哈希算法,但会忽略你真正希望它发现的逻辑 Bug。
- GLM-5.2 很容易发现局部 Bug。它能捕捉到单个函数内部的错误,例如失效的权限守卫或错误的变量。
- 系统级 Bug 对 GLM-5.2 来说很难。它难以处理跨多个文件的规则。例如,当已归档的任务泄露到搜索结果和导出功能中时,它未能发现这一问题。
- 前沿模型更加可靠。GPT-5.5 和 Opus 4.8 能够通过单次运行就捕捉到复杂的跨路由 Bug。而 GLM-5.2 在处理这类任务时表现并不稳定。
如何有效地使用 GLM-5.2:
- 用于局部逻辑。它非常擅长发现单个函数内的错误。
- 指令要具体。不要只要求进行“严格”的审查,而应要求它检查不同路由之间的一致性。
- 指明你想要检查的行为。告诉它验证搜索、导出和列表是否都以相同的方式处理数据。
- 对于高风险代码,不要依赖单次运行。由于结果存在波动,你应该多次运行,或者针对复杂的变更使用更强大的模型。
GLM-5.2 是一个能力出众的工具,但你必须确保提示词与任务相匹配。
来源:https://dev.to/kilocode/glm-52s-code-reviews-are-only-as-good-as-your-prompt-5233
可选学习社区:https://t.me/GyaanSetuAi
