上下文
Context
Agent 当前能够访问到的相关信息。这是一个抽象名词——不是模型看到的原始输入(那是上下文窗口),也不是运行中的历史(那是 Session),而是 Agent 掌握的、与任务相关的内容。“把某物加载进上下文”意思是让它成为这个集合的一部分;“上下文工程”则是整理这个集合的学问。
这三个术语区分得很清楚:
| 术语 | 含义 |
|---|---|
| 上下文(上下文) | Agent 当前拥有的、与任务相关的信息 |
| 上下文窗口(上下文窗口) | 每次请求中模型实际看到的 Token 序列 |
| Session | Harness 保存的运行中的对话 |
这种区分很重要,因为上下文是质量的衡量,而不是数量。上下文窗口可能几乎满了,上下文质量却很差——几千 Token 过时的工具输出,没有一条和当前任务相关。它也可能几乎为空,上下文却很优秀:只包含任务真正依赖的那个类型定义。
大多数日常失败都可以追溯到上下文问题。当 Agent 凭空造 API、与某个决策矛盾、或者猜测 schema 时,首先要问的是它当时看到了什么上下文——通常相关事实根本没被加载,或者被注意力衰减埋没了。解决办法是策展:加载任务需要的,排除任务不需要的。
用法:
“它总在类型里没有的字段上瞎编。”
“类型文件不在上下文里——它只是在读调用点然后猜测。先把类型定义读进去。”