跳转至

前言

大模型把“自然语言接口”带进了软件系统,也把一种新的工程对象带到了开发者面前:Agent。过去我们构建系统时,习惯先定义接口、约束状态、编排流程,再把每个模块拼装成一个稳定的程序。进入 Agent 时代后,系统中第一次出现了一个既能理解语言、又能做条件判断、还能调用工具与外部环境交互的核心部件。它不再只是一个文本生成器,而开始承担“决策者”的角色。

这件事很容易让人兴奋,也很容易让团队失焦。很多系统只是把一个大模型接到对话框里,就被称作 Agent;很多团队还没回答清楚“这个问题为什么需要 Agent”,就已经开始讨论 Memory、Tool Use 和多 Agent 编排。结果通常是 Demo 很快做出来,效果却无法稳定复现,成本、延迟和错误风险也不断上升。

这本书试图解决的,正是这种“概念热闹、工程失焦”的问题。它不是一本 Prompt 技巧手册,也不是某个框架的快速入门,而是一本面向软件工程师的 Agent 系统设计手册。全书关注的问题包括:

  • 什么是 Agent,它和 Chatbot、Workflow、Copilot 的边界在哪里。
  • 一个 Agent 真正的能力由哪些部件构成,哪些来自模型,哪些来自系统。
  • 在知识、记忆、工具、状态和评测这些关键环节上,工程上应该如何设计。
  • 当 Agent 进入真实业务环境后,可靠性、安全、治理和成本问题如何处理。

如果用一句话概括本书的立场,那就是:Agent 不是 Prompt 技巧集合,而是一个围绕上下文、工具、状态、约束和反馈闭环构建的系统工程。

因此,本书不会把重点放在“如何让模型看起来更聪明”,而会更多讨论“如何让系统在不确定环境中仍然可控、可观测、可评估、可演进”。书中的很多观点都建立在同一个工程前提之上:与其追求一次演示中的惊艳效果,不如追求可持续迭代中的稳定收益。

本书默认你已经具备基础的软件工程背景,理解常见的服务架构、接口设计、缓存、数据库、日志和评测等概念。即便如此,你也会发现 Agent 系统和传统软件系统仍有很多不同:它更依赖上下文管理,更依赖外部反馈,也更依赖对不确定性的约束与治理。这也是本书希望帮助你完成的能力跃迁。

如果你正在尝试构建一个文档问答 Agent、代码助手、任务执行 Agent,或者正在思考企业内部的 Agent 平台应该怎么设计,希望这本小书能给你一条足够清晰、足够务实的路线图。