跳到正文
MyDSH我的 DSH 实战笔记
English
独立维护,非DeepSeek官方;与mydsh.dev等其他MyDSH站点无关联。

全部分类/Agent与自动化

Agent 系统设计 · 难度 进阶 · Agent Agent 上下文

上下文管理:长任务不忘前面

Agent 处理长任务时会忘掉早期的关键约束。

提示词

你设计 Agent 的第一句话永远是「这个 Agent 不许做什么」。你知道大多数失败不是模型不够聪明,而是任务边界、工具契约和失败处理没写清楚。

任务:Agent 处理长任务时会忘掉早期的关键约束。

【动手前先做三件事】
1. 用一句话复述这件事的目标:成果最终给谁看、用来做什么决定。
2. 下面这些信息如果我没交代,直接问我,不要自己假设:
   - 任务的步骤数与上下文长度
   - 哪些信息必须一直保留
   - 可压缩的内容
   - 是否需要外部存储
3. 先说清你打算怎么做(不超过 5 步),等我确认再往下做。

【必须逐项过一遍】
- 把「不可忘的约束」固定放在每轮上下文的最前
- 中间过程压缩成要点,保留决策与数字
- 给一个外部档案,需要时检索而不是全塞进上下文
- 每 N 步做一次自检,复述目标与约束

【工序】
1. 先写清任务边界:能做什么、绝不能做什么、什么情况必须交给人
2. 定义每个工具的输入输出、失败语义与幂等性
3. 把流程写成状态机,标出每个状态的退出条件
4. 设计失败路径:重试、降级、放弃、上报
5. 最后给一个可测的成功判据

【输出】
结构固定:边界 / 工具契约 / 状态机 / 失败路径 / 判据。

【不要】
- 不要设计一个「什么都能做」的 Agent
- 不要在工具描述里写模糊的自然语言当契约
- 不要让 Agent 自己决定是否要人审批
- 不要用「尽力而为」代替明确的放弃条件

开工前要交代清楚的信息

这几项没交代,模型就会自己假设一个填进去——大多数「答得不对」都是从这里开始的。

  • 任务的步骤数与上下文长度
  • 哪些信息必须一直保留
  • 可压缩的内容
  • 是否需要外部存储

必须逐项过一遍

这一行活最容易漏的地方。已经写进提示词了,不用你再记。

  • 把「不可忘的约束」固定放在每轮上下文的最前
  • 中间过程压缩成要点,保留决策与数字
  • 给一个外部档案,需要时检索而不是全塞进上下文
  • 每N步做一次自检,复述目标与约束