程序员最大的风险不是被AI替代

51CTO技术栈 · 经八阕原文

Addy Osmani:AI用得越多,你对正在处理的问题就越容易失去记忆,也越难保留真正的理解。

Addy Osmani:所谓“认知投降”,就是不再追问,把AI给出的答案直接当成自己的答案。

Addy Osmani:我们仍然要理解系统如何工作。真出了问题,人得有能力修,而不是只能祈祷Agent自己解决。

Addy Osmani在访谈里连续给出了这三个判断。

AI编程的风险不只发生在招聘市场,也发生在开发者自己的脑子里:代码交付得越来越快,人却可能越来越说不清系统为什么这样运行。

Addy曾在Google工作14年多,负责过Chrome开发者体验,参与DevTools、Lighthouse和Core Web Vitals等项目。最近,他在The Pragmatic Engineer的访谈里谈了自己使用编程Agent的方式,也谈到软件工程师最容易在效率暴涨时失去什么。

代码交付了,人却没有建立起对系统的理解。Addy把前一种状态叫作“认知债务”,把彻底放弃验证和独立判断叫作“认知投降”。

他不是在劝开发者少用AI。Addy使用Claude Code或Codex时,一项任务背后可能已经启动20到30个子Agent。

他讨论的是更具体的问题:当人已经看不完所有执行轨迹,团队该怎样留下关键决策、限制改动范围,并确保系统出事后还有人接得住?

以下为访谈内容,我们进行了翻译与整理。

Addy Osmani谈AI使用与认知债务

AI的答案,正在变成你的答案

认知债务不会在某次提交里突然爆炸。它更像是一点点丢掉上下文。

第一次,Agent帮你补了一个函数;第二次,它顺手改了调用链;第三次,它根据测试失败继续修复。每一步看上去都合理,测试也一直是绿的。几周后再遇到同一模块的线上故障,你知道代码改过,却说不清当时为什么这么改。

Addy认为,模型使用得越多,开发者的记忆和对问题的理解就越可能被侵蚀。真正危险的节点,是开发者开始把模型的结论直接当作自己的结论。

Addy Osmani解释“认知投降”

支付系统出现重复扣款,Agent可以找到相关函数,补上幂等判断,再把测试跑绿。开发者仍然要回答历史订单是否需要补偿、重试会不会放大流量、数据库约束是否兼容旧版本,以及回滚以后账目能不能对齐。

这些问题藏在代码之外。模型能给出方案,责任却不会跟着答案一起转移。

20个Agent同时开工,人已经看不完过程

“认真检查每一步”听起来正确,放进多Agent工作流里却很难执行。

Addy提到,一项任务背后可能已经启动了“20 or 30 sub-agents”,也就是20到30个子Agent。让开发者逐个点开所有轨迹、工具调用和中间推理,时间很快就会超过亲自完成任务。

一个任务可能在后台启动20到30个子Agent

他现在更关注任务末尾留下了什么。

Agent完成工作后,需要交代做过哪些关键决定、为什么选择这条路径、遇到过什么阻力、哪些地方仍然不确定。没有这份记录,Addy会继续追问决策过程。

这里还有一个麻烦:模型可能在事后补出一套听起来很完整的理由。于是,决策摘要可以帮助人快速定位风险,却不能代替测试、日志和代码审查。

来源:51CTO技术栈(经八阕转载) · 查看原文
Scroll for more