Addy Osmani 深度反思指出,AI 自动化时代程序员的核心竞争力是那些没有标准答案的创新工作,而非可被轻易自动化的例行任务。
AI 擅长任何有标准答案的事物。你的职业是所有没有答案的东西。
如果 AI 层变得擅长任何事物,那就是任何有标准答案的事物。学校曾经完全就是标准答案。学校是成功的终极锚定,因为它完全是关于找到正确答案。在 AI 时代,使工作持久且无法评分的东西不是更好地解决问题。不是能够构建系统,或理解人,或做出新的酷东西。而是选择要构建什么以及判断它是否好。其他一切都将由 AI 做得更好更快。
我在 16 岁时在爱尔兰乡村开始从事工程工作,那时我在构建一个浏览器。我在 Google 工作了 14 年多,期间领导了从事 Chrome、Gemini 和 Cloud AI 工作的工程团队,并著有多本 O'Reilly 书籍。当合适度不够时,我拒绝了来自前沿实验室和 FAANG 公司的多个 offer。好的人总是被需要的,所以我们每个人都有义务尽我们最大的努力,做出最好的东西。
大多数职业建议仍然成立。上正确的火箭,不要过度优化你的座位。由于 agent 编程,细节有所改变,但以下是我希望现在有志向的工程师知道的。
优化稀缺资源。 我因之而出名的几乎所有东西都不是来自追求最高薪资。我在开源中花费的那些年几乎没有任何直接回报。但它们导致了声誉和人脉关系,这些非常有效地复利成为了后来的机遇。我会花掉我从任何单个工作中获得的薪酬。但我的声誉一直在为我付出。
很多资源是充裕的。资本是充裕的。时间是充裕的。真实的关系,尤其是做好工作的历史记录,仍然是稀缺的。我可以在几周内募集资金,但我无法募集声誉。所以这是计划:做好工作,确保喜欢好工作的人看到它。在一个 vibe 编程使快速赚钱变得微不足道的世界里,我认为那快速赚钱的价值很低。当发货东西这么容易时,稀缺的举动是选择值得发货的东西。
学会找问题,而不仅仅是解决问题。 我第一次感受到选择而非解决的负担时,LeetCode 似乎是衡量技能的标准。但当 agent 吸收了所有这些工作时,解决问题变得便宜了,而选择问题成了稀缺的。我的起源故事:我注意到拨号网络很慢,创建了分块多连接获取,意识到我这辈子都解决不了那个问题,然后迅速转向任何我能找到的令人着迷的复杂问题。找问题早于解决问题。
我看过一些非常聪慧的学生在 agent 运行他们的问题集时(就像看微波炉上错误的数字一样)完全失败了。相同的 agent。相同的问题集。完全不同的 token 和时间预算。为什么?因为最终,强势的人会给工作带来判断力和直觉;其他人只是带来一个 prompt。
我过去通过研磨样板代码和修复 bug 来建立判断力。我看到了并深深感受到了人类能想到的最坏的抽象。我以刚刚看到了前人的热梦般的敬畏来对待每一次提交。每一次提交都带来了后见之明和判断力。Agent 自动化了那些重复。品味是模式匹配,但所有那些模式匹配都必须通过做工作来获得。
真正的风险不是 agent 写坏代码。我们以前经历过。真正的风险是失去辨别的能力。判断力会萎缩。输出看起来很像工作的代码。
好的实践者不会把 agent 放在一切面前。他们从事刻意练习。选择真正重要的几个问题。以困难的方式做它们,不用 agent,建立关于系统和语言如何工作的深层心理模型。读一千倍于你写的代码。像对待人工评审一样对待 agent 的每一个 diff,你需要仔细证明它。从头到尾深入至少一个系统,从输入到输出。每天,保持一个私人日志,记录每一次你看到 agent 建议看起来不对的东西并自信地标记它。那是品味积累的地方。
真正蓬勃发展的工程师不会是获得建议最快的人。他们是那些知道何时立即说不的人。
从做转向指挥。 就像你会委派给一个人一样,你需要学会委派给一个 agent。范围化任务,定义完成,校准信任,验证结果。
自主权是一个设置,不是一个等级;它是一个每任务的开关。在小的、可逆的和便宜的检查上将其打到最大。在任何错误会难以撤销的东西上将其关闭。
规范和验证是两个不同的、互补的技能。agent 不如你交给它的意图好。最好的工程师是那些知道如何编写精确规范的人;清晰的思想变成了可读的。
这是验证,不是证据。不是 agent 自己给自己作业评分形式的证据。大规模不进行验证的委派没有什么更令人沮丧的了。
对你发货的东西负责。 如果 agent 写了它并且它在生产中坏了,"AI 做的"不是辩护。你的名字在改动上。采用一个负责任的人的姿态,他理解什么东西出了门,以及如何修复它。
问题的最雄心勃勃的版本。 Rich Sutton 的苦涩教训:在几乎所有领域,随着额外计算而扩展的通用方法都会打败手工调整的等价物。作为职业教训,解决问题的简单版本没有意义,价值几乎为零。价值最终集中在困难的版本。
冲刺最后一英里。 没有一个交钥匙的 agent 从头到尾写出整个系统。通常,你会从 agent 快速获得一个功能的 70%,而最后 30%——调试棘手的边界情况,找出正确的架构,培养正确的品味——将是整个游戏。今天的中位输出是 agent 从某个懒惰的 prompt 产生的任何东西。你唯一能带到桌上的个人价值是尽可能远地超越那个中位数。当第一稿是免费的时,完成是产品。要冲刺最后一英里,这是我的战术:每几个月,我使用最新的、剑锋的模型从零开始完全重建。这比护理半心半意的旧代码恢复到健康要少累。
我作为软件工程师的工作一直是以强势完成。在强势完成和可以完成之间的区别是润色:花费额外的一小时,这对每个重要的人来说都是立即显而易见的。
增加你的 xG 和你的完成度。
如果足球有股票代码,那将是 xG。xG 衡量你的比赛应该产生的机会数量。完成度衡量你是否转化了它们。你无法计划你获得的机会数量,但你可以希望你的比赛产生足够的机会,而且在你的职业生涯中你可以变得更好地完成它们。
职业也是如此:你的声誉让你站在球门前,你用好判断力来转化它们。无论你是否准备好,机会都会到来;你获得了多少,以及你完成了哪些,取决于你。我唯一有过的大机会都是作为我在公开场合做过的工作的结果,从来不是我申请的工作。你无法计划哪些机会到来,只能计划你是否准备好迎接它们。你必须尽可能地创造开场,然后准备好接住它。
一个容易犯的错误是锚定在你公司现在拥有的任何产品上。确实,你的工作必须存在于某个地方,但一个好的团队会迅速将他们现有的产品变成无法识别的东西。所以赌团队和市场机遇,而不是演示。它只是一个快照。团队是轨迹。关于超级智能:我相信未来的模型最终可能会取代我们作为知识工作者所做的大部分工作。它不会一夜之间抹去它,不会替换所有它,也无法做我们做的许多任务。新种类的工作将被创造出来。验证将永远是一个瓶颈。有人必须做出关于哪些问题值得解决的决定,并为每一个分配正确数量的判断力,那个人可以是你。
但重要的是,你现在可以从你现在的地方做前沿工作。通向 AI 研究的大门比看起来要小,你不需要实验室来建立直觉。只是努力使用模型,并把你注意到的东西变成评估。Evals 和 benchmarks 是理解所在之处。
总结一下:世界不缺乏机遇;它缺乏能够找到正确问题、判断机器是否解决了它,以及完成超过机器停止之处的人。
我们有时候谈论"最后一英里"是最大的难题。但在 agent 的世界里,最后几英尺是无限的(agent 无限扩展输出;你不能)。你的注意力是你最宝贵的资产,它不会重新填充。你无法承受不保护它。任何可以被其他人评分的东西都在被自动化。职业是无法评分的部分:选择什么重要,诚实地判断你什么时候有了它,并为它负责。做那个。在公开场合。靠近困难的问题。其他的往往会跟上。
这篇文章是由 Phil Chen 的原创衍生而来的,值得完整阅读。