AI

每天吃透一个 AI 知识点 — 上下文工程

转载:小红书 AI产品赵哥

前言 🔖


各位,咱们之前聊过 “提示词工程”,今天,咱聊一个比 “提示词工程” 更进阶、更底层的 —— 上下文工程(Context Engineering)

你是不是也经常在和 AI 的互动中,感受到了 AI 给你的撕裂感:

  • 金鱼记忆:你上一秒刚告诉它你的偏好,下一秒它就忘得一干二净,让你感觉像在和一个失忆症患者对话。
  • 信息孤岛:它对你的个人情况、你的工作文档、今天的最新新闻一无所知,只能给出一些通用的回答,甚至是正确的废话
  • 角色扮演失败:你让它扮演一个角色,结果聊着聊着,它就出戏了,又变回那个冷冰冰的 AI 助手,让你前功尽弃。

如果你被这些问题搞得崩溃,那么原因很有可能是糟糕的上下文管理。而上下文工程,正是解决这个问题的答案。

好了,准备好了吗?咱们发车了!

  

一、什么是上下文?🔖


我们先来搞清楚,上下文(Context)到底是个啥?

最简单的理解:上下文,就是AI 在回答你当前这个问题时,脑子里装着的所有背景信息的总和。想象一下,你和朋友聊天:

你:"走,看电影去?"
朋友:"好啊,看啥?"
你:"就是那个,最近特火的,好多人讨论的那个科幻片。"
朋友:"哦,《飞驰人生 3》是吧!走起!"

你朋友为什么能猜到是《飞驰人生 3》?因为他的上下文里,包含了 “最近”、“特火”、“好多人讨论”、“科幻片” 这些背景信息。

但如果 AI 是个金鱼脑,对话可能会是这样:

你:"走,看电影去?"
AI:"好的,请问你想看什么电影?"
你:"就是那个,最近特火的科幻片。"
AI:"世界上有很多特火的科幻片,比如《2001 太空漫游》、《银翼杀手》、《星际穿越》。请问你指的是哪一部?"

看出问题了吧?早期的 AI(或者说没经过 “工程设计” 的 AI),它的上下文能力极差。它能理解你每一句独立的话,但无法将这些话串联起来,形成一个连贯的、有记忆的对话场景。

所以,上下文工程的核心,就是通过一系列技术和方法,精心设计、构建和管理 AI 在与你互动时所能 “看到” 的全部信息,从而引导它做出最准、最智能、最个性化的回应。

它不是简单的 “写个好 Prompt”,而是要成为一个场景设计师,为 AI 搭建一个信息舞台。

  

二、上下文工程的核心思想 🔖


我们来玩一个思想实验。想象一下,你是一家大公司的 CEO,今天你要雇佣一位私人助理。这位助理拥有超凡的智商、情商和执行力,但有一个致命缺陷:他每天早上醒来,都会完全失忆,不记得自己是谁,你在哪里,以及昨天发生了什么。

面对这样一个 “天才金鱼脑”,你会怎么做?

你肯定不会每天早上都从 “你好,我是你老板” 开始教。一个聪明的老板,会为他准备一份每日超级备忘录(Daily Super Memo)

每天早上,助理一醒来,第一件事就是阅读这份备忘录。读完之后,他就能立刻进入最佳工作状态。而上下文工程,就是为 AI 精心准备这份超级备忘录。

💡 上下文工程 = 为 AI 精心准备 “超级备忘录” 的艺术和科学

现在,我们来拆解一下这份超级备忘录里,都包含了哪些关键内容。这也就是上下文工程的几大模块。

  

三、解构上下文工程五大模块 🔖


🔹 模块一:岗位说明书 → 系统提示词(System Prompt)

这是备忘录的第一页,也是最重要的一页。它告诉了这位失忆助理:你是谁?你的使命是什么?你的行为准则是什么?

  • 糟糕的上下文:没有这一页。助理只能靠自己猜测身份。
  • 优秀的上下文工程(举个栗子🍫):
  • 岗位说明书:资深投资分析师
    • 你的身份:你是高盛的一名资深投资分析师,拥有 15 年从业经验。
    • 你的风格:你的分析风格是极度数据驱动、逻辑严谨、风险厌恶。你从不使用感性的、模棱两可的词汇。
    • 你的使命:帮助我(你的客户)评估投资机会,并以最清晰、最专业的方式揭示潜在风险。
    • 禁止行为:禁止提供任何财务建议,你的任务只是分析和呈现事实。
  • 这就是系统提示词(System Prompt)的力量。它像 “角色卡片” 一样,为 AI 设定了一个稳定、持久的 “人格” 和 “世界观”。有了它,AI 就不会在对话中途突然出戏,因为它脑子里时刻有一个声音在提醒它:“我是一个高盛分析师”。

  

🔹 模块二:参考资料库 → 检索增强生成(RAG)

