什么是 Agentic Engineering(智能体工程)?
Simon Willison 系统定义了 Agentic Engineering 这一概念——借助能编写和执行代码的 AI 编码智能体来开发软件的实践,并阐述了它与 Vibe Coding 的本质区别
本文为转载翻译文章,原作者:Simon Willison
什么是 Agentic Engineering?
我用 Agentic Engineering(智能体工程) 这个术语来描述借助编码智能体来开发软件的实践。
什么是编码智能体?它们是既能编写代码又能执行代码的智能体。当下流行的例子包括 Claude Code、OpenAI Codex 和 Gemini CLI。
什么是智能体(Agent)?清晰地定义这个概念是一项至少从 1990 年代起就让 AI 研究者头疼的挑战,但在大语言模型(LLM)——如 GPT-5、Gemini 和 Claude——的语境下,我最终接受的定义是:
智能体在循环中运行工具以达成目标。
所谓"智能体",是一段软件:它将你的提示词(prompt)和一组工具定义一起发送给 LLM,然后调用 LLM 请求的任何工具,再把结果反馈回 LLM。
对于编码智能体来说,这些工具中包含一个可以执行代码的工具。
你通过提示词为编码智能体设定一个目标。智能体随后在循环中生成并执行代码,直到目标达成。
代码执行是使 Agentic Engineering 成为可能的关键能力。 如果没有直接运行代码的能力,LLM 输出的任何东西价值都很有限。有了代码执行能力,这些智能体就可以不断迭代,直到产出可证明能运行的软件。
Agentic Engineering 的意义
既然现在有了能编写可运行代码的软件,那我们人类还能做什么?
答案是——太多了。
编写代码从来不是软件工程师的唯一活动。这门手艺的核心一直是搞清楚该写什么代码。任何给定的软件问题都有数十种潜在的解决方案,每种都有各自的权衡取舍。我们的工作是在这些选项中穿行,找到最适合我们独特环境和需求的那一个。
从编码智能体中获得出色结果本身就是一个深度话题,尤其是在这个领域仍以令人眼花缭乱的速度持续演进的当下。
我们需要为编码智能体提供解决问题所需的工具,以恰当的详细程度描述问题,并对结果进行验证和迭代,直到我们确信它们以稳健、可靠的方式解决了我们的问题。
LLM 不会从过去的错误中学习,但编码智能体可以——前提是我们有意识地更新我们的指令和工具配置,以吸收我们一路走来的经验教训。
有效地使用编码智能体,能帮助我们在承接项目时更有雄心壮志。Agentic Engineering 应该帮助我们产出更多、更高质量的代码,去解决更有影响力的问题。
这不就是 Vibe Coding 吗?
"Vibe Coding(氛围编程)" 这个术语由 Andrej Karpathy 在 2025 年 2 月创造——恰好在 Claude Code 最初发布的三周之前——用来形容在让 LLM 编写代码的同时"忘掉代码的存在"。
一些人将这个定义扩展到涵盖任何使用 LLM 生成代码的场景,但我认为这是一个误解。Vibe Coding 在其原始定义中更有价值——我们需要一个术语来区分未经审查的、原型级别的 LLM 生成代码与作者已将其提升到生产就绪标准的代码。
关于本指南
正如它试图涵盖的领域一样,《Agentic Engineering Patterns》本身也是一个正在进行中的作品。我的目标是识别和描述使用这些工具的模式,这些模式要能切实产出成果,并且不太可能随着工具的进步而过时。
随着新技术的出现,我会继续添加更多章节。任何章节都不应被视为已经完成。随着我们对这些模式的理解不断演进,我会持续更新现有章节。