上下文工程(Context Engineering)
上下文工程(Context Engineering) 是为模型的一次或多次调用,选择、组织和维护任务需要的信息。它包括指令、对话状态、检索资料、工具说明与工具结果,不只是调整一句提示词。Anthropic 的工程文章将其重点放在有限上下文中的信息选择。
与相邻概念的关系
| 概念 | 主要解决什么 |
|---|---|
| 提示词工程 | 怎样表达任务与输出要求 |
| RAG | 怎样找到外部资料 |
| Agent 记忆 | 哪些状态跨步骤或会话保存 |
| 上下文工程 | 当前调用应看到哪些信息、如何组织和更新 |
不是把资料全部塞进去
Lost in the Middle发现,被测试模型使用长上下文的效果会受信息位置影响。更大的窗口也不能自动保证资料有效。
工程建议:先建立任务状态
一个资料审查任务可维护四项:用户目标、已确认事实与出处、尚未解决的问题、下一步需要读取的材料。每次调用优先携带这些信息,再按需读取原文。
删除重复工具输出时,保留对应来源与查阅方式;压缩历史时,保留限制条件、未完成事项和关键决定。不要把推测改写成已确认事实。外部资料标注为数据,避免被当成更高权限指令。
如何验证
准备跨多轮的任务,检查约束是否遗失、引用是否可追溯、检索材料是否过期,并比较完成率、token 使用和耗时。压缩前后都应测试,不只检查摘要是否通顺。