AI写代码一年了,我的编程能力是变强了还是退化了
摘要:本文通过作者使用AI编程工具一年的真实经历,探讨了AI对程序员能力的双重影响。一方面,AI显著提升了代码产出速度、技术视野、代码质量和跨领域开发能力;另一方面,也带来了基础语法记忆、调试能力、底层原理理解和深度阅读能力的退化。作者结合实习生写出精妙SQL却不懂窗口函数、以及AI生成代码在生产环境翻车的真实案例,指出AI时代程序员的核心竞争力正在从语法记忆转向架构设计、需求理解和代码review能力,并强调:用AI让你更快,但别让AI让你更懒。
一、一个让我后背发凉的时刻
上个月发生了一件事,让我有点慌。
组里来了个实习生,让他写一个数据导出功能。他打开Cursor,输入需求描述,AI生成了完整代码——包括接口定义、数据库查询、异常处理、单元测试。他review了一遍,觉得没问题,提交了。
整个过程,15分钟。
同样的功能,我当年刚工作时,写了一天。
但这不是让我慌的。让我慌的是:我看他代码的时候,发现有一段SQL写得非常精妙——用了窗口函数做去重,性能比常规写法好3倍。我问他:"这段SQL是你写的?"
他说:"不是,AI生成的。我其实不太理解窗口函数。"
一个不太理解窗口函数的人,写出了比我当年更好的SQL。
这就是AI编程工具在2026年的真实状态。
图片说明:AI编程工具发展时间线
二、我用了哪些AI编程工具
先说说我的工具箱。
日常主力是Cursor。它是一个基于VS Code的AI编程IDE,内置了Claude 3.5 Sonnet模型。我常用的功能有三个。Cmd+K:选中代码让AI修改或优化。Cmd+L:在侧边栏跟AI对话讨论方案。代码补全:写代码时AI自动补全,按Tab接受。
辅助工具是GitHub Copilot。在浏览器里看GitHub代码时,Copilot可以解释代码逻辑、生成PR描述。在终端里,Copilot CLI可以帮你写Shell命令。
偶尔用Claude Code。它是终端里的AI编程助手,适合做大型重构。你给它一个需求,它自己读代码库、理解架构、修改代码、跑测试。
还有一个新工具叫Windsurf。跟Cursor类似但更强的地方在于"多文件编辑"——你可以让它同时修改10个文件,它会理解文件间的依赖关系。
这些工具的共同特点是什么?它们不是"补全代码",是"理解意图"。
图片说明:主流AI编程工具功能对比图
三、变强了的部分
用了AI编程工具一年后,我确实变强了。变强在以下几个方面。
第一,代码产出速度。以前一天写500行代码是高产。现在一天能产出1500-2000行。AI负责写"模板代码"——CRUD接口、数据校验、异常处理、单元测试框架。我负责写核心逻辑和架构设计。
第二,技术视野变宽。以前遇到不熟悉的技术栈,要从头学。现在可以直接让AI生成代码,然后读AI写的代码来学习。学Rust的时候,我让AI把我之前的Python项目改写成Rust,对比着看,学得飞快。
第三,代码质量提升。AI生成的代码,规范性比人写的好。命名一致、错误处理完整、有注释。以前懒的时候不写注释,现在AI自动帮你写了。
第四,debugging效率。以前一个bug查半天。现在把错误信息和相关代码丢给AI,它10秒就能定位问题。
第五,跨领域开发能力。我是后端开发,以前前端需求基本做不了。现在让AI帮我写前端,我review后修改。全栈开发能力大幅提升。
图片说明:AI编程前后效率对比图
四、退化了的部分
但说实话,也退化了。
退化一:基础语法记忆。以前所有语法都记在脑子里。现在很多东西记不住了——因为AI会补全。写Go的channel、Rust的生命周期标注,以前能手写出来,现在需要AI提示。
退化二:调试能力。以前debug是逐行看代码、加日志、分析逻辑。现在习惯了直接把错误丢给AI。一旦AI也分析不了,我就有点手足无措。
退化三:对底层原理的理解。以前写SQL要自己理解执行计划,现在AI帮你优化SQL,你可能不太理解为什么这样写更快。知识在"应用层",不在"理解层"。
退化四:耐心。以前看一个2000行的文件,能耐着性子读完。现在超过500行就想让AI帮我总结。深度阅读代码的能力在下降。
最让我担心的是退化三。AI帮你写了代码,但你不理解原理。出问题的时候,你不知道怎么修。AI给的方案不对的时候,你不知道哪里不对。
图片说明:AI编程能力的增强与退化对比图
五、一个真实的故事:AI写的代码翻车了
上个月我们线上出了个事故。
一个用户数据查询接口,AI生成的代码里有一个隐藏bug。在特定条件下(用户ID为0且时间范围为空),SQL会全表扫描。测试环境数据量小没发现,生产环境直接卡死了数据库。
排查的时候,我先问了AI。AI说"可能是索引问题"。但它没找到真正的原因——因为它自己写的代码,它也不知道哪里有问题。
最后还是我一行一行读代码,发现了问题:AI生成的WHERE条件,缺少了对空值的判断。加了一个IF判断,问题解决。
这件事让我意识到:AI写的代码,你必须完全理解才能放心用。如果你不理解就提交了,出问题时你会很被动。
六、新的技能树
用了一年AI编程工具后,我觉得程序员需要的技能树在变化。
变重要的能力。架构设计能力——AI写不了架构,需要你设计。需求理解能力——你需要把模糊的需求翻译成AI能理解的指令。代码review能力——AI生成的代码,你必须能快速判断对不对。Debug能力——AI解决不了的问题,你得能自己解决。
变没那么重要的能力。语法记忆——AI会补全。模板代码编写——AI生成更快。简单bug修复——AI自动发现。
所以我的建议是:别怕AI替代你,但别让AI替代你的"思考"。让AI帮你写代码,但你要理解每一行代码的意思。AI是工具,不是拐杖。用工具让你跑得更快,但你的腿不能因为用了工具就不走路了。
七、写在最后
那个不太理解窗口函数的实习生,后来怎么样了?
我找他聊了一次。跟他说:"AI帮你写了那段SQL,但你要去理解它为什么那样写。不然下次AI不在,你就不会了。"
他听了,花了一个下午学了窗口函数。后来他跟我说:"哥,学完之后再看那段SQL,感觉完全不一样了。以前是'能跑就行',现在是'知道为什么能跑'。"
这大概就是AI时代程序员的正确姿势。用AI让你更快,但别让AI让你更懒。
(全文完)
更多推荐






所有评论(0)