3.1.2 Context is King:上下文为王
经过本节学习,你将掌握
- 什么是「上下文」:背景信息、约束条件、期望结果
- 三层上下文模型:项目上下文、任务上下文、个人上下文
- 上下文窗口的概念:AI 能「记住」多少内容
- 同一需求,有无上下文的输出差异(真实案例对比)
一个公式
先记住这个公式:
AI 输出的质量 = 你提供的上下文质量 × AI 的能力
AI 的能力是固定的(由模型决定),你能控制的只有上下文质量。
这就是为什么同样一句话,不同人问 AI 会得到完全不同的结果——差异不在于「怎么问」,而在于「问之前告诉了 AI 什么」。
什么是上下文
「上下文」听起来有点抽象,让我们拆解一下。
上下文包含三类信息:
| 类型 | 说明 | 例子 |
|---|---|---|
| 背景信息 | AI 需要知道的前提条件 | 我在做一个待办清单应用,用 React 开发 |
| 约束条件 | AI 需要遵守的限制 | 代码要简洁,不要用外部库 |
| 期望结果 | 你想要什么样的输出 | 给我一个可以直接复制使用的代码片段 |
缺少任何一类,AI 的输出都可能偏离你的期望。
三层上下文模型
为了更系统地思考「该告诉 AI 什么」,我们把上下文分为三个层次:
┌─────────────────────────────────────┐
│ 项目上下文 │
│ 你在做什么项目?用什么技术? │
├─────────────────────────────────────┤
│ 任务上下文 │
│ 当前要解决什么具体问题? │
├─────────────────────────────────────┤
│ 个人上下文 │
│ 你的技术水平?你的偏好风格? │
└─────────────────────────────────────┘第一层:项目上下文
项目上下文回答的问题是:你在做什么?
包含的信息:
- 项目类型(网页应用、数据分析脚本、自动化工具等)
- 技术栈(如果涉及代码)
- 项目背景和目标
- 目标用户是谁(第二章的用户画像派上用场了)
- 已有的代码规范或风格偏好
示例:
我正在开发一个个人待办清单网页应用。
- 技术栈:React + TypeScript
- 目标用户:像我一样容易忘事的职场新人
- 风格要求:代码简洁,组件化设计第二层:任务上下文
任务上下文回答的问题是:你现在要做什么?
包含的信息:
- 当前具体要完成的任务
- 任务的输入和输出
- 具体的约束条件
- 期望的输出格式
示例:
当前任务:实现「添加任务」功能
- 输入:用户在输入框输入任务内容,点击添加按钮
- 输出:新任务出现在任务列表中
- 约束:添加后自动清空输入框,空内容不能添加
- 格式:给我完整的 React 组件代码第三层:个人上下文
个人上下文回答的问题是:你是谁?
包含的信息:
- 你的技术水平
- 你的学习目标
- 你的沟通偏好
示例:
我是编程初学者,第一次用 React。
请在关键代码处加上注释,解释为什么这样写。
如果有更好的实现方式,请告诉我,但先给我一个能跑的版本。案例对比:有无上下文的差异
让我们用小李的待办清单项目,看看上下文如何影响 AI 的输出。
❌ 差提示词:缺少上下文
帮我做一个待办清单AI 可能的回应:
AI 会开始猜测:
- 用什么技术?HTML/CSS/JS?React?Vue?还是 Python?
- 做到什么程度?简单的还是复杂的?
- 要什么功能?只是列表还是要分类、提醒、统计?
结果往往是:AI 给你一个「通用模板」,可能和你想要的相差甚远。
✅ 好提示词:包含三层上下文
【项目背景】
我正在开发一个个人待办清单网页应用,帮助像我一样容易忘事的职场新人管理每日任务。
技术栈:React + TypeScript + Tailwind CSS
设计原则:极简风格,打开就是今日待办,添加任务要在 3 秒内完成
【当前任务】
请帮我实现「添加任务」组件:
- 用户在输入框输入任务内容
- 点击添加按钮或按回车键,任务添加到列表
- 添加成功后自动清空输入框
- 空内容不能添加(显示简单提示)
【输出要求】
- 给我完整的 React 组件代码
- 使用 TypeScript,定义好类型
- 样式用 Tailwind CSS
- 在关键逻辑处加上注释
【关于我】
我是 React 初学者,如果有初学者容易踩的坑,请提醒我。AI 的回应会精准得多:
- 使用你指定的技术栈
- 实现你要求的具体功能
- 遵循你的设计原则
- 代码风格符合你的水平
上下文窗口:AI 能「记住」多少
你可能会问:我能告诉 AI 多少信息?
这涉及到一个概念:上下文窗口。
把 AI 的「记忆」想象成一张餐桌。餐桌有固定大小,你放上去的盘子(信息)不能超过桌面。
| 模型 | 上下文窗口大小 | 相当于 |
|---|---|---|
| Claude Opus 4.5 | 200K tokens | 约 15 万字 |
| Gemini 3 Pro | 1M tokens | 约 75 万字 |
| 普通对话场景 | 通常够用 | 无需担心 |
对于初学者来说:不用太担心这个限制。日常的项目描述和任务说明,远远不会超出上下文窗口。
但有一个重要提醒:AI 不会跨对话记忆。
如果你开启一个新对话,之前告诉 AI 的所有信息都会「清零」。这就是为什么很多 AI 工具提供了「项目规则」或「系统提示词」功能——让某些上下文持久化,不用每次重复输入。
(这部分会在 3.5 节「迭代对话的艺术」中详细讲解)
上下文检查清单
在向 AI 提问之前,用这个清单快速检查:
项目上下文 ✓
- [ ] 说明了项目类型和目标
- [ ] 说明了技术栈(如果涉及代码)
- [ ] 说明了目标用户是谁
- [ ] 说明了设计原则或风格偏好
任务上下文 ✓
- [ ] 清晰描述了当前要完成的任务
- [ ] 说明了输入和输出
- [ ] 列出了约束条件和边界情况
- [ ] 指定了期望的输出格式
个人上下文 ✓
- [ ] 说明了自己的技术水平
- [ ] 告诉 AI 你需要什么样的解释
- [ ] 说明了特殊偏好(如果有)
不需要每次都填满所有项。根据任务复杂度,选择必要的信息提供即可。
第二章成果的应用
还记得第二章做的那些思考吗?现在它们派上用场了:
| 第二章成果 | 对应的上下文层 | 如何使用 |
|---|---|---|
| 灵魂三问 | 项目上下文 | 「用户是谁」「痛点在哪」直接写入项目背景 |
| 用户画像 | 项目上下文 | 描述目标用户的特征和需求 |
| MVP 范围 | 任务上下文 | 明确当前阶段要实现什么、不实现什么 |
| 不做清单 | 任务上下文 | 作为约束条件,防止 AI「加戏」 |
小李在第二章完成的思考,可以直接转化为上下文:
【项目背景 - 来自灵魂三问】
用户:像我一样容易忘事的职场新人
痛点:经常遗漏重要任务,被领导批评,感到焦虑
差异化:比便签纸好用(打开就看到),比复杂工具简单(3 秒添加)
【范围约束 - 来自减法思维】
第一版只做:添加任务、完成任务、查看今日任务
不做:分类标签、截止日期、提醒通知、历史统计本节要点
✓ 公式:AI 输出质量 = 上下文质量 × AI 能力。你能控制的是上下文。
✓ 三层上下文模型:
- 项目上下文:你在做什么项目
- 任务上下文:当前要解决什么问题
- 个人上下文:你是谁,需要什么
✓ 上下文窗口:AI 的「记忆容量」有限,但日常使用通常够用。
✓ 第二章的思考成果可以直接转化为高质量的上下文。
下一节,我们来看看初学者最常犯的五个错误——以及如何避免它们。
