瀏覽代碼

上课的代码练习以及布置的Plan-and-Execute和ReAct的自我总结

邹超强 1 月之前
父節點
當前提交
fa20e58667

+ 40 - 0
03_langgraph_homework/Plan-and-Execute和ReAct的区别.md

@@ -0,0 +1,40 @@
+# ReAct 与 Plan-and-Execute 的区别
+
+## 一、ReAct
+
+我的核心理解是:Agent 不会提前制定一个完整的执行计划,而是根据当前任务和上一步的执行结果,动态决定下一步应该做什么。
+
+例如,用户要求查询天气并计算一个数学问题,Agent 可以先调用天气工具,得到结果后,再根据当前任务决定是否调用计算器工具。
+
+它的基本流程是:**思考 → 行动 → 观察 → 再思考 → 再行动 ……**
+
+ReAct 更像是 **"边思考、边执行、边根据结果调整"**。
+
+它的优点是灵活,适合执行路径不确定的任务。
+
+---
+
+## 二、Plan-and-Execute
+
+Plan-and-Execute 的核心理解是:Agent 先对整个任务进行规划,再按照计划逐步执行,并根据执行结果调整计划。
+
+也就是:**先规划,再执行,执行过程中根据结果进行检查和调整。**
+
+它的基本流程是:**规划 → 执行 → 检查 → 调整 → 再执行 ……**
+
+Plan-and-Execute 更像是 **"先规划整体路线,再按照路线执行"**。
+
+---
+
+## 三、我认为两者最本质的区别
+
+**ReAct 关注"下一步做什么",Plan-and-Execute 关注"整个任务怎么完成"。**
+
+ReAct 是"边走边决定下一步",而 Plan-and-Execute 是"先规划整体路线,再按照路线执行"。
+
+---
+
+## 四、适用场景
+
+- **ReAct** 更适合简单、动态、实时的任务。它的特点是边思考边行动,根据当前环境和工具返回结果动态决定下一步。
+- **Plan-and-Execute** 则是先对整个任务进行规划,再由 Executor 按步骤执行,并通过 Replanner 根据执行结果调整计划。它更适合复杂的多步骤任务,尤其是步骤之间存在依赖关系的场景。

文件差異過大導致無法顯示
+ 17 - 0
03_langgraph_homework/langgraph.ipynb


文件差異過大導致無法顯示
+ 106 - 0
03_langgraph_homework/react.ipynb


部分文件因文件數量過多而無法顯示