一、那个让我开始怀疑自己的瞬间
前几天团队来了个实习生,让我帮忙review一段代码。
我扫了一眼,随口说:"这个Redis分布式锁的实现有问题,没有考虑锁续期,业务执行时间超过过期时间就会出问题。"
实习生一脸崇拜地问我:"哥你怎么一眼就能看出来的?"
我张了张嘴,突然愣住了。
因为我想起来,这个知识点是三个月前我问Cursor的时候它告诉我的。当时我也写了类似的代码,是AI帮我指出的问题。
那一刻我突然意识到一件事:我引以为傲的"经验",有多少是AI教我的?如果没有AI,我真的能发现这个问题吗?
二、2025,我和AI的蜜月期
坦白说,这一年AI确实让我"变强"了。
年初用Cursor写的代码,到现在已经上线跑了快一年,稳定得很。有个定时任务的逻辑特别复杂,涉及到多个数据源的对账,以前我可能要写一周,用AI两天就搞定了。
我的输出明显变多了:
- GitHub提交数比去年翻了一倍
- 独立负责的项目从2个变成了5个
- 甚至开始写技术博客,今年发了30多篇
如果只看这些数据,我应该很开心才对。
但我开心不起来。
因为我越来越分不清,这些"产出"里有多少是我的能力,有多少是AI的能力。
三、Anthropic的那句话戳中了我
前阵子看到 Anthropic 的一篇文章《How AI Is Transforming Work at Anthropic》,里面有一句话让我沉默了很久:
"我以为我喜欢写代码,其实我只是喜欢代码跑通的结果。"
说的不就是我吗?
回想这一年,我用AI实现了很多东西:
- 一个自动化运维脚本,能批量管理几十台服务器
- 一个数据分析看板,老板很满意
- 一个内部工具平台,同事都说好用
但问题是:这些东西的核心逻辑,我真的理解吗?
那个运维脚本里有段并发控制的代码,我至今不太明白为什么要用信号量而不是线程池。当时AI给了方案,我测了几遍没问题就上线了。
如果现在让我脱离AI,重新写一遍,我写得出来吗?
我不确定。
四、一个危险的趋势:我在退化
最近我发现了一个危险的信号。
以前遇到问题,我的第一反应是:想一想,画个图,理理思路。
现在我的第一反应是:问AI。
这看起来是效率提升,但仔细想想很可怕------我正在失去独立思考的习惯。
更可怕的是,这种退化是无感知的。
因为有AI兜底,我遇到的问题都能解决,所以我感觉不到自己在变弱。直到有一天网络不好,AI加载不出来,我对着一个NPE愣了五分钟才想起来可以用debug。
那一刻我才意识到:我不是变强了,我是变依赖了。
五、OpenAI给出的答案:核心能力在变化
但话说回来,完全不用AI也不现实。就像OpenAI在《使用Codex在28天内构建Android版Sora》里展示的:
AI可以24小时无间断编写代码和自我修复,28天通过50亿token完成了正常需要几个月的产品上线。
你想跟AI拼写代码的速度?拼不过的。
所以问题不是"要不要用AI",而是"用AI的同时,我的核心竞争力是什么"。
OpenAI的结论是:
未来的开发工程师的能力不再是打字速度或语法API记忆,而是对系统的深刻洞察力。
换句话说:
- ❌ 熟练使用某个框架 → AI比你更熟
- ❌ 记住各种API → AI比你记得清楚
- ✅ 理解系统为什么这样设计 → 这是你的
- ✅ 在复杂场景下做权衡决策 → 这是你的
- ✅ 把模糊的需求翻译成清晰的问题 → 这是你的
六、我的应对:从"用AI写代码"到"管理AI写代码"
想明白这个问题后,我调整了自己使用AI的方式。
以前:让AI写,我来验
css
我:帮我写一个分布式锁的实现
AI:[一大段代码]
我:跑一下,没问题,上线
现在:我来规划,AI来执行
css
我:我需要实现一个分布式锁,场景是订单扣库存,
要求:1. 支持锁续期 2. 要有获取锁的超时机制 3. 释放锁要保证原子性
先别写代码,帮我分析一下技术方案的选择
AI:[分析Redis vs Zookeeper vs etcd的优劣]
我:用Redis,但我担心主从切换时的锁丢失问题,怎么处理?
AI:[分析RedLock的原理和争议]
我:好,先写个设计文档,我review一下再开始写代码
区别在哪?
以前我是"代码的验收者",现在我是"方案的决策者"。
AI负责执行,我负责:
- 定义问题的边界
- 选择技术方案
- 把控架构设计
- 做最终决策
这样写出来的代码,我是真的理解的。
实践:给AI建立规范
最近在试 Claude Code,有个功能很有意思:你可以给AI写一个CLAUDE.md,告诉它项目的上下文和规范。
markdown
# 项目上下文
## 技术栈
- Java 17 + Spring Boot 3.2
- MyBatis-Plus(禁止使用JPA)
- Redis 7.0(已封装在 common-redis 模块)
## 规范
- 所有金额字段使用BigDecimal,禁止double
- 分布式锁统一使用 LockUtil,不要自己实现
- 异常处理使用全局异常处理器,Controller不要try-catch
有了这个,AI就不会乱写代码。它知道项目里有什么,该用什么,不该用什么。
本质上,这是在"驯服"AI。
把它当成一个"能力很强但不了解项目背景的新人",你需要做的是给它足够的上下文,制定清晰的规范,然后让它在你划定的范围内发挥。
七、重新定义"强"
写到这里,我想回答开头的问题:AI让我变强了还是变弱了?
答案是:看你怎么定义"强"。
如果"强"是指产出多、交付快,那我确实变强了。
但如果"强"是指离开工具也能解决问题,那我可能在变弱。
我现在的理解是:
- 短期:学会用AI,提高生产力,这是生存需要
- 长期:保持独立思考能力,理解系统本质,这是核心竞争力
- 平衡:用AI加速执行,但关键决策自己做
就像开车有了导航,你可以更快到达目的地,但你不能完全依赖它------至少你要知道大概往哪个方向开,否则导航一断你就傻眼了。
八、写在2025年末
这一年,AI从"工具"变成了"伙伴",甚至在某些时刻,我分不清它是伙伴还是拐杖。
我不知道2026年AI会进化成什么样。也许它会更强,强到让"写代码"这件事本身变得不再重要。
但我想,无论技术怎么变,有些东西是不变的:
- 对问题本质的好奇心
- 把复杂系统想清楚的能力
- 面对不确定性做决策的勇气
这些,AI暂时还替代不了。
愿你我都能在AI的浪潮里,找到属于自己的锚点。