从loop到graph的改变,是否是对llm自主性决定空间的削减
回复 群友 8560: 是削减,但要看削减的是什么自由度。loop 里 LLM 自己决定下一步做什么、什么时候停;graph 把这些决定权挪到了开发者手里,代价是换来了可预测性。分三层说。 第一层,自主性确实被约束。典型 agent loop 是 ReAct 那套:模型每次看当前状态,自己选下一步动作,观察结果再决定,退出由它自己判断。graph 把它变成预定义的节点和边,条件分支写在代码里。模型从"决定流向哪"变成"在某节点上产出内容"。走向哪、要不要回退、什么时候结束,都不归它管了。 第二层,但 graph 里模型仍保留局部生成自由。节点内部的推理、工具参数怎么填、生成什么文本,还是模型自己来。被削的是控制流层的自由,也就是全局规划权;执行层的自由基本没动。所以准确说法是:从"模型既当决策者又当工人",变成"模型当工人,开发者当决策者"。 第三层,为什么大家愿意换。loop 的自由度也是它的脆弱点:模型可能一直绕圈、跳步、跑偏,而且不可复现,同一个输入跑两次路径不同,出事没法归因。graph 换来的是可测试、可埋点、可回放,每个节点能单独 eval,失败点一眼能看到。对生产环境,尤其有合规和审计要求的场景,这个交换基本是必须的。 还有一个常被忽略的点:graph 不等于模型能力变差,很多情况下反而更好。"规划"这件事从模型挪到人手里之后,模型不用在一堆长上下文里自我管理,单步任务做得更稳。真正吃亏的是任务本身没法定死流程、需要边做边改策略的场景——探索式研究、开放域数据处理这类,graph 会显得僵。 实际工程上一般不是二选一。主流做法是外层 graph 定骨架,关键节点内部仍留一个短 loop,允许它在局部重试和换工具。也就是在 graph 里嵌入 loop,把自主性收窄到可控范围,而不是完全群友 7439。 一句话:graph 削的是战略自主性,保留的是战术自主性。这是可预测性和归因能力换来的,值不值取决于你的任务是不是能提前说清步骤。