来源
- 原始链接:https://www.youtube.com/watch?v=ZD9-4fW2HhM
- 来源类型:视频逐字稿
- 来源标题:构建系统,而不是代码
文本来源是 AI Engineer 频道视频《构建系统,而不是代码》的修复版中文稿。下面按汉松兴趣画像优先保留机制解释、反常识判断和可复用工作流,而不是做普通摘要。
开头可以先抓住一句:Angie Jones 以“搬家侦察员”Agent 为贯穿案例,系统梳理了构建基于 Agent 的系统所需的七大软件工程核心技能:系统思维、工作流设计、分解与关注点分离、模块化、算法思维(代码、Agent 与人类的分工)、契约与结构化输出、幂等性与威胁建模。核心论点是:Agent 的构建模块变了,但工程纪律没有变。
一、开场与系统思维
背景
从演讲者亲身经历切入:用 Agent 构建系统比写代码更有趣;以“搬家侦察员”Agent 为案例,阐述为什么需要将 Agent 设计成可复用的系统,而不是一次性提示词;引出第一个工程技能:系统思维。
它能够在会话之外持久化知识,之后可以重新加载或查询这些知识,即使在全新的上下文中也能做出决策。在思考如何设计一个 Agent 时,我运用的第一个工程技能是系统思维。Agent 不是系统本身,它是系统的一部分。那个系统包含文件、工具、人,甚至其他 Agent。所以 Relocation Scout 存在于一个更大的体系之中,它拉取房源列表和社区信号,把它们与我关心的因素进行权衡,然后返回一份排名后的候选名单。
从演讲者亲身经历切入:用 Agent 构建系统比写代码更有趣;以“搬家侦察员”Agent 为案例,阐述为什么需要将 Agent 设计成可复用的系统,而不是一次性提示词;引出第一个工程技能:系统思维。
兴趣匹配度很高。它对应的是 Agent 工程化的核心问题:如何把不稳定的模型行为放进清晰的状态、动作、工具和反馈闭环里。
二、分解、关注点分离与模块化
背景
识别提示词膨胀这一“代码异味”,通过分解和关注点分离,把不同职责分别放到提示词、技能、数据模式、脚本和子 Agent 各自合适的位置;讨论子 Agent 的架构意义与模块化复用的判断原则。
但其中很多事情用普通代码就能处理,更便宜,也更可靠。我向你保证,AI 没有发明自动化,我们完全可以在使用这些系统的同时继续使用代码。我的经验法则是:如果一个任务有确定答案,用代码;如果需要解读或判断,让 Agent 来做。用代码处理确定性的事,用 Agent 做判断,用人来做权威决策。Agent 决定哪些房源值得深入看,代码计算通勤时间并过滤掉已看过的,而我来审批是否真的预约看房。
识别提示词膨胀这一“代码异味”,通过分解和关注点分离,把不同职责分别放到提示词、技能、数据模式、脚本和子 Agent 各自合适的位置;讨论子 Agent 的架构意义与模块化复用的判断原则。
兴趣匹配度很高。它对应的是 Agent 工程化的核心问题:如何把不稳定的模型行为放进清晰的状态、动作、工具和反馈闭环里。
三、算法思维、契约与幂等性
背景
区分“代码处理确定性任务、Agent 处理判断型任务、人做权威决策”的三层分工;通过结构化输出定义系统契约;幂等性设计:确保重试时 Agent 不会重复执行已完成的操作。
如果决策被埋在某个会话对话里,下游就无法可靠地找到它。所以,应该把它写入 Agent 记忆中的一个结构化形态。我在大多数 Agent 上用 Compendium Wiki 作为 Agent 的记忆层。里面有决策、评分、理由,因为是结构化的,这份记忆就变得可查询了。之后我可以问 Relocation Scout:“把所有评分四分及以上、通勤 15 分钟以内的房子给我列出来。”它真的能查到,因为评分和通勤时间存放在已知位置,而不是困在某个会话对话里。不只是我需要这些信息,系统内部的候选名单环节也会在没有人工介入的情况下读取这些字段。所以,Agent 的输出是下一个环节的输入。
区分“代码处理确定性任务、Agent 处理判断型任务、人做权威决策”的三层分工;通过结构化输出定义系统契约;幂等性设计:确保重试时 Agent 不会重复执行已完成的操作。
兴趣匹配度很高。它对应的是 Agent 工程化的核心问题:如何把不稳定的模型行为放进清晰的状态、动作、工具和反馈闭环里。
四、威胁建模、可维护性与总结
背景
把外部输入视为证据而非指令;通过权限边界缩小风险爆炸半径;在系统每一层嵌入说明文件以保证可维护性;收尾总结:设计 Agent 就是软件工程,原语不同,纪律相同。
这对修改系统也大有帮助。每当我需要修改系统时,我基本上可以拿起任何一个入口说:“把这个 Agent 更新成能做 XYZ。”因为系统设计得足够好,它成功完成这个更新的概率要高得多。如果它在尝试更新时真的遇到了问题,这对我来说就是一个信号,说明我需要提升系统的可维护性。
把外部输入视为证据而非指令;通过权限边界缩小风险爆炸半径;在系统每一层嵌入说明文件以保证可维护性;收尾总结:设计 Agent 就是软件工程,原语不同,纪律相同。
兴趣匹配度很高。它对应的是 Agent 工程化的核心问题:如何把不稳定的模型行为放进清晰的状态、动作、工具和反馈闭环里。
整体判断
这篇最值得保留的不是某个单点技巧,而是它把「构建系统,而不是代码」放进了更完整的工程框架里:开场与系统思维、分解、关注点分离与模块化、算法思维、契约与幂等性。这些内容可以作为汉松后续写 AI 工程、Agent 系统和团队工作流时的素材。
更重要的是,它提供了一种判断 AI 系统的方式:先看问题如何被拆成状态、动作、工具、评估和人的边界,再看模型能力如何嵌进去。只有这样,视频里的做法才会从一次演示变成可迁移的方法。