我们正处在一个软件开发范式深刻变革的时代,传统的编码方式正在被重塑。来自谷歌 Chrome 工程领导者 Addy Osmani 为我们提供了在 AI 时代下有效工作的实用策略。目标是帮助开发者理解自身角色的演变,并学习如何更高效、更明智地利用 AI 工具,将它们从一个充满魔力的黑盒,转变为一个可靠的工程伙伴。

他提出:AI 工具对经验丰富的开发者助益更大,而非初学者。这迫使我们重新评估企业应如何培养和利用其工程人才。
Osmani 将 AI 描述为“一个热情满满但需要时刻监督和纠正的初级开发者”。这个类比一针见血地指出了关键差异:高级开发者利用 AI 来加速他们已经熟知的工作,比如快速生成样板代码或探索已知问题的替代方案。而初学者则试图用它来学习未知的东西,这往往会导致他们接受错误或过时的解决方案,构建出自己无法理解和维护的脆弱系统。
关于 AI 工具,我发现的最反直觉的一点是:它们对经验丰富的开发者的帮助比对初学者更大。这似乎是反常的——难道 AI 不应该让编程大众化吗?
这一观点强调了在 AI 时代,深厚的经验、专业的判断力和系统的思维依然是不可替代的核心价值。仅仅学会如何“提示”AI 是远远不够的,真正的价值在于能够指导、审查并最终驾驭 AI 的强大能力。
他提出了一个名为“70% 问题”的概念,它精准地描述了当前 AI 编程的现实。AI 能出色地完成大约 70% 的编程任务,但这背后隐藏着一个关键的区分,他将其与软件工程领域的经典概念联系起来:Fred Brooks 提出的“偶然复杂性”与“本质复杂性”。
AI 在解决“偶然复杂性”(如编写样板代码、生成常规函数、处理重复性任务)方面表现卓越。然而,真正的挑战在于那充满陷阱的最后 30%,也就是软件工程的“本质复杂性”——问题本身固有的、无法消除的难度。这部分工作包括处理棘手的边缘案例、优化系统架构、确保长期可维护性,这些都需要资深的人类专业知识来驾驭。
他引用了 Peter Yang 的一段深刻观察,精准地描述了这种体验:
AI 能帮你完成 70%,但最后那 30% 却令人沮丧。它不断地前进一步,又因为新的 bug 和问题而倒退两步。
仅仅依赖 AI 完成前 70% 的工作,后果可能是灾难性的。他提到了两种常见的反面模式:“纸牌屋代码”(house of cards code) 和“倒退两步”(two steps back)。前者指代码表面看起来完整,但内部结构脆弱,一压就垮;后者则描述了开发者在修复 AI 引入的一个 bug 时,又会引发两个新问题的恶性循环。这提醒我们,AI 提供的速度必须与人类处理本质复杂性的严谨相结合。
为了更有效地利用 AI,Osmani 定义了两种截然不同的协作模式,它们位于一个光谱的两端:“氛围编程”(Vibe Coding) 和“AI 辅助工程”(AI-Assisted Engineering)。
他用了一个生动的比喻来区分两者:
把氛围编程想象成一辆高速的探索车:它能迅速带你偏离常规路线,非常适合探索发现。而 AI 辅助工程则更像一辆在轨道上运行的可靠火车:你必须先铺设好铁轨(制定计划),但它更安全,也更有可能在不脱轨的情况下到达明确的目的地。
成功的 AI 时代开发者需要掌握在这两种模式之间灵活切换的能力。他通过敏锐的观察指出,随着开发者对 AI 工具经验的积累,他们的使用方式往往会自然地从“氛围编程”端向“AI 辅助工程”端迁移。这揭示了一个成熟的战略路径:根据任务性质选择最合适的工作模式,无论是构建一个一次性的演示原型,还是开发一个需要长期维护的核心功能。
随着 AI 承担了越来越多的编码“重活”,开发者的角色正在发生根本性的转变——从埋头苦干的“代码工匠”,演变为高瞻远瞩的“产品远见者和协调者”。
他引用了资深工程师 Steve Yegge 的观点,预测未来的团队可能只需要那些能够完成两件事的高级工程师:“(a) 描述待办任务,即创建提示;以及 (b) 审查最终工作以确保准确性和正确性。”这本质上就是架构师和总编辑的角色。
这种角色的演变,要求开发者将重心从“编写代码”转向“确保代码质量”。正如他所强调的:
人类元素仍然是关键所在。我们确保架构的合理性,调试棘手的 bug,并从‘能运行’之外的维度评判代码质量。
这一转变意味着,那些无法被自动化的“软技能”变得前所未有的重要。人类的创造力、系统思维、对用户需求的同理心以及做出权衡的判断力,成为了新的核心竞争力。开发者的核心工作将更多地围绕着定义问题、设计蓝图、指导 AI 执行,并最终审查和整合 AI 的产出,确保最终交付的不仅仅是“能运行”的代码,更是“能为用户创造价值”的优质产品。
Addy Osmani 传递了一个统一的战略框架:AI 不是要取代开发者,而是要成为一个强大的“力量倍增器”。这些见解环环相扣,共同描绘了 AI 时代开发者的进化路径。
“知识悖论”揭示了为何经验丰富的开发者能更好地驾驭 AI,这直接解释了“70% 问题”的根源——正是人类的深厚经验才能填补那最后 30% 的“本质复杂性”。为了有效应对这一挑战,开发者必须学会在“氛围编程”与“AI 辅助工程”的光谱之间灵活切换,根据任务选择正确的工具和心态。最终,成功驾驭这一光谱的开发者,将自然而然地演变为未来的“架构师”与“总编辑”,专注于更具创造性和战略性的任务。
人类的判断力、严谨的工程纪律以及对卓越产品质量的不懈追求,在 AI 时代依然是创造伟大软件的基石,甚至比以往任何时候都更加重要。
当 AI 越来越多地处理“如何做”(how) 的问题时,你将如何重新定义自己在决定“做什么”(what) 和“为什么做”(why) 上的价值?
合集推荐
原子设计 | 如何展示设计系统的成功 | 规模化设计 | 奠定基础 | 设计系统文档化报告 | 构建设计体系 | 富有表现力的设计体系 | 设计体系 | AI时代的设计系统 | Figma设计系统入门 | 掌握设计系统 | 设计令牌宝典 | 设计运营白皮书 | Web组件 | 设计系统的前端架构 | 用户体验写作 | 大数据大设计 | 设计系统手册 | UX设计师的AI应用指南 | 构建对齐的设计系统 | 医疗保健中的计算机视觉 | 搬运 | 视频推荐 | 笔记