OpenAI《A Practical Guide to Building Agents》解读:从场景选择到安全落地

3984 字
20 分钟
OpenAI《A Practical Guide to Building Agents》解读:从场景选择到安全落地

OpenAI《A Practical Guide to Building Agents》详细总结#

原文:https://openai.com/business/guides-and-resources/a-practical-guide-to-building-ai-agents/

PDF:https://cdn.openai.com/business-guides-and-resources/a-practical-guide-to-building-agents.pdf

一句话概括#

OpenAI 这篇文章是一份面向产品和工程团队的 Agent 落地指南。它重点不是讨论 Agent 的概念有多新,而是回答三个实践问题:

  • 什么样的任务值得做成 Agent?
  • 一个 Agent 系统应该由哪些基础组件组成?
  • 如何通过编排、多 Agent 和护栏,把 Agent 安全地部署到真实业务里?

如果说 Anthropic 的《Building effective agents》更强调“不要过度设计,先从简单 workflow 开始”,那 OpenAI 这篇更像一份企业落地手册:从选场景、搭结构、选模型、设计工具、写指令、做编排,到最后加 guardrails。

文章讲了什么#

OpenAI 对 Agent 的定义很直接:

Agent 是能够代表用户独立完成任务的系统。

它和普通 LLM 应用的区别在于,Agent 不只是回答问题,而是可以控制一个 workflow 的执行过程。比如:

  • 判断下一步要做什么;
  • 选择要调用哪个工具;
  • 查询外部系统或数据库;
  • 执行动作,比如更新记录、发送消息、发起退款;
  • 根据结果继续下一步;
  • 判断任务是否完成;
  • 失败时停止并交还给人类。

所以,简单聊天机器人、单轮文本生成、情感分类器,都不算严格意义上的 Agent。Agent 的关键是:模型参与了流程执行和决策

什么时候应该构建 Agent#

文章没有鼓励所有业务都做 Agent,而是给了三个适合 Agent 的场景。

1. 复杂决策#

当任务需要上下文判断、例外处理、灰度决策时,Agent 会比传统规则系统更适合。

例子:

  • 判断用户退款请求是否应该批准;
  • 分析一笔交易是否可能存在欺诈;
  • 处理需要结合用户历史、政策条款、当前上下文的客服问题。

传统规则系统像 checklist,只能按照预设条件判断;Agent 更像一个有经验的工作人员,可以结合上下文处理模糊情况。

2. 规则系统已经难以维护#

有些业务一开始可以用规则自动化,但规则越来越多之后,会变得难改、难测、容易互相冲突。

例子:

  • 供应商安全审查;
  • 企业内部合规流程;
  • 多条件审批流程;
  • 大量 if-then-else 堆出来的客服或运营规则。

如果团队每次改规则都很痛苦,Agent 可能有价值。

3. 高度依赖非结构化数据#

Agent 适合处理自然语言、文档、邮件、对话、PDF、网页等非结构化输入。

例子:

  • 处理保险理赔材料;
  • 从文档里抽取关键信息;
  • 读用户邮件并决定下一步;
  • 和用户持续对话,补齐缺失信息。

这类任务很难完全用传统代码写死,因为输入格式和表达方式变化太大。

不适合 Agent 的情况#

如果一个任务满足以下特征,可能不需要 Agent:

  • 流程固定;
  • 输入输出结构稳定;
  • 规则清楚;
  • 不需要多轮决策;
  • 不需要调用多个工具;
  • 出错成本很高但没有可靠护栏;
  • 用传统程序或简单 LLM 调用就能稳定解决。

文章的隐含态度是:Agent 应该解决传统自动化不擅长的问题,而不是替代所有自动化。

Agent 的三个基础组件#

OpenAI 把 Agent 的基础拆成三件事:

Agent = Model + Tools + Instructions

1. Model:模型#

模型负责推理、判断和决策。

文章建议:

  • 原型阶段先用最强模型建立质量基线;
  • 不要一开始就为了省钱选小模型;
  • 等系统跑通、有 eval 之后,再逐步替换成更小、更快、更便宜的模型;
  • 不同步骤可以使用不同模型。

它的模型选择逻辑是:

先保证准确率 -> 再优化成本和延迟

也就是说,先证明 Agent 能把事做好,再考虑怎么把它做便宜。

2. Tools:工具#

工具让 Agent 不只是“说”,还可以“做”。

文章把工具分成三类:

