AI 越能干,为什么你越不能只等需求?

0 阅读13分钟

AI 越能干,为什么你越不能只等需求?

按钮做出来了,事情解决了吗?

功能完成,不等于问题解决 编者依据本文整理的示意图,非吴恩达原图。

设想一个工作场景。同事找到你,说每周整理报表太麻烦,能不能在系统里加一个导出按钮。你把需求交给 Coding Agent,完成开发、验证,按钮很快上线了。

过了几天,你问他好不好用。他说挺好,但每到周五,还是得花不少时间处理那些表格。你坐下来一看,才发现真正费劲的不是导出,而是把几个系统的数据拼到一起,再逐项核对。

按钮没有做错,需求也确实完成了。只是那件让人头疼的事,仍然留在那里。这个假设场景揭示的,是一个越来越值得工程师认真对待的问题:当实现需求越来越快,我们是否也更需要弄清楚,需求背后到底是什么?

这次,吴恩达把问题往前推了一步

Andrew Ng(吴恩达)在新一篇《AI Engineering Skills Map: Shaping the build》中提出:熟练掌握 AI Engineering 的人,最出色的工作不会只是实现别人写好的产品规格,还会主动参与,推动产品成形。

他谈到四项能力:推动构建与反馈循环、做出产品决策、沟通与引领,以及主动担当。原文也明确说,开发者不必成为产品经理,但需要对需求说明没有覆盖的部分做出决定。

如果把上一篇 Using coding agents 的问题理解为“怎样引导 Agent 把事情做好”,这一篇就把视线移到了更前面:接下来应该做哪件事?为什么是它?做完之后,怎样知道它真的有用?

我们的理解是:AI 扩大了工程师的实现能力,也让工程师更有机会参与定义问题,而不只是接收答案。

这不是吴恩达原文的逐句翻译。接下来,我们从日常工作的角度,讨论这个变化意味着什么。

从功能验收到实际效果:还差哪一步?

对开发者来说,最容易观察的证据是代码合并、测试通过、部署成功。这些证据很重要,但它们回答的主要是“实现有没有按预期工作”,不能单独证明“用户的问题已经减轻”。

下面的对照是本文对报表场景的分析,不是吴恩达原文中的表格。

观察角度功能验收关注什么实际效果还要确认什么
导出能力按钮可用,文件格式和字段正确导出后还有多少手工整理与核对
自动核对规则能识别已知样例中的差异提示是否有用,是否漏掉重要异常
使用流程页面操作顺畅,没有阻断性错误用户是否仍需在几个系统之间重复搬运数据
上线结果部署成功,运行状态正常实际使用后,耗时、差错和确认负担怎样变化

两列不是二选一。没有可靠实现,谈不上改善工作;但只完成左边,也可能留下开头那个“按钮很好用,事情还是很麻烦”的结果。

需求里,常常藏着一个已经选好的答案

“加一个导出按钮”,听上去是一个需求,实际上已经包含了一种解决方案。提出它的人可能很清楚自己的困扰,却不一定知道系统还能提供哪些更省事的办法。

如果工程师只能看到任务单,就容易把按钮本身当作终点。可如果多问一句“你导出之后还要做什么”,就有机会发现:对方需要的也许是一张汇总表、一份差异清单,或者只是统一一下几个部门的数据口径。

这并不意味着用户不懂自己,也不是技术人员应该替别人做决定。恰恰相反,你要更认真地理解对方实际怎样工作,才不会用自己觉得漂亮的方案,替换掉真实需要。

需求文档很重要,但它很难提前装下每一个使用细节。过去,工程师常常在实现过程中补齐这些细节;当实现节奏变快,频繁停下来等待逐项指示,就可能成为新的阻力。

值得培养的能力,是分清哪些小选择可以在已有目标下自行处理,哪些变化涉及业务规则、成本或风险,需要及时与相关人确认。主动,不是所有事情都自己决定,而是知道什么时候应该带着判断去沟通。

spec 没写清楚时,哪些可以自己补?

