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

推荐订阅源

N
Netflix TechBlog - Medium
I
Intezer
人人都是产品经理
人人都是产品经理
F
Full Disclosure
A
About on SuperTechFans
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
Google DeepMind News
Google DeepMind News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
J
Java Code Geeks
博客园 - 三生石上(FineUI控件)
腾讯CDC
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Blog — PlanetScale
Blog — PlanetScale
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
博客园 - 司徒正美
P
Proofpoint News Feed
宝玉的分享
宝玉的分享
Engineering at Meta
Engineering at Meta
F
Fortinet All Blogs
The GitHub Blog
The GitHub Blog
L
LangChain Blog
Last Week in AI
Last Week in AI
B
Blog
Project Zero
Project Zero
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
Schneier on Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
U
Unit 42
B
Blog RSS Feed
Y
Y Combinator Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Privacy International News Feed
N
News and Events Feed by Topic
W
WeLiveSecurity
Cloudbric
Cloudbric
G
GRAHAM CLULEY
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
C
Check Point Blog
G
Google Developers Blog
The Last Watchdog
The Last Watchdog
Latest news
Latest news
S
Secure Thoughts
Simon Willison's Weblog
Simon Willison's Weblog
Scott Helme
Scott Helme
H
Heimdal Security Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog

人人都是产品经理

为什么你的产品找不到差异化?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混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
AI 产品:Planner (规划者)、Executor (执行者) 和 Tool Handler (工具处理者)
FAN 的成长空间 · 2025-06-10 · via 人人都是产品经理

在人工智能领域,尤其是智能体(Agent)架构的设计中,如何实现高效的任务规划、执行和工具调用是一个关键问题。本文深入探讨了智能体架构中的三大核心组件:Planner(规划者)、Executor(执行者)和Tool Handler(工具处理者),并详细分析了它们在解耦与协作机制中的作用。

Planner (规划者)、Executor (执行者) 和 Tool Handler (工具处理者) 这三大核心组件在 Agent 架构中的解耦与协作机制。理解它们如何协同工作,是构建健壮、高效智能体的关键。

这三者就像一个高度专业化的项目团队,各司其职,又紧密配合,共同完成复杂任务。

一、Planner(规划者):Agent 的“大脑”和“战略家”

核心职责: Planner 的主要任务是将一个复杂、高层次的用户目标或系统目标,分解成一系列清晰、可执行的、原子化的子任务(Steps),并确定这些子任务的逻辑顺序或依赖关系。它负责“想清楚”怎么做。

如何实现复杂任务分解?

1)目标理解与澄清:

Planner 首先接收用户输入的模糊或复杂目标(例如:“帮我规划一次下周去大阪的旅行,要经济实惠但体验要好,还得避开热门景点”)。

它会利用其底层的 LLM 的理解能力和世界知识,对目标进行解析,提取关键实体、约束和期望。

产品经理视角: 确保 Planner 的 Prompt 设计能充分引导 LLM 进行目标理解,甚至可以在理解不清晰时主动向用户提问澄清(这是优秀 Agent 的表现)。

2)知识和能力匹配:

Planner 会“审视”Agent 拥有的所有可用工具(Tools),以及自身具备的内部知识(Memory)

它会评估:要完成这个目标,我能用什么工具?我有哪些内部信息?哪些工具可以处理哪些类型的子任务?

产品经理视角: 清晰定义每个工具的功能描述(Tool Description)和输入参数(Input Schema),这是 Planner 选择工具的依据。工具描述越清晰,Planner 越能准确匹配。

3)多步骤思考与分解(Chain-of-Thought / Tree-of-Thought):

这是 Planner 的核心智能所在。Planner 会调用其底层的 LLM,采用 Chain-of-Thought (CoT)Tree-of-Thought (ToT)ReAct (Reasoning and Acting) 等推理策略。

  • CoT: 简单任务分解,一步步列出执行步骤。
  • ToT: 复杂任务分解,Planner 可能会探索多个可能的路径,并进行前瞻性思考,评估每个路径的成功概率,甚至在发现死胡同时进行回溯(Backtracking)
  • ReAct: Planner 可能会在思考过程中,先执行一些初步的“观察”行动(调用搜索工具、查询数据库),根据观察结果动态调整其规划。

产品经理视角: 在设计 Planner 的 Prompt 时,鼓励其输出思考过程(Thought: Plan: Sub-task: 等),这有助于调试和理解 Agent 行为,也有助于用户信任。

4)生成可执行的子任务列表:

最终,Planner 会输出一个结构化的计划,通常是一个子任务列表,每个子任务都足够具体,可以直接交给 Executor 去执行。

每个子任务可能包含:任务描述、预期输入、预期输出、所需工具(或内部操作)、依赖关系

