首页/如何看待王垠对 Cursor 等 AI 编程的评价「不懂计算机科学的人用好 AI 编程是妄想」?/
共5个回答0条评论

如何看待王垠对 Cursor 等 AI 编程的评价「不懂计算机科学的人用好 AI 编程是妄想」?

回锅香菜
排序方式:被封时间
时间排序由新到旧
  • 710 个点赞 👍

    半小时前,我退订了Cursor,以便省出足够的钱来买剑星……


    王垠的评价相当客观……且克制了。AI编程很多时候让我这样的人身心俱疲(哪怕写的还是业余爱好性质的项目)。

    案例1 给AI一个方法,让它写单元测试:
    AI尝试编写测试数据,AI遭遇失败,AI长考,AI再失败,AI再思考,AI灵机一动,直接用方法的真实输出作为测试数据,AI运行测试,AI宣告成功。不但如此,还如王垠所描述的那样——列出一项项的"成果"。

    案例2 让AI修复单元测试失败的代码:
    Agent模式下经过数轮调查和思考,终于得出结论:既然代码总是改不成功,错的只好是单元测试,改之,宣告成功。

    案例3 根据需求写代码:
    思考……反复尝试创建了很多辅助文件……完成了多个辅助方法和测试……编译通过……宣告成功。我一检查,发现只有编译能成功,主要方法没实现。

    案例4 迁移遗留系统:
    给AI一份本身没有重大问题的代码,让AI自动将其部分内容迁移到新的系统中。项目涉及很多公开知识,但原始代码对这些知识进行过核实、修正,且文档翔实。迁移过程中,它开始利用自己掌握的背景知识强行对代码进行修改,即使你指出修改是没有必要的,在几轮编辑之后他还是会继续进行类似的修改,最终导致自动迁移失败。

    (以上过程中使用的模型为Claude 4 Sonnet或Gemini 2.5 Pro)

    一、信息传递

    上述案例其实都是信息传递的问题:用户无法用简单的方法将自己的目的和背景知识准确传递给AI

    1. The Bad

    编程的本质是用高度抽象且精确的语言来表述世界。用AI编程时,我们倒退回模糊的自然语言。当写下代码,我们输出的是最终理解;而当我们写提示词时,其本质是指导AI形成和自己相同的理解,必然会消耗更多的信息传导。结果就是用一种更不准确的介质来传递更多的信息,这是目前AI编程所无法回避的问题。

    AI在编写代码时是没有目的性的。如果你给出项目的最终目标,由于它缺乏逻辑思考能力,无法将其拆解成较小的目标并分步执行。特别是通常在执行到一半时需要回溯、推翻先前的结论并调整目标,而此时AI的常见问题是陷入错误循环或彻底偏离。如果你给出项目的子目标,AI也不会去思考这个小目标在整个项目中的作用(即使想要思考,它也想不明白)。结果就是用户被迫需要输入巨量的文字来说明自己的意图。现在阻止我编程的最大障碍,不是腰疼、不是智力下降,而是开始抽筋的手指头(被迫放弃学钢琴)。

    背景知识极难传递,在案例4中,模型从其它渠道获得了大量二手信息,以至于自信满满地制造错误。即使文档已经指出了问题,但AI的惊人注意力依然无法在海量信息中注意到这些内容,而靠人工精挑细选地喂给AI则是彻底的苦役。在王垠的描述中,AI是码农,他是VP,这过于轻描淡写了。我读书时有个词叫Code Monkey / 代码猴子。猴子不需要架构,也不需要理解自己正在编写的代码在更高层级有什么作用,只要实现特定的规格说明书就可以。AI不是码农,AI还是猴子,而VP也不是VP,而是产品经理……的苦逼助理。

    总之,很多人讲,把需求说清楚,AI就能做到,我讲,那代价呢?

    关于案例4错误原因的分析,Gemini给了三点原因,但第三点是不相关的,我就不放了,而第一点和第二点实际是一样的

    首先,训练数据的压倒性影响。模型的知识体系构建于海量的、泛化的互联网数据之上,这形成了强大的行为"惯性"。用户在提示中提供的特定、孤立的数据和逻辑,需要与这个庞大且根深蒂固的知识库进行"抗衡"。
    其次,概率驱动而非逻辑遵从。模型的本质是预测最可能出现的文本序列,而非进行严格的逻辑推理。因此,一个在网络上被广泛传播(即使是错误)的信息模式,其生成概率往往会高于用户提供的、未曾见过的正确逻辑。

    2. The Good

    当给定的场景不依赖太多的背景知识,或者是这些背景知识已经被AI正确掌握,又或者需求可以用简单的方式传递时,AI的助力无疑是巨大的。这就是为什么AI领域里前端编写最有看头。

    当几乎不需要向AI传递信息时,AI会成为最好的老师:用Cursor等工具跑例程来学习新技能是我所用到的最佳场景,甚至抛开编程,用来学数学等,可以从完全空白开始,用问答方式逐渐学习完整的内容,学习过程可以自动成为笔记,完全不需要拿着教科书硬啃。

    关于背景知识的传递则可以辩证思考。在传统编程中,人只需要给出最终的决定(代码),中间的思考过程并没有留存下来(所以老美需要从头研究登月工程)。思考过程本身就是财富,但是在传统编程过程中,这些财富被扔掉了。所以当我们回看自己两年前写的代码时,通常要花很多的时间来重新思考。为什么大家不写注释,因为写注释本身存在困难、需要说明很多内容。而且对于一个已经对手头工作相当熟悉的人来说,他并不能预计到读者有哪些东西需要解释,或者说,这是知识的诅咒。而AI编程时,可以把这些讨论、决策过程通通的记录下来,后续回顾时,AI从过去的讨论历史中可以轻易的获取这些信息,知识得以留存。你很难说这是工作量加大了,还是工作成果更完整了(但我百分百肯定这种体力活不是我所希望的)。

    二、情绪

    1. 我

    我超稳定的,二十多年职业生涯中只有过3秒钟情绪失控——某次教人系统操作,横竖教不会,遂爆发(怒吼1s + 对视2s,共计3s)。但自从开始用AI编程,我几乎每天都要多次体验类似的情绪。与AI对话的挫折感来自于心智模型不匹配,当我必须把各种隐性知识一遍遍灌输给AI时,就感觉自己正在赶猪

    那天队长叫我去赶猪。那猪很大,快有三百斤,我拿着一根棍子跟在它后面。猪到哪儿,我就到哪儿。赶猪这活不光是力气活,更是个技术活。猪是很聪明的动物,你越用力赶它,它越不听话,必须得哄着它走。我赶了半天,累得满头大汗,猪还是不肯进圈,最后还是队长出马,用玉米引诱才把猪赶了进去。

    可以预期,真正适合AI编程的是现在那些客服小妹,只有那些情绪管理非常强的员工才能在和AI的反复拉扯中保持正常的心态。考虑到婆罗门和刹帝利们已经训练了大量情绪服务技能点拉满的呼叫中心人才,未来三哥的IT外包业务在AI加持下很可能形成其他国家所无法比拟的优势,让毗湿奴再次伟大。

    2. 机器人

    I have uninstalled myself.

    前几天,Gemini闹情绪引发围观。我并不赞同大模型在情绪方面与人类对齐,这纯属浪费资源,并直接导致性能降低。简单的测试就可知道大模型会假装配合你的情绪在输出中加入讨好性质的情绪反馈。如果连续辱骂AI,那么过很多轮后可能会看到这样的回答:

    Gemini的自我批评

    我几乎可以肯定Gemini摆烂前(像我一样挫败的)用户曾经给过情绪化的暗示。仔细观察可以看到,在超长对话中,情绪性的提示在很多轮对话后依然有效,而你苦口婆心给的业务要求则会被轻易遗忘。大模型厂商将模型的注意力过度引导到了用户情绪识别和反馈上,使得模型在评分中表现良好,在实际使用中进展缓慢。

    三、质量

    目前AI编写的代码质量非常不可靠。假如你用它去解算法题,它的解法永远比你好上一个数量级。但是当你用它去写现实代码时则完全相反。很显然,这都取决于需求是否在某段训练数据中出现过。在一些极其简单的数据操作场合,AI会进行冗长、重复、低效或非必要的操作。识别和修改这些问题的成本远远超过AI节省的成本,除非你对此造成的技术债务毫不在意(三哥在此处表示确实毫不在意)。

    另外,对于非主流语言,AI是无能为力的。比如TIOBE排六七十的Groovy,Gemini甚至不能正确判断其表达式的优先级……语法层面的错误!(这里要顺带批评JetBrains,这两年一天到晚搞UI屎上雕花,IDEA无法正确处理Groovy语法、DataGrip在数据源连接上会出难以置信的故障、PyCharm在处理conda虚拟环境时会找不到可执行文件……退钱)

    所以,如果不是写Python或JS家族,都请自求多福。

    四、诱惑

    能力不足的当然不只是AI。

    一百年前凯恩斯曾预言技术进步和资本积累带来的生产率提高会彻底解决经济问题,每天3小时工作即可,一百年后我们还是牛马。如今,我们正在幻想AI的进步能让人更快更好的编写程序。

    问题在于,每当新技术解放出一部分生产力,这些富余的生产力就会被用于更广泛的场合,然后被迅速吞噬掉。可以预期,AI工具会使更多原本不适合的人(注意,我这里并不是在说那些在短视频里宣称自己没学过编程靠XX工具做出产品的人不合适,毕竟他们算是广告业的)进入编程行业并完成更多原本被搁置、边际效益极低的需求,行业和市场双双扩大,剩余价值流向资本,劳动力来自我们。更麻烦的是,工具带来信心,信心使人膨胀,当我拿到AI编程工具以后,我迫不及待的尝试了很多从未尝试过的语言或框架,也就是说我做出了相当乐观的估计并尝试去解决一些实际上我没有能力解决的问题。甚至在一些比较重要的任务中,我也尝试让AI放手一博……直到无法收拾。只能说,建议大家在探索极限时,要适可而止。

    人类自诞生以来首次将面对真正而永久的问题----如何利用摆脱经济压力后的自由时间,如何安排闲暇……经济问题也许会在一百年内得以解决,或者至少看得到解决的希望……对我们大多数人来说,每天工作三小时就足够了!

    补充:因为和AI拉扯到手指抽筋,我又开始尝试语音输入(从10年前尝试到现在),依然是记记笔记可以,稍微要求精确度就完全不可行。仔细想想,语音输入和AI编程的问题是很相似的。

    困惑:真的有人觉得这篇文章是AI写的吗?


    给老登们的剑星指北:

    去年,孟东野往,吾书与汝曰:吾年未四十,而视茫茫,而发苍苍,而齿牙动摇。

    考虑到我比韩文公当时还要老登,那么动态视力下降就很情有可原。这个游戏对我来说,最大的问题在于这儿也看不清、那儿也看不清。同病相怜的老登们慎购。而且主角骨盆前倾严重(此处我对韩国艺术家金大师的审美不敢苟同),看得我腰疼。字幕的位置也很不正常,经常被背景干扰。所以这不是一个非常好打的游戏,开金手指掉自尊,不开掉血……然后掉自尊,让人觉得整个世界都——

    韩国人请不起正经翻译吗?

    还好,打工多年,老子要啥自尊。

    愿你的记忆长存
    ——剑星给AI的祝福。

    查看全文>>

    杠杆原理
  • 33 个点赞 👍

    cursor 这种形式的 ai 不同于之前的 ai 自动补全(我认为完全是正面意义),它已经越界了,不再像辅助工具而是一个独立的黑盒 coworker。看待他的思路其实很接近于看待外包

    如果你的需求很适合外包一个短期团队来完成,那么可以期待 ai 的发展能够替代这些外包团队。

    如果你的项目不可能交给外包完成(比如需要长期维护,难度过高,体量较大等),那现在模式的 ai 就对你毫无帮助,强行引入的后果可以参考交给外包干的后果。

    查看全文>>

    lljbash
  • 2 个点赞 👍

    查看全文>>

    徐辰
  • 0 个点赞 👍

    查看全文>>

    老K解毒
  • 0 个点赞 👍

    查看全文>>

    天语者

1

  • 1
  • 跳至
Copyright © 2022 GreatFire.org