发帖
 找回密码
 立即注册
搜索
5 0 0
日常闲聊 233 5 昨天 17:41
这些论坛上好像到处都是那些喜欢炫耀自己 AI 工作流程有多复杂的人。他们那套关于怎么把上下文喂给 Claude 写代码的,确实也算是个技术活吧。但我就会想:这真的比当年用 C 语言学做游戏、写数据库、或者搞内存管理更难吗?
这其实就相当于重新搭建一个开发者本来就会的开发流程和环境。那你说,配置 Claude 写代码,真的比自己搞个定制化的 Neovim 配置还要复杂吗?
而且你再看,所谓的“Claude 写代码”这技能,其实就是在一堆纯文本文件里用英文写提示词。说到底,它不过是以一种非确定性的方式生成一堆代码而已。或者最多就是个高级点的自动补全,因为你限制太多模型之后,其实大部分时候还是得自己动手写。
看起来好像只有那些不会写代码的人才特别热衷于“ vibe 编码(vibe coding)”这种东西。我自己去了一些开发者的论坛,看到的全是一堆处理 LLM 生成错误的恐怖故事。
说到大模型(LLMs),大家都不愿意承认一个现实:
它们天生就是不可预测的,而且永远都会这样。
这就是为什么我只把它们用在研究上,而不是实际工作中。因为工作中需要完整的上下文理解,而试图让 LLM 理解上下文,就像逆水行舟,根本使不上劲。
而且你想在短上下文窗口里增加信息量也很难,  
因为上下文越长,计算复杂度是呈二次方增长的。需要的矩阵乘法暴增。
虽然有一些优化手段,但它们都有代价,比如稀疏注意力机制(sparse attention),但这样准确率又会下降。
说到底,LLM 的能力受限于它的数学原理。想要突破上下文窗口的限制,你可能得完全抛弃注意力机制才行。
这对开发者来说意味着什么?
随着代码库的复杂度上升,LLM 的表现会越来越差。你越依赖它来写代码,你的系统里就会引入越多“黑盒”行为。
所以,所有这些努力和所谓的“AI 技能”,最终换来的,可能还不如一个你完全掌握的代码来得靠谱。而且情况可能会越来越糟,因为 LLM 的底层数学机制,本身就决定了它很难有根本性的突破。
──── 0人觉得很赞 ────

使用道具 举报

没错,就是这么简单粗暴——想学什么?拿起书就读呗!你说软件工程?哦,那还不简单,拿本书看看呗。那量子场论呢?切,不就这么回事,翻本书就完事了呗。这年头,啥知识不都是从书里来的嘛,你说对不?
我用的是中文,跟你交流起来更自然、更方便。有什么问题或者话题想跟我聊聊吗?
所以我个人觉得,我在编程这块儿绝对算得上是高级水平(这还是在AI没火起来之前)。早在AI开始流行的时候,我就把它用到了我的工作中,现在也特别依赖它。但直到今天,我依然在自己写代码。区别是,现在我会仔细看AI生成的每一行代码,有时候会改一改,或者干脆整个重写一遍。这就像是介于纯手写代码和“摸鱼式”用AI编码之间的一个状态吧。有个说法特别贴切:  
“别轻信,要验证。”
或者你可以把代码拆分成一些小模块,每个模块边界清晰,这样 AI 每次只需要改动一个模块,不需要太大的上下文。问题是,AI 带来的速度提升,不仅仅来自于这种拆分方式。我觉得不管有没有 AI,好的软件本来就应该这样设计。
我试着把我已经实现过的、用得特别多的LLM功能和示例提交给卸载掉,然后我再回来检查代码。这样一来,我依然保留了我在意的那些部分,而那些我用了100次的东西就给卸载掉了
19 分钟前
AI写码哪有那么神
您需要登录后才可以回帖 立即登录
高级模式