我用AI写了半年代码——回头看,这5个能力正在退化

📅 2026/8/1 5:22:57 👁️ 阅读次数 📝 编程学习
我用AI写了半年代码——回头看,这5个能力正在退化

从年初开始,我几乎每天都在用Claude Code或Cursor写代码。效率确实高了不少——以前要写半天的CRUD页面,现在二十分钟搞定。

但最近发生了一件事让我警觉:同事问我一个Promise.allSettledPromise.all的区别,我张了张嘴,发现自己需要"想一下"才能回答。这个问题两年前我能脱口而出。

不是我变笨了。是我把这块肌肉交给AI练了半年,它萎缩了

Anthropic最近的一项研究给了一个具体数字:重度依赖AI编程工具的开发者,独立调试和代码阅读能力比手动编码组低17个百分点。美国心理学会今年的报告也指出,过度依赖生成式AI会降低批判性思维和岗位专项技能。

The Register上甚至出现了一个新词叫"AI Atrophy"——AI导致的技能萎缩。

我花了一个周末盘点了自己的变化。以下5个退化最明显。

1. Debug能力:遇到bug第一反应变了

以前遇到bug,我的流程是:看报错信息→定位文件→打断点→看调用栈→找到原因。

现在呢?遇到红色波浪线,第一反应是把报错复制给AI

// 以前:我会看这个报错,思考为什么 // Type'string | undefined'is not assignable totype'string'// → 哦,可能是可选链返回了undefined,需要给默认值 // 现在:直接丢给AI //"帮我修这个TypeScript报错"// AI秒回:加个 ??''就行 // 我:哦好,下一个

问题不在于AI给的答案对不对——大部分时候是对的。问题在于我跳过了"理解为什么出错"这一步

连续半年跳过这一步,你对类型系统的心智模型就变得模糊了。以前能凭直觉判断"这里可能有空值",现在要等TypeScript报错了才知道。

自测方法:下次遇到TypeScript报错,先不问AI,自己读完报错信息。如果你发现自己读不懂了——那就是退化的信号。

2. 代码阅读能力:看别人的代码变吃力了

以前review同事的PR,我会逐行看逻辑、想边界情况、考虑性能。

现在呢?打开一个200行的组件,第一反应是让AI帮我总结

// 以前review这段代码,我会注意到问题functionuseDebounce(value, delay){const[debouncedValue, setDebouncedValue]=useState(value);useEffect(()=>{const timer=setTimeout(()=>{setDebouncedValue(value);}, delay);return()=>clearTimeout(timer);},[value, delay]);returndebouncedValue;}// 问题:delay变化时会重置timer,可能导致永远不触发 // 以前我一眼能看出这个问题 // 现在我需要"想一下"才能想到

Anthropic研究里那个"代码阅读能力低17%"就是这个意思。不是看不懂语法,是看代码时主动思考的密度降低了

你习惯了让AI总结代码、解释逻辑,自己的"阅读肌肉"就在萎缩。就像天天打车的人,突然发现自己不记得路了。

自测方法:找一个你没参与的开源项目,随便打开一个核心模块,看15分钟。如果你发现自己频繁想"好复杂,让AI解释一下"——那就是退化的信号。

3. 从零搭建能力:离了模板不会开始

现在让你不用create-next-app、不用AI、从一个空文件夹开始搭一个React项目——你能搞定吗?

# 你还记得从零开始需要什么吗?mkdirmy-app&&cdmy-appnpminit-ynpminstallreact react-domnpminstall-Dwebpack webpack-cli webpack-dev-servernpminstall-Dbabel-loader @babel/core @babel/preset-react# 然后呢?webpack.config.js怎么写?# entry、output、module rules、devServer...# 你还记得吗?

我发现自己不记得了。以前这些我闭着眼都能写,现在需要查文档。

不是说你每次都要手搭——脚手架工具存在就是为了省时间。但知道底层是怎么运作的不知道是两码事。

当你的create-next-app出了奇怪的构建错误时,知道底层原理的人能定位问题,不知道的人只能问AI碰运气。

