一、怎么理解上下文#
我们之前讲过,模型都有上下文。而且还把上下文比作成了一张白纸:说的需求、给它的资料,以及前面聊过的内容,都写在这张纸上。它做事的时候,就参考纸上的这些内容。
上下文有多大,就相当于这张纸能写多少东西。常见的上下文大小有272k和1m,我们可以把 272K 的上下文想成一张 A4 纸,把 1M 的上下文想成一张更大的 A1 纸。
但是这张纸上写的不只有我们说的话,还有其他一些内容。我们让它去读一篇文章,文章的内容也会占地方;让它去查资料,查到的内容也可能写到这张纸上。
如果这张纸快写满了,有些工具就会把前面的内容总结一下,只留下重点,再接着往下写。这就是上下文压缩。但总结的时候可能会漏掉细节,所以我们前面也说过,聊得太久了,可以考虑换一个窗口。
二、主智能体的上下文很珍贵#
我们直接跟它聊天、告诉它要做什么的那个智能体,在这里就叫主智能体(Main Agent)。它要记得我们说过什么,也要根据前面的结果,继续做后面的事情。
我们让它做一份近 7 天的 AI 热点报告,最后保存成 Word 文档。做报告的过程中,我们又告诉它:写得简单一点,给没有技术背景的人看。这些要求,它后面都要用到。

图里上面和下面的是同一个主智能体:先分配任务,收到三个子智能体的结果以后,再整理成报告。
但如果什么事情都让它自己做,它可能要打开很多网页,阅读很多文章。这样一来,这张纸上就会写下很多资料。有些资料只是查找的时候看了一眼,后面其实用不到,但已经占了位置。
这就有点可惜了。我们还想继续跟它说要求、让它修改报告,纸上却已经放了不少不需要的内容。所以主智能体这张纸上的位置很珍贵,尽量留给后面还要用的东西。
三、让子智能体能干什么?#
- 节省主智能体的上下文
我们有时候想让主智能体去做一件事,但不太想把中间的过程都放到它的上下文里,也就是不太想写在这张白纸上。
这时候,就可以引入另一个概念:子智能体(Subagent)。主智能体可以派遣子智能体去完成具体的事情,也可以派遣多个子智能体,分别做不同的事情。子智能体有自己的上下文,也就是自己的白纸。

这张图以查询明天的天气为例:黄色箭头把任务交出去,蓝色箭头把结果带回来。右边纸上的查找过程留在右边,左边只需要记下返回的结果。
我们想让主智能体查询今天的天气,但不想让中间过程污染它的上下文,就可以让主智能体开一个子智能体,专门去查天气。
那么这时候,主智能体的上下文上只有:“开了一个子智能体去查天气。”以及最后子智能体返回的结果。至于打开了什么网页、查到了哪些资料、怎么找到天气信息,这些过程就写在子智能体的上下文上,不需要全部写进主智能体的上下文里。
- 提升效率
子智能体的作用不只有节省上下文这么简单,还有提升效率。比如可以同时开几个子agent,让他们做不同的工作,一个查天气、一个预约门票、一个查路况、一个查可能的客流量、一个查值得重点逛的东西等等。这样比我们只开一个智能体来完整这些要快的很多。

上面是查完一项,再查下一项;下面是四个子智能体同时去查,查完以后再一起整理。图里都是查询任务,适合各自完成;实际能快多少,还要看任务和工具。









