乐于分享
好东西不私藏

40万行AI代码之后,我重新理解了程序员的价值

40万行AI代码之后,我重新理解了程序员的价值

AI 让写代码变快了,但真正困难的从来不是写代码。

过去半年,我提交了大约 40 万行代码。准确来说,其中绝大部分代码并不是我手敲出来的,而是 AI Coding 工具完成的。从最开始尝试用 AI 补函数、改 Bug,到现在让 AI 参与完整模块开发,我经历了一个明显变化:AI 确实提升了开发效率,但它并没有让程序员变得轻松。相反,当代码产出的速度提升几倍之后:
  • 需求变多了。
  • 迭代节奏更快了。
  • 需要思考的问题反而更多了。
很多人认为 AI Coding 的核心是 Prompt:有没有万能提示词?怎样一句话生成整个项目?有没有高级技巧?但真正长期使用 AI 写代码之后,我发现:

决定 AI Coding 效果的不是 Prompt 写得多漂亮,而是你是否理解 AI 的工作方式。

一、先理解 AI:它不是程序员,而是一台概率机器

很多人使用 AI 时,会把它当成一个新人程序员:

帮我实现这个功能。

然后等待代码,代码有问题:

重新改一下。

几轮下来发现越来越混乱,于是开始怀疑 是不是 AI 还不够聪明?但问题可能出在认知上。LLM 的本质并不是像人一样理解问题,而是在已有上下文基础上预测下一步最可能出现的内容。
这也是为什么 AI 有时候表现惊艳,有时候又会犯一些非常基础的错误。它不是不会写代码,而是不知道 你的真实业务背景是什么。

二、AI Coding 最大的三个限制

理解限制比学习技巧更重要。

1. AI 没有真正的长期记忆

很多人误以为:和 AI 聊久一点,它就越来越了解我的项目。实际上并不是。AI 不会像工程师一样积累项目经验,它不知道:
  • 为什么以前这么设计。
  • 哪些方案曾经踩过坑。
  • 哪些业务规则不能违反。
所以长期有效的信息需要主动沉淀,包括项目开发规范、编译方式、测试要求、常见问题处理流程等。这些内容应该写进项目规则,而不是依赖聊天上下文。

2. AI 上下文有限

很多人觉得:给 AI 更多信息,它会更准确。但现实往往相反,上下文太长会导致:
  • 重要需求被大量信息淹没。
  • AI 注意力下降。
  • 前面的限制逐渐失效。
所以我的习惯:一个会话只解决一个明确问题。不要把新功能开发、Bug 修复、架构调整、性能优化等全部放在一次聊天里。完成一个任务,就重新开始。这不是浪费上下文,而是在保持 AI 专注。

3. AI 会产生错误累积

AI 生成代码本质是一次次概率选择。如果第一步方向偏了,后续代码继续基于错误假设生成;最终可能得到一套完整但错误的实现。所以 AI 最大的问题不是 不会写,而是它会非常快速地写出一个看似合理的错误方案。

三、我总结的 5 个 AI Coding 实战方法

方法1:让 AI 只解决一个明确目标

很多人给 AI 的需求:

帮我优化一下这个模块。

问题在哪里?目标太大,AI 不知道:
  • 优化什么。
  • 优先级是什么。
  • 哪些不能改变。
更好的方式是明确:背景是什么;目标是什么;限制是什么。例如,不要说:

把 A 目录文件复制到 B 目录。

而应该说:

A 目录持续产生文件,需要实时同步到 B 目录。不能频繁扫描目录,需要支持服务重启恢复,失败最多重试三次。

目标越明确,AI 犯错概率越低。

方法2:告诉 AI 不能做什么

优秀需求不仅包含 我要什么,还包含 不要什么。例如,开发缓存功能,只说:

增加缓存。

AI 可能会:随便选择方案;忽略异常情况;不考虑一致性。
更好的方式是明确:缓存哪些数据;过期策略;数据一致性要求;失败处理方式。
约束越清晰,AI 的发挥空间越小,但结果通常越好。

方法3:复杂任务先拆解,再让 AI 执行

复杂需求最大的困难不是代码量,而是不确定性。比如,增加一个缓存系统。背后包含:缓存什么、为什么缓存、保存多久、如何失效、异常怎么办等。不要直接让 AI 写代码,而是应该人与AI高度协作。
第一步:人负责明确问题
让 AI 帮忙:分析方案;补充遗漏;提醒风险等。
但最终业务判断由人完成。
第二步:人与 AI 一起确定方案
明确:模块边界;接口设计;实现步骤。
第三步:AI 执行代码
此时 AI 才真正发挥优势,它负责:写代码;补测试;重复修改。

方法4:从代码 Review 转向风险测试

以前代码少,可以逐行检查;现在AI 一次可能生成几百行甚至几千行代码,你不可能全部 Review,所以重点应该改变,不要问:

“代码写得漂亮吗?”

而应该问:

“哪里最容易出问题?”

重点测试:输入异常;外部依赖失败;服务重启;数据不一致;并发场景等。
人的价值不再是检查每一行代码,而是找到最危险的位置。

方法5:持续复盘,而不是迷信 Prompt

很多 AI 教程喜欢总结 十大 Prompt 技巧,但真正有效的方法来自实践。每次 AI 出错,都问自己:
  • 为什么它理解错了。
  • 哪个约束没有告诉它。
  • 哪个边界条件遗漏了。
如果一个问题反复出现,记录下来形成项目规则、开发模板、自动化流程。这才是你的 AI 能力。

四、AI 时代,程序员真正不可替代的能力是什么?

AI 会越来越擅长:写代码;补测试;重构模块;查找问题。
但软件工程真正困难的部分从来不是代码输入,而是理解业务、定义问题、做技术取舍、判断方案风险。
未来优秀程序员不一定是代码写得最快的人,而是能够准确告诉 AI 应该解决什么问题的人。

五、最后的一点感受

刚开始使用 AI Coding 时,我也焦虑过。看到别人一小时开发一个项目、几个 Prompt 自动生成系统,很容易产生一种感觉:是不是自己已经落后?但真正深入使用后发现,AI 并没有替代工程能力,它只是改变了工程能力的方向。
以前:

程序员 = 写代码的人

未来:

程序员 = 定义问题、设计方案、驾驭 AI 的人

代码会越来越便宜,但判断力不会。所以,与其每天追逐新的工具,不如花更多时间理解业务、提升抽象能力、训练解决复杂问题的能力。
AI 会越来越强,但决定结果的永远是使用 AI 的那个人。

相关学习资料