引言:从精心设计提示词到构建智能架构的转变
当世界还在津津乐道并努力掌握2023年兴起的“提示词工程”(Prompt Engineering)时,人工智能(AI)发展的最前沿已经悄然转向。如今,最先进的AI系统不再仅仅由单个提示词的巧妙程度来定义,而是取决于围绕它们构建的信息生态系统的复杂性与完备性。这便是“上下文工程”(Context Engineering)的领域。
这一概念的兴起,标志着AI行业从实验性工具向生产级系统的根本性转变。正如AI领域的思想领袖Andrej Karpathy所精辟指出的:“上下文工程是一门精巧的艺术与科学,旨在为下一步的推理,用恰到好处的信息填充上下文窗口”。这一定义揭示了一个核心转变:AI开发的价值重心和工程挑战已发生转移。
这种转变是该领域走向成熟的必然结果。随着大型语言模型(LLM)本身作为“推理引擎”(如同计算机的CPU)变得日益强大和商品化,开发者面临的主要瓶颈不再是模型本身,而是如何有效管理模型的“工作记忆”(如同计算机的RAM)——即上下文窗口。我们正在从关注单个提示词的“奇技淫巧”,迈向系统级的架构设计。
本文将深入探讨上下文工程这一新兴学科。我们将首先明确其定义,并将其与提示词工程进行对比;随后,我们将提供一份详尽的实践指南,剖析其核心技术与工作流程;最后,通过真实世界的案例来展示其应用价值,并展望其未来发展趋势。
第一节:什么是上下文工程?定义新学科
上下文工程是一门旨在设计和构建动态系统的学科,其核心目标是为大型语言模型在恰当的时间、以恰当的格式,提供恰当的信息、工具和历史记录,从而使其能够可靠、一致地完成任务。它关注的不是单次交互,而是管理AI智能体(Agent)运行于其中的完整信息环境。
核心类比:提问者与图书馆员
为了更清晰地理解这一概念,我们可以借助一个生动的类比:
- 提示词工程就像学习如何向一位智慧的学者提出一个绝妙的问题。
- 上下文工程则像是成为一名专业的图书馆员。这位图书馆员不仅负责管理整座图书馆,还清楚地知道在回答特定问题前,应该从海量藏书中挑选出哪些书籍,并将它们翻到最关键的页面,呈现在学者面前。
这个类比有力地揭示了两者在范围和职责上的根本差异。提示词工程聚焦于“提问”这一行为本身,而上下文工程则负责构建和管理提问发生前的整个知识背景。
上下文工程的核心原则
上下文工程的实践建立在三大核心原则之上:
- 系统性,而非单一性 :它关注的是设计一个完整的信息流水线,而不仅仅是构造一个静态的文本字符串。提供给模型的上下文,本身是一个在主LLM调用之前运行的系统的 输出 。
- 动态与演化性 :与固定的提示词不同,上下文是即时组装的,并随着对话或任务的进展而不断演变。系统必须能够在运行时获取、更新和优先排序信息,以适应不断变化的需求。
- 整体覆盖性 :其目标是提供“模型可能需要的一切信息的总和”。这包括用户的即时查询、系统级的指令、完整的对话历史、通过检索增强生成(RAG)系统获取的数据、工具调用的结果以及智能体的记忆。从这个角度看,整个输入包(input package)本身就是需要被精心“工程化”的广义“提示词”。
第二节:提示词工程 vs. 上下文工程:一场思维的演进
需要明确的是,上下文工程并非要取代提示词工程,而是后者的超集。提示词工程是上下文工程这台庞大机器中一个至关重要的 组成部分 。一个精心设计的提示词,如果被淹没在长达6000个词元(token)的无关聊天记录中,其价值将荡然无存。
演员与电影场景的类比
另一个生动的类比可以帮助我们理解二者的关系:提示词工程就像是为一位天才演员写下一句精彩绝伦的台词。而上下文工程则是构建整个电影布景、编写完整剧本、提供角色背景故事,并指导整个场景的拍摄,从而使这句台词能够发挥出最大的冲击力。在电影《黑客帝国》中,当尼奥(Neo)被瞬间植入功夫技能时,那个“功夫文件”就是上下文工程的产物,它为尼奥创造了一个完整的知识环境,使他能够自信地说出“我会功夫了”。
详细对比分析
下表从多个维度详细对比了提示词工程与上下文工程的差异,为AI从业者提供了一个清晰的参照框架。
表1:提示词工程 vs. 上下文工程:多维度对比分析
特征 | 提示词工程 | 上下文工程 |
---|---|---|
主要目标 | 针对单个查询,引出特定、高质量的响应。 | 构建一个在多种任务和会话中都能持续可靠、表现出色的AI系统。 |
范围 | 单次的输入-输出交互;“某个瞬间”的行为。 | 整个信息流和智能体生命周期:记忆、工具、历史记录、检索数据等。 |
类比 | 为演员写一句台词。 | 构建整个电影布景、剧本和背景故事;《黑客帝国》中的“功夫文件”。 |
方法论 | 创造性的文字打磨、指令清晰化、少样本示例(few-shot examples)、“凭感觉编码”(vibe coding)。 | 系统设计、信息架构、数据检索流水线、状态管理、工作流编排。 |
工具 | 文本编辑器、LLM游乐场(如ChatGPT界面)。 | RAG流水线、向量数据库、记忆模块、API编排框架(如LangChain)、LLM操作系统。 |
可扩展性 | 脆弱;面对新的边缘案例需手动调整,难以随复杂性扩展。 | 从设计之初就为规模化、一致性和鲁棒性而构建。 |
调试 | 重写提示词,猜测问题所在。 | 检查完整的上下文窗口、数据检索日志、工具调用轨迹和智能体状态。 |
思维模式 | 创意写作 / 文案优化。 | 软件架构 / 系统设计。 |
这张表格清晰地揭示了从提示词工程到上下文工程的概念飞跃和实践转变。它不仅仅是术语的更新,更代表了一种从关注“如何提问”到关注“模型在回答时知道什么”的根本性思维模式转变。
第三节:实践者指南:如何实施上下文工程
本节是本文的技术核心,旨在为AI实践者提供一份可操作的指南,详细拆解上下文工程的实施方法。
A部分:基础——掌握检索增强生成(RAG)
检索增强生成(Retrieval-Augmented Generation, RAG)是上下文工程的基石。它是一种架构方法,通过将LLM的生成能力与外部权威知识库相连接,从根本上解决了模型知识陈旧和产生“幻觉”(hallucination)两大痛点。
RAG的工作流程
一个典型的RAG系统包含以下三个核心步骤:
- 数据注入与嵌入(Ingest & Embed) :首先,系统处理源文档(如PDF、网页、数据库记录),将其分割成较小的数据块(chunks)。然后,使用嵌入模型(embedding model)将这些文本块转换为高维向量,并存储在专门的向量数据库中。
- 检索(Retrieve) :当用户提出查询时,系统同样将查询语句转换为一个向量。随后,在向量数据库中进行搜索,找出与查询向量在语义上最相似的文本块向量。
- 增强与生成(Augment & Generate) :最后,系统将检索到的文本块作为附加上下文,与用户的原始查询一同打包,发送给LLM。LLM基于这些“接地气”的实时信息来生成一个更加准确、可靠的回答。
上下文窗口的悖论
RAG的兴起也恰好解决了“上下文窗口悖论”。近年来,LLM的上下文窗口从几千词元扩展到百万级别,这看似使得复杂的检索技术变得多余。然而,实践表明,超长上下文窗口极易受到噪声干扰,出现“上下文中毒”(context poisoning)或“上下文分心”(context distraction)等问题,导致模型性能下降,同时还伴随着高昂的计算成本和延迟。因此,RAG并非被淘汰,而是变得更加重要。它扮演着一个智能过滤器的角色,确保只有最相关、最高价值的信息被放入模型宝贵而有限的“工作记忆”中。
先进的RAG技术
为了构建生产级的RAG系统,开发者需要掌握一系列先进技术来应对挑战:
- 解决“上下文困境”(Context Conundrum) :传统RAG的一个主要问题是,被分割的文本块常常会失去其原始上下文。例如,一个文本块可能包含“公司收入同比增长3%”,但却缺失了是哪家公司以及哪个季度的数据 ^1^。
- 上下文检索(Contextual Retrieval) :为了解决上述问题,Anthropic公司提出了一种名为“上下文检索”的创新方法。该方法在对文本块进行嵌入 之前 ,先利用一个LLM为每个文本块生成一段简明的上下文摘要。例如,将上述文本块扩充为:“本段内容摘自ACME公司2023年第二季度的SEC文件;上一季度收入为3.14亿美元。公司收入同比增长3%。” 实验证明,这种方法极大地提升了检索精度,与重排(reranking)技术结合使用时,可将检索失败率降低高达67% ^1^。
- 混合搜索与重排(Hybrid Search & Re-ranking) :单纯的向量搜索(语义搜索)有时会忽略关键词的精确匹配。因此,最佳实践是将向量搜索与传统的关键词搜索(如BM25算法)相结合,形成“混合搜索”。在检索到初步结果后,再通过一个“重排器”(re-ranker)模型对结果进行二次排序,进一步优化送入LLM的上下文质量。
B部分:构建有状态系统——LLM即操作系统
随着AI智能体(Agent)变得越来越复杂,我们需要一种新的方式来思考和管理其状态。这催生了“LLM操作系统”(LLM OS)的概念,它将LLM类比为CPU,将上下文窗口类比为RAM。在这个模型中,上下文工程的核心任务就是管理这块宝贵的“内存”资源。
上下文窗口的剖析
一个现代化的智能体上下文窗口可以被划分为两个逻辑层次,类似于传统操作系统的“内核空间”和“用户空间” ^2^:
- 内核上下文(Kernel Context) :这是智能体的持久化配置和受管理的状态。它包括:
- 系统提示词(System Prompt) :定义智能体的高层行为、角色和规则。
- 工具定义(Tool Definitions) :描述智能体可以使用的所有工具及其API。
- 记忆块(Memory Blocks) :用于长期记忆或工作草稿的持久化数据单元。
- 文件与工件(Files & Artifacts):智能体可以访问和操作的外部文件,如PDF或代码。
内核上下文对LLM可见,但只能通过受控的“系统调用”(即工具调用)来修改。
- 用户上下文(User Context) :这部分也被称为“消息缓冲区”(Message Buffer),是交互发生的地方。它包含:
- 用户消息(User Messages) :用户的直接输入。
- 助手消息(Assistant Messages) :智能体的响应。
- 工具调用与响应(Tool Calls and Responses) :智能体调用工具的记录及其返回结果的日志。
关键管理技术
为了有效管理这个复杂的上下文结构,开发者需要运用以下关键技术:
- 工具调用(Tool Calling) :这是智能体与外部世界互动并修改自身内核上下文的主要机制。例如,智能体可以通过调用一个
memory_write
工具来更新其长期记忆。 - 记忆管理(Memory Management) :必须区分两种记忆。短期记忆通常指当前对话的历史记录,存在于消息缓冲区中。长期记忆则是跨会话持久化的知识,存储在专门的记忆块或外部数据库中,通过工具进行读写。
- 草稿板(Scratchpads) :这是一种简单而强大的技术。智能体可以在执行复杂任务时,将中间的思考过程、计算结果或计划“写”到一个临时的文件或状态对象中。之后,它可以随时“读”取这些信息,这有助于分解复杂问题,避免关键信息在长对话中丢失,同时保持主上下文窗口的整洁。
C部分:编排——设计可靠的智能体工作流
智能体工作流的设计,本质上是RAG原理在更复杂、更迭代引发的场景下的高级应用。智能体的每一步行动,都涉及到检索新的信息(来自工具、记忆或用户)来构建下一步行动的上下文。
可靠智能体的设计原则
要构建能够稳定运行的智能体,需要遵循以下设计原则:
- 共享完整的上下文轨迹 :在涉及多步骤或多个子智能体的系统中,必须确保所有组件都能访问到总体的目标和相关的历史记录。孤立的上下文会导致行动碎片化和结果不一致。
- 优先选择线性工作流,而非脆弱的并行处理 :将复杂任务分解给多个并行的子智能体处理,听起来很高效,但实践中往往非常脆弱。任何一个子智能体的错误都可能在没有协调机制的情况下迅速蔓延,导致整个任务失败。相比之下,拥有连续上下文的、状态化的线性工作流通常更加鲁棒。
- 为自我修正而设计 :一个精心设计的上下文环境,能让智能体回顾其过去的行为和结果。当它发现偏离预定计划时,可以进行自我修正。没有连贯且可访问的历史记录,自我修正是无法实现的。
- 隔离、压缩与选择 :在长时程运行的智能体中,管理上下文窗口至关重要。关键策略包括: 隔离 (将不同类型的信息存储在状态对象的不同字段中)、 压缩 (将冗长的聊天历史或工具输出总结为摘要)和 选择 (在每一步中,只向LLM提供与当前任务最相关的记忆或工具定义)。
第四节:上下文工程在行动:真实世界案例研究
理论的价值最终体现在实践中。以下案例生动地展示了上下文工程如何将AI从有趣的玩具转变为能创造巨大商业价值的生产力工具。
基础示例:从“廉价演示”到“神奇产品”
这个例子完美地诠释了上下文工程的价值所在 ^3^。
- 场景 :一位用户发送邮件,希望与AI助手安排一次会议:“嗨,想问下你明天有空开个短会吗?”
- 廉价演示(无上下文) :
- AI助手只看到这句孤立的请求。
- 它的回应是:“当然,您希望约在什么时间?”——这个回答毫无帮助,将问题又抛回给了用户。
- 神奇智能体(富上下文) :
- 在调用LLM 之前 ,系统首先执行一个上下文收集流程:
- 检索日历 :发现自己的日程表明天已排满。
- 检索邮件历史 :分析与发件人的过往邮件,确定应使用非正式但专业的语气。
- 检索联系人信息 :识别出发件人是一位重要的合作伙伴。
- 加载可用工具 :确认自己拥有
send_invite
(发送会议邀请)等工具。
- 构建上下文丰富的提示词 :最终,LLM收到的内部提示词可能如下:“用户是Jim,一位重要合作伙伴。我的日历明天已满,但周四上午有空。请以非正式但专业的语气回复。你可以使用
send_invite
工具。” - 最终输出 :“嗨Jim!我这边明天日程排满了。周四上午可以吗?如果可以的话,我发个邀请给你。”——这个回答不仅解决了问题,还主动推进了下一步,展现了真正的智能。
- 在调用LLM 之前 ,系统首先执行一个上下文收集流程:
企业级案例:金融服务与保险
在金融和保险这类高风险、高价值的行业,上下文工程是实现AI落地的关键。
- 应用场景 :金融顾问或保险理赔员使用AI助手进行日常工作。
- 上下文工程实践 :系统与企业内部的多个数据源深度集成,包括:用于获取客户历史的CRM系统、用于查询市场数据或保单详情的数据库,以及用于查阅合规文件的文档库。
- 商业影响 :
- 一家财富管理公司利用RAG系统实时访问市场数据、客户风险偏好和新闻资讯,为客户生成个性化的投资组合建议。
- 保险科技公司Five Sigma通过让其AI系统实时访问保单数据和理赔历史,实现了 理赔错误率降低80% ,理赔员工作效率提升25%的惊人成果。
客户支持转型:RAG驱动的聊天机器人
客户支持是上下文工程应用最广泛、效果最显著的领域之一。
- 应用场景 :电信或电商公司使用自动化聊天机器人处理客户咨询。
- 上下文工程实践 :RAG系统连接到公司的内部知识库,包括产品手册、常见问题解答(FAQ)、政策文件和故障排除指南。同时,机器人还可以通过API工具调用,实时查询客户的订单历史记录。
- 商业影响 :
- 这种方法将机器人的回答牢牢地“锚定”在事实之上,有效杜绝了信息幻觉。
- 电信巨头沃达丰(Vodafone)在部署其AI聊天机器人后, 单次聊天成本降低了70% 。
- 其他案例也报告了类似的成功,例如 基础支持工单数量减少78% ,客户平均响应时间从数小时缩短至几秒钟。
第五节:穿越迷宫:常见挑战与解决方案
构建强大的上下文工程系统并非易事。在从理论走向实践的过程中,开发者会遇到一系列棘手的挑战。本节旨在提供一个实用的故障排除指南。
下表总结了在实施RAG和上下文工程时最常见的挑战及其应对策略。
表2:常见的RAG与上下文工程挑战及缓解策略
挑战 | 描述 | 解决方案 | 来源 |
---|---|---|---|
检索质量差(“检索迷失”) | 系统检索到不相关、不完整或充满噪声的文本块,这些“有毒”的上下文污染了LLM的推理环境。 | 实施 混合搜索 (向量+关键词)。使用重排器对检索结果进行二次评分和排序。采用上下文检索技术,在嵌入前丰富文本块信息。 | S18, S36, S39, S41 |
分块困境(“分割迷失”) | 粗糙的分块策略会切断连贯的语义,破坏理解所需的上下文。 | 使用 结构感知分块 (按标题、段落分块)。采用语义分块模型。使用重叠分块来保持信息的连续性。 | S18, S32, S41 |
多文档矛盾(“综合迷失”) | LLM接收到多个包含冲突或细微差异信息的检索文档,导致模型困惑或产生幻觉。 | 使用 预摘要流水线 ,在送入主LLM前先对检索到的信息进行综合。采用如Fusion-in-Decoder (FiD)等更先进的架构。 | S41, S42 |
延迟与成本超支 | 多步骤的RAG和智能体流水线可能因多次模型调用和数据处理而变得缓慢且昂贵。 | 在每个环节(嵌入、LLM调用)实施 智能缓存 。对中间任务(如摘要或重排)使用 更小、更快的模型 。对数据流水线进行性能分析和优化。 | S10, S41, S42 |
顽固的幻觉 | 即使有RAG,LLM仍可能曲解提供的上下文,或“创造性地”填补信息空白,捏造事实。 | 使用强力的 接地气提示词 (如“请仅根据提供的资料回答,并引用来源”)。实施生成后事实核查步骤,让第二个LLM调用来验证第一个回答与源文档的一致性。 | S15, S40, S41 |
知识陈旧 | 知识库本身变得过时,导致系统检索到正确但不再有效的信息。 | 构建 自动化的数据注入流水线 ,持续监控并从源系统更新向量数据库。使用文档级的时间戳和新鲜度过滤器。 | S16, S25, S41 |
结论:未来是上下文的
上下文工程代表了AI应用开发的成熟。它标志着我们的焦点从模型本身,转向了围绕模型构建的智能信息系统。对于希望构建生产级AI应用的企业和开发者而言,掌握这门学科已不再是可选项,而是一项基本要求和核心竞争优势。
展望未来:上下文的新前沿
上下文工程的发展远未结束,以下几个方向预示着其激动人心的未来:
- 多模态RAG(Multimodal RAG) :将图像、音频和视频集成到上下文中是合乎逻辑的下一步。未来的系统将能够从PDF中检索一张图表,从视频中截取一个关键帧,或从音频文件中找到一段相关剪辑,从而提供真正全面的上下文。这涉及到将非文本信息“文本化”(text-grounding)以及使用CLIP等多模态嵌入模型等技术。
- 知识图谱(Knowledge Graphs) :这是超越非结构化文本块的演进。像微软的GraphRAG这样的系统,能够从数据中构建知识图谱,使AI能够对实体及其关系进行全局推理,而不仅仅是检索语义上相似但彼此孤立的信息片段。
- 自动化上下文工程(Automated Context Engineering) :最终目标是让AI系统学会管理自己的上下文。这涉及到元学习(meta-learning),即智能体根据任务的成功与否,自主优化其检索和压缩策略,从而减少人工工程的负担。
总而言之,AI领域最有价值的技能,已不再是那些神秘的提示词技巧,而是理解如何构建能够适时、适式地获取适量信息的智能系统。在这个AI时代,上下文不仅是王道——它本身就是整个王国。
原创文章,作者:曾确令,如若转载,请注明出处:https://www.zengqueling.com/cytscsrjdaxqysxwgc/