Skip to content
All notes

上下文工程

梳理 Prompt、记忆和 RAG 的分工,以及收集、筛选、组织和压缩上下文的流程。

上下文工程

上下文工程是在每次模型调用前,收集、筛选、组织和压缩任务所需的信息。它处理的不只是用户输入,还包括规则、历史状态、记忆、检索结果和工具返回。

模型能力决定了系统能处理什么;这一轮实际提供的上下文,则影响模型能依据哪些信息作判断。输入越长,不代表关键事实越容易被利用。

Prompt、Memory、RAG 的分工

概念主要负责什么
Prompt Engineering描述任务、约束和预期输出
Memory保存和更新跨步骤或跨会话的信息
RAG检索外部知识,为生成提供材料
Context Engineering把指令、记忆、检索和当前状态组织成这一轮输入

GSSC 流程

Hello-Agents 用 GSSC 描述上下文构建:Gather → Select → Structure → Compress。

阶段做什么要点
Gather:收集汇集用户问题、历史、规则、检索和工具结果先形成候选材料集合
Select:筛选按任务相关性、时效性和重要性选择材料保留关键约束,排除无关信息
Structure:组织区分规则、任务、状态、证据和输出要求明确每段信息的作用
Compress:压缩对超出预算的内容摘要、去重、提取关键事实预留指令和输出预算,检查信息是否失真

为什么需要结构

同一组要求,明确分工后更容易执行。例如:

任务:分析作者观点
证据:第二段和结尾部分
要求:重点解释观点,不复述原文
长度:300 字

这里没有增加信息,只是分清了任务、证据和约束。在长任务中,还要区分 State(做到哪里) 和 Evidence(判断依据是什么),避免把推测当成已确认状态。

课程中的实现组件

Hello-Agents 第九章用三个组件配合处理长任务:

  • ContextBuilder:按 GSSC 组织当前输入。
  • NoteTool:持久化任务状态和关键中间结论。
  • TerminalTool:读取文件、操作环境,按需查找材料。

持久化内容不必全部放回上下文。调用前先看任务需要,再取出相关状态和证据。

例子:总结论文的方法创新

用户要求“总结这篇论文的方法创新点”时,可以这样组织:

  1. 收集摘要、方法、关键实验及已有阅读笔记。
  2. 筛出方法创新和与 baseline 的差异,去掉无关历史及参考材料。
  3. 分开列出任务、证据和输出要求,例如“三点、通俗解释”。
  4. 材料过长时压缩方法描述,保留支撑结论的关键细节和出处。

怎么评估

用同一批任务比较答案正确性、结果稳定性、token 与延迟,以及任务中断后能否依据状态继续。排查时先检查模型这一轮实际看到了什么,是否缺少事实、混入噪声或丢失了已确认约束。

参考