跳到内容
Coding with AI · Lecture 08
Esc
↑↓导航↵打开⌘J预览
本页内容

存得下,不等于这一次看得见

存得下不等于这一次看得见:每一步把什么摆上工作台,是要设计的。

这一页为什么在这里

第四站的收束与迁移:把“挑”说成一个工程问题。外部存储里存得下、找得到,不等于这一次的输入里看得见;每一步都要回答这一步要什么、放多少、放在哪。用一个做文献综述的 agent 当例子,留下通向第五站的问题。右下角出口接第 10 讲。

上屏

  • 第 1 步:「一个做文献综述的 agent」。左「外部存储:可回查」:原文:12 篇论文 PDF|记录:前三天的对话与实验日志|方法:写好的检索脚本与检查清单。中间箭头:选择(挑)。右「这一次的输入:已放进来」:目标:回答“RAG 什么时候胜过长上下文”|相关摘录 2 段|当前状态:已读 3 篇、待核 1 处。
  • 第 2 步:三个问题:这一步要什么?放多少?放在哪?(位置会改变结果,Q28)底部:留下的问题:装下了也会变差,任务还在变大 → ⑤ 分给多个 agent。右下角出口:→ 第 10 讲|改真实代码库:每一步读哪些文件。

讲

第 1 步 · 教师可说的话

可回查与已放进来

书架和托盘是两个地方。存在书架上、但这一次没放进托盘的东西,就不能假定它影响了回答。

指图与比较

对照左边可回查的原文、记录、方法与右边已放进来的目标、摘录、当前状态,沿“选择(挑)”箭头辨认两者边界。

第 2 步 · 教师可说的话

选择输入的三个问题

所以每一步都要挑:这一步需要什么?放多少?放在哪个位置?刚才的位置实验告诉我们,连放在哪都会影响结果。大家现在说的“上下文工程”,说的就是这件事。具体的工程做法放在讲义里。

指图与比较

指向三个问题,最后将“放在哪”与 Q28 的位置实验相连。

本页衔接

每步都要挑,材料多到一个研究任务需要很多步时,又该由一个 agent 读到底,还是分给子 agent?

连续教师稿原文

书架和托盘是两个地方。存在书架上、但这一次没放进托盘的东西,就不能假定它影响了回答。

所以每一步都要挑:这一步需要什么?放多少?放在哪个位置?刚才的位置实验告诉我们,连放在哪都会影响结果。大家现在说的“上下文工程”,说的就是这件事。具体的工程做法放在讲义里。

讲授出口

→ 第 10 讲|改真实代码库:每一步读哪些文件。可以展开:编程智能体在一个大代码库里,每一步要决定读哪几个文件、读多少行、读完写下什么;这就是“挑”在代码库上的样子。

完整推理

两种可用性。 外部存储里的东西“可回查”:需要时找得到。这一次的输入里的东西“看得见”:模型这一步读得到(读得到也不一定用上,见 Q28)。中间隔着“挑”。上下文工程关心的是每一步实际提供了什么,而不是总共存了多少。

挑的三个问题。 这一步要什么(目标、相关摘录、当前状态,而不是全部原文);放多少(太少缺信息,太多会被干扰拖累,Q28–Q29);放在哪(位置会改变结果,Q28)。

2025 年常见的工程做法 (Anthropic 的两篇工程文章里的总结):

  • 按需展开:技能、工具说明先只给名称和用途,任务需要时再读完整说明,再需要时才读附件;“可回查”不必等于“一开始全装入”。
  • 笔记与回读:把需要保留的状态写到外部(比如进度笔记),后续步骤或新会话需要时再读回。
  • 压缩:长任务里把旧历史压成要点,同时保留关键事实和可回查的位置。

这些是工程经验,需要在具体任务上检验;它们不保证信息越少越好,也代替不了检查这一次实际放进去了什么。

留下的问题 → 第五站。 任务继续变大:一个研究问题要读几十上百份材料,一个窗口装不下,装下了也会变差。下一站,把上下文分给多个 agent。

学生可能的回答与误区

  • 第 2 步|“上下文越短越好”或“越长越好”。两者都不对:要的是这一步需要的那些,放在合适的位置。
  • 第 1 步|“存进外部存储就等于 agent 知道了。”存得下只说明找得到;这一步没取进输入,就看不见。
  • 第 2 步|把工程文章的做法当成被证明的规律。它们是经验总结,要在自己的任务上测。

教学构造与出处

在课堂中打开

这个页面有帮助吗?