诚心问:为什么这里大多数人不太感冒 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 鸡肋呢?真心好奇,避争论。
9717 次点击
所在节点    OpenAI
95 条回复
buf1024
2024-09-09 08:41:49 +08:00
AI 有时会胡说八道,引入隐藏的 bug 可能是致命的。
kinghly
2024-09-09 08:43:18 +08:00
op 觉得有用是因为你不是专业开发,ai 对业余来讲提升很大,但对专业来讲,目前作用有限。一般业余只需要让 ai 帮助实现即可,完全没有架构、设计、性能等要求。
ZGame
2024-09-09 08:54:45 +08:00
@gaobh 就算再复杂,局部的复杂度也是有限的吧。对于 ai 来说 ,我感觉像开发者对当前系统的认知加提问的方式,决定了 ai 的上限。
elevioux
2024-09-09 09:01:39 +08:00
“AI 写代码” 是什么程度的参与? Copilot 之类的已经在用。如果指的是“一句话让 AI 把淘宝做出来”,那确实还不太敢想。
fredweili
2024-09-09 09:07:46 +08:00
copilot 可以帮我写函数,写测试,写功能代码还达不到,没能力思考和沟通
murmur
2024-09-09 09:11:09 +08:00
AI 目前打辅助不错,帮助你学新语言可以,完整开发还做不到
lzxz1234
2024-09-09 09:15:19 +08:00
目前阶段的 AI 只适用于对错不重要的场景,例如所有的文案类工作

代码类工作其实并不适合,但为什么某些人会觉得好用可能的原因有
1. 开发者不熟悉当前技术或者框架,如果没有 AI 需要结合百度、谷歌、文档才能正常开发
2. 需要进行大量简单代码开发,且不够熟悉 IDE 原有代码补全逻辑、快捷操作等

场景 1 里的 AI 相当于一个内嵌的实时搜索引擎,场景 2 里的 AI 只是一个高级代码补全工具

没有颠覆性的变化,至于哪些不感冒答案也出来,上面俩场景反一下就可以
ruoxie
2024-09-09 09:17:59 +08:00
最近用的最多的场景,丢给 chatgpt 如下 prompt:

You are a service that translates user requests into JSON objects of type "IOption" according to the following TypeScript definitions:
```
export type IOption = { value: string; label: string }[];
```
The following is a user request:
"""
乙方承担费用,1-电费,2-水费,3-煤气费,4-电视费,5-电话费,6-上网费,7-车位费,8-供暖费,9-物业费,10-其它
"""
The following is the user request translated into a JSON object with 2 spaces of indentation and no properties with the value undefined:

chatgpt 返回结果:

[
{ "value": "1", "label": "电费" },
{ "value": "2", "label": "水费" },
{ "value": "3", "label": "煤气费" },
{ "value": "4", "label": "电视费" },
{ "value": "5", "label": "电话费" },
{ "value": "6", "label": "上网费" },
{ "value": "7", "label": "车位费" },
{ "value": "8", "label": "供暖费" },
{ "value": "9", "label": "物业费" },
{ "value": "10", "label": "其它" }
]

结合代码模版生成如下代码:

export const costOfPartyBOptions = [
{ value: 1, label: "电费" },
{ value: 2, label: "水费" },
{ value: 3, label: "煤气费" },
{ value: 4, label: "电视费" },
{ value: 5, label: "电话费" },
{ value: 6, label: "上网费" },
{ value: 7, label: "车位费" },
{ value: 8, label: "供暖费" },
{ value: 9, label: "物业费" },
{ value: 10, label: "其它" },
];

export const costOfPartyBMap = costOfPartyBOptions.reduce(
(obj, { label, value }) => {
obj[value] = label;
return obj;
},
{},
);

整个过程只是复制了接口文档的备注,其它都是已经写好的工具处理的:

乙方承担费用,1-电费,2-水费,3-煤气费,4-电视费,5-电话费,6-上网费,7-车位费,8-供暖费,9-物业费,10-其它
jymsy
2024-09-09 09:20:56 +08:00
都是玩具
Genshin2020
2024-09-09 09:23:27 +08:00
AI 对于我开发效率的提升大概有 1.5 倍左右的提升,我几乎是最早一批使用 AI 来协助写业务代码的,这个 1.5 倍提升是实打实的那种加速开发周期,但是其他同事就没有这个效率,对 AI 提问也是一个很有门槛的事情,比如我写一个复杂模块的时候,我会让 AI 先提供一个大纲,然后再按照子模块一个个去完成

但如果直接让 AI 写整个复杂模块,AI 输出的代码很难满足业务需求,太多地方需要人工调整,有时候加上调试时间,发现还不如不用

而分成子模块一个个去写,就可以灵活调整
clacf1
2024-09-09 09:23:59 +08:00
很多人是装逼的。
Wh1t3zZ
2024-09-09 09:38:19 +08:00
关于业务系统的复杂性,鹅厂有篇文章写得挺不错:
https://mp.weixin.qq.com/s/c0AEQjPkiG0ahiNWx1Ow1Q
Skifary
2024-09-09 09:43:49 +08:00
你觉得 AI 在你的领域(算法)能不能提供很大的帮助?
givenge
2024-09-09 09:51:04 +08:00
对于大部分的功能,我向 AI 描述需求,可能比我自己写代码还累,AI 现阶段辅助还行,全部代码交给 AI ,不如我自己写
olaloong
2024-09-09 09:53:03 +08:00
在我的日常工作中编码部分在版本开发中的时间占比不超过 1/10 ,且不饱和,AI 提升有限
hhacker
2024-09-09 09:54:37 +08:00
@securityCoding 确实是, gpt 也变得没有刚发布时聪明, 可能是受到什么变化的影响了, 包括使用 gpt 最新模型的必应 copilot 也同时变蠢了
duron600
2024-09-09 09:57:02 +08:00
1. 你对 AI 不了解;
2. 你对写代码这事不了解;
3. 你对测试不了解。
cloudzhou
2024-09-09 09:58:07 +08:00
我最近使用了 ai ,但是发现距离真的使用有差距,作为辅助可以
简单一个例子,我费心和他沟通,教会他怎么处理数据,然后终于有一个处理成功
我就再发出一个数据,说“按照上个例子做”,然后这个 ai 就跟智障一样,我又要重新开始调教

总的来说,调教的时间都大于我自己手动写代码了
tracebundy
2024-09-09 10:10:09 +08:00
写代码是项目最轻松的一环,我大部分时间是在做设计
keepfun
2024-09-09 10:17:58 +08:00
自从有一次 我问他问题 然后他给了我相反的答案 让我在技术群不至于说是出丑 但是让我的据理力争惨败收场 我就不相信他了

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

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

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

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

© 2021 V2EX