示例分解: “规划大阪旅行”

  • 子任务1:查询大阪热门景点及开放时间(工具:旅游信息API)
  • 子任务2:查询大阪经济型住宿信息(工具:酒店预订API)
  • 子任务3:查询大阪特色美食推荐(工具:美食点评API)
  • 子任务4:避开高峰期和热门景点,生成个性化行程草案(内部逻辑/LLM推理)
  • 子任务5:评估行程草案的经济性和体验(内部逻辑/LLM推理)
  • 子任务6:提供最终推荐行程和理由(输出)

二、Executor(执行者):Agent 的“手脚”和“行动者”

核心职责: Executor 接收 Planner 生成的子任务列表,负责按照规划的顺序逐一执行这些子任务。它负责“做事情”,并将执行结果反馈给 Planner(或 Memory)。

如何确保子任务的按序执行和错误处理?

1)任务调度与执行:

Executor 维护一个任务队列,按照 Planner 给出的顺序(或根据依赖关系)执行子任务。

对于每个子任务,Executor 会判断其类型:是调用工具?是内部逻辑(如简单的文本处理)?还是需要输出给用户?

产品经理视角: 设计 Executor 时要考虑任务的并发性。某些子任务可以并行执行(例如同时查询酒店和景点),而另一些则有严格的顺序依赖(必须先查询到酒店信息才能评估行程)。

2)工具调用与结果捕获:

如果子任务需要调用工具,Executor 会将请求参数传递给 Tool Handler,并等待其返回结果。

Executor 会捕获工具调用的原始输出,并将其转换为可供 LLM 理解的格式(例如,将 JSON 格式的 API 响应转换为自然语言摘要)。

产品经理视角: 确保 Tool Handler 返回的结果对 Executor 是清晰可读的。设计工具返回的Schema,避免歧义。

3)错误处理与重试机制:

这是 Executor 鲁棒性的关键。当子任务执行失败时(例如,API 调用失败、网络错误、工具返回非预期结果),Executor 需要有机制来处理:

  • 重试(Retry): 针对瞬时错误,可以设置重试次数和间隔。
  • 错误报告: 将错误信息反馈给 Planner,让 Planner 重新评估计划或生成新的子任务。
  • 回退(Fallback): 如果某个工具调用失败,是否可以尝试替代工具?
  • 请求人工干预(Human-in-the-Loop): 对于无法自动解决的严重错误,将问题抛给人类,并提供足够的上下文。

产品经理视角: 需要与研发团队明确错误等级和处理策略。哪些错误可以自动重试?哪些需要通知用户?哪些需要人工介入?这直接影响用户体验和系统稳定性。

4)状态更新与反馈:

Executor 会将每个子任务的执行结果(成功/失败,以及输出内容)更新到 Agent 的**内存(Memory)**中,或直接反馈给 Planner。

这使得 Planner 能够根据最新状态进行自我评估和调整

产品经理视角: 内存的设计应支持记录详细的执行日志和中间结果,这对于后续的调试、优化和可解释性至关重要(例如,通过 LangSmith 等工具进行可视化)。

三、Tool Handler(工具处理者):Agent 的“桥梁”和“翻译官”

核心职责: Tool Handler 是 Agent 与外部世界交互的“网关”。它负责将 Planner/Executor 的高层指令“翻译”成特定工具(API、数据库、内部函数)可理解的请求,并将工具的原始响应“翻译”回 Agent 可理解的格式。它负责“打交道”。

如何封装外部系统,让 Agent 能够“用”起来?

1)工具封装与标准化:

Tool Handler 将各种复杂、异构的外部系统(如第三方API、企业内部数据库、计算器、文件系统等)统一封装成 Agent 可以理解和调用的标准接口。

每个工具都应有一个清晰的名称、功能描述,以及输入参数的 Schema(例如,JSON Schema),告知 LLM 这个工具能做什么,以及需要什么输入。

产品经理视角: 设计工具时,要站在 LLM 的角度去思考:这个工具的描述是否足够清晰?LLM 能否轻易理解它的功能和参数?工具的粒度是原子化还是更粗粒度?

2)参数映射与调用:

当 Executor 决定调用某个工具时,它会将 LLM 理解的参数(通常是自然语言中提取出的信息)传递给 Tool Handler。

Tool Handler 负责将这些参数映射到实际工具 API 所需的参数格式。

然后,Tool Handler 会发起实际的 API 调用(HTTP 请求、数据库查询、本地函数执行等)。

产品经理视角: 了解工具的速率限制、认证方式、错误代码等,这些都会影响 Tool Handler 的健壮性和 Agent 的整体性能。

3)结果解析与转换:

Tool Handler 接收到外部工具返回的原始响应(通常是 JSON、XML 或数据库记录)。