工具类型作用例子
Data tools获取上下文和信息查 CRM、查数据库、读 PDF、搜索网页
Action tools对外部系统执行动作发邮件、更新记录、发起退款、转人工
Orchestration tools把其他 Agent 当工具使用研究 Agent、写作 Agent、退款 Agent

工具设计非常关键。好的工具应该:

  • 定义标准化;
  • 描述清楚;
  • 参数明确;
  • 可复用;
  • 可测试;
  • 便于版本管理;
  • 避免多个工具功能重叠导致模型选错。

文章还提到,对于没有 API 的旧系统,可以让 Agent 通过 computer use 模型像人一样操作网页或应用界面。但这种方式更需要安全边界和审计。

3. Instructions:指令#

指令决定 Agent 的行为边界和执行方式。

文章强调,高质量 instructions 对 Agent 尤其重要,因为 Agent 会多轮行动、调用工具、处理分支,一旦指令模糊,错误会被放大。

好的指令应该:

  • 使用现有业务文档、SOP、客服脚本、政策文档作为来源;
  • 把复杂文档改写成模型容易执行的步骤;
  • 每一步都对应明确动作或输出;
  • 明确什么时候问用户、什么时候查系统、什么时候调用 API;
  • 覆盖常见边界情况;
  • 对缺失信息、异常输入、用户跑题等情况有处理方式。

文章还建议可以用更强的模型,把现有帮助中心文档或政策文档转换成 Agent 指令。

编排方式:单 Agent 还是多 Agent#

OpenAI 把 Agent 编排分成两类:

  • 单 Agent 系统;
  • 多 Agent 系统。

它的总体建议很清楚:

先尽量把单 Agent 做好,只有当单 Agent 扛不住复杂度时,再拆成多 Agent。

单 Agent 系统#

单 Agent 是最推荐的起点。

一个 Agent 配上合适的工具和清晰指令,就可以处理很多任务。随着能力需求增加,可以逐步给它加工具,而不是一开始就设计复杂的多 Agent 架构。

单 Agent 的核心运行方式是一个循环:

接收输入 -> 模型判断 -> 调用工具或直接回答 -> 观察结果 -> 继续下一步 -> 直到满足退出条件

常见退出条件包括:

  • 模型给出最终答案;
  • 调用了最终输出工具;
  • 发生错误;
  • 达到最大轮数;
  • 命中人工介入条件。

文章特别强调:Agent 的核心不是一次模型调用,而是一个可以持续执行直到任务结束的 run loop。

用 prompt template 管理复杂度#

在还没有必要拆多 Agent 之前,可以先用 prompt template 管理复杂度。

比如客服 Agent 不需要为每个用户写一份 prompt,而是用一个基础模板,再填入变量:

  • 用户姓名;
  • 用户年限;
  • 常见投诉类型;
  • 当前政策;
  • 业务场景。

这样可以降低维护成本,也方便评估。

什么时候拆成多 Agent#

文章给了两个判断标准。

1. 逻辑太复杂#

如果一个 Agent 的 prompt 里充满大量条件分支,比如很多 if-then-else,说明它可能已经太复杂了。

这时可以把不同逻辑段拆给不同 Agent。

2. 工具过载#

不是工具数量多就一定要拆,而是工具之间相似、重叠、容易混淆时,模型更容易选错。

文章提到,有些系统可以管理超过 15 个定义清晰、差异明显的工具;但有些系统即使不到 10 个工具,只要工具功能重叠,也会出问题。

所以判断重点不是“有几个工具”,而是:

  • 工具是否清楚;
  • 功能是否重叠;
  • 参数是否容易混;
  • 模型是否经常选错工具;
  • 改善工具命名和描述后是否仍然失败。

如果工具设计已经优化过,Agent 还是经常选错,就可以考虑拆多 Agent。

多 Agent 的两种模式#

OpenAI 总结了两种常见多 Agent 架构。

1. Manager Pattern:管理者模式#

一个中心 Agent 作为 manager,负责协调多个专业 Agent。

结构大概是:

用户 -> Manager Agent -> 专业 Agent A / B / C -> Manager 汇总 -> 用户

适合:

  • 希望只有一个 Agent 面向用户;
  • 希望中心 Agent 保持流程控制权;
  • 需要把多个专业能力整合成统一体验。

例子:

用户要求把一句话翻译成西班牙语、法语、意大利语。Manager Agent 可以分别调用三个翻译 Agent,再把结果汇总给用户。

这个模式的好处是用户体验统一,控制权集中;缺点是 manager 的设计质量很重要。

2. Decentralized Pattern:去中心化交接模式#

