提示词教程

上下文窗口管理与长文本处理策略:让AI在有限Token中发挥最大效能

发布时间:2026年08月19日 18:00:00

掌握上下文窗口管理与长文本处理策略:理解Token限制对输出的影响、设计上下文压缩与分段处理方案、构建滑动窗口和摘要链、管理多轮对话的上下文膨胀、在有限Token中保持输出质量,解决AI处理长文本时的核心瓶颈。


学习目标

完成本教程后,你将能够:

  • 理解Token限制的影响:上下文窗口如何约束AI能力
  • 设计压缩策略:在有限Token中保留最大信息量
  • 构建分段处理流程:将长文本拆分为可处理的片段
  • 管理多轮对话上下文:防止上下文膨胀导致质量下降
  • 实现滑动窗口与摘要链:在长对话中保持连贯性

一、理解上下文窗口

上下文窗口的基本概念

输入Token + 生成Token ≤ 上下文窗口上限

例如:128K上下文窗口
- 输入:120K Token
- 生成:8K Token

上下文窗口对输出的影响

场景问题表现
输入过长超出窗口限制截断或报错
输入接近上限生成空间不足回答被截断
多轮对话累积上下文膨胀早期信息遗忘
长文档处理无法一次输入需要分段处理
RAG检索过多检索结果过长关键信息被稀释

各模型上下文窗口对比

模型上下文窗口适用场景
GPT-5.6128K-200K通用
Claude Opus 5200K-500K长文档
Gemini 3.71M-2M超长文本
DeepSeek V4128K通用

二、上下文压缩策略

策略1:摘要压缩

## 摘要压缩提示词

将以下内容压缩为摘要,保留关键信息:

### 压缩规则
1. 保留所有数据、数字和事实
2. 保留关键结论和决策
3. 删除重复和冗余信息
4. 删除过渡和客套语
5. 使用列表和表格压缩格式

### 压缩比例
- 目标:压缩至原文的30%以下
- 保留信息完整度:>90%

### 原文
{待压缩的长文本}

### 输出
1. 压缩后的摘要
2. 保留的信息点列表
3. 删除的信息点列表

策略2:关键信息提取

## 关键信息提取提示词

从以下内容中提取后续步骤需要的关键信息:

### 提取维度
1. 核心结论:{列出主要结论}
2. 关键数据:{提取所有数字和数据}
3. 决策点:{列出需要决策的项}
4. 待办事项:{提取行动项}
5. 风险点:{提取风险提示}

### 原文
{长文本}

### 输出格式
{
  "conclusions": ["结论1", "结论2"],
  "data": {"指标1": "数值1", "指标2": "数值2"},
  "decisions": ["决策1", "决策2"],
  "actions": [{"task": "任务", "owner": "负责人", "deadline": "期限"}],
  "risks": ["风险1", "风险2"]
}

### 约束
- 仅提取信息,不做判断或推理
- 保留原文的准确性,不修改数据
- 如信息不明确,标注"未明确"

策略3:分层压缩

## 分层压缩提示词

将以下内容按三个层次压缩:

### 第一层:超摘要(1-2句话)
{整个内容的核心要点}

### 第二层:结构摘要(5-8个要点)
{按主题组织的要点列表}

### 第三层:详细摘要(保留关键细节)
{包含数据和论证的摘要}

### 原文
{长文本}

### 使用方式
- Token极度紧张时:注入第一层
- Token较紧张时:注入第二层
- Token充足时:注入第三层

三、长文本分段处理

分段处理架构

长文档 → 分段 → 逐段处理 → 合并结果 → 最终输出

分段策略提示词

## 长文本分段处理

### 第一步:分段规划
分析以下文档,规划分段策略:

文档长度:{总字数/Token数}
上下文窗口:{可用Token数}

分段规则:
1. 每段不超过上下文窗口的60%
2. 段落边界应在自然段落或章节处
3. 相邻段保留10%的重叠区域
4. 记录每段的起始和结束位置

输出分段方案:
| 段号 | 起始位置 | 结束位置 | 预计Token | 重叠区 |

### 第二步:逐段处理
对以下第{N}段内容进行处理:
{当前段落文本}

前序摘要(如有):
{前一段的摘要}

处理任务:{具体任务}

约束:
- 基于当前段落和前序摘要处理
- 如需要后续段信息,标注"待后续段补充"
- 输出当前段的处理结果和摘要

### 第三步:结果合并
合并以下各段处理结果:
{所有段的处理结果}

合并规则:
1. 合并重复信息
2. 解决矛盾(以原文为准)
3. 补充"待后续段补充"的信息
4. 生成连贯的最终输出

分段处理示例:长报告分析

### 场景:分析100页年度报告

#### 分段方案
| 段号 | 章节 | 页数 | 预计Token |
|------|------|------|-----------|
| 1 | 执行摘要 | 1-5 | 3K |
| 2 | 业务概览 | 6-20 | 8K |
| 3 | 财务分析 | 21-40 | 10K |
| 4 | 风险因素 | 41-60 | 8K |
| 5 | 管理讨论 | 61-80 | 8K |
| 6 | 附录 | 81-100 | 8K |