不是每个空白都值得开一次会,也不是每个空白都可以交给 Agent 自由发挥。一个实用的判断方法,是看这个选择有没有改变已经约定的目标、业务含义和风险边界。

  • 已有规范能回答的细节:例如沿用项目现有的按钮样式、错误提示方式和日期展示格式,可以在既定范围内处理,并正常验证。
  • 会改变业务含义的选择:例如两个系统的金额不一致时以谁为准、怎样处理重复记录,需要与业务负责人确认,不能仅凭技术便利决定。
  • 涉及权限和影响范围的变化:例如跨系统读取数据、扩大可见人群、自动修改生产记录,需要相应授权,不能把原来的“增加导出按钮”理解为批准了这些动作。

给 Coding Agent 的说明也可以把这三类信息分开:已经确定的规则、允许自行选择的实现细节、必须停下来确认的问题。这样做不是为了把文档写得更厚,而是减少它在关键位置猜错的机会。

做得更快,也可能更快地偏离问题

回到报表的例子。发现同事还在手工核对之后,你可能马上想到:干脆做一个完整的数据平台,把导入、清洗、核对、展示都包起来。AI 能帮忙实现,这个念头会显得很有吸引力。

但新方案越丰富,越容易把“我们能做什么”误当成“现在应该做什么”。也许只有两类字段需要核对,也许某些数据不能跨系统流转,也许相关部门根本还没有统一统计口径。

吴恩达在原文中强调 build loop:做一些东西,获得反馈,再决定下一步。他提到快速原型、小批量交付,也提到技术可行性、风险、投入与预算。这些条件并没有因为 AI 会写代码而消失。

在我们的假设场景里,一个更小的下一步,可能是先拿一份获准使用的样例,做出差异清单,让同事判断它是否抓住了真正费时间的地方。数据若涉及敏感信息,还应先确认处理权限,必要时使用脱敏或模拟数据。

实现变快之后,值得加快的不只是交付功能,还有发现自己想错了的速度。

小步尝试的价值,不是让产品永远停在半成品,而是把尚不确定的判断尽早拿出来验证。发现方向不对时,能够少走一些路;确认确实有用之后,再决定值得投入到什么程度。

把“做个平台”缩成一次可验证的尝试

加快发现想错了,而不只是加快开发 编者依据本文整理的示意图,非吴恩达原图。

沿着报表场景,可以把下一轮工作拆成下面五步。这是本文提出的实践方法,不是原文规定的标准流程。

  1. 先看一遍真实操作。 请使用者演示从导出到交付报表的过程,记录哪里重复、哪里需要判断。先确认最麻烦的环节,不预设一定要增加自动化。
  2. 只选一个待验证的判断。 例如:“先列出两张表中的金额差异,是否能减少人工逐行查找?”暂时不承诺自动完成所有核对。
  3. 明确样例和边界。 使用获准的数据;必要时脱敏或使用模拟数据。约定字段含义,只读处理,不自动回写生产系统。
  4. 请 Agent 实现并检查。 用已知结果的样例验证一致、不一致、缺失记录等情况;把不确定的匹配显式列出,保留人工确认,而不是让程序悄悄猜一个答案。
  5. 让使用者试,再决定下一步。 看差异清单是否容易理解、是否增加了无效提示、是否真的减少操作。有效才讨论扩大范围;无效就调整假设,或停止这条尝试。

模拟数据可以帮助验证逻辑,却不能直接证明真实业务有效。获准的小范围试用同样不等于已经具备全面上线条件:数据量、异常覆盖、访问控制和后续维护,仍要随投入规模逐步确认。

这条路线的重点,是把“我觉得它会有用”变成一个可以观察、也可以被否定的判断。Agent 负责加快实现,人和实际反馈一起决定是否值得继续。

经验更值钱,但不是因为你见过更多旧做法

对有经验的工程师来说,这种变化确实可能带来更大的发挥空间。你见过需求怎样走样,知道某个看似简单的字段背后可能有几套业务口径,也经历过功能上线后没人愿意用的尴尬。

这些经验能帮助你更早地提出有用的问题:这一步为什么由人工确认?异常由谁处理?原来的做法虽然慢,是不是也承担了某种检查责任?当工具让改动更容易时,这些问题依然决定改动有没有意义。

不过,资深并不自动等于判断正确。经验既可能帮助你识别风险,也可能让你太快地说“这个以前试过,不行”。技术条件变了,用户习惯也可能变了,过去的结论需要重新接受检验。

