Skip to content

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.5200K tokens约 15 万字
Gemini 3 Pro1M tokens约 75 万字
普通对话场景通常够用无需担心

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

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

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

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

上下文检查清单

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

项目上下文 ✓

  • [ ] 说明了项目类型和目标
  • [ ] 说明了技术栈(如果涉及代码)
  • [ ] 说明了目标用户是谁
  • [ ] 说明了设计原则或风格偏好

任务上下文 ✓

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

个人上下文 ✓

  • [ ] 说明了自己的技术水平
  • [ ] 告诉 AI 你需要什么样的解释
  • [ ] 说明了特殊偏好(如果有)

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

第二章成果的应用

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

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

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

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

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

本节要点

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

三层上下文模型

  • 项目上下文:你在做什么项目
  • 任务上下文:当前要解决什么问题
  • 个人上下文:你是谁,需要什么

上下文窗口:AI 的「记忆容量」有限,但日常使用通常够用。

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

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