文章摘要
作者分享了自己使用AI编程两年后重新回归手写代码的心路历程。起初对AI处理简单任务的能力感到惊艳,但随着任务复杂度增加,发现AI会做出违背开发者意图的错误决策,最终认识到AI编程的局限性,选择回归传统编程方式。
文章总结
标题:告别AI编程两年后,我重拾手写代码
来源:https://atmoio.substack.com/p/after-two-years-of-vibecoding-im
发布时间:2026年1月26日
核心内容:
大多数开发者与AI编程的邂逅都始于相似的轨迹:从简单的测试任务开始惊叹,到处理复杂项目时更加震撼,继而引发对职业替代的焦虑。但真正坚持深入使用的人才会发现,AI编程存在根本性缺陷。
[插图:一张展示AI编程界面的图片]
专业工程师在使用AI进行实际开发时,往往会经历三个阶段:
- 蜜月期
- 对AI处理大型任务的能力感到惊喜
- 甚至尝试让AI处理团队不愿触碰的代码重构
- 困惑期
- 发现AI虽然能理解需求,却会做出违背开发者意图的决策
- 开发者开始将问题归咎于自己:"是我的指令不够明确"
- 觉醒期
- 尝试撰写详尽的需求文档(甚至花费半小时写一页说明)
- 最终发现AI无法像人类团队那样动态调整设计方案
- AI代码在独立审查时看似完美,但在整体架构中漏洞百出
核心问题在于: - AI生成的代码单元孤立看很完美,但缺乏整体协调性 - 就像写小说:段落精彩却章节混乱 - 无法保持代码库的结构完整性和模式一致性
经过数月实践后,作者决定: 1. 拒绝交付AI生成的"垃圾代码" 2. 不愿用这种代码处理用户数据 3. 回归手工编程
最终结论: 当综合考虑准确性、创造性和整体效率时,经验丰富的开发者实际上比AI更高效。作者现已回归以手写代码为主的工作方式。
(附注:本文配有相应的视频解说,可在YouTube观看)
评论总结
以下是评论内容的总结,主要分为几个观点:
1. AI编码的局限性
- 观点:AI生成的代码在局部可能看起来不错,但缺乏整体一致性和结构性。
- "Agents write units of changes that look good in isolation. But respect for the whole, there is not."(评论3)
- "AI生成的代码在整体上下文中可能毫无意义,就像拼凑的段落无法构成连贯的小说。"(评论14)
2. AI对学习的影响
- 观点:AI可能阻碍新程序员学习基础知识。
- "AI is incredibly dangerous because it prevents new programmers from learning the simple things."(评论4)
- "学生必须自己写代码,不能依赖机器生成。"(评论4)
3. AI的实用性与效率
- 观点:AI在快速原型开发和小任务中表现优异,但不适合复杂或关键业务代码。
- "vibecoding is amazing for creating quick high fidelity prototypes."(评论3)
- "对于业务关键代码,AI无法处理复杂的边缘案例和防御性编程。"(评论13)
4. 人与AI的协作
- 观点:最佳实践是人与AI协作,保持对代码的控制和审查。
- "I have AI build self-contained, smallish tasks and I check everything it does."(评论9)
- "快速AI处理简单任务,复杂任务则需要人类参与。"(评论10)
5. AI编码的未来
- 观点:AI编码技术仍在发展,未来可能通过改进模型和流程解决当前问题。
- "Eventually the refactoring is targeted at smaller and smaller bits until the entire project is in excellent shape."(评论15)
- "AI eternal summer:开发者将不断追逐AI生成的代码质量。"(评论8)
6. 对AI编码的怀疑
- 观点:部分评论者对AI编码的实际效果持怀疑态度,认为其效果被夸大。
- "除非展示实际的工作流程,否则这些观点没有说服力。"(评论11)
- "AI编码的批评者应提供更多具体的代码示例,以帮助新手识别问题。"(评论22)
7. 开发者技能的不可替代性
- 观点:开发者的核心能力(如代码维护和解释)无法被AI完全替代。
- "作为开发者,你的工作是确保代码可维护且可解释。"(评论21)
- "99.99%的开发者无法比AI更快、更准确。"(评论19)
总结来看,评论者对AI编码的态度分为支持、怀疑和反对三派,但普遍认为AI在特定场景下有价值,但需要人类监督和协作。