🐎 第4章 分而治之:子智能体与任务委派的艺术
📄 一句话概括

三档规模实测:五个文件时派出去贵百分之七,二十个时便宜百分之四,六十个时只便宜百分之一。 规模越大越接近打平,不是越拉越开。 真正稳定的是主窗口那个数:委派之后恒等于四千零四十,跟规模无关。

📝 本章和前面几章的关系

上一节讲怎么组合,这一节算账。这一节会推翻一个常见误解:派出去并不省 token。 这一节也算第 4 章的中心:把「省的是主窗口不是钱」这件事用数字说死。

一、两路的成本结构

直接做:每一轮把窗口里的全部内容重发一遍,成本是平方的(4.1 节算过)。 派出去:子智能体那边也是平方的,规模一样、重发一样多。主窗口这边只有两轮——发指令、收结论。 两条曲线都是平方,差的只有「每轮那份系统提示」:主窗口一千二、子窗口八百。

所以两路的差距是一个线性项:每读一份省四百,乘以读了几份。 而委派要付固定开销:主窗口那两轮,一共二千八百四十。这笔钱摊不开,只能摊薄。

二、三档规模的账

五个文件:直接做一万二,派出去一万二千八百四,贵百分之七。固定开销摊不开。 二十个文件:直接做十万五千六,派出去十万一千六,便宜百分之三点八。刚追平。 六十个文件:直接做四十二万五千六,派出去四十二万一千六,便宜百分之零点九。

注意百分比的走向:贵百分之七、便宜百分之三点八、便宜百分之零点九——越来越接近打平。 原因很简单:省的是每份四百的线性项,而分母是平方项。分母涨得比分子快,比例自然往下走。

三、交叉点在哪

固定开销二千八百四,每份省四百,除一下就是第七点一个——也就是从第八个文件开始, 派出去的总账才低于直接做。 这个数不是「八份以上就该派」。它只是「总账打平」的门槛,而且追平之后也只是省个零头。 真正的判断要看另一列:主窗口。直接做那一路,主窗口一路涨到上限;派出去那一路,恒等于四千零四十。

所以「规模多大才值得派」这个问题,答案不是规模——是「主窗口还够不够用」。

四、什么时候总账也真的省

当主窗口不需要明细时。上面那条回执两百 token,是因为它写了一份摘要; 如果主窗口只要一个数字(「高危几条」),回执就只剩十个 token。 反过来,如果主窗口最后还要四十一行明细,子智能体就得把明细写回来,那这笔账就退回到「差不多打平」。 所以真正的判据是:主窗口最后需要多少细节。只要结论不问过程的,两头都省; 要明细的,只省了过程那一半。

这句话还可以再推一步:如果连结论都不需要、只需要「改完了没有」,那回执可以小到一个布尔值, 委派的总账就明确地省了。

五、所以这笔账该怎么记

第一笔:主窗口峰值。委派是唯一能把它压到常数的手段。这是主要收益。 第二笔:总账。规模小的时候略贵,规模大的时候略便宜,整体在一个量级上。 第三笔:返工。委派多了一层「它可能理解错」。这个成本不出现在 token 账上,但出在「重派一次」上。

三笔账里,第一笔是确定的收益,第二笔往往可以忽略,第三笔要靠指令和回执格式去压。 所以委派的定位应该是「腾工位」,不是「省钱」。把它当省钱工具用,一定会失望; 把它当工位管理用,才会发现它真正解决的是什么。

六、动手 Demo:规模多大才值得派出去

三档规模:五个、二十个、六十个文件。两路各算总账,再各看一眼主窗口那个数。 委派要付固定开销:主窗口发指令一轮、收结论一轮,两轮各带一份系统提示。

BRIEF, BACK = 120, 200
MAIN2 = (SYS_TOK + BRIEF) + (SYS_TOK + BRIEF + BACK)   # 主窗口那两轮

direct = sum(min(WIN, SYS_TOK + i * FILE_TOK) for i in range(1, n + 1))
sub    = sum(min(WIN, 800 + i * FILE_TOK) for i in range(1, n + 1))
total  = sub + MAIN2

实跑输出:

--------------------------------------------------------------------
规模多大才值得派出去
--------------------------------------------------------------------

  三档规模:五个文件、二十个、六十个。两路做法各算总账,再各看一眼前面那个指标——主窗口峰值。
  委派要付固定开销:主窗口发指令一轮、收结论一轮,两轮各带一份系统提示。

  ① 三档规模的账
  --------------------------------------------------------------------
