声明本篇博客是以吴恩达的【Agent智能体】教程为基础并对其中的内容做了笔记整理以及个人收获的总结。从这一篇开始将介绍规划这个设计模式这一篇主要是用几个例子介绍一下规划工作流规划工作流例子1客户服务智能体用户的原始问题是“Do you have anyroundsunglassesin stockthat areunder $100?”你们有100美元以下的圆形太阳镜现货吗AI 工作流并没有直接去猜答案而是将这个复杂问题拆解成了三个需要验证的核心参数红色条件 (款式)round圆形蓝色条件 (库存)in stock有现货/库存大于0橙色条件 (价格)under $100低于100美元在明确了三个搜索条件后工作流进入规划与执行阶段。AI 开始在左侧的结构化库存数据库Inventory Database中进行逐层筛选步骤一匹配红色条件 (round)AI 扫描description描述列寻找包含“round”的商品。数据库中符合条件的是Moon (ID 1003)和Classic (ID 1004)。图中用红框圈出了这两个词。步骤二匹配蓝色条件 (in stock)AI 继续检查这两个候选商品的stock库存列。Moon 的库存是 15Classic 的库存是 9两者都大于 0符合“有现货”的条件图中用蓝框圈出。步骤三匹配橙色条件 (under $100)最后AI 检查这两个商品的price价格列。Moon 的价格是 120超出预算被淘汰而Classic 的价格是 60图中用橙色框圈出完全符合低于100美元的要求。生成最终回复经过逻辑过滤后智能体成功找到了唯一符合所有条件的商品ID 1004 的 Classic 款太阳镜。最后工作流的生成模块将这些检索到的结构化数据名称、描述、价格重新转化为人类友好的自然语言右下角的框“是的我们有 Classic 款太阳镜它是经典的圆形金属镜架价格为60美元”客户服务智能体的技术解析这张图揭示了AI Agent 在底层是如何通过代码和工具Tools具体实现这些步骤的。这涉及到了 Agent 工作流中最核心的机制计划Planning与工具调用Tool Calling / Action。系统提示词和工具(System Prompt Tools)AI 启动时的基础设置System Prompt (系统提示词)这是给 AI 下达的全局指令。告诉它“你可以使用以下工具{description of tools}请针对用户的请求返回一个分步执行计划 (step-by-step plan)”。Tools (工具库/API库)虚线框内是开发者为 AI 提供的工具。在这个例子中AI 有 6 个可用的函数接口比如get_item_descriptions(获取商品描述)、check_inventory(查库存)、get_item_price(查价格) 等。大模型本身不知道库存它必须通过调用这些工具来获取实时信息。第一阶段制定规划 (Planning Phase)当用户输入问题后这段文本连同 System Prompt 一起被送入LLM大语言模型。LLM 不会立刻给出最终答案而是先生成一个执行计划左下方灰底框红色步骤使用get_item_descriptions工具寻找圆形的太阳镜。蓝色步骤使用check_inventory工具检查步骤1找到的商品是否还有现货。橙色步骤使用get_item_price工具检查步骤2确认有货的商品价格是否低于100美元。第二阶段链式执行 (Execution Phase)制定好计划后Agent 进入图右侧的循环执行阶段。这是一个非常经典的“链式反应”Chain每一步的输出都会作为下一步的输入Step 1 执行LLM 读取“步骤1的计划”调用get_item_descriptions工具。工具会在数据库里查一圈返回结果找到了 Moon 和 Classic 两款。这就是Step 1 output。Step 2 执行此时非常关键系统会将“步骤1的查询结果 (Step 1 output)” “步骤2的计划 (Step 2 text)”一起打包再次丢给 LLM。LLM 明白现在的任务是查这两款的库存于是调用check_inventory工具。工具返回结果两款都有货。这就是Step 2 output。Step 3 执行同理系统将“步骤2的结果 (Step 2 output)” “步骤3的计划 (Step 3 text)”再次送入 LLM。LLM 调用get_item_price工具查价格。最后过滤出唯一符合条件的结果Classic60美元。这些只是简化的流程实际上LLM编写的方案要详细、复杂得多但是基本的工作流程就是让LLM写出方案的多个步骤然后依次执行每一步并结合适当上下文信息。LLM以这种方式进行规划的令人兴奋之处在于我们无需提前决定为满足较复杂的客户请求应该以什么顺序调用工具。核心为什么要“拆解计划 链式执行”这展示了当代高级 AI Agent 的核心设计模式通常被称为ReAct 模式Reasoning and Acting即推理与行动。打破“黑盒”直接让模型回答容易出错强制要求模型先写“计划 (Plan)”能让 AI 的逻辑变得透明、可控。如果最后结果不对开发者可以清楚地看到是哪一步计划写错了还是哪一个工具调用失败了。上下文传递 (Context Passing)右侧阶梯状的流程说明了Agent 的记忆机制。每一步的查询结果都会作为上文传递给下一步确保任务能够一环扣一环地连贯完成。规划工作流例子2客户服务智能体如果用户提出了不同的请求例如I would like to return the gold frame glasses I purchased, but not the metal frame ones.我想退掉我买的金框眼镜但不是那副金属框的。难点在于机器不知道这个用户是谁不知道历史订单号也不知道这两副眼镜在数据库里的商品代码ID是什么。第一阶段制定分步计划 (Planning)第1 步 (红色)使用check_past_transactions查询历史交易记录工具先弄清楚这个用户到底买过哪些眼镜。第 2 步 (蓝色)使用get_item_descriptions获取商品描述工具去比对刚才查到的眼镜记录找出哪副是“金框 (gold frame)”。第 3 步 (橙色)使用process_item_return处理商品退货工具把确认好的那副金框眼镜退掉。第二阶段链式执行 (Execution)系统把“第1步的计划”喂给 LLMLLM 调用查询交易记录的工具。工具返回了该用户的购买历史比如买过 ID为1001和1004的商品。这就是Step 1 output输出。系统把“买过1001和1004 (Step 1 output)”加上“寻找金框眼镜 (Step 2 text)”一起交给 LLM。LLM 明白现在要查这两个ID的详情于是调用查描述的工具。工具返回结果确认 1004 是金框。这就是Step 2 output输出。最后系统把“确定目标是1004 (Step 2 output)”加上“执行退货 (Step 3 text)”交给 LLM。LLM 终于集齐了所有必要参数果断调用process_item_return工具成功帮用户完成了退货操作。从“只读Read” 升级为 “写入/执行Write/Action”上一个例子查库存所有的工具调用查描述、查库存、查价格都是“只读”操作。Agent 只是在数据库里找信息不会对现实世界或系统状态产生任何改变。这一个例子退货用户的诉求是“我要退掉我买的金框眼镜”。工作流的最后一步调用了process_item_return处理退货这个工具。这是一个**“写入”操作**。它意味着 Agent 不仅仅是在陪你聊天或查资料它真正在触发真实的业务流程改变了系统的状态例如将订单状态改为已退货触发退款流程等。规划工作流例子3邮件助手它的底层逻辑结构“制定计划” “链式执行”和前两个客服例子一样但这个案例的教学重点在于展示 Agent 处理“复合型多步骤任务Compound Tasks”的能力原始指令 (User Request)“Reply to that email invitation from Bob about dinner in New York and tell him I’ll attend. Then archive his email.”回复 Bob 关于纽约晚餐邀请的那封邮件告诉他我会参加。然后把他的邮件归档。这一句话里包含了三个连续的动作而且后两个动作都依赖于第一个动作的结果必须先找到那封邮件才能回复它最后才能归档它。第一阶段制定分步计划 (Planning Phase)AI 接收到指令后结合其右上角的“工具库”搜索邮件、移动邮件、删除邮件、发送邮件在左下方灰底框内拆解出了清晰的三步计划第 1 步 (红色 - 检索阶段)使用search_email工具提取关键参数发件人是“Bob”关键词是“dinner (晚餐)”和“New York (纽约)”去找到那封特定的邮件。第 2 步 (蓝色 - 执行阶段 1)找到邮件后使用send_email工具自动撰写回复并发送确认会出席。第 3 步 (橙色 - 执行阶段 2)使用move_email工具将刚才那封 Bob 的邮件移动到“archive (归档)”文件夹。第二阶段链式执行与上下文传递 (Execution Phase)核心依然是上下文的传递执行 Step 1LLM 根据第一步的计划调用search_email工具。工具会在用户的邮箱里搜索找到那封邮件后返回该邮件的具体信息比如邮件的唯一 ID。这就是Step 1 output。执行 Step 2系统将“找到的邮件 ID (Step 1 output)”结合“回复出席 (Step 2 text)”的指令再次交给 LLM。LLM 此时知道要回复给谁于是调用send_email工具完成回复。执行 Step 3系统将“已回复完毕的状态及邮件 ID (Step 2 output)”结合“归档指令 (Step 3 text)”交给 LLM。LLM 最后调用move_email工具把这封目标邮件移入归档文件夹任务结束总结上面只是高层次的介绍了规划流程主要是列出步骤清单然后将语言模型逐步执行计划中的每一步后面将深入探讨这些计划的具体结构和细节。如果这篇文章对你有帮助欢迎点赞、评论、关注、收藏。你们的支持是我前进的动力
【Agent智能体23 | 规划-规划工作流】
发布时间:2026/6/9 18:07:15
声明本篇博客是以吴恩达的【Agent智能体】教程为基础并对其中的内容做了笔记整理以及个人收获的总结。从这一篇开始将介绍规划这个设计模式这一篇主要是用几个例子介绍一下规划工作流规划工作流例子1客户服务智能体用户的原始问题是“Do you have anyroundsunglassesin stockthat areunder $100?”你们有100美元以下的圆形太阳镜现货吗AI 工作流并没有直接去猜答案而是将这个复杂问题拆解成了三个需要验证的核心参数红色条件 (款式)round圆形蓝色条件 (库存)in stock有现货/库存大于0橙色条件 (价格)under $100低于100美元在明确了三个搜索条件后工作流进入规划与执行阶段。AI 开始在左侧的结构化库存数据库Inventory Database中进行逐层筛选步骤一匹配红色条件 (round)AI 扫描description描述列寻找包含“round”的商品。数据库中符合条件的是Moon (ID 1003)和Classic (ID 1004)。图中用红框圈出了这两个词。步骤二匹配蓝色条件 (in stock)AI 继续检查这两个候选商品的stock库存列。Moon 的库存是 15Classic 的库存是 9两者都大于 0符合“有现货”的条件图中用蓝框圈出。步骤三匹配橙色条件 (under $100)最后AI 检查这两个商品的price价格列。Moon 的价格是 120超出预算被淘汰而Classic 的价格是 60图中用橙色框圈出完全符合低于100美元的要求。生成最终回复经过逻辑过滤后智能体成功找到了唯一符合所有条件的商品ID 1004 的 Classic 款太阳镜。最后工作流的生成模块将这些检索到的结构化数据名称、描述、价格重新转化为人类友好的自然语言右下角的框“是的我们有 Classic 款太阳镜它是经典的圆形金属镜架价格为60美元”客户服务智能体的技术解析这张图揭示了AI Agent 在底层是如何通过代码和工具Tools具体实现这些步骤的。这涉及到了 Agent 工作流中最核心的机制计划Planning与工具调用Tool Calling / Action。系统提示词和工具(System Prompt Tools)AI 启动时的基础设置System Prompt (系统提示词)这是给 AI 下达的全局指令。告诉它“你可以使用以下工具{description of tools}请针对用户的请求返回一个分步执行计划 (step-by-step plan)”。Tools (工具库/API库)虚线框内是开发者为 AI 提供的工具。在这个例子中AI 有 6 个可用的函数接口比如get_item_descriptions(获取商品描述)、check_inventory(查库存)、get_item_price(查价格) 等。大模型本身不知道库存它必须通过调用这些工具来获取实时信息。第一阶段制定规划 (Planning Phase)当用户输入问题后这段文本连同 System Prompt 一起被送入LLM大语言模型。LLM 不会立刻给出最终答案而是先生成一个执行计划左下方灰底框红色步骤使用get_item_descriptions工具寻找圆形的太阳镜。蓝色步骤使用check_inventory工具检查步骤1找到的商品是否还有现货。橙色步骤使用get_item_price工具检查步骤2确认有货的商品价格是否低于100美元。第二阶段链式执行 (Execution Phase)制定好计划后Agent 进入图右侧的循环执行阶段。这是一个非常经典的“链式反应”Chain每一步的输出都会作为下一步的输入Step 1 执行LLM 读取“步骤1的计划”调用get_item_descriptions工具。工具会在数据库里查一圈返回结果找到了 Moon 和 Classic 两款。这就是Step 1 output。Step 2 执行此时非常关键系统会将“步骤1的查询结果 (Step 1 output)” “步骤2的计划 (Step 2 text)”一起打包再次丢给 LLM。LLM 明白现在的任务是查这两款的库存于是调用check_inventory工具。工具返回结果两款都有货。这就是Step 2 output。Step 3 执行同理系统将“步骤2的结果 (Step 2 output)” “步骤3的计划 (Step 3 text)”再次送入 LLM。LLM 调用get_item_price工具查价格。最后过滤出唯一符合条件的结果Classic60美元。这些只是简化的流程实际上LLM编写的方案要详细、复杂得多但是基本的工作流程就是让LLM写出方案的多个步骤然后依次执行每一步并结合适当上下文信息。LLM以这种方式进行规划的令人兴奋之处在于我们无需提前决定为满足较复杂的客户请求应该以什么顺序调用工具。核心为什么要“拆解计划 链式执行”这展示了当代高级 AI Agent 的核心设计模式通常被称为ReAct 模式Reasoning and Acting即推理与行动。打破“黑盒”直接让模型回答容易出错强制要求模型先写“计划 (Plan)”能让 AI 的逻辑变得透明、可控。如果最后结果不对开发者可以清楚地看到是哪一步计划写错了还是哪一个工具调用失败了。上下文传递 (Context Passing)右侧阶梯状的流程说明了Agent 的记忆机制。每一步的查询结果都会作为上文传递给下一步确保任务能够一环扣一环地连贯完成。规划工作流例子2客户服务智能体如果用户提出了不同的请求例如I would like to return the gold frame glasses I purchased, but not the metal frame ones.我想退掉我买的金框眼镜但不是那副金属框的。难点在于机器不知道这个用户是谁不知道历史订单号也不知道这两副眼镜在数据库里的商品代码ID是什么。第一阶段制定分步计划 (Planning)第1 步 (红色)使用check_past_transactions查询历史交易记录工具先弄清楚这个用户到底买过哪些眼镜。第 2 步 (蓝色)使用get_item_descriptions获取商品描述工具去比对刚才查到的眼镜记录找出哪副是“金框 (gold frame)”。第 3 步 (橙色)使用process_item_return处理商品退货工具把确认好的那副金框眼镜退掉。第二阶段链式执行 (Execution)系统把“第1步的计划”喂给 LLMLLM 调用查询交易记录的工具。工具返回了该用户的购买历史比如买过 ID为1001和1004的商品。这就是Step 1 output输出。系统把“买过1001和1004 (Step 1 output)”加上“寻找金框眼镜 (Step 2 text)”一起交给 LLM。LLM 明白现在要查这两个ID的详情于是调用查描述的工具。工具返回结果确认 1004 是金框。这就是Step 2 output输出。最后系统把“确定目标是1004 (Step 2 output)”加上“执行退货 (Step 3 text)”交给 LLM。LLM 终于集齐了所有必要参数果断调用process_item_return工具成功帮用户完成了退货操作。从“只读Read” 升级为 “写入/执行Write/Action”上一个例子查库存所有的工具调用查描述、查库存、查价格都是“只读”操作。Agent 只是在数据库里找信息不会对现实世界或系统状态产生任何改变。这一个例子退货用户的诉求是“我要退掉我买的金框眼镜”。工作流的最后一步调用了process_item_return处理退货这个工具。这是一个**“写入”操作**。它意味着 Agent 不仅仅是在陪你聊天或查资料它真正在触发真实的业务流程改变了系统的状态例如将订单状态改为已退货触发退款流程等。规划工作流例子3邮件助手它的底层逻辑结构“制定计划” “链式执行”和前两个客服例子一样但这个案例的教学重点在于展示 Agent 处理“复合型多步骤任务Compound Tasks”的能力原始指令 (User Request)“Reply to that email invitation from Bob about dinner in New York and tell him I’ll attend. Then archive his email.”回复 Bob 关于纽约晚餐邀请的那封邮件告诉他我会参加。然后把他的邮件归档。这一句话里包含了三个连续的动作而且后两个动作都依赖于第一个动作的结果必须先找到那封邮件才能回复它最后才能归档它。第一阶段制定分步计划 (Planning Phase)AI 接收到指令后结合其右上角的“工具库”搜索邮件、移动邮件、删除邮件、发送邮件在左下方灰底框内拆解出了清晰的三步计划第 1 步 (红色 - 检索阶段)使用search_email工具提取关键参数发件人是“Bob”关键词是“dinner (晚餐)”和“New York (纽约)”去找到那封特定的邮件。第 2 步 (蓝色 - 执行阶段 1)找到邮件后使用send_email工具自动撰写回复并发送确认会出席。第 3 步 (橙色 - 执行阶段 2)使用move_email工具将刚才那封 Bob 的邮件移动到“archive (归档)”文件夹。第二阶段链式执行与上下文传递 (Execution Phase)核心依然是上下文的传递执行 Step 1LLM 根据第一步的计划调用search_email工具。工具会在用户的邮箱里搜索找到那封邮件后返回该邮件的具体信息比如邮件的唯一 ID。这就是Step 1 output。执行 Step 2系统将“找到的邮件 ID (Step 1 output)”结合“回复出席 (Step 2 text)”的指令再次交给 LLM。LLM 此时知道要回复给谁于是调用send_email工具完成回复。执行 Step 3系统将“已回复完毕的状态及邮件 ID (Step 2 output)”结合“归档指令 (Step 3 text)”交给 LLM。LLM 最后调用move_email工具把这封目标邮件移入归档文件夹任务结束总结上面只是高层次的介绍了规划流程主要是列出步骤清单然后将语言模型逐步执行计划中的每一步后面将深入探讨这些计划的具体结构和细节。如果这篇文章对你有帮助欢迎点赞、评论、关注、收藏。你们的支持是我前进的动力