惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Last Watchdog
The Last Watchdog
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LINUX DO - 热门话题
G
GRAHAM CLULEY
S
Schneier on Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
SegmentFault 最新的问题
IT之家
IT之家
阮一峰的网络日志
阮一峰的网络日志
Recorded Future
Recorded Future
I
Intezer
云风的 BLOG
云风的 BLOG
博客园 - Franky
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏
T
Tenable Blog
The Hacker News
The Hacker News
T
The Blog of Author Tim Ferriss
Attack and Defense Labs
Attack and Defense Labs
D
DataBreaches.Net
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
News and Events Feed by Topic
有赞技术团队
有赞技术团队
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
N
News and Events Feed by Topic
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Secure Thoughts
The Register - Security
The Register - Security
B
Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
The Cloudflare Blog
Webroot Blog
Webroot Blog
W
WeLiveSecurity
H
Heimdal Security Blog
博客园 - 三生石上(FineUI控件)
V
Vulnerabilities – Threatpost
G
Google Developers Blog
O
OpenAI News
V
V2EX
罗磊的独立博客
博客园_首页
N
News | PayPal Newsroom
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
TaoSecurity Blog
TaoSecurity Blog
Cloudbric
Cloudbric
H
Hacker News: Front Page
博客园 - 叶小钗
T
Tor Project blog
AI
AI

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
高效 Agents 构建指南
叶小钗 · 2025-05-27 · via 人人都是产品经理

本文深入解析智能体(Agent)开发,从概念到实践,探讨了智能体的定义、适用场景、设计三要素以及安全性和编排模式等内容。作者结合实战经验,为首次尝试构建智能体的产品与工程团队提供了详尽的指导和建议。

今年一直在从事Agent相关工作,所以形成了一套自己的AI项目心得,但AI这个东西最怕孤陋寡闻,所以每天都在读各种报告,最近OpenAI除了一份报告《构建智能体的实用指南》,看了下来很不错,于是推荐给大家。

报告一共32页,其目录结构为:

  1. 什么是智能体?   4
  2. 何时应该构建智能体?   5
  3. 智能体设计基础   7
  4. 安全性   24
  5. 结语   32

引言

大型语言模型(LLM)的能力正迅速提升,如今已能胜任复杂的多步骤任务。推理、多模态处理与工具调用等方面的突破,催生了全新的 LLM 驱动系统——智能体(agent)。

本指南专为首次尝试构建智能体的产品与工程团队撰写,汇集诸多客户部署的经验要点,凝练成切实可行的最佳实践。内容涵盖:

  • 高潜力应用场景筛选框架;
  • 设计智能体逻辑与编排的清晰范式;
  • 确保智能体安全、可预测、高效运行的关键做法;
  • 阅读完本指南后,你将掌握构建首个智能体所需的核心知识,从容踏上实践之路。

什么是Agent

传统软件 帮助用户简化并自动化工作流程。

智能体(Agent) 则能够 自主 为用户执行同样的流程。

智能体是在高度自主的前提下,代表用户完成任务的系统。

工作流程(workflow) 指为实现用户目标必须依次执行的一系列步骤,例如解决客服问题、预订餐厅、提交代码变更,或生成数据报告。

非智能体场景:将 LLM 集成到应用中却不让它控制流程执行(如简单聊天机器人、单轮问答 LLM、情绪分类器等)——这些都不属于智能体。

所以,要做智能体开发首先需要对Agent进行清晰定义:

第一,LLM 驱动的流程控制与决策

  1. 使用LLM决策并控制工作流执行
  2. 自主判断任务完成状态
  3. 支持错误自修正机制
  4. 失败时可中止流程并向用户移交控制权

第二,多工具调用并受控于安全策略

  1. 接入多种工具与外部系统交互(信息获取/执行操作)
  2. 根据工作流状态动态选择工具
  3. 始终在预设安全边界内运行

这里总结一下,就当前Agent的核心其实在于两点:

  1. 是否依赖模型自身生成可靠的工作流;
  2. 是否Agent自己调用各种工具执行结束;

