跳转到内容

AI 工程师的工作,正在从实现规格转向塑造构建

读 Andrew Ng 的这条 X 帖,我先想到的是责任边界:谁愿意在规格之外做决定,谁才真正参与了 AI 工程。

“工程师要学会产品思维”这句话已经听过很多次了。Andrew Ng 这次写得更具体:当 agent 可以把清楚的要求较快地变成可运行的东西,工程师的交付边界就不会停在代码合并那一刻。下一步为什么做、谁来验证、什么时候该停,这些问题会回到工程工作里。

Andrew Ng 把这种能力称为 Shaping the build。它是 AI Engineering Skills Map 总览中的一个方向,下面又分成推动构建循环、做出产品决策、沟通与领导、高主动性责任担当。这个说法有吸引力,也有一个容易被忽略的限定:每个开发者无需改行做 PM,但得对规格没有写出的部分保持判断力。

原帖配的技能地图把这层关系画得很直白:AI Engineering 下面同时放着应用构建、软件基础、coding agents 和塑造构建过程。对我来说,这张图更像一张责任地图。工具接手的实现越多,就越需要有人把目标、约束和证据摆到桌面上。

AI 工程师从规格之外走向结果责任的五段责任链信息图

过去,PM 和设计师定义要做什么,开发者负责把它实现出来。这种分工并不天然低效,它至少让协作边界清楚:产品判断归谁,技术实现归谁,项目进度由谁推动。

变化先出现在实现这一侧。AI 工具让一个开发者可以更快地探索方案、搭出原型、修改多个部分,于是“我只是照规格做的”越来越难以覆盖真实工作。规格总会留下空白:哪个用户场景优先,失败时要不要降级,功能做到什么程度才值得上线,某个技术风险是否应该先用实验确认。对这些空白不表态,本身也是一种选择。

原帖中的 AI Engineering 技能地图(来源图)

我把 Shaping the build 理解成另一件事:规格从一份交接文件,变成了团队共同维护的假设。工程师离问题足够近,应该能指出规格里的技术盲区,也应该能把技术上的可行与不可行,翻译成产品和组织能够使用的判断。

这也解释了为什么 Andrew Ng 在另一篇关于软件工程基础的文章里强调,原来较专门的前端或移动开发者可以借助 agent 承担更广的 full-stack 工作,但仍然需要理解全栈如何运行。范围变大以后,判断依然得有人做。如果连数据、架构、安全、可靠性和生产运维的取舍都看不见,agent 只是替你更快地做决定。

四项能力都在回答:下一步谁负责

Section titled “四项能力都在回答:下一步谁负责”

原帖列出的四项能力乍看像一份岗位说明。我读下来,它们更像同一条责任链:先决定下一步,再让别人理解这一步,最后承受它带来的结果。

推动构建循环,重点不在让项目一直动,而在知道下一次行动要获取什么信息。可以先做一个原型验证技术概念,也可以拿一个足够小的版本去接触用户;有时应当继续加功能,有时应当停下来做技术实验。速度的价值,是更早拿到能改变判断的证据。

我之前写过的《Agent Engineering 的真门槛:把失败变成资产》也谈到这件事:Agent 工程化的对象,最后落在团队的学习回路上。放到这里,证据的标准就不只是“看起来跑通了”,而是能否留下可复现的失败、明确的 pass/fail 判断,以及下一轮回归的依据。

接着是产品决策。产品规格没有覆盖的地方,不能自动交给“以后再说”。用户需要、交互是否容易理解、商业上是否值得、技术风险是否可接受,都会影响取舍。工程师不必拥有 PM 的完整职责,但需要具备足够的产品感,知道自己正在替用户和组织决定什么。

再往外走,就是沟通与领导。AI Engineering 的范围一旦扩大,工程师面对的就不只是代码库,还包括产品、设计、营销、财务和法务等使用不同语言的利益相关者。一个方案能不能做,不能只停留在工程会议里;工程师需要解释它为什么可行、哪里有风险、哪些前提必须先确认。

我在《Anthropic 这篇 skills 文章,真正写的是组织接口》里写过,验证、配置和历史经验一旦都能被调用,沟通就不只是在会议上把方案讲清楚,还得把判断依据和边界留给下一次协作。

