2026年4月19日

长上下文处理

当输入文本超出或接近模型的上下文窗口时,面临三个核心挑战:

知识库大模型提示词与上下文promptinglong-context

长上下文处理

1. 长上下文的挑战

核心问题

当输入文本超出或接近模型的上下文窗口时,面临三个核心挑战:

挑战 1: 容量限制   ← 输入 + 输出不能超过上下文窗口
挑战 2: 注意力衰减 ← 模型对长文本中间部分关注度下降
挑战 3: 成本增加   ← 更长的输入意味着更高的计算和费用

QUESTION 面试高频:长上下文的瓶颈在哪里?

  1. 计算瓶颈:标准 Attention 的 O(N2)O(N^2) 复杂度
  2. 显存瓶颈:KV Cache 随序列长度线性增长
  3. 信息瓶颈:Lost in the Middle 效应导致中间信息被忽略
  4. 质量瓶颈:过长输入导致指令遵循能力下降

2. 超长输入处理策略

策略一:分块处理(Chunking)

将长文档切分为多个块,分别处理后合并结果。

长文档 (100K tokens)
├── Chunk 1 (2K tokens) → 模型处理 → 结果 1
├── Chunk 2 (2K tokens) → 模型处理 → 结果 2
├── ...
└── Chunk 50 (2K tokens) → 模型处理 → 结果 50
                                         ↓
                              合并 & 汇总 → 最终结果
分块策略 优点 缺点
固定长度 实现简单 可能切断语义
段落/章节 保持语义 块大小不均匀
语义分块 最佳效果 实现复杂
递归分块 层次清晰 需要文档结构

策略二:Map-Reduce 模式

Map 阶段:
  文档 1 → LLM → 摘要 1
  文档 2 → LLM → 摘要 2
  文档 3 → LLM → 摘要 3

Reduce 阶段:
  [摘要1, 摘要2, 摘要3] → LLM → 最终答案

策略三:递归摘要

原始长文档 (50K tokens)
   ↓ 第一轮摘要
摘要版本 1 (10K tokens)
   ↓ 第二轮摘要
摘要版本 2 (2K tokens)
   ↓ 第三轮摘要
最终摘要 (500 tokens)

策略四:分层检索

第一层:快速扫描全部内容,提取关键段落
第二层:对关键段落深入分析
第三层:综合分析结果生成最终回答

3. Needle-in-a-Haystack(大海捞针)

测试方法

Needle-in-a-Haystack 是评估长上下文模型信息检索能力的标准测试:

  1. 在长文本的某个位置插入一个特定的"针"信息
  2. 要求模型回答关于"针"的问题
  3. 测试不同位置(深度)和不同文本长度下的检索准确率
文本长度 →  4K    8K    16K   32K   64K   128K
位置 ↓
0%    │  ✓     ✓     ✓     ✓     ✓     ✓
25%   │  ✓     ✓     ✓     △     △     ✗
50%   │  ✓     ✓     △     ✗     ✗     ✗    ← Lost in Middle
75%   │  ✓     ✓     ✓     ✓     △     △
100%  │  ✓     ✓     ✓     ✓     ✓     ✓

✓ = 检索成功   △ = 部分成功   ✗ = 检索失败

QUESTION 面试高频:如何评估模型的长上下文能力? 使用 Needle-in-a-Haystack 测试,在两个维度评估:

  • 深度维度:信息放在文本的不同位置(0%-100%)
  • 长度维度:使用不同长度的背景文本

好的模型应该在整个深度×长度矩阵上都保持高准确率。

4. 长上下文中的 RAG 策略

长上下文 vs RAG

维度 长上下文 RAG
信息保留 全文可见 仅检索片段
精确度 高(无检索损失) 中(依赖检索质量)
成本 高(长输入) 低(短输入)
扩展性 受窗口限制 理论无限
适用场景 单文档分析 大规模知识库

混合策略:Long-Context RAG

1. 先用 RAG 检索 Top-K 相关片段
2. 检索片段 + 原始查询一起输入长上下文模型
3. 利用长上下文模型的全局理解能力做精确推理

5. 实用技巧

技巧一:信息前置

将最重要的信息放在上下文开头:

## 关键信息(最高优先级)
{核心内容}

## 参考材料
{长文档内容}

## 任务
基于以上材料回答:{问题}

技巧二:结构化标记

用明确的标记帮助模型定位信息:

## 文档 1: {标题}
{内容}

---

## 文档 2: {标题}
{内容}

---

请回答以下问题:

技巧三:指令重复

在开头和结尾重复关键指令:

# 开头
请特别注意提取所有日期信息。

{长文档}

# 结尾
请再次确认你已从文档中提取了所有日期信息。

技巧四:分段提问

将复杂的长文档分析拆分为多个子问题:

第一轮:请列出文档中的所有关键论点
第二轮:对第 X 个论点,请提供详细分析
第三轮:综合以上分析,给出最终结论

6. 长上下文模型能力演进

时间 模型 上下文长度 关键技术
2023 GPT-4 Turbo 128K 密集注意力优化
2023 Claude 2 100K 注意力优化
2024 Gemini 1.5 Pro 1M-2M 架构优化
2024 Claude 3 200K 密集注意力
2025 Gemini 2.0 1M-2M 原生长上下文
2025 GPT-4.1 1M 长上下文优化

相关笔记上下文工程提示词基础思维链与推理策略