我认为“反向部署工程师”可能会成为 AI-assisted 软件开发的标志性角色。🤖💻
我们曾被承诺,AI 会消除编程中无聊的部分。实际发生的却是:AI 生成代码,工程师审查它、质疑假设、修复架构、寻找边界情况、修复测试、检查依赖,有时还要重写很大一部分。😅
这像是一种奇怪的倒置。但我很喜欢另一面:我不断从 AI 生成的代码中学习。我一直喜欢读文档、man page、命令参考和 API 文档。Codex 生成我不认识的东西时,我不会直接接受,而会查清楚每一个陌生命令、参数和 API。
最近,Codex 用了一种我没见过的 PowerShell Format-Hex 写法。我的第一反应当然不是“很好,发布吧”,而是:“等等,这到底在做什么?”😄 我打开文档、验证、实验,然后给工具箱又添了一件小工具。
因此,审查 AI 代码不只是清理工作。做得好,它也是持续学习循环。关键区别是:你在审查代码,还是仅仅接受代码。盲目接受是在外包理解;检查、质疑并验证未知之处,则会让你接触原本可能永远遇不到的命令、API 和模式。🔍
AI coding 对原型已经极其强大。对大型、长期系统,我仍然谨慎。生成代码很便宜,理解 codebase 并不便宜。今天生成的每一行,明天都必须由某个人理解、维护和调试。
未来的工程师也许一部分是架构师,一部分是 reviewer,一部分是“反向部署工程师”,还有一部分重新成为学生。👨💻📚🤖 我很喜欢最后这一点。