在人工智能可以大规模生成代码的未来,人类工程师的角色将转变为构建和维护“软件工厂”——即支持AI高效工作的自动化基础设施。尽管AI能力强大,但亲自编写代码对于人类而言仍然至关重要。这不仅是为了保持对系统架构的深度理解和注意力,更是为了获得真正的所有权。如果将AI仅仅视为实习生而非完美的编译器,并完全放弃亲手编码,会导致系统“脆弱性”累积和设计质量下降。因此,人类工程师必须保持亲身参与,深入细节,才能更好地引导整个系统,做出更优的架构决策。
工程师的新角色:构建软件工厂
我们的工作正在从单纯地编写软件,转变为构建 软件工厂。这是一个自动化流水线,工程师负责维护它,以便任何人或AI都能快速提出变更并立即部署。
- 主动引导: 通过提示(如定义技能、知识库)来指导AI代理。
- 被动保护: 通过自动化评估(如测试、代码规范、类型系统)来确保AI的工作质量,使其保持在正确的轨道上。
即使是一个能力有限的模型,只要有清晰的上下文和约束,也能在这个工厂中产出足够好的成果。
为什么亲手写代码仍然重要
尽管AI编码能力很强,但人类从写代码中获得的价值是无法替代的。这并非因为AI比人差,而是为了能够 直接在执行环境中思考,而不是通过自然语言这个“代理”。
为了真正与系统架构建立连接,你需要真实地体验代码。我需要的不是扁平的代码差异和补丁,而是偶尔能连接到痛觉传感器的4DX虚拟现实体验,让我感受系统到底发生了什么。
亲手写代码的核心价值在于 注意力和理解力。
- 体验脆弱性: 如果一段代码让身为人类的你都觉得难以维护,那么AI代理会更难理解它。亲自感受这种 脆弱性 是发现和改进问题的关键。
- 提升工厂效率: 通过亲手清理代码、提炼统一的架构原则并减少例外,整个软件工厂的运作会更顺畅。
- 发现深层问题: 亲自调试能帮你找到测试策略的薄弱环节,从而从根源上消除一整类缺陷。
“反向人马”的陷阱:当人类只负责审查
如果我们只负责阅读和批准AI生成的代码,我们就会变成被动的观察者,就像一个“反向人马”。
- 缺乏所有权: 当我们只是审查代码时,很难产生真正的所有权感。
- “垃圾代码”蒙混过关: 细节上的问题(Slop)更容易被忽视,导致难以进行微调。
- 脆弱性累积: 从长远来看,这些被忽视的细节会累积成系统的脆弱性,最终也会拖累AI代理的工作效率。
相反,当人类主动参与、探索出一种方法,然后让AI根据这个模式进行扩展时,我们既参与了过程,也对结果负有 真正的所有权。
AI是实习生,不是编译器
一个普遍的错误观念是把AI编码代理看作是编译器。这种心态会让我们心安理得地交付写得很糟糕的代码。
AI代理不是编译器,它们更像是 刚刚入职的实习生。它们读取不完整的、可能混乱的代码,并根据不精确的描述来生成变更。
我们不能将自己的思考和品味完全交给“实习生大军”。AI很少会遵循“童子军规则”(让代码比你发现时更好),它们更倾向于 尽可能安全地完成当前任务。这种保守性会放大我们一次性的坏决定,导致系统为保留一个愚蠢的错误而增加大量复杂的代码。
深入细节,掌控全局
如果我们正在构建一个软件工厂,那么 细节至关重要。这些细节确立了架构模式,并直接影响到算法和性能。
AI的出现推动我们更早地进行评估、测量和防护,这本身是巨大的进步。但任何流水线都有其薄弱点。我们偶尔需要拆开流水线,深入研究引擎的细节以获得10%的性能提升。通过亲自编码、删除无用代码和探索,我们能更好地将微小细节与宏观大局联系起来,从而做出更优的架构决策,极大地增强我们引导整个工厂的能力。