之所以模型会自信到自己编排Workflow,还是基于模型基础能力的大幅提升。

什么时候应该构建Agent

构建智能体意味着重新思考系统的决策与复杂性的处理方式。

与传统自动化不同,智能体尤其适用于那些确定性、规则驱动方法捉襟见肘的工作流程。

以 支付欺诈分析 为例:

传统规则引擎 像一张检查清单,根据预设条件对交易打标。

LLM 智能体 更像经验老到的调查员,会综合上下文、捕捉微妙模式,即使没有触发明确规则,也能识别可疑行为。

这种细腻的推理能力正是智能体在复杂、模糊场景中大显身手的关键。

PS:这里要提一嘴,就真实实践来说,规则引擎效率与准确度都更高,Agent这里所谓的微妙模式其实属于规则引擎漏掉的规则,逻辑上是需要对规则引擎进行补足的;

真实的应用会遵循快慢系统,也就是规则引擎做第一轮,模型做兜底

所以什么时候应该考虑Agent呢?

当你评估智能体的价值时,优先挑选那些 传统自动化始终难以【完全】覆盖 的流程,尤其是规则方法存在痛点的场景:

在正式投入构建智能体之前,请确认你的使用场景确实符合以上标准。  若流程本质上可以用简单、可靠的确定性方案解决,就无需强行上智能体。

PS:其实这种最大的问题是100%,模型得保证自己不会出错,至少正确率在一个数值之上,否则Agent很难得到信任

Agent设计三要素

在最基本的形式中,一个智能体由 三大核心组件 组成:

weather_agent = Agent(

name=”Weather agent”,

instructions=”You are a helpful agent who can talk to users about the weather.”,

tools=[get_weather],

model=”gpt-4″  # 指定使用的LLM模型

)

1. 模型选择策略

不同模型在任务复杂度、延迟和成本方面存在差异:

正如下一节 “编排(Orchestration)” 将讨论的,你往往需要在同一工作流程中按任务类型混用多种模型。

并非所有步骤都需要最强模型

简单的检索或意图分类,可用体积小、速度快的模型完成。

难度更高的决策(例如是否批准退款)则可能需要更强大的模型。

一个行之有效的方法是:先用性能最强的模型完成所有步骤,获得基准表现;随后尝试用更小的模型替换某些环节,观察是否仍能达到可接受效果。

这样既不会过早限制智能体能力,又能清晰定位小模型的成功与失败边界。

PS:其实以现在大模型的资费之低,完全可以全部用最强模型
只不过比较麻烦的是,还是有很多私有化部署场景,不得不依赖小模型,所以这个策略是适用的

选型原则考虑三点:

  1. 建立评测(evals):先用最佳模型跑通全流程,形成性能基准。
  2. 先保证准确率:在满足目标精度的前提下,再考虑优化。
  3. 优化成本与延迟:在不影响效果的前提下,用更小的模型替换大模型。

2. 定义工具

通过调用底层应用或系统的 API,工具可以扩展智能体的能力。

对于缺乏 API 的传统系统,智能体可借助「电脑操作模型」直接操控网页或桌面界面,与人类操作无异。

每个工具都应采用标准化的定义,以便在多个智能体之间灵活复用、形成多对多关系。

良好文档、充分测试、可重复使用的工具能提高可发现性,简化版本管理,并避免重复造轮子。

PS:这里所谓的computer-use远没有大家以为那么成熟,还有很大优化空间,暂时来说重复的RPA是比较可控的

智能体常用的三类工具

下面示范如何在 OpenAI Agents SDK 中,为前文的 weather_agent 智能体添加一组工具(网络搜索 + 结果存储):

from agents import Agent, WebSearchTool, function_tool

import datetime, db  # 假设已有数据库操作模块

@function_tool

def save_results(output: str) -> str:

# 将搜索结果写入数据库

db.insert({“output”: output, “timestamp”: datetime.datetime.now()})

return “File saved”

search_agent = Agent(

name=”Search agent”,

instructions=”Help the user search the internet and save results if asked.”,

tools=[WebSearchTool(), save_results],

)

