永恒的质量滑坡九月
- #AI Agent
- #软件开发
- #代码质量
- #软件工程
- #深度学习
我现在就断言:将AI代理引入软件开发将是该领域历史上最昂贵的错误之一。代理无法编程,而且人们越来越难以认识到它们不能编程。它们是一个高度复杂的统计模型,旨在模仿编程的分布。输出是有缺陷的,但缺陷变得越来越难以检测。这正是你从一个越来越精确的统计模型中能预料到的。起初,我拒绝接受这一点。我信了推特上关于地位焦虑的解释。我将部分自我价值定义在编程能力上,所以为这种损失辩护不是很合理吗?尽可能久地否认模型能编码,以保护我的自尊?我的意思是,它们显然能解决我即使穷尽一生也无法解决的数学问题。那为什么它们不能编程?也许我只是不够优秀的程序员,无法认识到它们的天才。过去六个月我真的努力尝试了。我用代理写了tinygrad的部分代码。我用代理逆向了一个USB<->PCIe芯片。但每次我都怀疑自己手动做会更好更快。代理把所有的进展都前置了,然后给你一个老虎机的拉杆,指望它完成最后的打磨。它永远无法真正达到那个状态。总有人会说“你用错了”。我试过所有不同的模型、不同的框架、不同的提示。不是这个原因。说这种话的人大概也会对老虎机说同样的话:你看,你必须在得到樱桃后下注5条线,难怪你不赢!我并不是说AI没用,它显然有用。对于大多数搜索来说,它绝对是一个更好的谷歌。当你需要快速原型而不关心打磨时,它快得荒谬。但它是软件工程师吗?在我工作过的任何公司都远未达到标准。关键是要知道何时使用它,何时不使用。我更多地思考了自我价值保护的问题。AFL找到的bug比LLMs多,但没有人对此有那种感觉。国际象棋和围棋比以往任何时候都更受欢迎。我简直等不及要有一群我可以信任的机器人副手来清理我的代码了!我不害怕地位丧失,我几乎认为这是一种推销代理的心理战。对损失的恐惧是让大公司行动起来的少数方式之一。但我认为在这种恐惧中他们正在犯一个巨大的错误。代理最终会伤害大型组织,而非高绩效个人或小型组织。过去六个月我观察了朋友和同事如何采用这些工具。你会在所有高绩效者身上发现的一个特质是纠错能力,他们大多能很好地辨别什么是垃圾。需要花一点时间来探索/利用,并调整关于何时使用、何时信任、如何使用的外层循环……但我没有看到他们中的任何一个人转向不仔细阅读和理解每一行的模式,除了一些受限领域。相比之下,大型组织反馈循环慢得多,一致性差得多。底层的执行者没有那种自我检查。他们正是那些用代理产生10倍输出的人。你认为那个组织的平均产出会发生什么变化?世界的平均产出会发生什么变化?代理最终将产生比以往更多的代码、更多的应用、更多的功能。这是一个批量垃圾的黄金时代,也是品质精华的黑暗时代。我听说苹果正在所有工程师中推广AI。当人们抽象思考时,他们认为AI会做所有这些事情,但让我们聚焦一个具体例子。你认为macOS在未来两年会变得更好还是更差?当人们看到一个人工制品时,他们会假设创造它所使用的过程。甚至不假思索,他们假设创造者有一个基本的人类心智状态。这个假设不再成立。事物可以以以前不可能的方式被损坏,而像语法和措辞这样的底层质量的旧代理已无用。AI产生的人工制品并非通过人类相同的过程产生,这种差异在统计上极其微妙,但当你尝试以人类的方式与人工制品交互并在此基础上构建时,它会变得明显。不完全赞同他们的所有观点,我现在站在LeCun/Marcus关于LLM的阵营。我不认为这样的模型能编程,我认为过程很重要。我认为深度学习仍然是解决方案,但真正的编程代理需要世界模型,而不是那种注释掉失败的测试并告诉你所有测试都通过的RLVR垃圾。这个时代真正的故事将是:谁能在AI精神错乱中避免伤害自己。
评论