zhulink logo
自动夜间模式 日间模式 夜间模式
侧栏
0

AI 编程只能解决70%的问题

意外富翁的头像
|
|
|

你有没有发现,虽然 AI 辅助编程工具让大家写代码的速度飞快,但我们日常使用的软件好像并没有变得更“好”?这篇文章就来聊聊这个有趣的现象,以及它背后隐藏的关于软件开发的深刻道理。 ### AI 编程的两种玩法 文章作者观察到,公司里面的高级程序员和低级程序员,使用 AI 的方式是不一样的。 高级程序员并不完全信任 AI 的输出,只是用 AI 加速项目。他们一般会审查和重构 AI 生成的代码,对于 AI 的架构决策也是抱着怀疑的态度。 初级程序员更倾向于跳过审查和重构,全盘接受 AI 的输出,从而导致"纸牌屋式"的代码:看起来能发挥作用,一旦投入使用就会崩溃。 我不知道,AI 未来会不会替代程序员,但是现阶段,AI 编程还不能解决100%的软件问题,但已经可以解决70%的问题。这相当于,AI 可以减轻高级程序员70%的工作量。 剩下的30%,依然需要依靠程序员的经验和专业知识,而初级程序员恰恰缺少的是这30%。 所以,听起来可能违反直觉:AI 对高级程序员比对初级程序员帮助更大,更容易产生工作成果。 现阶段的 AI,更像团队中的一个非常有干劲的初级程序员,可以快速编写代码,但需要不断的监督和纠正。你知道的越多,你就越能指导它。 所以,AI 的正确用法是,高级程序员用它来加速他们已经知道如何做的事情,初级程序员用它来学习该做什么。 ### 经验越丰富,AI 越好用?“知识悖论”来了! 最让人意外的是,AI 工具似乎对经验丰富的开发者更有帮助!这听起来有点反直觉,难道 AI 不能让编程变得更“大众化”吗? 作者认为,AI 就像一个特别“勤奋”的初级开发者,写代码很快,但需要你时刻“盯着”和“纠正”。你懂得越多,就越能“驾驭”它。 这就形成了一个“**知识悖论**”: * **资深开发者**:用 AI 加速他们本就擅长的事情。 * **初级开发者**:试图用 AI 来“学习”该做什么。 结果可想而知,差异巨大。 ### 如何让 AI 成为真正的“学习伙伴”? 那些成功运用 AI 编程的非技术人员,通常会采取一种“混合模式”: 1. 用 AI 快速做出原型。 2. 花时间去理解生成的代码。 3. 边用 AI 边学习基础编程概念。 4. 逐步建立自己的知识体系。 5. 把 AI 当作学习工具,而不仅仅是代码生成器。 但这需要耐心,这恰恰是很多人想通过 AI 来规避的。 所以,AI 编程工具目前更适合: * **资深开发者**:加速他们的原型开发。 * **学习者**:作为辅助学习的工具,前提是他们愿意深入理解。 * **快速验证想法**:生成 MVP 来测试市场反应。 但它们还不是那个能真正“普及”编程的万能钥匙。让软件变得“生产就绪”、易于维护和稳定可靠的最后 30%,仍然需要扎实的工程知识。 ### 拥抱 AI,但别忘了工程的“老本行” 作者给出了几点实用的建议,帮助大家更好地利用 AI: * **让 AI 生成基础实现**:然后手动审查和重构。 * **添加完善的错误处理和测试**:这是保证软件质量的关键。 * **保持代码模块化**:方便管理和维护。 * **每次 AI 交互聚焦一个任务**:保持上下文清晰。 * **频繁审查和提交代码**:及时发现问题。 AI 在软件开发中的作用,主要体现在三个方面: 1. **加速已知**:帮你实现你已经理解的模式。 2. **探索可能**:快速原型化,尝试不同方案。 3. **自动化常规**:减少重复性工作,让你专注于核心问题。 如果你刚开始接触 AI 辅助开发,不妨: * **从小处着手**:先用在独立、明确的任务上。 * **保持模块化**:将代码拆分成小而专注的文件。 * **相信你的经验**:用 AI 来增强,而不是取代你的判断。

  

🫵 来啊,说点有用的废话!