#### 逐段处理流程
段1 → 提取核心数据和结论 → 摘要A
段2 → 基于摘要A分析业务 → 摘要B
段3 → 基于摘要A+B分析财务 → 摘要C
段4 → 基于摘要A+B+C分析风险 → 摘要D
段5 → 基于摘要A+B+C+D分析管理 → 摘要E
段6 → 补充数据

#### 最终合并
基于摘要A-E生成完整分析报告

四、滑动窗口管理

滑动窗口概念

对话轮次1:[消息1] [消息2] [消息3]
对话轮次2:[消息2] [消息3] [消息4]  ← 消息1被压缩或丢弃
对话轮次3:[消息3] [消息4] [消息5]  ← 消息2被压缩或丢弃

滑动窗口提示词

## 滑动窗口对话管理

### 窗口配置
- 窗口大小:{保留的最近N轮对话}
- 压缩触发:当对话轮数超过窗口大小时
- 压缩方式:将最旧的一轮压缩为摘要

### 压缩提示词
将以下对话轮次压缩为摘要,保留后续对话需要的关键信息:

对话内容:
{待压缩的对话}

保留信息:
1. 用户的核心需求
2. 已确定的决策和结论
3. 已完成的工作
4. 待完成的任务
5. 关键数据和参数

输出摘要(不超过200字)

### 上下文注入格式
当前对话上下文:
1. 历史摘要:{早期对话的压缩摘要}
2. 近期对话:{最近N轮的完整对话}
3. 当前问题:{用户的最新消息}

多级窗口设计

## 多级窗口架构

### Level 1:即时窗口(最近3轮)
- 保留完整对话内容
- 包含最新的上下文和指令

### Level 2:近期窗口(第4-10轮)
- 压缩为要点摘要
- 每轮保留2-3个关键点

### Level 3:历史窗口(第11轮以前)
- 压缩为主题摘要
- 按主题分类保留关键信息

### 上下文注入模板
你正在与用户进行多轮对话。以下是上下文信息:

## 历史主题摘要
{Level 3的摘要}

## 近期要点
{Level 2的摘要}

## 最近对话
{Level 1的完整对话}

## 用户最新消息
{当前消息}

请基于以上上下文回应用户。

五、多轮对话上下文管理

上下文膨胀问题

对话轮数上下文大小问题
1-5轮较小无问题
6-15轮中等可能有轻微遗忘
16-30轮较大早期信息遗忘
30轮+很大严重遗忘+质量下降

上下文管理提示词

## 多轮对话上下文管理

### 对话状态追踪
在每轮对话后,更新以下状态:

{
  "conversation_id": "对话ID",
  "turn_count": 当前轮数,
  "user_goal": "用户核心目标",
  "established_facts": [
    "已确认的事实1",
    "已确认的事实2"
  ],
  "decisions_made": [
    "已做的决策1"
  ],
  "pending_questions": [
    "待解决的问题1"
  ],
  "context_summary": "最近5轮的摘要",
  "token_estimate": 当前上下文Token估算
}

### 上下文注入策略
当token_estimate超过阈值时:
1. 将established_facts和decisions_made保留
2. 将早期对话压缩为context_summary
3. 仅保留最近5轮完整对话
4. 在回复开头注入状态摘要

### 状态注入提示词
你正在与用户进行多轮对话。当前对话状态:

- 用户目标:{user_goal}
- 已确认事实:{established_facts}
- 已做决策:{decisions_made}
- 待解决问题:{pending_questions}
- 最近对话摘要:{context_summary}

用户最新消息:{当前消息}

请基于以上状态回应用户,确保:
1. 不与已确认事实矛盾
2. 基于已做决策继续推进
3. 解决待解决问题

六、RAG中的上下文管理

RAG上下文优化

## RAG上下文优化提示词

### 检索结果处理
对以下检索结果进行处理,优化上下文使用:

#### 原始检索结果
{检索到的文档片段列表,可能很长}

#### 处理规则
1. 去重:删除内容重复的片段
2. 排序:按相关性从高到低排序
3. 压缩:每段压缩为关键信息
4. 截断:仅保留Top K段(K根据Token预算决定)
5. 标注:为每段标注来源和相关性

#### 输出格式
| 序号 | 来源 | 相关性 | 压缩内容 | 原始Token | 压缩Token |

#### 最终上下文
{处理后的检索结果,控制在Token预算内}

### 回答生成
基于以下优化后的上下文回答问题:

上下文:
{处理后的检索结果}

问题:{用户问题}

要求:
1. 仅基于上下文回答
2. 标注信息来源
3. 如上下文不足以回答,明确说明
4. 优先使用高相关性片段

总结

上下文窗口管理的核心要点:

  1. Token是稀缺资源:每个Token都要有信息价值
  2. 压缩是核心技能:摘要、提取和分层压缩三管齐下
  3. 分段处理长文本:拆分→逐段处理→合并结果
  4. 滑动窗口管多轮:近期完整+历史压缩
  5. 状态追踪保连贯:对话状态防止信息遗忘
  6. RAG需要优化:检索不是越多越好,关键是相关性

来源:综合自上下文窗口管理实践及长文本处理方法论