🧡 第六章 进阶对话技巧
📄 一句话概括

上下文不是仓库,是工作台——只放今天要用的;喂 30 个文件多付的 8100 行成本,换来的是一堆用不上的背景。

📝 本节和前面几节的关系

上一节讲把话说明白,这一节讲喂什么:很多人在【喂得越多越保险】上吃过亏。

一、一个很常见的直觉,以及它为什么错

直觉是【多给点背景,它理解得更好】。实际上背景一旦过量,注意力就被摊薄了。 一个文件平均三百行——喂三十个,就是九千行的东西挤在你的要求旁边。 你真正要用的可能只有其中两个文件。

二、两种喂法的信噪比

倒一堆:十个项目的说明喂进去,它要自己筛掉其中九个——它筛不一定对。 喂一份摘要:当前项目的三页要点,它几乎不用筛。 差别不在给不给背景,在背景里有多少是要紧的。

三、怎么瘦

先自己筛一遍:哪些文件是这次真正要碰的?只给这些。 再摘出一段:相关的那个函数、那个字段,不用给整个文件。 其余的让它自己去找——第 1.6 节说过,它会搜索、会读,你只要告诉它方向。

四、一个反直觉的结论

上下文瘦身不只省钱,还提高质量。 因为它少了一样东西要去分辨——这往往就是它跑偏的源头。 所以每次喂之前问一句:这份东西,它今天真的用得上吗?用不上就别喂。

五、动手 Demo:上下文工程——多给不等于好使

下面把两种喂法并排,再算一遍喂文件的行数代价。

TH([u"喂法", u"喂了什么", u"它要自己筛掉", u"信噪比"], [12, 28, 26, 10])
T([u"倒一堆", u"十个无关项目的说明", u"其中九个", u"约 1 成"], [12, 28, 26, 10])
T([u"喂一份摘要", u"当前项目的三页要点", u"几乎不用", u"很高"], [12, 28, 26, 10])

实跑输出:

--------------------------------------------------------------------
上下文工程——多给不等于好使
--------------------------------------------------------------------

给它一堆资料很容易,给对资料很难。看两组资料的区别:

  喂法           喂了什么               它要自己筛掉     信噪比
  ---------------------------------------------------------------
  倒一堆         十个无关项目的说明     其中九个         约 1 成
  喂一份摘要     当前项目的三页要点     几乎不用         很高

再算一笔:假设一个文件平均 300 行——
    喂  3 个文件 =   900 行
    喂 30 个文件 =  9000 行

喂 30 个文件,多付的是 **8100 行**的成本,换来的是一堆它用不上的背景。
结论一句话:**上下文不是仓库,是工作台——只放今天要用的。**

那个行数对比才是关键:喂三十个文件多付的 8100 行,换来的却是一堆用不上的背景。 所以上下文不是仓库,是工作台——只放今天要用的。

30 秒实验

  1. 数一数你上一个任务喂了几个文件,其中几个是真相关的。
  2. 试着把背景砍掉一半再喂一次——看结果变好还是变差。

常见误区

  1. 把整个项目一股脑喂进去。你分不清哪些重要,它更分不清。
  2. 以为少给背景会出错。它会自己搜索——第 1.6 节讲过,给方向比给全文更省。
自测三问(点开对答案) 1. 为什么多喂背景不一定更好? —— 背景一旦过量注意力就被摊薄,而且它筛得不一定对。 2. 上下文瘦身的三步是什么? —— 自己筛出真正要碰的文件、摘出相关那一段、其余让它自己去找。 3. 瘦身的额外好处是什么? —— 提高质量——少一样要去分辨的东西,就少一个跑偏的源头。

相关笔记