最后是高主动性责任担当。它把前面的工作串起来:发现问题,提出方案,推进执行,在含糊和挫折里继续往前推,并用创造的价值衡量工作。“完成任务”只是过程证据,还不能代表结果。

“High-agency ownership” 很容易被读成个人英雄主义:没有人安排,就自己多做一点;看到别的团队卡住,就直接替他们决定。这样的主动性并不可靠,还可能制造新的风险。

我会先看它有没有边界。

主动行动必须放在组织的优先级和约束里。Andrew Ng 原文特意把这两点放在一起:尊重边界,同时不等待一份精确到每个动作的自上而下指令。没有边界会变成越权,永远等命令又无法发挥 AI 工具带来的速度。

《循环交出控制权之后:读 ByteByteGo《The Agent Loop》》让我想到同一个转折:把循环控制权交给模型以后,工程工作没有消失,只是换了位置,要在模型周围重新建立可控性。本文所说的目标、证据、权限和回退,正是这圈可控性的几部分。

高主动性中的目标、证据、权限与回退边界

行动还要带着可检查的假设。不要只说“我先把它做出来看看”,要说清楚这一步要验证什么、什么结果会让我们换方向。这样 agent 生成的代码、原型或实验才是决策材料。最后还得留出停止和回退的位置:哪些状态不能被随意改动,哪些风险必须由人确认,什么反馈足以推翻当前方案。

越容易生成的东西,越需要把判断、权限和责任分开写清楚。AI 工程师的成熟度不在于能否让 agent 自主运行,而在于自主行动有没有随时回到证据上的路径。方向和后果仍然要有人认领。

广度扩大之后,深度该放在哪里

Section titled “广度扩大之后,深度该放在哪里”

我赞同“工程师会参与更多职能”这个方向,但专业分工不会因此消失。

DeepLearning.AI 关于 AI-native 软件开发与 generalist 的文章,确实把工程师参与产品、设计和营销作为团队变化的一部分;它讨论的是跨职能理解如何减少协作摩擦,职责仍然不会被某一个人全包。相关材料也提醒,团队规模和任务性质会改变这套分工的合理性。

我更愿意把新的工程能力看成“有深度锚点的广度”。一个人可以保留自己最强的技术领域,同时理解产品、用户、数据、上线和组织协作的基本语言。这样做是为了减少那些必须经过多轮转译才能推进的决定;人仍然可以保留自己的深度,不必成为万能选手。

这也是 GenAI application engineers 的相关讨论里产品和设计直觉值得被单独提出来的原因:会调用模型、会使用 coding agent,只说明你拥有一些构建零件;能否把零件拼成值得使用的东西,还要看你是否理解目标和场景。

广度意味着能在关键节点跨过边界去理解问题。深度则意味着有足够可靠的判断,知道哪些地方可以借助 agent,哪些地方必须亲自看懂。

我会怎样判断一个人是否在塑造构建

Section titled “我会怎样判断一个人是否在塑造构建”

如果要把这条帖落到工作标准上,我会观察四件事。

我会先看他怎么开始:能不能把模糊目标转成一个值得验证的下一步,而不是直接开始堆功能。

接着看他怎么解释取舍:一个技术选择会影响哪些用户、成本、风险或协作关系,他能不能说清楚。

再看他怎么使用 agent:是否给出明确权限和检查条件,证据不支持原方向时能否及时回退。

最后看交付之后。他是否继续对结果负责,而不是把任务关闭当作工作的终点。

这四件事比“掌握了多少工具”更接近 Shaping the build 的含义。工具会变化,模型会变化,工作流也会变化。持续学习当然必要,目的在于提高下一次判断的质量。

Andrew Ng 说,AI Engineering 让人拥有更大的工作范围和更多决策权。我愿意接受这个判断,同时保留一个前提:范围扩张必须伴随证据、沟通和责任的扩张。否则,所谓更大的自主权,只是把更多模糊和风险推给同一个人。

AI 工程师的变化,最终会落在工作方式上:工程师要能把问题、方案、约束、反馈和结果连接起来。实现可以交给工具协助完成,为什么实现、如何验证以及何时承担后果,依然需要有人处理。