由易到难分解是什么
Least-to-Most(由易到难)分两个阶段:先把复杂问题拆成一串由简单到复杂的子问题,标注依赖关系;再从第 1 题开始依次作答,每解一题就把它当作后续题目的已知条件。它和普通任务分解的差别在次序——普通分解追求不重不漏,它追求建立可复用的中间结果,让后面的难题站在前面简单题的肩膀上。Zhou 等人 2022 年提出这一方法时,重点就在于这种由易到难的累积。
要点
| 与普通分解的差别 | 强调由易到难的次序:简单题先建立中间结果供后续使用 |
|---|---|
| 适用 | 多跳问答、需要累积中间量的计算、复合决策 |
| 依赖标注 | 子问题之间标明依赖关系,避免并行求解导致顺序错乱 |
| 信息边界 | 每题只使用题目条件与已解子问题的答案,不得引入其他假设 |
| 失败形态 | 子问题拆分不合理(过粗或过细)时收益消失 |
典型使用场景
- 多跳问答:先定位实体,再查属性,最后给出结论
- 多步计算:逐步算出中间量,最后组合成目标结果
- 配置类问题:先确定前提条件,再选参数,最后给出配置
- 复合决策:先算成本,再算工期,最后综合评价
- 教学讲解:把复杂概念拆成从易到难的讲解顺序
两阶段模板
两阶段模板
阶段一:把问题拆为子问题列表(由简到繁,标注依赖关系)。
阶段二:从第 1 题开始依次作答;每题只使用题目条件与已解子问题的答案。
# 依赖关系要写出来,否则中间结果可能被后面某题忽略拆分质量检查
| 检查项 | 做法 | 不做的后果 |
|---|---|---|
| 颗粒度 | 每个子问题都能用一两步算完 | 过粗等于没拆,过细徒增调用 |
| 依赖顺序 | 标出每题依赖哪几题的结果 | 顺序错乱导致用到未解的中间量 |
| 边界 | 写明只能用题目条件与已解结果 | 模型自行引入额外假设 |
| 可核 | 每题的答案能单独判断对错 | 错误无法定位,只能整体重做 |
拆解阶段本身也可能出错:让模型在拆完后自查一遍,确认每个子问题都能独立求解、且合起来足以回答原问题。