诚心问:为什么这里大多数人不太感冒 AI 写程序?

2024-09-08 19:12:00 +08:00
 pathetique
事情起因是这样的。前天的一个帖子里( https://www.v2ex.com/t/1070885?p=1#reply35 )大家都表示 AI 对自己的工作无用。我只是有点好奇,为什么我的感觉完全相反?所以想分享一下我的感觉和情况,很好奇大家感觉的没用是什么意义上的没有用(因为不了解专业程序员的工作流程)。

本人没学过大多数码,但是算法懂。因为工作和研究兴趣需要( NLP ,很多很冷门的语言),也会经常坐一些很没办法要做的东西。比如分词器,就和 Andrej Karpathy 的网课跟着做,所以其实前一段时间看见他推荐 cursor ,我前天开始也就试着用。然后就觉得 AI 太有用了。我暂时感觉突然摆脱了对程序员的大多数依赖。

比如,试验阶段就很快用 prompts 做了一个全栈的、机构内部使用的工作记录论坛,感觉很兴奋。因为我之前既不会 java 、也没学过 sql 。就看着看着,debug 的时候,感觉就大概了解了构架、前端后端怎么互动的 blabla ,觉得很不错。我打算马上用现有的经验,写一个网页版的数据库,可以搜集结构化的语料 metadata (就是研究生会看古代语言的、就用这个网页进行标记并且生成结构化的元数据的 database 了,以后 training 时候用)(这样他们做习题就是 labelling slaves 了哈哈)。在之前这是想都不敢想的,肯定会想外包。但即便让专业 coder 做,也会有太多太多需要交流的小细节,比如很多语言是从右到左、从上到下,元音啊各种细节包不包括,乱七八糟的细节,这些调整交流起来会吐血(尤其是 coder 如果完全是技术部门来的),和 cursor 交流就感觉非常好,真的可以一个人把这个想了很久的事情做成。

再举一个例子,我之前也想过用 OpenAI 的 api 去导出一些专业的语料元数据,但是有一定的格式需求。我大概知道 function calling 和新的 Response format 可以实现,但是因为自己不是专业的,手笨不会做。但程序员一般都只会英语或者欧洲语言,对这些元语料的结构理解需要很多解释(因为现代语言一般语法都很简单),这是去年就一直搁置到现在。昨天突然想起来,半个小时之内就开始用 function calling 自动帮我生成 training data 了。今天打算晚点试试 response format 效果会不会更好。

所以我会感觉 ai 真厉害,尤其是很多事情可以一个人做了,会比团队快很多。可能有人觉得 AI 不会 debug ,其实不是这样的。第一,这几天 cursor+claudedev 几乎可以解决过程中 60%的错误。即便不能解决,很快要求它们解释哪部分代码是负责的,看懂之后很容易也能修好剩下的问题。(可能对程序员来说,没学过 java 看 java 的代码是荒谬的。但是实际情况是,其实 java 和 python 里也充满了自然语言,大多数问题理解了出在哪里就很容易看见并且修改。一些更高级的概念,比如类的继承啥的,单独看半个小时也基本理解了,虽然具体语句记不住但是可以问 ai 写。更复杂的 transformer 啥的框架确实要另外学懂才会改造,这个 ai 不行。还有, 剩下 40%的几率 ai 即便不能完全 debug 、但可以快速定位是哪些代码,定位速度可能比有经验的眼睛还快)

是不是专业程序员写的程序都比这些任务要复杂很多,所以 ai 会失效?还是什么别的原因会觉得 ai 鸡肋呢?真心好奇,避争论。
9725 次点击
所在节点    OpenAI
95 条回复
AItsuki
2024-09-09 10:30:21 +08:00
简单的不用它写,难的它写不出来,我一般当作 api 文档工具,什么 api 忘了就问一问。
难崩的是你要是问的问题复杂了它还能给你伪造一个不存在的 API
xjzshttps
2024-09-09 10:39:10 +08:00
简单的没问题,
但是复杂的需求,AI 就搞不定,甚至开始胡说八道。
目前看也就是能提升下部分代码的编写速度。
skadi
2024-09-09 10:43:38 +08:00
api 手册.
polo3584
2024-09-09 10:46:59 +08:00
查某个地方怎么写是可以的,但是用它写的直接用就算了,想要描述清楚所有需求就很麻烦,甚至比自己写麻烦。再者,无论是之后要修改或者是写的有问题,都得自己再看一遍理解一遍,因为不是自己写的不知道什么地方容易有问题,更麻烦。
thetbw
2024-09-09 10:58:04 +08:00
ai 只能写正常的项目,大多是已经有开源解决方案了
Zeea
2024-09-09 11:05:17 +08:00
@ZGame 是这么个道理,你提问的内容决定 AI 的上限,但是大模型本身有天花板,需要投喂。

我们更认为常规大模型的深度,只能指导非行业人士或半熟手;你就比如我做一个方案,AI 的内容几乎不能用, 现在我在找怎么搭自己的 AI 框架,我们看的还是 AI 本身具备的能力,确实不太喜欢 AI 的语料库。

经常给朋友说,如果你提出的内容,AI 回答让你很惊艳,那只能说明你在这个领域是一个外行。
chainal7777
2024-09-09 11:15:20 +08:00
100 行之内,ai 很强,100 行之外,ai 又快又强(不是
183387594
2024-09-09 11:21:09 +08:00
网络上有异议的人回复的多,你发贴说 AI 对写代码毫无益处,得到的回复会完全不同 😑
TArysiyehua
2024-09-09 11:28:19 +08:00
我们组有专门研究 AI 代码这块,这么说吧,如果是简单的提问他还是很强的,比如 web 你多多少少懂一点,但是不是很熟悉,这时候你问它,它就很强。
但是但是,大型的商业项目它只有在某个非常具体的细节业务才有用,就是上面举例的,这是通用 LLM 的通病,所以我们需要研究专有 LLM 。
特定领域的 LLM 还有一个问题,就是大型项目无法做到基于项目来给出答案。比如说我要请求网络,基本上大型项目的网络请求,都是封装好的,所以你问 AI 给你写个网络请求,它只会用同样的网络请求,这肯定是不行的。
所以我们又研究了 Lora 跟 RAG ,但是目前看来效果并不好,还要持续研究迭代
TArysiyehua
2024-09-09 11:29:12 +08:00
@TArysiyehua 它只会用同样的网络请求 改→ 它只会用通用的网络请求,而不是封装好的
guxin0123
2024-09-09 11:30:31 +08:00
Tink
2024-09-09 11:30:33 +08:00
AI 只能“写”,不能写
zw1one
2024-09-09 11:49:22 +08:00
因为咱们真用过它写
noyidoit
2024-09-09 12:29:57 +08:00
反正我不知道为什么,我从业务到测试都是在用 AI 写。

不要在意 AI 不能做什么,而是去在意 AI 能为你做什么。
artiga033
2024-09-09 12:47:50 +08:00
很简单 训练材料少的领域 ai 就蠢的一 b ,就算是做 web 这种,我一旦用个冷门框架 结果它所有的代码结结构还是按照那些热门框架来的,当然你说愿意花时间把相关知识全整理出来喂给 ai 也不是不行,不过没法改变样本较少情况下现阶段的 llm 理解能力还是比人脑弱的多的现状
skyadmin
2024-09-09 13:14:04 +08:00
先问是不是再问为什么?我怎么觉得在座的各位都对 AI 写代码很感兴趣呢?
但和 AI 绘画、AI 写作这种文艺类的东西不一样,图片好看就行,文章看起来篇幅长辞藻华丽就行。
代码跑不起来就是跑不起来,大家写 demo 的时候还是愿意用 AI 的,真实项目里辅助生成一些打杂代码也不错,但非要让 AI 全部生成,然后自己再去死磕 debug ,怕不是有受虐倾向?
maymay5
2024-09-09 14:03:07 +08:00
喜不喜欢取决于编程对个体的意义是什么,编程对于个体的意义是糊口工具的话,那几乎没用,每天把本分的业务代码写完就 OK 了,如果对于编程有浓厚兴趣就有用,因为编程知识是学不完的,LLM 对于拓展新的编程领域就很有帮助,并且还看个体对 LLM 是否感兴趣,有程序员觉得以自己职业的特殊性可以轻松拿捏 LLM ,实际上会因为提示词缺陷常常解决不了问题,所以就不再继续使用
iorilu
2024-09-09 14:22:13 +08:00
你说的这些是用 AI 完成一个小任务

这个目前 AI 是可以做到得

但是真正得程序或项目都是很复杂得, 包含可能几百, 几千个小任务得组合

这种情况下, 如何划分确定这么多小任务才是最重要和最难得, 真划分好了, 写代码只是最后一环, 你可以让 ai 做也可以自己写, 但从这个项目得角度来说, 并不会缩短多少时间
mumbler
2024-09-09 14:25:29 +08:00
@VeryZero #15 再复杂的业务,也是由一个个逻辑功能模块构成的,跟 AI 结对编程,效率都会大大提升,不是说非要全部让 AI 生成,代码本身就是提示词,写了上面,下面 AI 能猜个八九不离十
mumbler
2024-09-09 14:29:05 +08:00
@iorilu #78 AI 写代码分两个场景,一个是 generator ,一个是 copliot ,不能语言描述的东西,用 copliot ,你先写一部分,下面自动补全,无论如何效率都会大大提升

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

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

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

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

© 2021 V2EX