概念完整性与代码行数统计
Conceptual integrity and counting lines of code
上周Simon与Claire Giordano录制Talking Postgres播客,讨论AI如何改变软件开发。Simon认为代码行数作为生产力指标合理,因工程师每日产出50-200行生产级代码,agent可提升至千行,但认知能力成新限制,故仍需团队分担认知负荷。Claire以温彻斯特神秘屋类比编码agent导致软件概念完整性瓦解,因添加功能成本降低,纪律需靠时间成本维持。
上周,我与Claire Giordano一同录制了一期Talking Postgres播客,主题为“AI如何改变软件开发”。我们的对话非常精彩。以下是我从经过轻微编辑的转录稿中摘录的几个亮点(提示Claude:“仅做微小修改以去除不流畅之处”)。这是我一直在构建的一个论点的最新版本,关于为何有时用代码行数作为编码代理生产力指标确实合理,时间点35:01:很多人会告诉你,用代码行数来衡量生产力毫无意义。我其实不同意,因为存在一个硬性限制。在过去,一名软件工程师每天能产出几百行可投入生产的代码——而200行经过调试、可运行、达到生产级别的代码,已经是极好的一天。大多数日子你只能产出50或60行。如果代理能让你产出上千行调试好的代码,那确实是意义重大的提升——前提是代码质量相同:可维护、经过测试等等。通过代理可以达到这一点,但这需要大量的技能、知识和经验。这正是高级工程师的构成要素。作为单个工程师,我能完成的工作量远超没有代理时。所以你可以争辩,公司为何需要不止一名工程师?除了明显的“bus factor”(团队中关键人员风险)问题——单人团队是设计极差的团队——答案是新的限制因素是认知能力。我能以百倍速度生成代码,但我没有认知能力去管理百倍量的代码。因此你仍然需要一个工程师团队,以便在团队中平衡分配认知负荷。还有这段关于概念完整性的讨论,时间点46:03,Claire将其比作温彻斯特神秘屋!Simon:在《人月神话》中有一个概念——概念完整性——设计良好的软件具有一种完整性:其中没有意外,它恰好覆盖了正确的领域,一切相互契合且合理。有了编码代理,这变得困难得多,你可以对某个功能有个想法,运行一个提示,五分钟后功能就实现了。你的软件会长出奇怪的小突起,朝不同方向蔓延。Claire:你知道我对这个的类比吗?温彻斯特神秘屋。Simon:它有140个房间,因为建造者是发明温彻斯特步枪者的遗孀,她的通灵师告诉她,除非她永远继续建造房子,否则会被那把步枪杀死的人的鬼魂纠缠。所以40年来她不断增建新房间。这正是编码代理和软件的问题:很容易不断添加新房间,因为添加这些房间的成本低得多。最终得到的是概念完整性瓦解的东西——然后做决策就变得更难。这一切都归结于纪律。过去,纪律是由所需时间强加给你的。你想到一个疯狂功能的主意,会想“是的,但那要花我一周时间——我无法合理化这个,所以算了。”如果只需一小时,就更容易合理化。(附注:维基百科文章包含可信来源,对通灵师的故事提出质疑。)标签:ai, generative-ai, llms, podcast-appearances, coding-agents