它负责将这些原始响应解析并转换为对 Agent 有意义、易于 LLM 理解的格式(例如,将复杂的 JSON 响应总结成自然语言描述或关键数据点)。

产品经理视角: 结果转换的质量直接影响 Planner/Executor 对信息的利用。如果转换不当,即使工具返回了正确信息,Agent 也可能无法正确理解。

4)错误和异常处理:

Tool Handler 需要处理工具调用过程中可能出现的各种错误(网络连接失败、API 返回错误码、参数校验失败等)。

它会将这些错误信息以结构化或友好的方式报告给 Executor。

产品经理视角: 明确工具的错误类型和错误信息,以便 Executor 能据此做出正确的处理决策。

四、三者的解耦与协作机制:一个动态循环

这三者之间的关系是一个动态的、迭代的循环:

1)用户目标 → 提交给 Planner

2)Planner 思考、规划 → 生成子任务列表 → 交给 Executor

)3Executor 逐一执行子任务:

  • 如果需要外部能力 → 请求 Tool Handler 调用工具。
  • Tool Handler 调用工具 → 获取原始结果 → 解析并返回结构化结果Executor
  • Executor 接收结果 → 将结果更新到记忆(Memory),或直接反馈给 Planner

4)Planner 接收 Executor 的执行结果(无论是成功还是失败),进行自我评估/反思(Self-Reflection)

  • 如果任务完成 → 输出最终结果。
  • 如果发现错误或进展不顺 → 重新规划,生成新的子任务列表(可能包括调试、重试或尝试新方法)。
  • 如果需要更多信息 → 可能生成新的子任务去调用工具或查询记忆。

这个循环会持续进行,直到任务完成或达到预设的停止条件(例如,达到最大尝试次数)。

产品经理需要理解的是:

  • 每一个环节都可能出错: Planner 可能规划错误,Executor 可能执行失败,Tool Handler 可能调用错误或返回乱码。设计时必须考虑这些点。
  • 每一个环节都是可优化的: 优化 Planner 的提示词可以提升规划质量;优化 Tool Handler 的封装可以提升工具调用效率;优化 Executor 的错误处理可以提升系统鲁棒性。
  • 解耦带来的灵活性: 这三者的解耦使得你可以独立地优化或替换其中一个组件,而不会影响其他部分。例如,更换一个更强大的 Planner LLM,或者集成一个新的 Tool。

这种解耦与协作机制是构建复杂、智能 AI Agent 的核心,理解它能帮助你更好地与研发和算法团队协作,共同推动你的“智能表单生成 Agent”等项目落地。

五、AI 创建表单机器人流程中的三者作用

1. Planner (规划者) 的作用:理解需求,制定创建表单的“蓝图”

输入: 用户的自然语言需求:“帮我创建一个用户注册表单,需要收集姓名、邮箱、电话,以及一个密码字段,密码要有两次输入确认,并且电话和邮箱要验证格式。”

核心动作:理解与分解

Planne(通常由一个强大的 LLM 扮演)会执行以下思考和规划:

1)意图识别: 识别用户核心意图是“创建表单”,表单类型是“用户注册”。

2)关键信息抽取: 提取表单所需的关键字段:姓名、邮箱、电话、密码。

3)约束与规则识别:

  • 密码要有两次输入确认:这是一个逻辑约束,意味着需要 密码 和 确认密码 两个字段,且二者需要校验一致性。
  • 电话和邮箱要验证格式:这意味着这两个字段需要对应的校验规则(正则匹配或内置验证)。

4)任务分解与排序: 将复杂的表单创建过程分解为一系列有序的、可执行的子任务。

子任务 1:理解表单字段需求 (内部思考)

  • 识别核心字段:姓名 (文本)、邮箱 (邮箱格式)、电话 (电话格式)、密码 (密码类型)。
  • 识别密码确认逻辑:添加 确认密码 字段。

子任务 2:规划字段属性与校验规则 (内部思考)

  • 为每个字段分配合适的输入类型 (text, email, tel, password)。
  • 为邮箱和电话字段指定格式验证规则。
  • 指定密码和确认密码的匹配规则。

子任务 3:调用工具生成表单结构 (需要工具)

根据规划好的字段和规则,调用“表单生成工具”的 API 来创建表单的 JSON 或特定格式结构。

子任务 4:检查生成表单的逻辑和完整性 (内部思考/可能需要工具)

  • 评估生成的表单结构是否符合所有用户要求和逻辑规则。
  • (可选,如果需要外部工具)调用“表单校验工具”进行更严格的结构校验。

子任务 5:输出表单链接或可嵌入代码 (需要工具)

  • 如果表单生成成功且校验通过,调用“表单发布工具”生成可分享的链接或嵌入代码。
  • 将最终结果反馈给用户。

