---
title: "3.1.2 Context is King：上下文为王"
---


![03-technique_3.1-prompt-basics_3.1.2-context-is-king.png](/images/Basic/03-technique_3.1-prompt-basics_3.1.2-context-is-king.png)
# 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.6 | 200K tokens | 约 15 万字 |
| Gemini 3 Pro | 1M tokens | 约 75 万字 |
| 普通对话场景 | 通常够用 | 无需担心 |

**对于初学者来说**：不用太担心这个限制。日常的项目描述和任务说明，远远不会超出上下文窗口。

但有一个重要提醒：**AI 不会跨对话记忆**。

如果你开启一个新对话，之前告诉 AI 的所有信息都会「清零」。这就是为什么很多 AI 工具提供了「项目规则」或「系统提示词」功能——让某些上下文持久化，不用每次重复输入。

（这部分会在 3.5 节「迭代对话的艺术」中详细讲解）


## 上下文检查清单

在向 AI 提问之前，用这个清单快速检查：

### 项目上下文 ✓
- [ ] 说明了项目类型和目标
- [ ] 说明了技术栈（如果涉及代码）
- [ ] 说明了目标用户是谁
- [ ] 说明了设计原则或风格偏好

### 任务上下文 ✓
- [ ] 清晰描述了当前要完成的任务
- [ ] 说明了输入和输出
- [ ] 列出了约束条件和边界情况
- [ ] 指定了期望的输出格式

### 个人上下文 ✓
- [ ] 说明了自己的技术水平
- [ ] 告诉 AI 你需要什么样的解释
- [ ] 说明了特殊偏好（如果有）

不需要每次都填满所有项。根据任务复杂度，选择必要的信息提供即可。


## 第二章成果的应用

还记得第二章做的那些思考吗？现在它们派上用场了：

| 第二章成果 | 对应的上下文层 | 如何使用 |
|-----------|--------------|---------|
| 灵魂三问 | 项目上下文 | 「用户是谁」「痛点在哪」直接写入项目背景 |
| 用户画像 | 项目上下文 | 描述目标用户的特征和需求 |
| MVP 范围 | 任务上下文 | 明确当前阶段要实现什么、不实现什么 |
| 不做清单 | 任务上下文 | 作为约束条件，防止 AI「加戏」 |

小李在第二章完成的思考，可以直接转化为上下文：

```
【项目背景 - 来自灵魂三问】
用户：像我一样容易忘事的职场新人
痛点：经常遗漏重要任务，被领导批评，感到焦虑
差异化：比便签纸好用（打开就看到），比复杂工具简单（3 秒添加）

【范围约束 - 来自减法思维】
第一版只做：添加任务、完成任务、查看今日任务
不做：分类标签、截止日期、提醒通知、历史统计
```


## 本节要点

✓ **公式**：AI 输出质量 = 上下文质量 × AI 能力。你能控制的是上下文。

✓ **三层上下文模型**：
  - 项目上下文：你在做什么项目
  - 任务上下文：当前要解决什么问题
  - 个人上下文：你是谁，需要什么

✓ **上下文窗口**：AI 的「记忆容量」有限，但日常使用通常够用。

✓ **第二章的思考成果**可以直接转化为高质量的上下文。


下一节，我们来看看初学者最常犯的五个错误——以及如何避免它们。