自测方法:试着不用任何脚手架,手搭一个最小的React开发环境。如果你发现自己连webpack.config.js的基本结构都要查——那就是退化的信号。

4. API记忆:常用方法都要问AI了

// 这些你还能不查就写出来吗? // 数组去重[...new Set(arr)]// 还是 Array.from(new Set(arr))?都行 // 深拷贝 structuredClone(obj)// 你还记得这个API吗?还是会写JSON.parse(JSON.stringify())? // 日期格式化 new Intl.DateTimeFormat('zh-CN',{year:'numeric', month:'2-digit', day:'2-digit'}).format(date)// 还是直接问AI? // URL参数解析 const params=new URLSearchParams(window.location.search)params.get('id')// 你还记得URLSearchParams吗? // 数组分组(ES2024) Object.groupBy(items, item=>item.category)// 这个你知道吗?

这不是记忆力的问题。是你不再需要记这些了——问AI比翻MDN快十倍。但代价是:你对JavaScript标准库的掌握从"信手拈来"变成了"知道有这么个东西但要查"。

写代码时的流畅感没了。以前写代码像说话一样自然,现在像在翻译——你知道要做什么,但需要AI帮你"翻译"成具体的API调用。

自测方法:打开一个空文件,不查任何东西,写一个函数:接受一个URL字符串,返回所有查询参数的对象。如果你卡在URLSearchParams的用法上——那就是退化的信号。

5. 方案设计能力:不再自己想架构了

这个最隐蔽,也最危险。

以前遇到一个新需求,我会先在脑子里过一遍:这个功能的数据流是什么样?状态放哪?组件怎么拆?要不要用Context还是状态管理库?

现在呢?直接告诉AI需求,让它出方案。

// 以前的思考过程 // 需求:做一个支持筛选、排序、分页的数据表格 // 我的思考: //1. 筛选和排序状态放URL params(便于分享/刷新保留) //2. 数据用React Query管理(缓存+自动重新获取) //3. 分页用cursor而非offset(大数据量性能更好) //4. 表格组件和数据逻辑分离(hook管数据,组件只管渲染) // 现在的"思考过程"// →"帮我做一个支持筛选、排序、分页的数据表格"// → AI直接输出500行代码 // → 我看了看能跑,就用了

AI出的方案不一定差。但你跳过了"思考为什么这样做"的过程。下次遇到类似需求时,你还是不知道应该用cursor分页还是offset分页,还是需要问AI。

技术方案设计能力不像写代码——它需要不断在真实场景中做判断、犯错、修正,才能建立起直觉。把这个过程交给AI,你的"技术直觉"就停止生长了。

自测方法:试着在纸上(不看任何东西)画出你现在项目的前端架构图——数据流、状态管理、API调用层、组件层级。如果你画不出来——不是因为架构复杂,而是你没有真正思考过它。

能力退化自测清单

能力退化信号自测方法
Debug遇到报错先问AI不看信息下次报错先自己读完再说
代码阅读看PR想"让AI总结一下"看一个开源项目核心模块15分钟
从零搭建离了脚手架不知道怎么开始手搭一个最小React开发环境
API记忆常用方法要先问AI不查东西写一个URL参数解析函数
方案设计需求来了直接丢给AI纸上画出当前项目的架构图

不是要你戒掉AI

说清楚:我不是说AI不该用。这半年AI帮我省了无数时间,这是事实。

我想说的是:AI是外骨骼,不是替代器官。

你穿上外骨骼能举起200公斤,但你自己的肌肉至少要能举起40公斤。否则有一天外骨骼出故障——断网、API挂了、或者你需要在一个不能用AI的环境里写代码——你就废了。

上个月海外AI编程工具大规模封禁国内账号的事还历历在目。那些完全依赖AI的开发者,突然发现自己"不会写代码了"。

每周花2小时不开AI写代码。不需要多。就像健身不需要每天去,但需要保持频率。保持你的"编程肌肉"不萎缩。

你用AI写代码多久了?有没有发现类似的退化?