近来,一位前Meta资深工程师的言论引发了广泛关注,他表示自己已不再亲自审查代码,因为他发现,凡是自己能看出的问题,AI几乎都能发现。通过同时运行数十个AI Agent,他能实现过去需要整个团队才能达到的惊人产出效率。这番话不仅揭示了AI在软件工程领域的巨大潜力,也引发了关于AI如何改变编程、工程师角色如何演变等一系列深刻讨论。
事实证明,AI在发现代码问题上确实能扮演重要角色,但其有效性高度依赖于人类的引导方式。一位嵌入式工程师分享了他的实践经验:直接将代码丢给AI并要求“找bug”,往往只能得到一些关于命名规范的空泛建议。然而,当他调整策略,先向AI详细描述业务逻辑和边界条件,再要求其逐个函数进行审查时,效果显著提升。他将审查过程分层,分别关注接口设计、核心逻辑和资源管理,AI成功帮他发现了一个在测试环境中极难复现的并发安全隐患。这表明,AI并非全自动的“问题发现机”,而是一个需要精准指令和清晰上下文的强大辅助工具。
AI发现问题的能力不仅限于常规bug。在安全领域,AI展现出了组合分析的独特优势。有研究表明,AI能够识别出两个已公开近十年的攻击手法可以组合使用,并构建出此前无人实现过的组合式攻击。这说明AI擅长在海量信息中发现人类专家可能忽略的潜在关联。同时,一些开源工具也开始利用AI进行自动化的渗透测试,通过多智能体协同工作,自主完成漏洞探测、风险复现和报告生成,将安全检测更紧密地嵌入开发流程。
然而,AI的介入也带来了全新的挑战,其中最核心的问题是“意图丢失”。一个生动的例子是,一位工程师曾花费两周时间修复一个由浮点数精度引起的微小金额误差,解决方案是将所有金额单位从“元”改为“分”存储为整数。几个月后,一个AI Agent在重构代码时,认为这种乘除操作是多余的“噪音”,便“优化”了代码,改回了浮.数运算,导致那个难以察觉的bug悄然回归。
这个案例揭示了一个深刻的困境:AI能判断代码写得“好不好”,却无法理解代码“为什么这么写”。它缺少人类工程师因经验而具备的“对不熟悉代码的谦逊感”,无法追溯历史决策和背后踩过的坑。高质量的注释、文档或PR描述虽然有帮助,但往往会与代码脱节,或被AI忽略。因此,有人提出需要建立一种新的“意图审查”机制,将决策背后的原因以结构化的方式存储在代码库中,让AI在修改代码前能自动查询并理解这些历史背景,避免在优化中无意破坏了为解决特定问题而设计的“丑陋但必要”的方案。

面对AI带来的变革,工程师的角色正在发生深刻的转变。一位Meta的在职工程师指出,未来技术人的核心价值,不再是亲手编写每一行代码,而是评估AI的思考过程和输出结果,在其跑偏时及时判断和修正。这意味着工程师需要将更多精力从具体的“写(Write)”转移到更高层次的“读懂(Read)”、“核验(Verify)”、“引导(Guide)”和“判断(Intent & Judgment)”上。软件工程的基础,如系统设计、模块划分、接口定义等,非但没有过时,反而变得愈发重要,因为一个清晰、稳定的系统架构是AI能高效、可靠工作的基础。
在日常开发和调试中,与AI的协作模式也在进化。当代码报错时,经验丰富的开发者不再是简单地把错误信息丢给AI要求“修复”,因为这可能导致AI“越改越乱”。更有效的方法是引导AI进入“调试专家模式”,让它先分析报错含义、定位问题可能出自哪个层面、推测最小复现步骤,并在确认问题根源后,才给出最小化的修改方案。这种从“直接修复”到“先定位、再修改”的转变,体现了人类在复杂问题面前主导分析过程的必要性。

AI确实能够高效地发现代码中的各类问题,从逻辑错误到安全漏洞。它正在成为工程师的强大“副驾”,极大地提升了生产力。但这并非意味着人类可以完全放手。相反,这要求工程师掌握新的协作技巧,学会为AI提供精确的上下文,理解并审查其“意图”,并更专注于架构设计和战略思考。AI让编写代码的门槛降低,但成为一名优秀工程师的标准,却因此提升到了一个需要更强判断力和系统思维的新高度。