上下文管理与实战综合
本篇定位:实战课主线收官篇,综合讲解长对话管理、上下文工程、迭代优化等实战技巧,帮助学员在复杂项目中保持AI对话的连贯性和高效性。

一、上下文窗口基础
1.1 什么是上下文窗口
定义:LLM在生成响应时能够参考的历史对话和文本长度限制
核心特点:
┌─────────────────────────────────────────────────────────┐
│ 上下文窗口的核心特性 │
├─────────────────────────────────────────────────────────┤
│ │
│ 1. 有限的Token容量 │
│ ├─ 通常范围:4K - 200K tokens │
│ ├─ 包含:输入、输出、系统消息 │
│ └─ 超出限制会被截断 │
│ │
│ 2. 容量与效果的权衡 │
│ ├─ 更大的窗口 → 更高准确性、更少幻觉、更连贯 │
│ └─ 更小的窗口 → 更快响应、更低成本 │
│ │
│ 3. "失忆"现象 │
│ ├─ 早期消息被截断 │
│ ├─ 模型只能"看到"窗口内的内容 │
│ └─ 窗口外的信息被"遗忘" │
│ │
└─────────────────────────────────────────────────────────┘
失忆的表现:
- AI不记得之前的对话
- 重复之前已给出的信息
- 前后不一致的回答
1.2 上下文窗口的五个基本概念
| 概念 | 说明 | 实际影响 |
|---|---|---|
| Context Length | 模型能处理的最大序列长度 | 决定单次对话的上限 |
| Context Window | 实际可用的上下文容量 | 扣除系统Prompt后的空间 |
| Token Limit | 以token为单位的限制 | 影响成本计算 |
| Message History | 对话历史消息 | 占用大部分窗口空间 |
| System Prompt | 系统指令(计入窗口) | 减少可用上下文 |
1.3 为什么会出现"失忆"
根本原因:
对话过程:
轮次1:用户 → AI(1000 tokens)
轮次2:用户 → AI(2000 tokens)
...
轮次N:用户 → AI(总tokens超过窗口限制)
结果:
├─ 早期消息被截断
├─ AI无法访问被截断的信息
└─ 表现出"失忆"现象
解决方案概览:
| 方案 | 适用场景 | 复杂度 |
|---|---|---|
| 外部记忆系统 | 超长项目 | 高 |
| 上下文压缩 | 接近上限 | 中 |
| 上下文重启 | 达到上限 | 低 |
| Scratchpads | 状态管理 | 中 |
二、ReAct框架
2.1 ReAct的定义
ReAct = Reasoning(推理)+ Acting(行动)
复杂度:
核心洞察:ReAct在知识密集型任务中表现优于纯行动方法,可减少幻觉70%
2.2 ReAct核心机制
┌─────────────────────────────────────────────────────────┐
│ ReAct 循环机制 │
├─────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Thought │ → │ Action │ → │Observe │ │
│ │ 推理 │ │ 行动 │ │ 观察 │ │
│ └─────────┘ └─────────┘ └─────────┘ │
│ ↑ │ │
│ └────────────────────────────────┘ │
│ 继续循环直到完成任务 │
│ │
└─────────────────────────────────────────────────────────┘
步骤说明:
| 步骤 | 说明 | 示例 |
|---|---|---|
| Thought | 推理思考,规划下一步 | "我需要搜索这个人的信息" |
| Action | 执行具体行动 | Search[Steve Jobs] |
| Observe | 观察行动结果 | "Steve Jobs是Apple公司联合创始人" |
2.3 ReAct vs CoT对比
AI 编程知识库会员专享内容
开通后解锁「上下文管理与实战综合」全文,AI 编程知识库全年访问
扫码添加企业微信,找大熊掌门开通会员

添加后说明想开通的会员类型即可