因此,更有价值的不是“我做了很多年,所以听我的”,而是“我知道该验证哪些假设,也愿意在证据变化时调整自己的判断”。资历提供材料,理解用户、识别约束和根据反馈修正方向,才把材料变成能力。

懂技术的人,也要把话说到别人能接住

如果你发现自动核对比新增按钮更有效,接下来往往不是继续写代码,而是与几类人把事情说清楚。使用者关心是否真的少了重复劳动,业务负责人关心口径是否正确,管理者关心投入和影响,相关职能部门还可能关心数据与合规边界。

同一项改动,每个人看到的都不一样。你只说“Agent 很快就能实现”,并不能回答这些问题,因为实现速度只是整件事的一部分。

有效的沟通,可以从非常具体的话开始:“我们先只处理这一类差异,其他情况仍然人工确认;先在获准的小范围内验证,确认没有增加错误,再讨论扩大使用。”这比一口气展示很多功能,更容易让别人判断能否一起往前走。

吴恩达把 Communicating and leading 列为关键能力,是因为技术能力让人能够参与更广泛的工作,而更广的参与需要更多协调。它不必表现为管理头衔,也可以表现为:把技术上的可能性说清楚,把别人的担忧带回方案,让分歧变成可以讨论的选择。

主动担当,不是把所有责任揽到身上

主动担当,需要清楚的边界与支持 编者依据本文整理的示意图,非吴恩达原图。

High-agency ownership 很容易被读成一种新的职场要求:既然 AI 帮你写代码了,产品、设计、业务和交付就都该你负责。这样的理解,会把能力拓展变成没有边界的加码。

但原文保留了一个重要条件:尊重组织的优先事项与约束。主动发现问题、提出建议,与绕过负责人、擅自改变生产系统,是两回事。

你可以先把看到的问题讲清楚,提出一个投入有限、可回退的尝试,说明需要谁参与、哪些地方需要批准。拿到相应授权后,再把事情推进下去。你不必等到每一个细节都有人安排,也不必假装自己拥有所有专业知识。

相应地,如果组织期待工程师承担更广的结果,也应给予相匹配的权限、资源和协作支持。一个人无法控制所有条件,却被要求为所有结果负责,并不是健康的 ownership。这是我们对管理边界的补充,不是原文的直接论断。

下次接到需求,可以多问哪一步?

改变不一定要从重做整个工作方式开始。下一次接到一个小需求,可以先多了解一点:对方在什么情况下用它,前后还要做什么,最困扰他的环节在哪里。

然后与相关人约定一个能观察的结果。报表场景里,可以看核对耗时是否减少、差错是否更容易发现、人工确认负担有没有增加。这里不需要凭空承诺一个提升比例,先弄清楚现状,再用实际反馈判断。

  • 做之前:确认要改善谁的什么问题。
  • 推进时:选择能验证关键假设的小步尝试。
  • 做完后:回到使用现场,看看问题有没有减轻。

如果反馈表明导出按钮已经足够,就没有必要为了展示 AI 能力再造一个平台。如果确实需要更完整的方案,再把投入、分工与边界一起谈清楚。

AI 让我们更容易把想法变成东西。但想法从哪里来,先验证什么,谁愿意使用,出现问题时怎样调整,仍然需要人在真实处境里做判断。

更值得争取的成长,不是接下更多任务,而是逐渐有能力回答:这件事为什么值得做,我们怎样一起把它做成。

来源与事实边界

Andrew Ng(吴恩达):AI Engineering Skills Map: Shaping the build,北京时间 2026 年 9 月 12 日发布。原帖作者、标题及时间已通过 X 接口核实,正文依据读者提供的英文全文,尚未与 X 长文页面逐段独立核对。

本文为基于原文的独立分析,不是翻译。导出按钮与报表核对均为假设场景,不是作者或吴恩达的真实案例;有关经验价值、验证步骤和组织责任边界的讨论属于本文延伸观点,不代表原文逐字表述。

附录:术语对照

Shaping the build:推动产品成形。Coding Agent:编程智能体。AI Engineering:AI 工程。Using coding agents:使用编程智能体。build loop:构建与反馈循环。

Communicating and leading:沟通与引领。High-agency ownership:主动担当,对结果负责;其中 agency 指主动行动的能力与意愿,不是 AI Agent。