输出: 一个结构化的执行计划,包含多个子任务及其依赖关系。

2. Executor (执行者) 的作用:按计划推进,协调工具调用

输入: Planner 生成的子任务列表。

核心动作:调度与执行

Executor 会按照 Planner 的计划,一步步执行子任务,并与 Tool Handler 交互。

执行子任务 1 和 2 (内部逻辑): Executor 知道这两个是 Planner 的内部思考结果,不涉及外部调用,只是 Planner 的输出。

执行子任务 3 (调用工具):

Executor 识别到“调用工具生成表单结构”这个任务。

它会准备好调用“表单生成工具”所需的参数,例如:

JSON

{
“form_name”: “用户注册表单”,

“fields”: [

{“name”: “姓名”, “type”: “text”},

{“name”: “邮箱”, “type”: “email”, “validation”: “email_format”},

{“name”: “电话”, “type”: “tel”, “validation”: “phone_format”},

{“name”: “密码”, “type”: “password”},

{“name”: “确认密码”, “type”: “password”, “validation”: “match_password”}

]

}

然后,Executor 将这些参数传递给 Tool Handler,请求调用 create_form 工具。

接收工具结果与错误处理:

Executor 从 Tool Handler 接收 create_form 工具的执行结果(例如:成功生成表单的 ID 或错误信息)。

  • 错误处理: 如果 create_form 失败(如 API 错误、参数不正确),Executor 会捕获这个错误。
  • 简单错误: 尝试重试几次。
  • 复杂错误: 将错误信息反馈给 Planner,让 Planner 重新评估,可能调整生成逻辑或提供用户友好的错误提示。

执行子任务 4 (检查与校验): Executor 接收到生成表单的成功信息后,可能会触发内部的逻辑校验,或者如果 Planner 规划了,再次调用一个“表单校验工具”。

执行子任务 5 (发布工具):

  • 如果校验通过,Executor 会准备参数,调用“表单发布工具”的 API,请求生成一个可分享的链接。
  • 接收链接后,Executor 将最终的链接信息作为结果。

输出: 中间执行状态、工具调用结果,以及最终的表单链接。

3. Tool Handler (工具处理者) 的作用:实现 Agent 与“表单系统”的交互

输入: Executor 发出的工具调用请求(工具名称、参数)。

核心动作:封装与转换

Tool Handler 负责实际与你背后的**表单生成平台(或你的内部表单系统 API)**进行交互。

1)工具定义与封装:

你的表单系统会暴露一系列 API,例如:

  • create_form(form_definition): 根据表单定义创建表单。
  • validate_form_structure(form_id): 验证表单结构是否有效。
  • publish_form(form_id): 发布表单并返回分享链接。

Tool Handler 会将这些 API 封装成 Agent 可以调用的“工具”,并定义它们的功能描述和参数 Schema,供 Planner 识别和使用。

例如,定义一个名为 create_form 的工具,描述为“用于根据给定字段定义创建新的表单”,参数为 form_definition (JSON 对象)。

2)参数映射与实际调用:

当 Executor 请求调用 create_form 工具,并传递了表单定义 JSON 时:

Tool Handler 会接收这个 JSON,将其作为请求体,向你的表单系统 API POST /forms 发送一个 HTTP 请求。

示例请求(HTTP POST):

POST /api/v1/forms

Content-Type: application/json

{
“name”: “用户注册表单”,

“elements”: [ // 假设你的表单系统内部是叫elements

{“type”: “text”, “label”: “姓名”},

{“type”: “email”, “label”: “邮箱”, “validation_regex”: “^\\S+@\\S+\\.\\S+$”},

{“type”: “phone”, “label”: “电话”, “validation_regex”: “^\\d{11}$”},

{“type”: “password”, “label”: “密码”},

{“type”: “password_confirm”, “label”: “确认密码”, “match_field”: “密码”}

]

}

3)结果解析与返回:

  • Tool Handler 接收到表单系统 API 的响应(例如,{ “form_id”: “FORM123”, “status”: “created” })。
  • 它会解析这个响应,并将其转换为 Agent(Executor)能够理解的、更简洁或结构化的形式返回。

示例返回给 Executor:{“status”: “success”, “form_id”: “FORM123”, “message”: “表单创建成功”}

4)错误和异常传递:

如果表单系统 API 返回错误(如 400 Bad Request),Tool Handler 会捕获这些错误,并将其转换为 Executor 可以处理的异常或错误信息,而不是直接抛出原始 API 错误。

输出: 工具执行的成功/失败状态,以及相应的返回值。

本文由 @浮云志 原创发布于人人都是产品经理,未经许可,禁止转载

题图来自 Unsplash,基于 CC0 协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。