当所需工具的数量不断增多时,建议将任务拆分给多个智能体协同完成(详见 Orchestration 章节)。

3. 指令配置

高质量指令对任何 LLM 应用都至关重要,对 智能体 更是如此。

指令越清晰,歧义就越少,智能体的决策就越可靠——从而让整条工作流运行得更顺畅、错误更少。

智能体指令最佳实践

使用高阶模型自动生成指令

你可以让 o1、o3‑mini 等 高性能模型 直接根据现有文档生成规范指令。

以下英文提示词示例展示了这一思路:

你是一位撰写 LLM 智能体指令的专家。

请将以下帮助中心文档转换为一份清晰的指令清单,使用编号列表格式。

该文档是一项供 LLM 遵循的政策。

请确保没有任何歧义,并以智能体可直接执行的指令方式撰写。

待转换的帮助中心文档如下:{{help_center_doc}}

4. 编排

在基础组件就绪之后,你可以通过选择合适的 编排模式 来让智能体高效执行工作流程。

虽然直接上手开发一个架构复杂、完全自主的智能体很有吸引力,但实践表明,循序渐进的迭代式方法往往更容易取得成功。

编排模式的两大类别:

  1. 单智能体系统。一个模型配备必要的工具与指令,循环执行整条工作流程。
  2. 多智能体系统 。将工作流程拆分,交由多个智能体协同完成,各司其职。

接下来,我们将对这两种模式逐一展开。

单智能体系统

单个智能体最初只需要最基本的模型和一两个工具即可运行;随着需求增加,再逐步为它“装配”新的工具。

这样做既能让功能随项目迭代而自然增长,又不会因为过早拆分成多智能体而引入额外的编排成本。

其核心组件为:

任何编排方案都依赖一个 “run” 概念——通常实现为循环,使智能体持续工作直至满足退出条件。常见退出条件包括:

  • 已完成所需 工具调用
  • 生成了指定的 结构化输出
  • 发生 错误
  • 达到 最大轮数

例如,在 Agents SDK 中,agent 是通过该方法启动的,它会循环调用 LLM,直到发生以下任一情况:Runner.run()

  1. 调用了由特定输出类型定义的 final‑output tool
  2. 模型返回了不含任何工具调用的回复(例如直接给用户的消息)

示例用法:

Agents.run(agent, [UserMessage()]) # “What’s the capital of the USA?”

这种 while loop 的概念是 agent 运行机制的核心。

在多智能体系统中(稍后会看到),可以出现一系列工具调用和 agent 之间的交接,但仍允许模型在满足退出条件之前连续执行多步。

在不切换到多智能体框架的情况下管理复杂性的有效策略是使用 提示模板(prompt templates)。

与其为不同用例维护大量独立提示,不如使用一个灵活的基础提示,并注入策略变量。

此模板方法能够轻松适应各种场景,从而显著简化维护与评估。当出现新用例时,只需更新变量,而无需重写整个工作流:

你是一名呼叫中心客服。

你正在与 {{user_first_name}} 交流,对方已成为会员 {{user_tenure}}。

该用户最常见的投诉类别是 {{user_complaint_categories}}。

请向用户致以问候,感谢其一直以来的忠诚支持,并回答他们可能提出的任何问题!

所以,这里问题来了:什么时候要考虑创建多个Agent呢?

我们的总体建议是:优先充分挖掘单个 agent 的能力。

多个 agent 可以在概念上带来直观的分工,但同时会引入额外的复杂性和开销;很多场景中,一个配备合适工具的 agent 已足够。

对于复杂工作流,将提示词(prompts)与工具拆分给多个 agent 往往能提升性能与可扩展性。

若你的 agent 难以执行复杂指令,或经常选择错误工具,就可能需要进一步细分系统,引入更多独立 agent。

将 agent 拆分的实践指南

接下来,我们来介绍多Agent系统。

多Agent系统

虽然多智能体系统可以根据具体工作流和需求设计出多种形态,但我们的客户实践表明,有两类 普适的模式:

第一,经理模式(Manager, agents as tools)

一个中心化的“经理” agent 通过工具调用协调多个专门 agent,每个 agent 负责特定任务或领域。

第二,去中心化模式(Decentralized, agents handing off to agents)

多个 agent 以平级身份运行,根据各自专长将任务相互交接。

多智能体系统可抽象为图结构:节点表示 agent:

在 经理模式 中,一个中心化的 “经理” agent 通过 工具调用(tool calls)来协调多个专精 agent;每个 agent 只负责自己擅长的任务或领域。

在 去中心化模式 中,多个 agent 以 同级 身份协同,根据各自专长将任务 交接(handoff)给最合适的 agent 继续处理。

无论采用哪种编排模式,核心原则一致:保持组件灵活、可组合,并依赖清晰、结构化的提示来驱动。

1. 经理模式

所谓经理模式非常类似于DeepSeek的MoE架构。Manager 模式赋予一个 中心化的大语言模型(LLM)——“经理” 能力,使其能够通过工具调用(tool calls)无缝编排一张由 专门 agent 组成的网络。

经理不会丢失上下文,也不会失去对流程的掌控,而是能够 在正确的时间把任务智能地分派给正确的 agent,并且 毫不费力地将各 agent 的输出整合 成一次 连贯一致的交互。

这样一来,用户可以获得 流畅且统一 的使用体验,同时各种 专业化能力 也能 随时按需调用。

他适用场景是:当你只希望由 单个 agent 来掌控整个工作流的执行,并且该 agent 需要直接与用户交互时,Manager 模式是最理想的选择。

例如,在 Agents SDK 中实现 Manager 模式:

from agents import Agent, Runner  # 示例导入

# ——– 定义三个专用翻译 agent ——–

spanish_agent = Agent(

name=”translate_to_spanish”,

instructions=”Translate the user’s message to Spanish”

)

french_agent = Agent(

name=”translate_to_french”,

instructions=”Translate the user’s message to French”

)

italian_agent = Agent(

name=”translate_to_italian”,

instructions=”Translate the user’s message to Italian”

)

# ——– 定义经理 agent ——–

manager_agent = Agent(

name=”manager_agent”,

instructions=(

“You are a translation agent. You use the tools given to you to translate. ”

“If asked for multiple translations, you call the relevant tools.”

),

tools=[

spanish_agent.as_tool(

tool_name=”translate_to_spanish”,

tool_description=”Translate the user’s message to Spanish”,

),

french_agent.as_tool(

tool_name=”translate_to_french”,

tool_description=”Translate the user’s message to French”,

),

italian_agent.as_tool(

tool_name=”translate_to_italian”,

tool_description=”Translate the user’s message to Italian”,

),

],

)

# ——– 运行示例 ——–

asyncdef main():

msg = input(“请输入要翻译的文本: “)

orchestrator_output = await Runner.run(

manager_agent, msg

)

print(“Translation step:”)

for message in orchestrator_output.new_messages:

print(f”  – {message.content}”)

# 调用示例:

# 输入:Translate ‘hello’ to Spanish, French and Italian for me!

声明式图 vs. 非声明式

声明式框架,某些框架要求开发者预先用图形方式(节点 = agents;边 = 确定性或动态交接)显式定义工作流中的每个分支、循环与条件。

优势:可视化清晰。

劣势:当工作流更动态、更复杂时,这种方式会迅速变得繁琐,甚至需要学习专门的领域语言(DSL)。

非声明式、代码优先方法,允许开发者直接使用熟悉的编程结构表达工作流逻辑,无需提前绘制完整的图。

优势:更灵活、适应性更强,可根据运行时需求动态编排 agent。

这里很多同学可能不太看得懂,我做下简单说明,所谓声明式结构,他就像画流程图一样,需要提前定义好所有的步骤和路线,比如银行开户自动化流程:

其优势很清晰:流程稳定,但缺点也很明显,在负责逻辑里要调整流程是很烦的,比如:修改整个流程图或者重新定义所有连接关系。

而非声明式,也就是代码优先,面对这种情况改几行代码即可…

再用大白话来说是:声明式是用扣子、dify去拖拽;代码优先是自己有个工程团队写代码。

2. 去中心化模式

在去中心化模式中,智能体(agent)之间可以相互”移交”(handoff)工作流执行权。

移交是一种单向传递机制,允许一个智能体将任务委托给另一个智能体。

在 Agents SDK 中,移交被设计为一种工具或函数类型。当某个智能体调用移交函数时,系统会立即启动目标智能体的执行流程,并同步转移最新的会话状态。

其核心特点是:

  • 平等协作:该模式依赖多个处于平等地位的智能体协同工作
  • 直接控制权转移:一个智能体可直接将工作流控制权移交给另一个智能体
  • 无需中央调度:适用于不需要单一智能体保持中心化控制或综合处理的场景
  • 动态交互:每个智能体都能接管执行流程并根据需要与用户直接交互

总结下来就是:当工作流不需要中央控制器进行全局协调,而更适合由不同智能体分阶段自主处理时,此模式能实现最优效能。

下面展示了如何用 Agents 实现一个同时处理「销售 + 售后支持」的去中心化工作流。

核心思路是由 Triage Agent 先行分流,再把会话交接(handoff)给最合适的专职智能体:

from agents import Agent, Runner

# ────────────────────── 专职智能体 ──────────────────────

technical_support_agent = Agent(

name=”Technical Support Agent”,

instructions=(

“You provide expert assistance with resolving technical issues, ”

“system outages, or product troubleshooting.”

),

tools=[search_knowledge_base]            # ※ 查阅知识库

)

sales_assistant_agent = Agent(

name=”Sales Assistant Agent”,

instructions=(

“You help enterprise clients browse the product catalog, ”

“recommend suitable solutions, and facilitate purchase transactions.”

),

tools=[initiate_purchase_order]          # ※ 生成采购订单

)

order_management_agent = Agent(

name=”Order Management Agent”,

instructions=(

“You assist clients with inquiries regarding order tracking, ”

“delivery schedules, and processing refunds.”

),

tools=[track_order_status,               # ※ 追踪订单状态

initiate_refund_process]          # ※ 发起退款流程

)

# ────────────────────── 分流智能体 ──────────────────────

triage_agent = Agent(

name=”Triage Agent”,

instructions=(

“You act as the first point of contact, assessing customer ”

“queries and directing them promptly to the correct specialized agent.”

),

handoffs=[technical_support_agent,

sales_assistant_agent,

order_management_agent]        # 可交接对象

)

# ────────────────────── 运行示例 ──────────────────────

Runner.run(

triage_agent,

[

“Could you please provide an update on the delivery timeline ”

“for our recent purchase?”

]

)

流程说明:

  1. 初始消息 → Triage Agent。用户首先向 triage_agent 发送查询。
  2. 智能分流(Handoff)。triage_agent 识别到问题与「订单交付时间」相关,于是调用 handoff,将控制权和会话状态交给 order_management_agent。
  3. 专职处理。order_management_agent 接手后,使用自身工具(如 track_order_status)查询并回复最新物流进度。
  4. 可选回交。若任务完成后需要返回主流程,可在 order_management_agent 中再次触发 handoff,把控制权交回 triage_agent 或其他智能体,形成闭环。

去中心化分工让每个智能体专注于自身领域,减少主控压力并提升专业度,特别适合 会话分流 场景。

解惑

很多同学这里可能有点搞不懂,我这里做下简单说明:

去中心化模式就像一群同级别的同事在一个开放工位上办公——谁最擅长就谁先伸手,把事情办完后可以直接把桌上的文件递给下一位更合适的同事继续。

没有“组长”一直盯着,也没有固定流程图,大家边做边把活儿往最合适的人手里“传”。

跟「经理模式」有什么本质区别?

经理模式属于全能助手,用户始终面对同一个虚拟客服形象,运作逻辑如下:

用户 → 经理Agent → 调用工具 → 专业Agent → 返回结果 → 经理Agent整合 → 回复用户

用户提问:”帮我查订单1234的物流,再推荐同类商品”

经理Agent接收请求

后台同时调用两个工具:

  1. 工具A:订单查询Agent → 获取物流信息
  2. 工具B:商品推荐Agent → 生成推荐清单

经理Agent将两个结果整合成自然语言回复:您的订单预计明天送达。根据购买记录,为您推荐这些热销配件:①…②…

这里优点很清晰:

  • 统一体验:用户感觉始终和同一个”人”对话
  • 隐蔽协作:用户无需感知后台多个Agent的存在
  • 强可控性:适合需要审核/过滤敏感信息的场景(如金融咨询)

去中心化模式类似于科室接力,用户会感知到服务主体的切换:

用户 → 分诊Agent → 转接 → 售后Agent → 转接 → 销售Agent → … → 最终闭环

用户提问:”手机屏幕碎了怎么保修?顺便看看新款机型”

分诊Agent识别双重需求 → 触发转接规则

第一棒:维修客服Agent 接管对话:”请提供设备IMEI码,我将为您生成维修工单…”

解决维修问题后,自动触发:”检测到您关注新品,正在为您转接产品顾问…”

第二棒:销售Agent 展示新品并引导购买

这里的产品体验就会有所不同了:

  • 深度服务:每个环节由最专业的Agent提供极致服务
  • 灵活跳转:类似医院”分诊台→专科→检查科室”的体验
  • 降低复杂度:单个Agent只需精通特定领域(如维修Agent无需懂销售策略)

这里的逻辑跟我之前的培训PPT很类似的:

在一个领域里面,采用经理模式是比较好的,但如果从法律领域跳到了医疗领域去中心化比较合适。

Agent的安全性

精心设计的保护措施可以帮助你管控数据隐私风险(例如,防止系统提示词泄露)和声誉风险(例如,确保模型行为符合品牌调性):

  • 分层部署。先针对已识别的风险设置保护措施,在发现新的漏洞后逐层叠加额外防护。
  • 配合安全基建。保护措施是任何基于 LLM 的部署中的关键组件,但必须与强健的身份验证与授权协议、严格的访问控制以及其他标准软件安全机制配合使用。
  • 多重防御思维。把保护措施视作“分层防御”——单独一道防线往往不足以提供全面保护,而多道、专门化的防线组合,才能让智能体更具韧性。

下图(此处省略)演示了如何将 LLM 级保护措施、基于规则的保护措施(如 regex),以及 OpenAI Moderation API 结合起来,对用户输入进行多重审查:

保护措施类型

构建保护措施的三步启发式:

  1. 聚焦数据隐私与内容安全:优先解决最重要的隐私和安全风险。
  2. 基于真实边缘案例迭代:随着实际使用暴露新问题,增设对应的防护层。
  3. 兼顾安全与体验:在智能体演进过程中不断调优保护措施,既要安全,也要流畅的用户体验。

具体,Guardrails 可实现为 函数 或 代理,用于强制执行如下策略:

人类兜底

人类介入是一道关键安全网,可在 不牺牲用户体验 的前提下提升代理在真实环境中的表现。

在部署早期尤为重要,能够帮助识别失败、发现边缘案例,并建立稳健的评估循环。

实施人类介入机制,可在代理无法完成任务时 优雅地交出控制权:

  • 客服场景:将问题升级给人工客服。
  • 编码场景:把控制权交还用户。

典型触发条件:

Exceeding failure thresholds — 超过失败阈值

为代理的重试或操作次数设限;若超出(如多次无法理解客户意图),则升级至人工处理。

High‑risk actions — 高风险操作

对敏感、不可逆或高价值操作,应在充分信任代理可靠性之前引入人工监督。

示例:取消用户订单、批准大额退款、执行付款。

结语

Agents 正在开启工作流自动化的新纪元——系统能够在不确定场景中推理、跨工具执行操作,并以高度自主性处理多步任务。

与更为简单的 LLM 应用不同,智能代理可端到端地执行完整流程,因而特别适用于 复杂决策、非结构化数据 或 脆弱的基于规则的系统 等场景。

本文由人人都是产品经理作者【叶小钗】,微信公众号:【叶小钗】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。

题图来自Unsplash,基于 CC0 协议。