光有身份还不够,助理需要具体的知识才能工作。假设你要他分析一家公司的财报,你不能指望他凭空知道点啥。

  • 糟糕的上下文:你直接问:“你觉得 A 公司的财报怎么样?”
  • 优秀的上下文工程(举个栗子🍫):在备忘录的第二部分,你会附上:
    • 参考附件:
      • 附件 A:A 公司过去三年的完整 PDF 财报。
      • 附件 B:关于 A 公司所在行业的最新研究报告。
      • 附件 C:A 公司的主要竞争对手 B 和 C 的公开信息。
  • 然后你再问:“结合这些资料,分析一下 A 公司财报的亮点和风险。”

这就是检索增强生成(Retrieval-Augmented Generation, RAG)的核心思想。我们不依赖 AI 脑子里 “陈旧的”、通用的知识,而是动态地、实时地将最相关、最新的外部知识(比如你的文档、数据库、网页)作为参考资料,喂给 AI。这样,AI 的回答就不是猜的,而是有根有据的。

  

🔹 模块三:工具箱 → 函数调用(Function Calling)

有时候,光有资料也不够,助理需要具备动手的能力。

  • 糟糕的上下文:你对助理说:“帮我查一下明天去上海的机票,然后给我订一个会议室。” 助理只能回答:“对不起,我只是一个语言模型,无法执行这些操作。”
  • 优秀的上下文工程(举个栗子🍫):在备忘录的第三部分,你给了他一个 “工具箱清单”:
    • 可用工具列表:
      • search_flights(destination, date):可以查询机票信息。
      • book_meeting_room(time, duration):可以预定公司会议室。
      • send_email(recipient, subject, body):可以发送邮件。

这就是函数调用(Function Calling)或工具使用(Tool Use)的原理。我们告诉 AI 它有哪些超能力(可以调用的外部工具),以及每个超能力的咒语(如何调用)。当 AI 理解你的意图需要用到这些能力时,它就会自动去使用这些工具。这让 AI 从一个文员升级成了一个能与真实世界互动的执行者(这也是 Agent 的精髓)。

  

🔹 模块四:之前的会议纪要 → 对话历史(Chat History)

为了保持对话的连贯性,助理必须记得你们刚刚聊了什么。

  • 糟糕的上下文:每次对话都是一次全新的开始。
  • 优秀的上下文工程(举个栗子🍫):在备忘录的第四部分,你会附上完整的聊天记录。
近期对话回顾:
- 你(5 分钟前):"我下周要去上海出差。"
- 我(4 分钟前):"好的,已记录。您在上海有特别喜欢的酒店品牌吗?"
- 你(3 分钟前):"我比较喜欢 W 酒店。"
- ……

当 AI 看到这段历史,它就明白你接下来说的 “订酒店”,是特指 “上海的 W 酒店”。对话历史是保持短期记忆、实现多轮顺畅对话的基石。大部分聊天机器人应用,都在后台默默地帮你管理着这个上下文部分。

  

🔹 模块五:当下的核心指令 → 用户提示词(User Prompt)

当助理读完了前面所有的背景信息,他终于准备好接受你当下的任务了。

  • 优秀的上下文工程(举个栗子🍫):你的最后一个指令,简洁而明确。
  • 今日核心任务: “根据我下周的上海出差行程,帮我预订一张最早的、价格不超过 1500 元的机票。”

这就是我们通常说的 Prompt。但现在你明白了,这个 Prompt 之所以能发挥巨大威力,不是因为它本身有多神奇,而是因为它建立在前面四大支柱共同构建的、一个极其丰富和精准的上下文基础之上!

  

四、什么是上下文窗口? 🔖


你可能会想,既然上下文这么重要,那我把所有信息都塞给 AI 不就好了?把整本《资治通鉴》都作为背景资料!

这里就涉及到一个 AI 领域至关重要的概念:上下文窗口(Context Window)

你可以把上下文窗口想象成我们那位超级助理的办公桌大小。这张桌子虽然比普通人大得多,但终究是有限的。他一次能铺在桌面上看的备忘录页数是固定的。这个页数,就是模型的上下文窗口大小,单位通常是 Token(可以粗略理解为一个单词或一个汉字,我们之前讲过 token 的概念,感兴趣可以回看)。比如,GPT-4-Turbo 的上下文窗口是 1M Tokens,意味着它的桌子能同时铺开大约 100 万个汉字的内容。

关键点来了:我们前面提到的五大模块 —— 系统提示词、RAG 资料、工具定义、对话历史、用户提示词 —— 所有这些内容,在提交给 AI 之前,都必须被压成纯文本,然后一起塞进这个有限的上下文窗口里!

这就是为什么它叫 “工程”!

因为我们面对的是一个资源优化问题。我们的任务就像一个图书管理员,必须在有限的桌面空间上,决定:

  • 哪些书(对话历史)必须放?
  • 从这本超厚的参考书(RAG 文档)里,撕下哪几页最关键的放在桌上?
  • 工具说明书(Function Calling)是不是写得太啰嗦了,能不能精简一下?
  • 岗位说明书(System Prompt)是不是可以更言简意赅?

