使用 GLM 的模型学习编程,经常给我错误的示例

3 月 26 日
 guin

最近在用 GLM 最新的 5.0 学习 ts ,一个知识点经常会给我错误的代码示例 比如今天我在学 ts 的条件类型,他给我出了这么一个示例

我们要写一个工具:如果传入的类型是字符串,就返回 string 类型;如果传入数字,就返回 number 类型。

TYPESCRIPT
// 定义一个类型别名,T 是我们将要传入的变量
type MyType = T extends string ? string : number;

// 测试一下
type A = MyType<string>; // 结果是 string (因为 string 符合 string)
type B = MyType<boolean>; // 结果是 number (因为 boolean 不符合 string ,走了 else 分支)

这段代码的 MyType 类型别名必须加泛型<T>吧,它没有加,使用的时候会报错,我让他改正错误,他给我原封不动的返回了一遍,我把他给我的这个教程拷贝给 kimi2.5 、DouBao 和 gpt 都给我指出了错误, 不光这一次了,之前用 4.7 就有时候返回错误的示例,但是没用过感觉这点真不如其他的国产模型 现在用 gpt5.4 敢放心大胆的改项目,但是真不敢用 GLM 去改项目,不放心啊

2306 次点击
所在节点    程序员
6 条回复
kkkbbb
3 月 26 日
glm 不是国内模型里编程很强么
nutting
3 月 26 日
没必要用国产的,codex 拼车 8 块钱
harlen
3 月 26 日
不管用什么模型。你都得让他闭环啊。
生成代码->执行 lint/执行测试->有错误?-> 是=执行修复循环 ->否结束工作
自己人工来测试是不可取的。你要用提示词告诉他,用什么工具来执行 lint 和构建,怎么去测试,或者让他给你生成这一套流程的东西
liaozzzzzz
3 月 26 日
// 如果 T 是 string 类型,返回 string ;如果是 number 类型,返回 number
type TypeOf<T> = T extends string ? string : T extends number ? number : never;

// 使用示例
type A = TypeOf<string>; // string
type B = TypeOf<number>; // number
type C = TypeOf<"hello">; // string
type D = TypeOf<42>; // number
type E = TypeOf<boolean>; // never

// 保留原始类型的版本
type Identity<T> = T extends string ? string : T extends number ? number : T;

type X = Identity<string>; // string
type Y = Identity<number>; // number
type Z = Identity<boolean>; // boolean
用你的提示词,cc 里面的 glm-5
xooass
3 月 26 日
laravel 框架官方的写 php 测试 kimi2.5 好于 haiku4.5 ,接近 sonnet4.6, gpt5.4 = opus 4.6
coefu
3 月 26 日
用 gemini 吧,太屌了。

你这种都是小 case ,我这周,和 gemini 一起联合调试一个下午,在我没读过原论文的情况下,我出 idea ,gemini 出代码,我 debug ,一起复现了 2015 年的一篇 nature ,在部分模块上,比原作 更有提升。搞完了,我问它,我这个 idea 在学术史上算什么级别的,结果直接和 10 年前的里程碑论文撞上了。

gemini 的代码,是真能打的。就是喜欢发散,喜欢自己加点幺蛾子,你要自己能看懂了,debug 收的住。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1201191

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX