从“感觉编程”到 Agent 工程:利用 AI Agents 构建生产级系统

@carlsue
英语1个月前 · 2026年6月07日
792K
42
4
2
57

TL;DR

Andrej Karpathy 提出的 Agent 工程概念为在生产环境中使用 AI Agents 提供了一种结构化的工作流,强调设计层级和人工问责,而非随意的编码方式。

2025 年 2 月,Andrej Karpathy 将 "vibe coding" 描述为:用自然语言描述意图,仅做最小程度的审查就接受 LLM 的修改,让代码超出你通常的理解范围。这种方式能为个人项目和原型开发带来惊人的速度。

一年后,他观察到 Agent 的能力已经进步,因此提出 "Agent 驱动工程" 作为这种演化后实践的首选名称。它的核心是编排 Agent,同时保持对架构和流程的强有力人工监督。正如他所说,目标是获得 Agent 带来的杠杆效应,同时不牺牲软件质量。

这个区别很重要。Vibe coding 在单人、低风险的个人项目中表现良好,但一旦有其他人依赖其成果,它就会迅速积累隐藏的技术债务、安全漏洞和维护问题。Agent 驱动工程则能保持现代 Agent 的速度和杠杆效应,但所有工作都锚定在清晰的结构、可追溯的成果和人工问责制之上。

Agent 驱动工程工作流

从粗略的意图开始,与 AI 进行设计对话,同时将功能分解为各个组成部分,并记录到设计会议记录中。当设计感觉稳固后,将高层视图和组件映射捕获到一个设计层级结构中(这就是人们在展示 Obsidian "大脑"时展示的内容)——一个可导航的结构,让你和 Agent 都能方便地访问相关上下文、关联决策和依赖关系。设计图表也在这里,例如 UML(统一建模语言)、代码或用户交互流程图,以及架构决策记录(ADR)的链接(用于阐明组件之间的关系)。

对于每个模块或最小的功能块,在 LLD 内创建一个聚焦的 spec.md,定义精确的行为、函数签名、边界情况、测试预期和集成点。利用整个结构作为设计上下文,提示 AI 构建一个带有工单层级结构的任务清单,使其能够直接追溯到 Wiki 页面和 spec。然后,逐工单地进行实现,Agent 遵循相应的 spec.md 作为其契约。接着,运行验证关卡、部署、观察,并根据需求演变更新这些活文档。

Carl Sue - inline image

真实示例:每日备份验证器

设想一个生产级的小型 CLI 工具,用于验证每日 S3 备份,并在失败时发送 Slack 警报。

从一个粗略的目标开始:"我需要一个可靠的工具,每天检查我的备份是否健康。"然后与 AI 进行架构对话,以梳理需求和边界情况:

  • S3 备份在实际应用中,有哪些真实的故障模式?
  • 我们应该具体验证什么(备份时长、文件数量、大小、成功率)?什么样的阈值是合理的?
  • 在本地开发和生产环境的 IAM 角色之间,应如何处理配置和密钥?
  • 在日常使用中,哪些 CLI 命令和输出格式最有用?
  • 对于一个计划每日运行的工具,哪些非功能性需求最重要?

这些对话有助于明确范围,并将工具分解为若干核心组件:带有重试逻辑的 S3 元数据获取器、验证规则引擎、通知系统、配置加载器、CLI 界面、结构化日志记录和错误处理。

设计明确后,你将高层视图和组件映射记录在设计层级 Wiki 中,其中的每个页面都是版本化且可链接的。

Carl Sue - inline image

Wiki 能为未来的读者提供平面文档无法提供的、丰富的上下文。作为同一设计工作的一部分,你为每个模块创建一个位于子 LLD 级别的、聚焦的 spec.md。以下是 S3 元数据获取器的契约。

Carl Sue - inline image

这个 spec.md 就是你交付给 Agent 的契约,例如:"严格按照 spec.md 在 s3_client/ 目录下实现,遵循项目标准,并包含全面的测试。"有了 Wiki 和模块 spec,你就可以提示 AI 直接从它们生成工单层级结构。每一个工单都追溯到一个功能需求,以及定义其契约的 spec。

Carl Sue - inline image

然后,实现过程逐工单进行,每个工单连同其匹配的 spec.md 一起交给 Agent 作为契约。以下是实际效果:一次计划任务捕获到一个较短的备份集并触发了警报。

Carl Sue - inline image

该任务以非零状态退出,以便 cron 任务能够注意到,并触发警报,最终发送到 Slack。

Carl Sue - inline image

警报携带了值班工程师所需的规则上下文:哪个检查失败了,发现了什么,预期是什么,以及涉及哪个备份集。

这种分层方法的好处

  • Agent 负责实施的工作量,而人类在每一层都掌握架构和质量。
  • Wiki 提供项目级别的可发现性和决策记录,而 spec.md 文件则提供精确的模块级契约,不会使高层设计变得臃肿。
  • 需求和决策直接从 Wiki 页面和 spec 流向工单和代码。
  • 变更从活的文档开始,而不是从代码库反向工程。
  • 清晰的关注点分离支持并行工作、新员工入职和审计。
  • T 型人才能够以广度导航,以精度提问,而 Agent 随时按需提供深度,无需任何人将整个系统记在脑中。

Vibe coding 仍然是探索和快速个人原型开发的绝佳模式。而 Agent 驱动工程,则是将同样的对话能力引导到他人可以信任和维护的系统中的方法。

T 型人才的定位

这个工作流对 T 型人才尤其强大:那些在应用领域拥有广泛知识,同时具备在需要时深入钻研能力的工程师。

因为你不需要时刻在脑中维护一个完整、最新的、关于整个应用如何运作的心理模型。Agent 可以承载这种深度,并随时根据要求重新解释任何部分,只要它拥有来自 Wiki、spec.md 和对话历史的正确上下文。

你需要的是知道要找什么以及去哪里找的能力,再加上持续提出精确问题直到理解当前具体工作项的纪律。T 的广度部分赋予你系统的地图;AI Agent 则支持所需技能,让你能够深入探索当下最重要的确切模块、边界情况或集成点。每当你发问,Agent 都能提供详尽的信息。

这使人类的角色从"我必须时刻理解一切"转变为"我知道如何在恰当的层级进行导航、提问和验证"。这才是 Agent 驱动工程的真正技能。

一键保存

使用 YouMind AI 深度阅读爆款文章

保存原文、追问细节、总结观点,并在一个 AI 工作空间里把爆款文章沉淀成可复用笔记。

了解 YouMind
写给创作者

把你的 Markdown 变成干净的 𝕏 文章

图片上传、表格、代码块,往 𝕏 上手动重排太痛苦。YouMind 把整篇 Markdown 一键转成干净、可直接发布的 𝕏 文章草稿。

试试 Markdown 转 𝕏

更多可拆解样本

近期爆款文章

探索更多爆款文章