多个 Agent 是平级的,一个 Agent 可以把任务 handoff 给另一个 Agent。被交接的 Agent 接管后,可以继续和用户交互。

结构大概是:

用户 -> Triage Agent -> 订单 Agent / 销售 Agent / 技术支持 Agent

适合:

  • 对话分流;
  • 客服场景;
  • 某个专业 Agent 接手后不需要原 Agent 继续参与;
  • 不需要一个中心 Agent 始终掌控全局。

例子:

用户问“我的订单什么时候送达?”Triage Agent 判断这是订单问题,于是把对话交给 Order Management Agent。

这个模式的好处是职责清晰、专业 Agent 可以完整接管;缺点是要设计好交接规则,避免来回踢皮球。

关于图式编排和代码式编排#

文章还提到,有些框架要求开发者提前定义完整图结构:节点、边、分支、循环、条件。

这种方式可视化清楚,但当流程越来越动态时,维护会变复杂。

OpenAI 倾向强调代码优先的灵活编排:开发者可以用熟悉的程序结构表达逻辑,不一定要提前把所有图结构写死。

这个观点和整篇文章一致:Agent 系统需要灵活,但不能失控。

Guardrails:护栏#

OpenAI 这篇文章很重视护栏,因为 Agent 不只是输出文本,还可能调用工具、写入系统、执行真实动作。

护栏的作用是降低:

  • 数据隐私风险;
  • 提示词泄露风险;
  • 越权操作风险;
  • 品牌声誉风险;
  • 安全与合规风险;
  • 高风险工具误用风险。

文章强调:护栏不是单一机制,而是多层防御。

常见护栏类型#

类型作用
Relevance classifier判断用户请求是否在 Agent 范围内
Safety classifier检测 jailbreak、prompt injection 等攻击
PII filter防止输出不必要的个人敏感信息
Moderation过滤仇恨、骚扰、暴力等不安全内容
Tool safeguards按工具风险等级控制调用权限
Rules-based protections用黑名单、长度限制、正则等处理已知风险
Output validation检查输出是否符合品牌、安全和格式要求

工具风险分级#

文章特别值得注意的一点是:工具应该按风险分级。

可以考虑这些因素:

  • 只读还是写入;
  • 是否可逆;
  • 是否需要账户权限;
  • 是否涉及财务影响;
  • 是否会影响真实用户;
  • 是否可能造成不可恢复后果。

比如:

  • 查询订单:低风险;
  • 更新 CRM 字段:中风险;
  • 发起大额退款:高风险;
  • 付款、取消订单、删除数据:高风险。

高风险工具不应该随便让 Agent 自动执行,应该触发额外检查或人工审批。

人工介入#

文章明确说,人类介入是关键安全机制,尤其是在早期部署阶段。

两类情况特别需要人工介入:

  1. 超过失败阈值
    比如 Agent 多次无法理解用户意图、连续调用工具失败、反复给出不确定答案。

  2. 高风险动作
    比如取消订单、批准大额退款、执行付款、修改敏感数据。

这点非常现实:Agent 不是必须全自动。生产环境里,很多时候最好的形态是“自动处理大部分低风险任务,把不确定和高风险任务交给人”。

文章的落地路线#

可以把 OpenAI 的实践路径整理成这样:

选择合适场景
-> 用强模型做原型
-> 定义工具
-> 编写清晰 instructions
-> 先做单 Agent
-> 建立 eval
-> 优化模型成本和延迟
-> 必要时拆多 Agent
-> 增加多层 guardrails
-> 小范围上线并持续迭代

这条路线的关键是:不要从架构开始,而是从业务问题和评估开始。

这篇文章的重点#

重点一:Agent 是 workflow 的执行者#

Agent 不只是聊天界面,而是可以推动业务流程向前走的系统。

它的核心能力是:

  • 判断;
  • 调用工具;
  • 执行动作;
  • 根据反馈继续;
  • 完成整个流程。

重点二:Agent 的价值在模糊和复杂场景#

如果任务很规则、很稳定、很确定,用传统自动化就可以。Agent 的价值主要在:

  • 模糊判断;
  • 复杂上下文;
  • 非结构化数据;
  • 规则系统难维护;
  • 需要多轮工具调用。

重点三:先单 Agent,再多 Agent#

多 Agent 听起来高级,但会增加复杂度。

OpenAI 的建议是先最大化单 Agent 能力,只有当指令太复杂、工具太混乱、模型经常选错工具时,再拆分。

