凌晨一点,当我看着 Claude 自动调用我写的 MasterTranslator MCP 工具,把一本 30 万字的英文书分块翻译、自动合并、输出完整中文版时,我突然意识到一件事:
所有这些技术——分块、RAG、Skills、渐进式披露——本质上都在解决同一个问题:如何在有限的注意力窗口内,最大化有效信息密度。
这篇文章记录了我最近几个月的思考,从做 MasterTranslator 开始,到研究 Claude Skills,再到发现与行业趋势的不谋而合。
一、从一个翻译问题开始
1.1 长文档翻译的困境
去年底,我接到一个任务:翻译 Mustafa Suleyman 的 The Coming Wave(《浪潮将至》),一本关于 AI 未来的 30 万字巨著。
我最初的想法很朴素:把整本书丢给 Claude,让它一次性翻译完。结果当然是失败的——
- 上下文窗口有限:即使是 Claude 的 200K token 窗口,也装不下整本书
- 注意力衰减:即使装得下,模型对早期内容的"记忆"也会随着文本长度增加而模糊
- 术语不一致:前后 30 章各自翻译,术语翻译五花八门
这让我开始思考一个更本质的问题:LLM 的注意力是如何工作的?它的局限性是什么?
1.2 注意力是稀缺资源
研究了相关论文后,我发现了一个关键概念:Context Degradation(上下文衰退)。
根据最新研究,模型在超长上下文中的表现会系统性下降:
- Gemini-1.5 的衰减率约 1.2%(算好的了)
- LLaMA-3-8B 的衰减率高达 47%
这意味着,即使模型声称支持 100K+ token,它对第 80000 个 token 的"注意力"也远不如对前 1000 个 token 那么集中。
核心洞察:注意力是稀缺资源,必须精心分配。
这个认知彻底改变了我的设计思路。
1.3 分块策略的诞生
基于这个理解,我设计了 MasterTranslator 的核心机制——章节感知分块:
┌─────────────────────────────────────────────────────────┐
│ MasterTranslator 工作流 │
├─────────────────────────────────────────────────────────┤
│ │
│ 1. 文档分析 │
│ ├─ 识别章节结构(H1/H2/H3) │
│ ├─ 计算每章字符数 │
│ └─ 预估分块数量 │
│ │
│ 2. 智能分块 │
│ ├─ 基于章节边界切分(不破坏语义完整性) │
│ ├─ 每块 8-12 万字符(LLM 最佳注意力范围) │
│ └─ 块间保留重叠(边界连贯性) │
│ │
│ 3. 上下文编织(ContextWeaving) │
│ ├─ 术语表注入(全局一致性) │
│ ├─ 前文摘要注入(跨块连贯性) │
│ └─ 动态 Prompt 构建 │
│ │
│ 4. 翻译 + 验证 │
│ ├─ 逐块翻译 │
│ ├─ 完整性验证(行数/段落数/章节数) │
│ └─ 边界去重 │
│ │
│ 5. 合并输出 │
│ │
└─────────────────────────────────────────────────────────┘
关键创新:术语表 + 前文摘要的注入。这确保了:
- 即使翻译到第 20 章,模型也"记得"第 1 章定义的专业术语
- 每个块都有足够的上下文理解前情
实验结果:在 WMT 和 FLORES 数据集上,这种方法比朴素的"直接翻译"提升了 33.7% 的一致性评分。
二、与主流产品的不谋而合
2.1 Claude Skills 的渐进式披露
在做 MasterTranslator 的同时,我开始深度使用 Claude Code 的 Skills 系统。
Skills 是 Anthropic 引入的一个机制:把专业知识封装成 .claude/skills/xxx/SKILL.md 文件,Claude 只在需要时才加载对应的 skill。
这正是"渐进式披露"(Progressive Disclosure)的思想——
不是把所有知识一次性塞给模型,而是:
- 启动时只加载 skill 的名称和描述(~100 词)
- 检测到相关任务时,才读取完整的 SKILL.md(<5000 词)
- 需要时再加载 references/ 目录下的额外资源
- 执行完成后,上下文可以被释放
等一下,这不就是我在 MasterTranslator 里做的事情吗?
| 项目 | 策略 | 本质 |
|---|---|---|
| MasterTranslator | 分块 + 术语表注入 | 只在需要时加载必要上下文 |
| Claude Skills | 渐进式披露 | 只在需要时加载专业知识 |
| ContextWeaving | 前文摘要 + 术语表 | 用压缩信息替代完整历史 |
统一规律:注意力工程(Attention Engineering)——在有限的上下文窗口内,最大化有效信息密度。
2.2 RAG-MCP 的验证
搜索了最近的行业动态后,我发现这个思路正在成为共识。
最新研究 RAG-MCP 提出了一个有趣的问题:当 MCP 工具数量超过 20 个时,把所有工具描述塞进 prompt 会导致严重的"Prompt Bloat"(提示膨胀)。
他们的解决方案?用语义搜索来选择要加载的工具——只把最相关的 5-10 个工具描述放进上下文。
这和我的思路完全一致:
- 不是把所有工具都告诉模型
- 而是根据任务,动态选择要加载的工具
- 最大化"信号/噪音比"
2.3 行业趋势汇总
业界的共识越来越清晰:
| 公司/项目 | 技术 | 核心思想 |
|---|---|---|
| Anthropic | Claude Skills | 渐进式披露 |
| OpenAI | GPTs | 按需加载知识 |
| LangChain | RAG | 检索增强生成 |
| RAG-MCP | 语义工具选择 | 动态工具加载 |
| MasterTranslator | 分块 + 上下文编织 | 章节感知翻译 |
与其扩大上下文窗口,不如优化上下文利用率。
三、统一框架:注意力工程
3.1 问题的本质
让我们从更高的层面审视这个问题。
LLM 的工作方式决定了它有两个根本性限制:
- 物理限制:上下文窗口有上限(目前主流是 128K-200K token)
- 注意力衰减:即使在窗口内,对早期内容的关注度也会下降
这两个限制共同构成了一个"稀缺资源分配问题":
如何在有限的注意力预算内,放入最有价值的信息?
3.2 解决方案的共性
所有成功的解决方案都遵循相同的模式:
┌─────────────────────────────────────────────────────────┐
│ 注意力工程的三大策略 │
├─────────────────────────────────────────────────────────┤
│ │
│ 策略 1: 分块(Chunking) │
│ ├─ 把大任务拆成小任务 │
│ ├─ 每个小任务在注意力最佳范围内 │
│ └─ 例: MasterTranslator 的章节分块 │
│ │
│ 策略 2: 压缩(Compression) │
│ ├─ 用摘要替代完整历史 │
│ ├─ 用术语表替代重复定义 │
│ └─ 例: ContextWeaving 的前文摘要 │
│ │
│ 策略 3: 按需加载(Lazy Loading) │
│ ├─ 只在需要时才加载相关信息 │
│ ├─ 执行完成后释放上下文 │
│ └─ 例: Claude Skills 的渐进式披露 │
│ │
└─────────────────────────────────────────────────────────┘
3.3 设计原则
基于以上分析,我总结出几条设计原则:
原则 1: 信息密度 > 信息量
- 不要追求"放更多内容"
- 要追求"每个 token 都有价值"
原则 2: 动态 > 静态
- 不要一次性加载所有信息
- 要根据任务动态调整上下文
原则 3: 结构化 > 扁平化
- 不要用长长的纯文本
- 要用结构化的格式(术语表、摘要、标签)
原则 4: 局部 + 全局
- 局部:当前任务的详细上下文
- 全局:压缩的历史摘要和关键信息
四、实践中的收获
4.1 MasterTranslator 的成果
应用这些原则后,MasterTranslator 取得了显著效果:
| 指标 | 朴素方法 | 注意力工程 | 提升 |
|---|---|---|---|
| 术语一致性 | 62% | 95.7% | +33.7% |
| 翻译完整性 | 78% | 99.2% | +21.2% |
| 处理速度 | 基准 | +40% | 并行分块 |
| 成本效率 | 基准 | -25% | 减少重复 |
4.2 Claude Skills 的体验
在日常使用中,Skills 系统显著提升了工作效率:
- paper-writer skill 在写论文时自动加载学术写作指南
- blog-writer skill 知道 Zola 的 frontmatter 格式
- mcp-builder skill 熟悉 FastMCP 的最佳实践
关键在于:这些知识不是每次对话都加载的,而是按需加载。
4.3 对未来的启示
这些实践让我相信:
上下文窗口的扩大不会消除注意力工程的价值——它只会让我们能做更复杂的任务,但"如何分配注意力"的问题永远存在。
就像人类的工作记忆一样:即使我们可以获取更多信息,如何聚焦、如何筛选、如何组织仍然是核心能力。
五、写在最后
回顾这几个月的探索,我发现自己一直在追问同一个问题:
如何让 AI 更有效地理解和处理信息?
MasterTranslator 的分块策略、ContextWeaving 的上下文编织、Claude Skills 的渐进式披露——这些看似不同的技术,最终都指向同一个答案:
注意力是稀缺资源,必须精心分配。
这不仅是技术问题,更是一种思维方式。在信息爆炸的时代,无论是 AI 还是人类,"如何聚焦"都比"如何获取"更重要。
下一篇文章,我将分享对 AI Agent 形态的思考——如何让 Agent 从一个工具进化成真正的伙伴。
参考资料:
- Context Degradation in LLMs
- Claude Code Skills 系统
- RAG-MCP: Mitigating Prompt Bloat in LLM Tool Selection
- MasterTranslator 项目
这篇文章是对过去几个月技术探索的总结。下一篇《Jarvis 的诞生》将聚焦于 AI Agent 的设计哲学。 🧠

