Skip to content

12.5 提示链状态管理(State Management)

引言:为什么提示链必须管理"状态"

大模型不会"自动记住"你的状态。如果没有明确的状态管理策略,在多阶段任务中将出现模型忘记上一步内容、混淆步骤、任务链中断等问题。Prompt State Management 确保每个步骤都能在明确、正确、可控的状态下运行。

12.5.1 什么是提示链"状态"

状态(State)指的是:在任务流程中,每一个步骤所需要的上下文、变量、历史信息、结构化数据集合。

状态内容说明
当前步骤Step ID
已完成的子任务历史记录
中间结构结果如大纲
限制条件约束
变量主题、参数、风格设定

12.5.2 最常失败的三类状态问题

问题说明
状态丢失模型突然忘记主题、步骤、前文
状态污染模型把不同步骤的输出混在一起
状态漂移模型突然改变原本规则(风格、格式等)

12.5.3 三种工程级状态管理方法

方法说明适用场景
显式状态管理将状态显式写入 Prompt稳定、可控、易 debug
结构化状态对象使用 JSON 作为"状态容器"可扩展、易于程序读取
外部状态管理状态放在内存/数据库/Session企业系统、多模型协作

12.5.4 七种核心状态管理技术

技术说明
状态封装把所有关键状态放在一个结构块内
状态冻结步骤完成后冻结输出,不允许修改
状态校验每一步检查是否满足输入要求
状态提醒在每一步 Prompt 中加入当前状态说明
状态隔离不同步骤之间的数据彼此隔离
状态压缩对长上下文压缩成短描述
状态回滚如果生成错误,回到上一状态重做

12.5.5 状态管理模板

# 状态管理规则
1. 当前状态 = {state}
2. 本状态对应任务 = {task_description}
3. 本状态必须输出 = {required_output_format}
4. 不允许执行的行为 = {forbidden_actions}
5. 若输入不完整,必须立即要求澄清
6. 状态结束后不得引用下一阶段任务

12.5.6 常见错误

错误后果
每一步没有明确的状态说明模型混乱
状态中混入无关内容状态污染
未冻结上一阶段状态模型任意改写
状态过长token 超限

本节小结

关键要点

  1. 状态管理是 Prompt 系统的核心
  2. 模型是无状态的,必须人为构建"状态系统"
  3. 三种方式:显式状态、结构化状态、外部状态
  4. 必须加入状态验证、防污染、防漂移机制

状态管理是 Pipeline 的关键,接下来我们将学习:Pipeline 综合案例