重点四:工具和指令是 Agent 的产品设计#

工具不是技术细节,而是 Agent 能力边界。

指令也不是随便写一段 prompt,而是把业务 SOP 转换成模型可执行流程。

重点五:护栏是生产 Agent 的必需品#

Agent 越能“行动”,越需要控制。

尤其是涉及写入、付款、退款、删除、修改用户数据时,必须有风险分级、审批机制和人工介入。

需要注意什么#

  • 不要把所有 LLM 应用都叫 Agent。
  • 不要为了追热点而把简单任务复杂化。
  • 不要跳过 eval,直接谈成本优化。
  • 不要一开始就用小模型做原型,容易误判系统上限。
  • 不要让工具命名、参数和描述含糊不清。
  • 不要给单个 Agent 塞太多相似工具。
  • 不要让 prompt 变成无法维护的超长规则堆。
  • 不要一开始就设计复杂多 Agent 架构。
  • 不要让高风险工具自动执行。
  • 不要把 guardrails 当成一次性配置,要随着真实失败案例持续补充。
  • 不要认为人工介入是失败,它其实是生产系统可靠性的一部分。

知识博主角度#

这篇文章可以这样讲:

OpenAI 给 Agent 下了一个很务实的定义:Agent 不是会聊天的模型,而是能代表用户跑完整业务流程的系统。

然后展开三个问题:

  1. 什么任务值得做 Agent?
    复杂决策、规则难维护、非结构化数据多。

  2. Agent 怎么搭?
    三件套:模型、工具、指令。

  3. 怎么从 demo 走向生产?
    先单 Agent,必要时多 Agent,再加多层 guardrails 和人工介入。

最后可以用一句话收尾:

Agent 的真正难点不是让模型调用工具,而是让它在真实业务里可控、可评估、可交接、可追责。

和 Anthropic 那篇的区别#

两篇文章都反对盲目复杂化,但侧重点不同。

文章重点
Anthropic《Building effective agents》强调先简单后复杂,介绍多种 agentic workflow 模式
OpenAI《A Practical Guide to Building Agents》强调企业落地,从选场景、三件套、编排到护栏

Anthropic 那篇作为“Agent 架构思想”,把 OpenAI 这篇作为“Agent 落地手册”。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
OpenAI《A Practical Guide to Building Agents》解读:从场景选择到安全落地
https://openai.com/business/guides-and-resources/a-practical-guide-to-building-ai-agents/
作者
宇豪
发布于
2026-06-14
许可协议
CC BY-NC-SA 4.0
相关文章 智能推荐
1
Building Effective Agents 解读:别急着上 Agent,先从简单模式开始
学习笔记 Anthropic《Building effective agents》文章解读,梳理 workflow 与 agent 的区别、增强型 LLM、提示链、路由、并行化、编排者-工作者、评估者-优化者等常见模式,以及什么时候该增加系统复杂度。
2
OpenAI Function Calling 官方文档中文解读:从 JSON Schema 到 Strict Mode
学习笔记 基于 OpenAI 官方 Function Calling 指南的中文深度解读,系统梳理工具定义、五步调用流程、parallel_tool_calls、strict mode、custom tools 与 tool search 的关键差异与实战要点。
3
LlamaIndex Agents 官方文档中文解读:从工具调用到 Workflows
学习笔记 基于 LlamaIndex Agents 官方文档的中文解读,梳理 Agent 作为自动推理与决策引擎的核心能力,以及工具、记忆、计划、预置 Agent 与 Workflows 的工程边界。
4
LangChain Docs 中文深度解读:从 Agent 框架到 LangGraph、LangSmith 的工程体系
学习笔记 基于 LangChain 官方文档的中文深度解读,系统梳理 LangChain、LangGraph、LangSmith 的三层分工,以及 Build、Test、Deploy、Monitor、Govern 的 Agent 工程生命周期。
5
Claude Tool Use 官方文档中文解读:客户端工具、服务端工具与 Agentic Loop
学习笔记 基于 Anthropic Claude 官方 Tool Use 文档的中文深度解读,重点拆解 client tools 与 server tools 的执行边界、tool_use/tool_result 循环、tool_choice、strict tool use 以及生产环境成本与风险控制。
随机文章 随机推荐

评论区

Profile Image of the Author
宇豪
Hello, I'm Marco Ma.
公告
每一天都是新的开始,保持热爱,奔赴山海。欢迎来到我的小站!
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
23
分类
4
标签
64
总字数
73,235
运行时长
0
最后活动
0 天前

文章目录