一次失败的尝试
上个月技术分享会,我演示了一个用 AI 辅助开发的项目。展示完后,老张问了一句:
"既然 AI 这么厉害,你觉得自己的价值在哪?"
我愣了一下,开始解释架构设计、业务理解之类的大道理。但说完后,自己都觉得虚——这些能力,我真的具备吗?
于是我开始了一场"刻意练习"的实验,用三个月时间,系统性地提升在 AI 时代最重要的几个能力。
今天分享我的经验和方法论。
第一阶段:重新认识"设计能力"
我的实践:一周一张架构图
三个月前,领导让我设计一个秒杀系统。我的第一反应是搜索"秒杀系统架构",然后把别人的方案稍作修改交上去。
现在回想,这不叫设计,这叫抄作业。
转变发生在我开始画图的时候。
我规定自己:每周至少画一张架构图。可以是正在开发的功能,也可以是线上系统的优化方案,甚至是学习别人项目时的拆解。
第一周画秒杀系统,发现自己连限流、降级、熔断都讲不清楚。 第二周画支付系统,才意识到双写一致性、分布式事务有多复杂。 第三周重构一个老项目,终于理解了为什么要分层、为什么要解耦。
三个月后,最大的变化是: 我能用 10 分钟在白板上画出一个清晰的技术方案,并解释每个模块的职责和交互关系。这种能力,是 AI 给不了的。
具体方法
1. 从重构开始
不要等大项目才练习。日常工作中,每写完一个功能,停下来思考:
- 这个函数是否可以拆分?
- 这几个类的职责是否清晰?
- 如果需求变了,改动会有多大?
我有个习惯:每周五下午,选一段自己写的代码,用半小时重构它。这个过程逼着我思考更好的设计。
2. 学习经典案例
我建了个"架构案例库",收集各大公司的技术博客:
- Netflix 的微服务演进
- 淘宝的双十一技术方案
- 字节的推荐系统架构
每篇文章不只是看,而是:
- 画出架构图
- 理解为什么这么设计
- 思考如果是我会怎么做
这个习惯让我在面对新问题时,脑子里有了"方案库"。
第二阶段:训练"AI 协作能力"
我的发现:会提问才是关键
刚开始用 AI 写代码时,我的提问是这样的:
"帮我写一个用户登录接口"
AI 给出的代码能跑,但:
- 没有参数校验
- 密码明文存储
- 没有限流保护
- 异常处理不完整
后来我学会了这样提问:
"你是一位资深的 Java 后端专家。请用 Spring Boot 实现一个用户登录接口,要求:
- 使用 JWT 做身份认证
- 密码用 BCrypt 加密
- 添加 Redis 限流(5分钟内最多5次)
- 统一异常处理和响应格式
- 编写对应的单元测试
请分步骤实现,并说明每部分的设计考量。"
这次 AI 给出的代码质量完全不同。
核心领悟:AI 是执行者,你必须是清晰的指挥官。
提升方法
1. 建立"Prompt 模板"
我总结了几个常用场景的提问模板:
【代码实现】
角色:资深 X 语言工程师
任务:实现 Y 功能
约束:使用 Z 框架,遵循 A 原则
输出:代码 + 测试 + 说明
【代码审查】
角色:代码审查专家
任务:审查以下代码
关注点:性能/安全/可读性/设计模式
输出:问题列表 + 改进建议
【问题排查】
角色:系统架构师
现象:[详细描述]
日志:[相关日志]
环境:[系统信息]
需求:分析可能原因,给出排查步骤
2. 培养"批判性思维"
我给自己定了个规矩:AI 生成的代码必须经过三道关
- 逻辑关:这代码逻辑对吗?边界条件考虑了吗?
- 安全关:有没有 SQL 注入、XSS 等漏洞?
- 性能关:在高并发下会有问题吗?
有次 AI 给我写了个递归算法,看起来很优雅。但我跑了个压测,发现在数据量大时直接栈溢出。这个经历让我明白:AI 能写代码,但不能替你负责。
第三阶段:深入理解业务
一个真实的教训
两个月前,产品要做一个"智能推荐"功能。我问 AI 怎么实现,它给了我协同过滤、内容推荐等算法,我照着实现了。
上线后,产品经理说:"推荐的商品用户根本不买,这功能白做了。"
我才发现,我根本没搞懂:
- 用户画像是什么?
- 推荐的目标是什么(转化率?客单价?)
- 冷启动怎么办?
- 数据量多大?实时性要求如何?
这些问题,技术只是答案的一部分,关键是理解业务。
我的改变
现在每次接需求,我会:
1. 多问几个"为什么"
- 为什么要做这个功能?
- 它解决用户的什么问题?
- 成功的标准是什么?
有次产品让我加个"分享到朋友圈"按钮,我问了一圈,发现真正目的是拉新。于是我建议做分享有奖活动,配合裂变机制,效果好了 3 倍。
2. 参加业务会议
我开始主动参加产品规划会、运营复盘会。刚开始听不懂,慢慢地我发现,能把业务语言和技术方案连接起来了。
比如运营说"要提升留存率",我立刻能想到:
- 推送系统的精准度优化
- 个性化内容推荐
- 用户行为分析埋点
这种能力,让我从"接需求"变成"提方案"。
第四阶段:建立学习系统
不能什么都学
三个月前,我的学习状态是混乱的:
- 看到 Go 火了就学 Go
- 听说 Rust 厉害就看 Rust
- 刷到微服务文章就研究微服务
结果是什么都懂一点,什么都不精。
现在我的策略是:主题式深度学习。
今年我只定了两个主题:
- 分布式系统(Q1-Q2)
- 性能优化(Q3-Q4)
每个主题我会:
- 读 2-3 本经典书籍
- 做 1 个实战项目
- 写 3-5 篇总结文章
- 在团队做 1 次分享
这种方式让我真正"吃透"一个领域,而不是浅尝辄止。
教学相长
最意外的收获是:教别人,是最好的学习方式。
我在团队做了几次技术分享,为了讲清楚,我必须把概念吃透。有次讲 Redis 持久化,为了回答同事的问题,我翻源码、做实验,最后发现自己的理解上升了一个层次。
现在我每学一个知识点,都会问自己:"能不能用一个例子,给新人讲明白?"
三个月后的变化
现在回看老张当初的提问,我能自信地回答了。
我的价值不在于比 AI 写代码更快,而在于:
- 我知道该写什么代码(架构设计能力)
- 我知道怎么让 AI 帮我(协作能力)
- 我知道代码背后的业务价值(领域知识)
- 我能解决 AI 解决不了的问题(问题排查能力)
- 我能持续学习新东西(成长能力)
更重要的是,我不再焦虑了。AI 是工具,我是使用工具的人。工具越强大,我能创造的价值就越大。
写在最后
这三个月的实践,我总结了一个公式:
AI 时代的程序员价值 = 专业能力 × AI 协作效率 × 持续学习力
你不需要三样都做到满分,但至少要:
- 有一个擅长的深度领域
- 会高效使用 AI 工具
- 保持学习和成长的习惯
从今天开始,选一个方向,立刻行动。哪怕每天只进步 1%,一年后你也会是完全不同的自己。
你在 AI 辅助开发中遇到过什么困惑?欢迎评论区聊聊~