概念完整性与代码行数
原文由 Simon Willison 于 发布,订阅该博客
上周我与 Claire Giordano 一起录制了一期 Talking Postgres 播客节目,主题是“AI 如何改变软件开发”。我们进行了一次非常精彩的对话。下面是从经过轻微编辑的文字稿中摘选的几个亮点(给 Claude 的提示词是:“只做极细微的编辑,去掉不流畅之处”)。
以下这段是在 35:01 处,关于为什么有时候用代码行数来衡量编码智能体的生产力确实有意义的论述的最新版本:
很多人会告诉你,用代码行数来衡量生产力毫无意义。我倒不这么认为,因为这里存在一个硬性上限。在以前,一名软件工程师一天能产出几百行可直接上线的代码——而一天能写出 200 行可运行、经过调试、达到生产级别的代码,就已经是非常高效的一天了。大多数时候,一天也就写 50、60 行。
如果智能体能让你产出一千行经过调试的代码,那确实是非常显著的提升——前提是代码质量保持不变:可维护、经过测试等等。你可以用智能体做到这一点,但这需要大量的技巧、知识和经验。这正是资深工程师的价值所在。
有了智能体的帮助,作为一名工程师,我能完成的工作量远超以往。所以你可能会问,那公司为什么还需要不止一名工程师呢?除了显而易见的“巴士因子”问题——一人团队本身就是设计糟糕的团队——答案在于,新的瓶颈变成了认知能力。我生成代码的速度可以快上一百倍,但我的认知能力无法跟上百倍代码量的掌控需求。所以你仍然需要一个工程师团队,以便在团队中分摊这种认知负担。
而在 46:03 处关于概念完整性的这段讨论,Claire 将其比作了温彻斯特神秘屋!
Simon:在《人月神话》中有一个概念——概念完整性——指的是设计良好的软件具有一种完整性:其中没有意外,它恰好覆盖了正确的领域,所有部分都能融为一体、合乎逻辑。而有了编码智能体,要做到这一点就难得多,你可能只是有了一个功能的点子,跑一下提示词,五分钟后功能就实现了。你的软件就会朝着各种奇怪的方向长出一个个突兀的小鼓包。
Claire:你知道我对这个现象的类比是什么吗?温彻斯特神秘屋。
Simon:它有 140 个房间,因为建造它的女人是发明温彻斯特步枪的那个人的遗孀,她的灵媒告诉她,除非她永远不停地建房,否则就会被所有死于这种步枪的人的鬼魂缠身。于是她在 40 年里不断加建新房间。这正是编码智能体在软件开发中带来的问题:不断添加新房间变得非常容易,因为加建的成本便宜了太多。最终得到的东西,其概念完整性就会土崩瓦解——之后再做决策也就变得更加困难。
归根结底,这一切都回到了自律。过去,这种自律是由所需的时间强加给你的。你冒出一个疯狂功能的点子,会想“嗯,但那得花我一周时间——根本不值得,还是算了吧。”如果只需要一小时,要为它找到理由就容易多了。
(补充说明:维基百科词条中包含了一些可靠来源,对灵媒的这个故事提出了质疑。)
随机一篇博客
评论
登录后参与讨论