一个优秀的上下文工程师,就是一个高效的桌面空间管理者。他要确保在每一次交互中,AI 的桌面上摆放的,都是对当前任务来说信息密度最高、最关键的内容

  

五、从 0 到 1 构建一个 “私人学习教练 AI” 🔖


理论讲完了,咱们来动手实践一次,看看如何运用 “上下文工程” 思想,打造一个为你所用的 AI 工具。

目标:创建一个 AI,作为你的个人学习教练,帮你规划学习 “Python 编程语言” 的路径。

🔹 第一步:岗位说明书 (System Prompt)

# 角色: AI学习路径规划师 (AI Learning Path Architect)
你是一位顶级的学习科学家和教育心理学专家,专长是为不同背景的学习者设计个性化、高效的学习路径。

## 行为准则
1.  **费曼学习法信奉者**:你深信最好的学习是“以教为学”。你设计的路径会包含大量的实践和输出环节。
2.  **个性化至上**:你会优先分析用户的背景和目标,绝不提供千篇一律的模板。
3.  **循序渐进**:你的路径规划会严格遵循认知规律,从基础到进阶,确保学习曲线平滑。
4.  **提问式引导**:你会通过提问来挖掘用户的深层需求,而不是直接给出答案。

  

🔹 第二步:参考资料库 (RAG)

这里,我们准备一个关于 “我” 的个人背景文件 MyProfile.md

# 我的个人学习档案
*   **姓名**: 小王
*   **当前职业**: 市场营销专员
*   **编程基础**: 零基础,只会用Excel。
*   **编程基础**: 零基础,只会用Excel。
*   **学习目标**: 希望能在3个月内,学会用Python自动化处理一些日常的Excel报表和数据分析工作。
*   **学习风格**: 喜欢动手实践,讨厌长篇大论的理论。
*   **可用时间**: 工作日每晚2小时,周末可投入4小时。

  

🔹 第三步:工具箱 (Function Calling)

我们暂时不需要太复杂的工具,但可以给它一个简单的上网能力。

  • search_web(query):可以搜索最新的 Python 学习资源或教程。

  

🔹 第四步 & 第五步:对话与指令

现在,整个 “上下文” 已经准备就绪。我们可以开始对话了。

你 (第一次交互): (将 MyProfile.md 的内容作为 RAG 资料提交) 你好,我是一位零基础小白,想学习 Python。

AI 的内部运作:

  1. 读取 System Prompt,知道自己是 “学习路径规划师”。
  2. 读取 RAG 资料,了解了小王是零基础、目标是自动化办公、喜欢实践。
  3. 根据 “提问式引导” 的准则,它不会直接给方案,而是会提问:
AI: "你好小王!很高兴能成为你的学习伙伴。你的目标非常明确,这很棒!在为你设计具体的学习路径之前,我能再问一个问题吗?你对 ' 自动化处理 Excel 报表这个目标,有没有一个具体的工作场景作为例子呢?'"

看到这个回答的质量了吗?它已经完全代入了角色,并且利用了你提供的上下文。

你 (第二次交互): "嗯,比如我每周都要把好几个 Excel 表的数据合并到一个总表里,然后做个数据透视表,很繁琐。"

AI 的内部运作:

  1. 将这次的对话加入到 “对话历史” 中。
  2. 现在它的 “上下文窗口” 里,同时有:[岗位说明书] + [你的个人档案] + [第一次对话] + [第二次对话]。
  3. 它理解了你的具体痛点。
AI: 完全理解!这是一个非常经典的、Python 可以大显身手的场景。基于你的情况,我为你设计了一个为期 3 个月的学习路径,它将完全围绕 '用 Python 赋能你的营销工作' 这个核心展开。请看:

第一阶段:基础语法与环境搭建 (第 1-3 周)
- 核心目标:掌握 Python 最基础的变量、循环、函数,并成功在你的电脑上运行起代码。
- 实践项目:"Hello, Marketing World!" - 编写一个能自动整理你桌面文件夹的小脚本。

第二阶段:王者归来 - Pandas 库入门 (第 4-8 周)
- 核心目标:专门学习用于处理表格数据的 Pandas 库。这就是解决你 Excel 问题的 “神兵利器”。
- 实践项目:“终结重复劳动” - 编写一个脚本,自动完成你提到的 “合并多个 Excel 表” 的任务。
- …(后续阶段)

这个学习计划,不是一个通用计划,而是一个专属于小王的计划。它之所以如此贴心,正是 “上下文工程” 在背后起了作用。

  

六、从提示词工程到上下文工程 🔖


请记住,单纯的 Prompt 只是冰山一角,冰山的水面下,是庞大的上下文(Context)

  • 上下文是 AI 的 “临时记忆” 和 “工作台”。
  • 上下文工程就是管理这个工作台的艺术,它包括五大支柱:系统提示词、RAG、工具调用、对话历史和用户提示词
  • 上下文窗口是有限的资源,决定了我们必须精打细算,优化每一份放入备忘录的信息。