从原型到生产:Josh Albrecht谈AI写出高质量代码的关键

AI PM 编辑部 · 2025年07月25日 · 5 阅读 · AI/人工智能

正在加载视频...

视频章节

很多AI编码工具能快速写出“能跑的代码”,却难以进入生产环境。Imbue CTO Josh Albrecht通过真实开发经验,系统拆解了AI代码质量失控的根源,并给出一套从预防到检测、修复的完整方法论,解释如何让AI真正成为可靠的软件工程师。

从原型到生产:Josh Albrecht谈AI写出高质量代码的关键

很多AI编码工具能快速写出“能跑的代码”,却难以进入生产环境。Imbue CTO Josh Albrecht通过真实开发经验,系统拆解了AI代码质量失控的根源,并给出一套从预防到检测、修复的完整方法论,解释如何让AI真正成为可靠的软件工程师。

为什么AI写的代码总卡在“原型阶段”

这一场演讲从一个所有工程师都熟悉的痛点开始:AI生成的代码在演示时看起来不错,但一合并进代码库就问题频出。Josh Albrecht开门见山地指出,他们在Imbue做软件型AI Agent时,反复遇到同一个问题——“what is wrong with this diff?”。也就是说,代码改动表面合理,但隐藏着设计不一致、边界条件遗漏或风格混乱的问题。Josh强调,这并不是模型“不够聪明”,而是我们把AI当成了只要一句提示就能交付成品的黑箱。他提出一个重要判断:如果目标是高质量代码,就必须把AI放进真实的软件工程流程,而不是停留在一次性生成的原型思维中。这也是他们开发Sculptor的出发点——不是更快写代码,而是减少后期修复成本。

预防胜于修复:让AI在写代码前就少犯错

Josh把提升AI代码质量的第一阶段定义为“预防问题”,并系统性地总结了五个方向。首先是限制修改范围,避免让AI在一次任务中触碰过多文件;其次是强制“先规划再动手”,鼓励AI明确步骤和依赖关系,而不是直接输出代码。第三是提前写清楚规格说明和文档,这相当于给模型一个更稳定的目标函数。第四是从一开始就建立严格的风格指南,让AI理解团队的隐性规范。Josh在演讲中反复强调,这些做法并不新,但当执行者从人变成AI时,其重要性被严重低估。他的原话是:“encourage people to start by planning”,这里的“people”实际上已经包含了AI Agent。

不可避免的错误:如何系统性地发现问题

即便做足了预防,Josh也承认:“no matter how many things you do to prevent the AI system”,错误仍然不可避免。因此第二阶段是检测问题。他给出的顺序非常工程化:先跑静态检查工具(linters),再写并运行测试。整整一大段时间,他都在解释为什么测试仍然是核心防线,以及糟糕的测试会如何制造“flaky tests”这种假信号。更有意思的是第三种检测方式——直接让另一个大语言模型来审查代码。Josh并没有把LLM审查包装成魔法,而是强调它适合作为持续检查的一环,帮助发现人和工具都容易忽略的问题。这种“用AI检查AI”的思路,是整场演讲中最具现实感的洞见之一。

从发现到修复:人和AI如何协作完成闭环

在最后一个技术阶段,Josh谈到发现问题之后真正困难的部分:修复。AI往往能快速给出一个“看似合理”的补丁,但未必是最优解。因此,人类工程师的角色并没有消失,而是转向决策与约束。他提到,这一整套流程只是开始,真正的目标是建立一个人类与AI Agent持续协作的系统,而不是一次性的工具使用体验。演讲结尾,他用一种相对克制的乐观总结:未来不是AI单独写代码,也不是人类拒绝AI,而是两者在同一工程体系中“working together”。

总结

这场演讲最有价值的地方,不在于某个具体技巧,而在于对问题本质的重新定义。Josh Albrecht提醒我们:AI写不好代码,往往是因为我们没有给它一个好工程环境。规划、规格、风格、测试和审查,这些传统软件工程的“老工具”,在AI时代反而变得更加关键。对开发者而言,真正的挑战不是要不要用AI,而是是否愿意为它搭建一条通向高质量的轨道。


关键词: AI Agent, 代码生成, 软件工程, 大语言模型, AI编码

事实核查备注: 演讲者:Josh Albrecht;身份:Imbue CTO;产品名称:Sculptor;核心概念:AI Agent、linters、tests、style guide、LLM code review;引用语句均来自公开视频片段的原意转述