CHAPTER 44

长对话管理

如何在超长任务中保持 AI 状态——上下文窗口的工程学

01 · AI的"记忆"是一个容器,装满了就会溢出

回到Ch05,我们讨论过上下文窗口的概念。但这一次,我们要从"概念"变成"实操"。

上下文窗口是什么

简单说,上下文窗口就是AI能"一次性看到"的信息量。Claude能看5-200万个tokens(不同版本不同),GPT-4能看12万个tokens。一旦你的对话超过这个限制,早期的内容就会被"遗忘"。

实际影响:三种症状

⚠️
前后矛盾
你在第1条消息说了A,到第50条消息时,AI好像忘了A,给了个违反A的答案
🔄
忘记早期要求
开始时你给了详细的约束和要求,到了对话后期,AI好像不记得这些约束了
📉
输出质量下降
对话越往后,答案越来越肤浅、越来越泛泛而谈

为什么会这样?AI的注意力机制会随着上下文长度的增加而减弱。在非常长的对话中,它对早期信息的"关注度"就会下降。

警惕信号:如果你的对话已经超过50条消息,而且内容跨越多个话题或任务,就该考虑换个新对话了。

02 · 三种长对话管理策略

策略1:分段法 - 把大任务拆成独立的小对话

这是最简单粗暴的方法:不在一个对话里处理整个项目,而是分成几个独立的对话。

适用场景:任务本身有明显的阶段性。比如"写一本书"可以分解成"每章一个对话";"准备一个工程项目"可以分解成"需求、设计、实现、测试各一个对话"。

如何做:

优点:每个对话都很短、很专注,AI的注意力始终在线,质量很高。

缺点:需要你主动管理不同对话之间的连贯性。

策略2:摘要法 - 让AI主动总结进度

不是立刻开启新对话,而是在同一个对话中,每隔一段时间,让AI总结一下进度。

触发点:通常在以下情况触发摘要:

摘要提示词示例:

摘要请求
# 在关键节点触发
请用200-300字总结我们到目前为止讨论的内容和已确认的要求:
1. 我们的总体目标是什么?
2. 已经完成了哪些工作?
3. 还剩下什么要做?
4. 关键的约束或决策是什么(要重复遵守的)?

然后你可以:

策略3:锚点法 - 设置"存档点"

在关键节点设置"存档点"——用一个或几个专门的文件来追踪项目的核心信息,每次开启新对话都先贴上这些文件。

三个锚点文件的结构:

📁 项目文件夹
├─ PROJECT_GOALS.md (目标和约束)
├─ PROGRESS.md (进度和决策)
└─ ISSUES.md (遗留问题和TODO)

每个文件的内容:

使用方式:

  1. 启动新对话时,在开头贴上这三个文件的内容
  2. 这样AI就像"继续上一个环节"一样,而不是从零开始
  3. 每次对话完成后,更新这三个文件,记录新的进度和问题
锚点法的威力:即使你的项目跨越10个对话,只要锚点文件保持更新,每个新对话都能迅速进入状态,不会有"忘记历史"的问题。

03 · 文件系统即持久化记忆

这一节讲一个关键的思维转变:上下文窗口 = 内存(临时的),文件 = 硬盘(永久的)。

为什么要用文件系统

对话的内容关闭就没了(或者在历史里,但找起来麻烦)。而文件可以永久存在、随时查阅、传给别人、版本控制。

对于长期项目,建立"重要信息立即写入文件"的习惯至关重要。

.plans/ 目录模式

建议为每个长期项目建立一个 `.plans/` 目录,用几个简单文件追踪项目的进度、发现和计划。

.plans/ ├─ 00_overview.md 项目概览和目标
├─ 01_research.md 研究发现和背景信息
├─ 02_design.md 设计决策和架构
├─ 03_progress.log 逐日的进度日志
├─ 04_blockers.md 当前遇到的问题
└─ 05_next_steps.md 下一步的计划

好处:

