SH

Soloharness

概念 · 辨析 · Agent

← 返回概念辨析

Concept Contrast Fable

ReAct 和规划:一个边跑边看路,一个出发前画好地图

构建 Agent 时,ReAct 和规划常被放在同一张架构讨论里对比。ReAct 让 Agent 在推理和行动之间交替循环,每一步的结果决定下一步;规划让 Agent 先分解目标、排出步骤序列,再按计划执行。两者的差别不在于谁更聪明,而在于对未知的容忍度——ReAct 为不完整信息预留了中途调整空间,规划把信息完整性的压力都压在了起点。

寓言

两位领航员的入山策略

一支测绘队要穿过一片从未勘测过的原始森林。队里有两个领航员,入山策略完全不同。第一个领航员每走两百米就停下来,爬上最高的树观察前方地形,根据看到的山脊走向和溪流方向调整方向。他的地图在山里越画越细。第二个领航员在入山口摊开卫星图和等高线图,用三天时间画出了一条从入山口到目标点的完整路线,标了十七个转向点。

前三天两人都按时到达了预定营地。第一个领航员绕了一些路,但每次绕行都是看到前方断崖之后才决定的,多走的路有原因。第二个领航员走的路线更直——至少在地图上是直的。

第四天下午,第二个领航员在第八个转向点停下了。等高线图上标注的浅滩在现实中是一片被雨季冲出的深沟,沟宽超过架桥设备的极限。他翻遍所有地图也找不到可行的替代路线,因为他的全部决策都基于入山口的那套完整信息,信息在此刻归零了。

同一天黄昏,第一个领航员也到了这条深沟。他退回到上一个观察点,重新上树看了看周边的山形,选了东面一条缓坡绕了过去。多走了两天的路,但始终没有陷入“计划断了就动弹不了”的状态。

回到营地后,测绘队复盘了两种策略的边界。第二个领航员的方式适合在信息完全且环境稳定的区域——公路测绘、平原勘测——信息不会欺骗你。第一个领航员的方式适合在信息不完整且环境会变的区域——陌生山地、雨季丛林——你必须每一步为下一步收集信息。

队长后来给每个测绘组配了一名“前哨领航员”和一名“路线规划师”。前哨负责在陌生地段用短周期观察-行动循环开路,路线规划师负责在进入已知地形后把前哨的经验固化成可重复的标准路线。两个人不互相替代,只互相接力。

最后的经验总结印在测绘手册扉页上:如果出发前你拿到了这块地的全部真实信息,先画图再走;如果这块地还没被人走过,每一步都先看腿前的路。两张地图都可以带你到终点,但它们假设的地图精度不一样。

ReAct

一种 Agent 推理模式,将推理和行动交替执行。模型先思考、再执行工具调用、根据结果再思考——每一步都在为下一步收集信息。适合环境信息不完整的动态任务。

规划

Agent 在执行前先生成完整的分步计划,然后按计划执行。依赖起点信息的完整性和环境稳定性。适合结构化、边界清晰的重复性任务。

故事对应

  • 第一个领航员每两百米上树观察再走:ReAct,每一步观察-推理-行动的循环
  • 第二个领航员入山口画好完整路线:Planning,执行前生成全局计划
  • 浅滩变深沟让规划归零:Planning 在信息突变时缺乏中途调整能力
  • 前哨加规划师接力配合:ReAct 探测陌生环境,Planning 固化已知路径

落到 Agent 行为设计里

Agent 任务设计时分场景选用模式。信息完整且步骤固定的任务(如固定格式报告生成)用 Planning 提前分解步骤,效率最高。信息不完整或环境动态变化的任务(如多工具搜索、开放式调研)用 ReAct 让每一步的结果驱动下一步决策。混合场景可以用 Planning 搭骨架、ReAct 填细节:大方向先定,每段内部交给观察-行动循环来调整。