我的核心理解是:Agent 不会提前制定一个完整的执行计划,而是根据当前任务和上一步的执行结果,动态决定下一步应该做什么。
例如,用户要求查询天气并计算一个数学问题,Agent 可以先调用天气工具,得到结果后,再根据当前任务决定是否调用计算器工具。
它的基本流程是:思考 → 行动 → 观察 → 再思考 → 再行动 ……
ReAct 更像是 "边思考、边执行、边根据结果调整"。
它的优点是灵活,适合执行路径不确定的任务。
Plan-and-Execute 的核心理解是:Agent 先对整个任务进行规划,再按照计划逐步执行,并根据执行结果调整计划。
也就是:先规划,再执行,执行过程中根据结果进行检查和调整。
它的基本流程是:规划 → 执行 → 检查 → 调整 → 再执行 ……
Plan-and-Execute 更像是 "先规划整体路线,再按照路线执行"。
ReAct 关注"下一步做什么",Plan-and-Execute 关注"整个任务怎么完成"。
ReAct 是"边走边决定下一步",而 Plan-and-Execute 是"先规划整体路线,再按照路线执行"。