1. 概念
React和TAO
核心理念 走一步看一部。
plan 和执行
会预先生成一个计划,
2 如何使用
独立使用
混合使用
比较常见
例子1:
ReAct 先生成Plan 然后观察plan 的执行,再纠正这个plan。
ReAct 和Plan 结合,一般伴随了 RePlan 的使用。
例子2
整体有个一个Plan,然后plan的具体步骤 是ReAct式的执行
Rag/检索信息 步骤==》React 式的。
ReAct 式的检索
3. Plan
生成Plan 就是一个调用大模型的事情。
- 在 prompt 里面嵌入 flew-shot 的东西,指导plan。
- 生成plan 之后,可以引入一个校验的环节。
误区:生成plan !=生成具体步骤。
plan 的本质是在 不确定的上下文/空间里面,找到一条相对确定的路径。
plan要确定的问题
- 目标是否明确
- 问题边界
- 你要解决哪些问题, 解决到了哪一步。
- 解决这个问题所需的信息是否完整。
- 需要收集哪些信息,这些信息收集完整了没有。
- 问题域里面, 上下文有哪些数据,缺了哪些东西
- 有哪些路径被验证了不可行
- 哪些是推进的路径。
- 有哪些约束? 长任务里面这一步比较容易出错。
- 业务上的 比如说 总的预算?
- 技术上 : 我的agent 的运行时间。
- 上下文的窗口大小。 如果你的窗口太小,你的plan 就要尽可能
简单的设计 一个plan
- 上下文的窗口大小。 如果你的窗口太小,你的plan 就要尽可能
- 我有哪些工具
- 测试阶段 :没有工具限制,去看生成的plan 是怎么样的 ,
方向确定你用了哪些工具 - 线上阶段 :强制要求只有这些工具。
- 要生成 checkpoint。
交互式的生成plan
human-in-loop
plan 要尽可能的收集信息、约束、详细的目标
4 怎么衡量一个plan 的好与坏
- llm as judge 让大模型分析,然后打分。
- 指标 借助整个agent 的指标
- 用户满意度打分–》间接衡量plan 的指标
- Replan 和 回溯的 平均次数。
- 在解决问题的过程中, replan 的次数越多,就说明plan的质量越差。
5.最好引入checkpoint的机制
plan 要明确定义进入下一个状态的条件,每一个状态的变迁,都是一个检查点
最大的好处:锚点,
如何保证 长任务/长对话, Agent表现依旧稳定?
checkpoint 的机制
怎么去定义?
最好在prompt 里面明确需要在哪些地方引入 checkponit,----专属领域的agent。
6.plan例子
6.1 坏的plan
- 分析用户简历
- 提取项目经历
- 修改项目描述
- 生成项目亮点
- 生成话术
- 整合为一个简历输出
6.2 好的plan
明确 目标
针对P6岗位,目标薪资x’x
交付:
- 完整的简历
- n个项目,每个项目要有M个亮点
当前信息是否足够
- 用户原始简历
- 求职目标- 岗位
- 有没有准备面试案例。。。
如果 是领域专属的agent,很容易判断出 信息是否足够
约束
比如
- 不超过3页的约束
- 书写要符合xxx原则的约束
- 要有一个agent项目的约束
步骤 +check point
不是说 所有的步骤都要有checkponit,关键步骤即可
- 收集信息
- 识别核心的短板
- 选择包装策略
- 高并发、高可用、领域专家
- 准备项目亮点,准备案例—
- 生成简历