启动新对话的标准模板
# 新对话的第一条消息
这是关于「[项目名]」的工作。

# 背景信息
[粘贴 overview.md 的内容]

# 当前状态
[粘贴 progress.log 的最新几条]

# 当前的问题或待做事项
[粘贴 blockers.md 或 next_steps.md 的相关内容]

我现在要继续处理:[具体的这一步的任务]

04 · 给AI一张地图,而不是一本手册

很多人犯一个错误:把所有的详细信息都放进每个新对话。结果是对话的开头有一大堆冗余的背景说明,真正的工作反而被挤到后面。

上下文压缩的原则

在给AI提供背景信息时,遵循这个原则:

例子:

上下文的投资回报率:给AI 200 token 的关键信息,比给 2000 token 的细节更有用。因为AI用少量 token 理解关键信息后,剩下的 token 可以用来做更深入的思考。

05 · 长期项目的上下文工程

如果你的项目要跨越几周甚至几个月,怎样才能保持长期的连贯性?

三个文件保持任意项目的连贯性

不管项目多复杂,这三个文件就够了:

文件1:目标文件(GOALS.md)

示例内容
# 项目:个人品牌建设

## 最终目标
在6个月内建立行业内的知识领袖形象

## 核心约束
- 内容必须100%原创(不能转载)
- 必须关于AI+写作的交集
- 每周发布2篇

## 不可改变的决策
- 平台优先级:博客 > LinkedIn > Twitter
- 内容形式:深度文章,不要短视频
- 目标受众:中文互联网的AI从业者

文件2:进度文件(PROGRESS.md)

示例内容
## 进度追踪

第1周:完成5篇稿件草稿
第2周:完成编辑和发布 (已发3篇)
第3周:分析读者反馈,调整选题方向

## 关键发现
- AI+写作+教育 的交集文章反应最好
- 深度对比类文章的转发率高

## 当前里程碑
已发布 8 篇,获得平均 200+ 浏览

文件3:问题文件(ISSUES.md)

示例内容
## 待解决的问题

【优先级】问题 / 解决方案
- 【高】文章写得太快,缺乏打磨 / 需要引入编辑环节
- 【中】选题灵感不足 / 建立月度选题规划
- 【低】LinkedIn转发率低 / 考虑调整发布时间

## 下一步计划
1. 本周:完成选题库建设(30个选题)
2. 下周:实施新的编辑流程
3. 后周:数据分析和优化

使用流程

  1. 每次启动新对话:贴上这三个文件,AI立刻进入项目状态
  2. 完成一个阶段后:更新这三个文件。进度变了、遇到新问题、发现新方向,都记下来
  3. 遇到重大决策:决策完成后,立即记到GOALS或PROGRESS里,确保下次对话不会推翻这个决策
  4. 每周回顾:抽15分钟整理这三个文件,确保它们始终是最新的
为什么这个方法有效:AI 每次看到这三个文件,都能快速理解"我们在做什么、已经做到哪、下一步是什么"。这种清晰度让 AI 的输出质量很高。

Exercise · 实战演练

设计你自己的长对话管理系统

  1. 识别一个长期项目
    选择一个你正在进行或计划进行的项目(可以是工作项目、学习计划、创意写作等),确认它需要跨越多个AI对话。
  2. 选择管理策略
    根据你项目的特性,选择三种策略中的一个或混合:(1)分段法合适吗?(2)摘要法合适吗?(3)锚点法合适吗?解释为什么。
  3. 创建你的文件系统
    为这个项目建立 `.plans/` 目录,创建至少3个文件(overview, progress, issues)。即使项目还没开始,也先把目标和初步计划写下来。
  4. 做第一次对话
    用你的文件系统,启动第一个对话。在第一条消息贴上文件内容,然后提出第一个具体的工作。记录:是否感受到AI对项目的理解深度?
  5. 规划下一次对话
    完成第一个对话后,更新你的三个文件。然后设计第二个对话的开头,看看如何用这些文件快速让AI进入状态。