| 规模 | 直接做 | 派出去 | 差 | 主窗口总量 |
|---|---:|---:|---:|---:|
| 5 个 | 12000 | 12840 | +7.0% | 4040 |
| 20 个 | 105600 | 101640 | -3.8% | 4040 |
| 60 个 | 425600 | 421640 | -0.9% | 4040 |

  五个文件时派出去贵 7.0%,二十个时基本打平,六十个时略便宜。
  但注意百分比的走向:贵 7.0%、打平、略便宜——规模越大越接近,不是越拉越开。

  ② 为什么总账拉不开
  --------------------------------------------------------------------
  两路读的文件一样多,一份没少。
  两条都是平方增长,差的是「每轮那份系统提示」:主窗口 1200、子窗口 800。
  每读一个文件,子窗口省 400。要抵掉委派的固定开销 2840,得读到第 8 个。
  抵掉之后也只是「省了每轮四百的零头」,不是省掉了读文件这件事。
  所以想靠委派省 token,方向从一开始就错了。

  ③ 该看的是主窗口那个数
  --------------------------------------------------------------------
| 规模 | 直接做的主窗口峰值 | 派出去的主窗口总量 |
|---|---:|---:|
| 5 个 | 3200 | 4040 |
| 20 个 | 8000 | 4040 |
| 60 个 | 8000 | 4040 |

  直接做那一路,主窗口一路涨到窗口上限;
  派出去那一路,主窗口总量恒等于「一份系统提示加两轮对话」,跟规模无关。
  注意五个文件那一行:委派的主窗口反而更贵(4040 对 3200)——固定开销摊不开。从二十个开始才稳。
  所以「小而散」的活别派,自己读反而干净。

  ④ 什么情况下总账也真的省
  --------------------------------------------------------------------
  当主窗口不需要明细时。上面那条回执两百 token,是因为它写下了一份摘要;
  如果主窗口只要一个数字——「高危几条」——回执就只剩十个 token。
  反过来,如果主窗口最后还要 41 条明细,子智能体就得把明细写回来,那这笔账就退回到「差不多打平」。
  ! 所以判据不是「任务多大」,是「主窗口最后需要多少细节」。只要结论不问过程的,派出去两头都省;
  要明细的,派出去只省了过程那一半。

①三档的账:五个文件贵百分之七,二十个便宜百分之三点八,六十个便宜百分之零点九。 重点不是「正负」,是走向:规模越大越接近打平,不是越拉越开。 原因是两条曲线都是平方,差的只是一个线性项(每份省四百),而分母是平方项,涨得更快。 ②固定开销二千八百四、每份省四百,除一下是第七点一个——从第八个文件开始总账才低于直接做。 但这不等于「八份以上就该派」。追平之后也只是省个零头,真正的判断要看下一张表。 ③主窗口那张表:直接做一路涨到窗口上限,派出去恒等于四千零四十,跟规模无关。 注意五个文件那一行:委派的主窗口反而更贵(四千零四十对三千二)——固定开销摊不开。 所以「小而散」的活别派,自己读反而干净。 ④什么情况下总账也真的省:当主窗口不需要明细时。回执从两百降到十,两头都省; 要四十一行明细的,就退回「差不多打平」。 所以判据不是「任务多大」,是「主窗口最后需要多少细节」。只要结论不问过程的,派出去两头都省; 要明细的,只省了过程那一半。

30 秒实验

  1. 把子智能体的系统提示从八百改成一千二(和大模型一个价),重跑第 ① 步。三档的差变成多少? 这说明「用便宜模型跑子智能体」值多少?
  2. 把回执从两百改成十(只要一个数字),重跑第 ① 步。哪一档开始明显省钱?省的是哪一部分?
  3. 把任务改成读六十个文件、但主窗口最后要全部六十条明细,重跑一遍。委派的主窗口总量会变成多少?

常见误区

  1. 以为派出去省 token。总账上规模小的时候贵,规模大的时候只便宜个零头。
  2. 以为「规模越大越省」。百分比是往下走的,因为分子是线性、分母是平方。
  3. 用「文件数超过八个就该派」当规则。八只是总账打平的门槛,真正的判据是主窗口还够不够用。
  4. 让子智能体把明细全写回来。主窗口要明细就等于没隔离,去了一趟又搬回来。
  5. 把委派当省钱工具来做预算。它腾的是工位,不是省钱;省钱要靠「不要明细」。
自测三问(点开对答案) 1. 为什么规模越大,两路的总账越接近? —— 因为差的只是一个线性项(每份省四百),而两条曲线都是平方。分母涨得比分子快,比例自然往下走。 2. 「第八个文件开始委派更便宜」这句话有什么陷阱? —— 它只是总账打平的门槛,追平之后也只省个零头。真正该看的是主窗口占用,那个数委派之后是常数。 3. 什么情况下委派在总账上也明显省? —— 主窗口不需要明细的时候。回执从一份摘要缩到一个数字,省下来的就是那一大截。

账算清了,下一节换个视角:把委派当成接口,看它和软件工程那几条原则怎么对上。

相关笔记