使用 AI 构建让我意识到我们经常不理解自己的代码
Source: Dev.to
我第一次认真使用 AI 来写代码时,并没有感觉被取代。
我感到自己被暴露了。
并不是因为 AI 比我更聪明——而是因为它不断提出我的代码无法回答的问题。
这段经历改变了我看待 AI 和软件开发的方式。
AI 并不会取代开发者。它揭示了我们对工作思考的清晰程度。
“它能运行”并不等同于“我们理解它”
我们很多人用一个简单的指标来评估代码:
它能运行吗?
如果答案是肯定的,我们就继续前进。
但能运行的代码并不一定是我们真正理解的代码。
当你让 AI 参与——让它重构、优化或扩展已有系统时,它会立刻提出诸如:
- 这里的目标是什么?
- 应该遵守哪些约束?
- 哪些权衡是有意做出的?
如果这些答案不明确,限制会很快显现。
AI 填补我们未定义的空白
对 AI 工具的常见批评是它们会“幻觉”。
实际上,更多时候发生的事情更为微妙。
当我们给出模糊指令时,例如:
- “重构这个”
- “让它可扩展”
- “提升性能”
……而没有定义意图或约束,我们实际上是在让 AI 代替我们做假设。
AI 并不“挣扎”于模糊——它响应模糊。
输出的质量反映了输入的清晰度(或缺乏清晰度)。
提示(Prompt)主要是关于清晰思考
围绕“提示工程”(prompt engineering)的讨论很多,但在日常开发中,好的提示往往归结为清晰的推理。
有效的提示通常会回答:
- 我们在解决什么问题?
- 什么必须保持不变?
- 哪些约束重要?
- 哪些权衡是可以接受的?
如果编写提示感到困难,往往是因为这些问题还没有得到答案——而不是措辞不够巧妙。
AI 促使更好的解释
与 AI 合作的一个意外好处是,它经常迫使我们进行澄清。
在扩展或修改代码时,AI 自然会反问:
- 为什么要这样组织结构?
- 为什么要共享这个状态?
- 为什么是同步的还是异步的?
- 这依赖了哪些假设?
回答这些问题会提升代码库的质量——不论 AI 是否参与。
为什么这是一次积极的转变
如果使用得当,AI 会鼓励更好的习惯:
- 更清晰的意图
- 明确的约束
- 更好的文档
- 更审慎的设计决策
它抑制了模糊、充满假设的开发方式,奖励清晰度。
从这个意义上说,AI 的作用更像是一个持续的审查循环——它会立即响应我们表达思考的清晰程度,而不是单纯的替代品。
AI 揭示的技能差距
AI 突显的最大差距并不在于:
- 语法
- 框架熟悉度
- 记忆 API
而在于:
- 系统思维
- 理解权衡
- 清晰阐述决策
- 知道为什么某件事存在
这些技能相互叠加。AI 只是让它们更加显眼。
最后思考
AI 并没有让我成为更好的开发者。
它让我更清楚地意识到“能运行的代码”和“我真正理解的代码”之间的区别。
而这种觉悟的价值远超任何自动补全功能。