标准回答
一句话定义
上下文工程(Context Engineering)指的是:在模型每一次推理之前,系统性地决定、组装并管理送入上下文窗口的全部信息。它把焦点从「如何写好一句 Prompt」抬升到「如何为模型在每一步动态构建最合适的上下文」。
它包含哪些内容
- 系统指令:角色、任务边界、行为准则与安全约束。
- 检索到的知识:通过 RAG 召回并经过排序、去重、压缩后的相关片段。
- 工具与其结果:可用工具的定义,以及上一步工具调用返回的观测结果。
- 记忆:会话短期记忆与跨会话长期记忆(用户偏好、历史结论)。
- 示例与格式约束:Few-shot 范例、输出 Schema(如 JSON)与分隔结构。
与 Prompt 工程的区别
Prompt 工程关注「单条提示词怎么写得清晰」;上下文工程更全局、更动态:它要在有限的 Token 预算下,决定放什么、放多少、怎么排序,并随 Agent 的每一步循环不断重组上下文。可以理解为:Prompt 工程是写好一段话,上下文工程是设计「每一步往窗口里塞什么」的整套机制。
为什么是 2026 最重要的技能
常见误区
⚠️ 常见踩坑
误区一:以为「上下文越多越好」,把所有能塞的都塞进窗口——这会稀释关键信息、抬高成本,还会触发「中间遗忘」(Lost in the Middle)。误区二:把上下文工程等同于「换个更长的上下文窗口」,但长窗口不等于会用窗口,关键仍是召回质量与排序压缩。误区三:把它简单看成 Prompt 工程的改名,忽略了它对工具结果、记忆与 Token 预算的动态管理。
追问
追问 1:上下文工程和 RAG 是什么关系?
RAG(检索增强生成)是上下文工程的一个重要子环节,负责「从外部知识库召回相关内容并放进上下文」。上下文工程则是更上层的统筹:除了管 RAG 召回的知识,还要管系统指令、工具结果、记忆、示例与格式,并在 Token 预算内对它们统一做取舍、排序与压缩。可以说 RAG 解决「找到知识」,上下文工程解决「在每一步把哪些知识、以什么形式、连同其它信息一起喂给模型」。
追问 2:在 Token 预算有限时,如何决定上下文的取舍?
常见做法:一是按相关性排序,只保留召回得分高的片段,并把最关键内容放在开头或结尾以规避中间遗忘;二是做压缩,对长文档或历史对话做摘要、抽取要点而非全量塞入;三是分层记忆,短期保留近几轮原文、长期只存提炼后的结论;四是工具结果裁剪,只回传对下一步决策有用的字段。核心原则是「相关优先、精简优先」,在准确率、成本与延迟之间取平衡。
追问 3:什么是「上下文腐烂」(Context Rot)?如何缓解?
上下文腐烂指在 Agent 多步循环中,上下文里逐渐积累了过时、重复或不相关的信息(如旧的工具输出、失败的尝试),不断污染后续推理,导致质量随步数下降。缓解手段包括:定期对历史做摘要压缩、剔除已失效的中间结果、为不同子任务隔离上下文(子 Agent / 分段处理)、以及把稳定信息外置到记忆或文件而非长期留在窗口里。
🔗 相似问题
同一考点的不同问法,面试官可能换着问,一起刷更稳
没找到想看的面试题?把你想看的告诉我们 →
延伸学习
按主题分类的相关资源,便于系统复习