Skip to content

9.5 多轮任务的状态与记忆

引言:为什么"状态与记忆"是 System Prompt 最难但最关键的部分

真正的工程级应用都是多轮对话系统:多轮推理、多轮规划、多轮写作、多轮 Agent 工作流。在这些场景中,模型会遇到上下文混乱、目标丢失、风格漂移、推理链断裂等问题。

State 是任务执行进度,Memory 是任务相关知识的保留方式。

9.5.1 什么是 State(任务状态)

State 指当前任务进行到什么阶段、用户意图的最新版本、模型需要依据的"工作上下文"。

状态内容说明
任务目标current goal
当前子任务active subtask
用户最新输入latest user intent
历史进度progress
持续性要求persistent rules

9.5.2 Memory 的三大类别

类别说明示例
Persistent Memory持久记忆/系统级规则,不可被用户覆盖角色、行为准则、安全规则、输出格式
Task Memory任务记忆,只在当前任务中有效用户需求、任务目标、已完成内容
Conversational Memory对话记忆/短期记忆用户上一步问题、模型上一步回答

9.5.3 哪些要记、哪些不能记

必须记不能记
任务目标(避免失焦)用户的随机闲聊
格式与风格(避免漂移)用户没有确认的假设
用户约束(字数、结构)不需要的旧内容
历史进度(避免重复)不相关信息

9.5.4 State & Memory 在 System Prompt 中的设计

# State Management(状态管理)
在多轮对话中,你必须维护以下状态:
- 用户的当前目标(current goal)
- 当前子任务(active subtask)
- 已完成的部分(progress)
- 用户明确的约束(constraints)
- 持久规则(persistent rules)

若用户改变目标,你必须更新当前状态。
不得遗忘任务目标、风格或格式要求。

9.5.5 Memory 的工程级设计

类型说明
Summary Memory内容过长时,将关键信息总结为摘要记忆
Rule Memory始终遵循的行为准则、安全要求、输出格式
Working Memory当前任务中维护的信息:当前步骤、用户最新要求

9.5.6 State & Memory 失效时的常见问题

  • 风格突然变化、输出格式混乱
  • 内容重复、忽略任务要求
  • 多轮对话丢失关键细节
  • 推理链断裂、规划任务乱序
  • 安全边界消失

9.5.7 大厂级模板

# State & Memory Design
你必须维护以下内容:
1. Current Goal(当前任务目标)
2. Active Subtask(当前子任务)
3. User Constraints(用户的限制/要求)
4. Progress Summary(任务进度摘要)
5. Persistent Rules(角色、行为、格式、安全)

你必须:
- 在任务完成前保持目标不变
- 遇到歧义时主动询问用户澄清
- 更新状态以反映用户新的指令
- 保持多轮输出一致且稳定

本节小结

关键要点

  1. State 决定任务的进行方式
  2. Memory 决定模型需要在多轮中保留哪些信息
  3. 任务相关的必须记,不相关的不能记
  4. 状态管理是稳定多轮对话的核心
  5. 大厂级 System Prompt 都包含明确的状态与记忆机制

第 9 章(System Prompt 工程)已全部完成。接下来我们将进入第 10 章 · 推理控制技术