夜雨聆风学习资料网

ARTICLE · 1292783

AI 时代 ,编程“已死“”,工程没有

AI 时代 ,编程“已死“”,工程没有
这是 Proton(知名隐私科技公司)工程团队的一篇内部宣言,作者 Bart。它罕见地把话说得这么直白:软件工程已经在今年发生了不可逆的变化。一位 Proton 高级工程师的原话是:「我们部门已经没人自己写代码了。」

01 一个时代结束了

对于 Proton 的任何人,尤其是工程团队来说,这都不应该令人意外:即使此前尚未发生,软件工程也已经在今年发生了不可逆转的变化。大语言模型及其配套工具的代码编写能力,已经发展到这样的程度——就像在 20 世纪背电话号码、在 19 世纪骑马一样,手工编写优秀代码这项核心技能所属的时代已经过去了。

总体而言,这是一件好事。编写代码的许多工作过去是、现在仍然是耗时而枯燥的劳动。文档和测试都不可或缺,但很少有人喜欢做,历史上经常被忽视,代价就是沟通不畅、效率低下和可靠性不足。样板代码是软件工程繁重重复劳动的典型代表,而它可能再也不需要人类操心了。如今,模型能够提供建议,提出架构和系统设计方案——这些方案经常不够完善,却能对讨论、决策和学习作出实质性贡献。

在 Proton 之外,AI 革命正在席卷世界。其中有很多浮夸、肤浅的东西,有些宣传只是为了显得有创新性。但其中很大一部分变化是真实的。其他公司——包括竞争对手——现在的投入,将决定未来的商业环境。这不是追赶潮流的问题:我们正在落后,而这已经成为威胁使命能否成功的生存性问题。

那么,为什么感觉这场革命还没有到来?如果大家早已在用大语言模型,为什么生产力没有显著提升?作者认为原因可以归结为三点——而纠正这三点,刻不容缓。

02 你的工作变了:从写代码到管理 AI

你的工作不再是编写代码,大语言模型也不是来帮你更快地写出更好的代码。你的工作是帮助大语言模型更快地写出更好的代码。

每一位工程师如今都是团队负责人、管理者,而你使用的模型和智能体,就是你的直接下属。当然,直接指导它们、在它们出错时纠正它们,也是工作的一部分。

但是,如果一个两人团队总是一起结对编程,那就算不上什么真正的团队;如果负责人一开会,团队就没人干活了,这样的团队同样不行。AI 必须能够自主、持续地工作,并且越来越少地依赖人类看管。

你的工作是识别大语言模型无法独立解决的问题,并帮助它们解决——既要解决这一次的问题,也要让它们下次能解决得更好;既让你自己受益,也让所有人长期受益。具体方式包括:代码仓库级别的上下文文件、共享的技能和提示词,以及养成一种习惯:遇到反复发生的失败,就调查原因并修复。你的工作是拓展大语言模型自主行动的能力边界,接手它无法完成的事情,并始终思考如何改进现状。

这并不意味着专业能力的消亡

大语言模型很快。你很慢,但你拥有长期积累的经验、判断力和理解力。你也应该更不容易产生幻觉,更不容易被错误或恶意输入误导;而且,你必须对自己、同事以及公司负责——这是模型永远无法做到的。你与模型协作,能够比任何一方单独行动做得更多、更快。

这也不意味着良好工程实践的消亡

架构良好的代码库,可维护性更好,开发速度也更快。文档和测试依然至关重要。不过,随着成本和能力发生变化,我们也需要接受最佳实践随之改变。

测试就是一个好例子:过去的最佳实践认为,测试过多——尤其是端到端测试过多——并不划算,因为编写和维护成本很高。如果这些成本变得很低,那么我们确定合理投入范围的标准,也很可能随之变化。

03 三点原因:文化、阶段与集体行动

第一,需要改变工程文化和工程师的思维方式——也就是上一章说的角色转变。第二,我们几乎完全停留在第一阶段:在现有工作流程中,利用大语言模型加快部分任务。但编写代码并不是软件开发生命周期的全部。

当你消除了一个瓶颈,会发生什么?另一个环节就会成为新的瓶颈。

新瓶颈可能是持续集成(CI)的速度和处理能力,也可能是设计、审批、规格说明和代码评审。我们终将走到这样一个阶段:大多数人工代码评审将不再需要。也可能工作流程本身没有大变,但大语言模型让我们终于有能力投入过去因成本过高而无法实施的自动化。如果不从整体上审视所有流程并坚决消除瓶颈,我们就无法充分发挥潜力——很多时候,这需要的不是优化某些环节,而是重新设计、重新思考整个流程。这就是第二阶段,而我们现在就需要进入这个阶段。

第三,是一个集体行动问题。有效使用大语言模型编写代码,是单个工程师可以自行做到的事情;但为整个团队或公司重建持续集成流程,难度大得多,而且涉及机会成本与各种取舍。要改造整个公司,需要组织协调和资源投入——很多时候,我们甚至不知道瓶颈在哪里,因为尚未投入必要的工具去发现它们。作为一个组织,早就应该下定决心,投入这个时代所要求的转型。

04 这对一名工程师意味着什么

你的自主权和责任都扩大了。你不仅需要对工作完成负责,如今也需要对完成工作的方式负责。因此,你有责任持续优化工作方式,尽可能实现自动化,并将这些改进分享给同事。对于那些你无法独立实施、但确实有必要进行的改进,你也有责任指出问题、向上反馈、推动解决。而组织则负责协调资源,推进完成第二阶段所必需的关键建设。

「编程」已死,但工程没有,专业能力也没有。」

你过去的工作已经成为历史。如果抓住这个机会,你作为构建者的新角色,将让你完成比以往更多的事情,产生更大的影响。未来已来——让我们共同塑造它。

一句话总结:AI 带来的效率提升,需要工程师角色、研发流程和组织投入同步转变。个人用 AI 加速写代码只是第一阶段;第二阶段是重新设计整个研发流程,把经验、纠错和自动化沉淀为团队共同的能力。

我是陈小De,热衷于分享 AI 观察与干货。本文译自 Proton 工程团队内部宣言,原文作者 Bart。觉得有收获欢迎点赞、在看、转发,我们下篇见。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料