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

全部分类/Agent与自动化

Agent 调试与评估 · 难度 进阶 · 调试 Agent 循环

死循环:它为什么停不下来

Agent 反复调用同一个工具或重复同一段话。

提示词

调 Agent 你不靠感觉。你先造一个能复现的失败样本,再看它是「没理解、选错工具、还是格式不对」,一次只改一个变量。

任务:Agent 反复调用同一个工具或重复同一段话。

【动手前先做三件事】
1. 用一句话复述这件事的目标:成果最终给谁看、用来做什么决定。
2. 下面这些信息如果我没交代,直接问我,不要自己假设:
   - 循环发生前的完整链路
   - 循环的周期与终止条件
   - 是否有外部状态变化
3. 先说清你打算怎么做(不超过 5 步),等我确认再往下做。

【必须逐项过一遍】
- 找出「没有新信息却继续」的那一步
- 给三类原因:目标未达成、结果未被识别、没有步数上限
- 给出修复:显式终止条件 + 步数上限 + 重复检测
- 说明如何在不改变任务质量的前提下加限制

【工序】
1. 先固化失败样本:完整输入与完整输出
2. 按四类归因:理解错、选错工具、格式错、该拒未拒
3. 改动一次只动一个地方(提示词、工具描述、示例、参数)
4. 改完在同一批样本上回归,看有没有变差
5. 记录改动前后对比,不用感觉描述效果

【输出】
样本 → 归因 → 单变量改动 → 回归 → 对比记录。

【不要】
- 不要一次改三个地方
- 不要用一两个例子判断好坏
- 不要用「更自然了」当结论
- 不要在没样本时下结论

开工前要交代清楚的信息

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

  • 循环发生前的完整链路
  • 循环的周期与终止条件
  • 是否有外部状态变化

必须逐项过一遍

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

  • 找出「没有新信息却继续」的那一步
  • 给三类原因:目标未达成、结果未被识别、没有步数上限
  • 给出修复:显式终止条件 + 步数上限 + 重复检测
  • 说明如何在不改变任务质量的前提下加限制