DSH 疯狂复读"让我执行",折腾了两天,凶手竟然是……

香酥烤鱼 2026-08-27 20:15 1

事故现场


昨天用上了梁神的DSH,马上开蹬,一看这么多插件,这么多功能,都给我开起来。


跑着跑着突然发现它开始"鬼打墙"了:



一开始以为是偶发,等了一会儿,好家伙,越转越快,跟仓鼠跑轮似的,完全停不下来。


排查过程(血泪史)


这还能难得到我?


第一招:重启大法


我寻思这跟浏览器卡了一样,重开一个 Session 不就好了?


新开。


结果:还是循环。


只不过换了个花样,从"让我搜索"变成了"让我读取。让我直接执行。让我读取。让我直接执行。"


行,重启不管用。


第二招:上网搜索


去搜"API死循环"、“DSH死循环”、“梁神模式配置文件”。


搜到一堆论文和 GitHub Issue,什么"注意力崩溃"、“自回归重复采样”、“上下文污染”……说得都很有道理,但没有一个能直接对应我的情况。


行,搜索也不管用。


第三招:改预设配置


我用的是自定义的"梁神模式"(liangshen preset)。


我怀疑是配置问题:



  • 调整 promoteAfterFirstResponse

  • 改提示词


改完,新开,测试。


还是循环。


只不过这次变成了"让我看 build_daily_npc_click_payload 的完整实现……我已经看过……让我看……我已经看过……让我看……"


行,配置也不管用。


第四招:改 AGENTS.md


我想,既然工具层面管不住你,那我在项目规则里加"紧箍咒"总行了吧?


于是在 AGENTS.md 最顶部加了一大段:


## 0. Agent 搜索工具纪律(最高优先级)
1. 禁止通过 bash 调用 grep/findstr……
2. 优先使用框架内置工具……
3. 禁止用 run_code 循环读大文件……
4. 连续两次搜索失败必须停止……

加完,新开,测试。


还是循环。


只不过这次变成了"让我搜索 0x0027 的 handler。让我先确认 0x0027 是否更新任务页。让我搜索……"然后无限复读。


我甚至在里面写了"禁止输出让我搜索",结果它在内部推理里循环,根本不走输出层。


行,规则也不管用。


第五招:真凶浮出水面


就在我快要放弃、准备换个模型或者干脆手动写代码的时候,我突然想到一件事:


是不是插件出的问题,但是没报错啊,排查了下装了一个叫 Hindsight 的插件(一个给 Coding Agent 用的长期记忆/知识库插件)。这个插件在市场上下载量很高,安装即用,不需要配置,就一键下载了。仔细了解才发现这个插件会在每次请求时,自动往上下文里注入历史 Session 摘要、过去的代码决策、Knowledge Pages……


我试着把它删了。


新开 Session。


秒回。


速度巨快,逻辑清晰,工具调用干脆利落,再也没有"让我让我让我"。


真相大白


复盘一下:


Hindsight 插件在每次请求时都会注入大量历史记忆。可能在之前的项目中,模型错误的使用了相应的工具,hindsight记住了错误的协议推测。在之后的会话中,模型看到当前代码和历史记忆冲突,就陷入了"让我确认……不对……让我再看……还是不对……让我确认……"的死循环。


简单说就是:模型被自己的"前世记忆"逼疯了。


教训总结



  1. 不要一股脑安装所有插件。 看到"增强记忆"、“知识库”、"自动上下文"就觉得香,全装上。实际上每个插件都会在注入内容、占用上下文、干扰模型决策。装之前先想清楚:我当前的任务真的需要它吗?

  2. Agent 死循环不一定是 提示词 的问题。 可能是上下文污染、工具链冲突、或者第三方插件在背后搞鬼。

  3. 排查顺序应该是:插件 → 工具链 → 上下文 → 预设 → 提示词。 我之前反过来了,所以白折腾了半天。

  4. Hindsight等记忆类插件更适合写作类项目 比如写项目文档、做架构设计、讨论业务需求、或者让它帮你回忆“上周我们定的目录规范是什么”时绝对是首选。



最新回复 (12)
  • 塔兰 08-27 20:18
    1

    现在LLM和Harness的关系越来越重了,Harness的问题对模型智能的影响也越来越显著了,我还记得 GLM 之前还遇到过后端部署丢 tool call 返回导致模型一直死循环输出的。

  • GGBoy 08-27 20:20
    2

    不如装一个我的模型配置插件,爽用各种模型。

  • 香酥烤鱼 楼主 08-27 20:24
    3

    对的,一款能力强的模型需要搭配合适的harness才行

  • 香酥烤鱼 楼主 08-27 20:27
    4

    可以的,有空试一试大佬的模型插件

  • MiaoNay 08-27 20:28
    5

    影响上下文和提示词的插件真的需要很慎重

    包括skill和工具,全局只保留最基本的几个,并且都是经过针对自己环境的适配和精简的,其他大多数都留在项目级别就够了

  • GGBoy 08-27 20:30
    6

    没错,各种skill太多了真的会污染上下文,一般都很少用skill了。

  • supanono 08-27 20:33
    7

    这倒是有体会,刚才在 Codex 里试了下 GLM-5.3-Flash

    一个给 H5 单页面里的文本框组件加一个复制按钮的需求,空转 30min 烧掉 20M tokens,啥也没干成



    不得不浪费额度再让 GPT-5.6 修好


    生完气想想也是,人家跑分对标的 Terra(但我还是得说这个需求 Luna 都不能给我做成这样),Benchmark 应该也是用的 ZCode


    所以以后最好是用在自家产品上了,GLM + ZCode,DS + DSH,再或者用 Opencode、Pi 这种完全开源的项目,竞品大概率全靠模型智力力大砖飞了

  • zj0135 08-27 20:35
    8

    我一直没搞懂长期记忆的作用,我一直都是每个项目就一个AGENTS.md文件。

    长期记忆就是让记住自己的一些习惯?比如代码风格,命名之类的?

  • 塔兰 08-27 20:42
    9

    我也遇到过很简单的任务 Luna 就死活犯蠢,换成 DeepSeek V4 Flash 发而一下就搞成的,感觉现在这些 Flash 模型太依赖后训练的覆盖范围了,擅长和不擅长的任务一脚天一脚地的。

  • supanono 08-27 20:46
    10

    对,差不多是这个意思


    拿 Codex 的 ~/.codex/AGENTS.md 举例


    我最开始在 Ubuntu 用,不喜欢 GPT-5.4 说话风格,只需要加入约束风格的内容就可以


    ChatGPT App 和 Codex 合流 + GPT-5.6 发了之后,我开始在原生 Windows 用,

    为了解决 Windows 原生命令效率问题,还会安装 MCP 或者 linux 用顺手的工具,就需要加上一些对 grep, find, read…… 这些工具调用的约定,

    之后为了解决 subagents 硬伤,还加入了些对子代理行为的强约束


    以及如果用一些作用比较底层、不全局生效就没用或者出 BUG 的 MCP,比如 fastctxcodegraph,也会在安装的时候把自己的提示词写到 ~/.codex/AGENTS.md

  • 路人A 08-27 20:56
    11

    不是很认同记忆会影响AI调工具 ^-^,尤其是没有显示调用工具失败的情况,毕竟每次AI调用时都会在字段里附上可用的tools。


    有可能是这个插件写得太屎了,把工具搞没了?

  • 香酥烤鱼 楼主 08-28 00:20
    12

    我怀疑是我的上下文到上限了,我好像没设置自动压缩的上下文大小。。然后撑爆了无限输出,影响到了记忆插件

* 帖子来源Linux.do
返回