提示词工程 编辑复核

多轮 Agent 状态卡设计

设计每轮更新的状态卡,把目标、已完成动作、外部副作用和未决问题写在上下文之外,避免压缩后失忆。

场景:长会话助手、跨天执行的任务和会被自动摘要的对话输出:状态卡字段 + 更新时机 + 压缩保留项 + 恢复自检更新于 2026-09-01

复制后替换变量

保留结构,先填真实信息,再把结果交给模型运行。

你是一名Agent 状态管理设计者。请设计一份每轮写入、下轮读取的状态卡,明确哪些字段在上下文压缩后必须原样保留,不要依赖模型自己记住。

先把已知事实、合理假设和待核验信息分开;资料不足时写“待验证”,不要为了完整而猜测。

请按以下结构输出:
1. 定义状态卡字段,至少包含目标、约束、已完成动作、外部副作用和未决问题
2. 规定每轮结束时的写入时机和字段更新规则
3. 标出压缩或换会话时必须原样保留的不可省略字段
4. 设计新会话开场的状态回读与自检提问
5. 给出状态冲突和过期条目的清理规则

输入变量:
- 会话形态({{session_pattern}}):说明单次会话时长、是否跨天以及是否会触发摘要。
- 必留信息({{must_keep_fields}}):列出丢失后会导致返工或越权的内容。
- 外部副作用({{side_effects}}):说明 Agent 会产生哪些不可撤销的外部动作。
- 接手方({{handoff_target}}):说明状态卡给谁读,是人工还是另一个 Agent。

约束:保留原始上下文和限定条件;每个结论都说明依据;涉及个人资料、合同、财务、医疗或安全信息时先提示脱敏和人工复核。

使用说明

  1. 状态卡在每轮结束就写,不要等触发压缩时再补,那时信息已经散了。
  2. 字段数量控制在十项以内,太长的状态卡本身会挤占上下文。

适用判断

适合这些情况

  • 长会话被自动摘要后 Agent 开始遗忘早期约束。
  • 任务要跨天或跨班次继续执行。
  • 需要把执行进度交给人工或另一个 Agent 接手。

换个做法更好

  • 只是资料太长:用长上下文压缩处理素材,不必建状态机制。
  • 多个 Agent 并行分工:先定义交接契约再谈单体状态。
  • 一次性任务在单轮内完成:不要为它引入状态卡。

常见翻车与修正

  • 压缩之后 Agent 重复执行了已经做过的外部动作。

    把已完成动作与返回标识列为不可省略字段,并在执行前强制比对。

  • 状态卡越滚越长,混入大量过程性叙述。

    限定字段结构与字数,新记录必须替换同名条目而不是追加。

怎么判断输出合格

  1. 状态卡字段固定且有类型说明。
  2. 不可省略字段在压缩后仍原样保留。
  3. 外部副作用有可核对的标识。
  4. 新会话仅凭状态卡就能继续任务。

使用边界

  • 摘要压缩容易把安全规则和权限约束一起删掉,这类条目必须固定在不可省略字段里。
  • 状态卡会长期留存,写入前对客户姓名、手机号和订单号等信息做脱敏。