新瓶装旧酒?上下文工程:语言交互的演进与本质回归
2025-08-12

“上下文工程”(Context Engineering)从硅谷火到国内,正成为AI领域的新热词,各类文章与概念层出不穷。然而,对于从 GPT-3.5开始就长期构建 AI 应用的从业者来说,这些所谓的新概念,很多时候不过是“新瓶装旧酒”——在理论上重新包装了实践中早已存在的方法与经验,这并非什么颠覆性的革新,而是对根本问题的再次确认,是对“完整信息”价值的永恒回归。

1

 概念喧嚣下的本质共识

提示词(Prompt):原始的输入文本,如“详细总结这个网页内容”。从 GPT 的初期应用起,这种人类对模型的直接表达方式就已经成为与 AI 互动的核心机制。但一句话能否触发模型“想得深”“答得准”,很大程度上依赖于输入的设计方式。

提示词工程:并不单纯优化句子本身的语言措辞,而是围绕如何设计出更符合任务目标、模型理解能力和上下文结构的“交互指令”,涵盖系统化设计、测试、优化提示词的过程。本质是在语言的层面上,为模型创造“理想的语境”,使得模型不仅听懂“你说了什么”,还理解“你想要什么”。这一过程逐渐被工程化、系统化,用类似软件开发的方式不断迭代测试,并演变出一套完整的提示词生成与评估机制。然而,即便提示词设计再巧妙,一旦涉及复杂任务,就可能不够用了,问这便引出另一个更深层的系统性问题:上下文如何组织、选取与输入?

上下文工程:为模型精准构建、动态提供其所需一切相关信息(系统提示、对话历史、工具结果、长期记忆等)的科学与艺术。目标是在有限的上下文窗口中,把最关键的信息交给模型,主要包括:系统提示(system prompt)、当前用户输入、过往聊天历史、模型长期记忆、外部数据源(数据库、文件、API)、工具返回结果(如搜索、代码解析)。上下文工程的关键挑战在于:1)信息筛选与压缩:窗口有限,不能全丢进去;2)信息组织与排序:信息乱序会误导模型。3)动态构建:不同任务触发不同工具,收集不同信息。3)历史管理:用户的历史对话和偏好必须被追踪和理解。

在大模型应用从业者看来,“上下文工程”并非新的范式,早在GPT-3.5时代,开发者们已在奋力解决相同问题——“如何在模型可理解范围内,获取更完整的上下文,并将其有效拼接到提示词中”。那些煞费苦心的对话历史管理、工具调用数据组装,本质上就是在进行“上下文工程”。而新名词的价值,在于它终于将信息完整性的重要性推至前台,取代了过度聚焦于“魔法措辞”的提示词调试迷思。大模型在拥有充足且结构清晰的完整上下文时,表现远优于依赖“精心设计但信息匮乏”的提示词。

2

完整上下文是无法回避的性能基石

Cline的博客文章《为什么Cline不索引你的代码库,这为什么会是一件好事》

Why Cline Doesn‘t Index Your Codebase (And Why That’s a Good Thing)

https://cline.bot/blog/why-cline-doesnt-index-your-codebase-and-why-thats-a-good-thing

分析了 RAG 处理代码存在的诸多问题,如代码逻辑被拆分、索引随代码更新而失效、增加安全风险等,所反映的恰好是大模型理解问题的本质:当检索的目标信息具有内在逻辑与完整性时,你需要让大模型看到完整的上下文,因此,不管采用何种提示词策略,最终目标都是为模型填充其所需的关键信息窗。一方面,追求完整语义上下文的策略,是通往最佳效果的路径;另一方面,成本与大模型可理解空间考量(如向量检索降Token)又是现实制约条件。上下文工程是“巧妙组合一切所需成分”的科学与艺术,配料不足或错配,终将导致模型表现打折。

3

大模型局限性催生的工程艺术

归根结底,驱动“上下文工程”概念兴起的根本原因,是LLM的上下文窗口限制。若窗口无限,一切工程皆可免——尽数灌入即可。正是有限的“视野”,迫使我们不断锤炼这一技艺:在有限的Tokens内,如何筛选、组织、压缩、动态填充最相关、最完整、最有序的信息?这包含了:

  • 信息优先级判断:何为当前任务的关键?

  • 信息完整性维护:如何在分块/压缩中最大保留语义?(如摘要、结构保留)

  • 信息动态组合:如何实时整合外部数据源(API/RAG)与内部状态(历史/记忆)?

  • 信息交互:洞悉大模型与人脑对信息处理的微妙差异。

4

结论:本质大于标签

“上下文工程”作为术语或许是新的,但它所指向的核心追求——为LLMs在有限窗口内精准投喂使其高效工作所必需的完整信息——却是AI应用开发第一天起就存在的核心挑战。站在开发者角度,不管“术语”,只谈“原则”,为模型准备好能答题的材料和环境:

  1.  完整至上:尽可能提供给LLM完整、连贯、逻辑清晰的上下文信息(代码库、文档、对话流),撕裂逻辑的RAG需谨慎使用,并辅以摘要、结构保留等补救措施。

  2. 历史为王:对话历史是理解用户意图的金钥匙,必须作为核心上下文组件精心设计与维护。

  3. 动态构建:信息的填充不是静态堆砌,而是根据任务、交互状态(如Agent)即时组合与调整的动态过程(提供“恰到好处的信息”)。

  4.  成本与效果的平衡术:在成本限制下(Token限制、RAG开销),寻求信息完整性与模型性能的最优解。