Repository navigation
[Bug] 思考通道(reasoning)退化:中文思考下「最短独立句」自我复制,flash 系易发 #9524
Replies: 2 comments
|
Thanks — this is a well-instrumented report, and the channel distinction is the part that matters. Adding what the shipped sources say, because the two repetition guards that already sit on The harness itself ships no repetition guard. The only A second guard sits on the same seam, and it is reasoning-blind on purpose. So your shape has no rule that can act while the call is open:
That is inverted for a 99%-single-character block: the worst call is the one nothing can interrupt, and by the time the post-call rule reads it, the call has already spent its whole output budget. Why the visible-output rule cannot simply be pointed at reasoning. Two of its guards are load-bearing for output and wrong for reasoning:
On your two criteria as guard inputs. Both are corpus measures over a finished block; a mid-stream guard only ever holds a prefix, so it cannot compute a block-tail rate or an LRS. What it can use is what the visible breaker already uses: an exact periodic tail. Under that measure your A-type and B-type collapse into one rule ("好。" is period 2 with two distinct characters, "Go. " is period 4), and the measure is false-positive-free by construction on near-repeats — the reason the reasoning channel needs its own thresholds is the first bullet above, not a different algorithm. I am adding an intra-call reasoning rule to that plugin — its own thresholds, and an explicit decision about period 1 rather than inheriting the divider rule — and will post it here when it ships. To be clear about what it is: a guard, not a fix. That v4-pro does not degrade in the same environment says the propensity is model- and tier-side; the guard's job is to stop the session from being spent on the block and to get a correction into the next turn. |
|
Shipped: What it does for your shape. The plugin observes the public - insert:
- id: thinking-loop-guard
name: '@argszero/cordis-plugin-thinking-loop-guard' # mount once; defaults are onIt runs the same scan as the visible-output rule and differs in exactly one dimension: a one-character period is admitted when the repeated character is content (a letter or a digit). That difference is your first finding restated as code — the visible rule refuses period 1 to spare Measured, on your two shapes. Under the shipped defaults each is cut at exactly 256 characters of reasoning — your A-type's Your two criteria, re-read as guard inputs. Both are corpus measures over a finished block — a block-tail rate and a longest repeated run. A mid-stream guard only ever holds a prefix, so it cannot compute either; what it can use is what the visible breaker already uses, an exact periodic tail. Under that measure your A-type and B-type collapse into one rule ( To check it against your own data. The package ships node node_modules/@argszero/cordis-plugin-thinking-loop-guard/tools/analyze-session.mjs ~/.dsh/sessions/<session>.jsonlWhat it is not. A guard, not a fix. It ends the degenerate call and steers the resumed turn; it does not stop a model from collapsing again, and it deliberately offers no fallback model and no automatic retry, because silently re-billing a degenerate model is worse than the loop. Your pro-versus-flash control is the strongest evidence for where the propensity actually lives, and this plugin is the layer that limits what a collapse costs. Evidence. 109 tests ( |
Uh oh!
There was an error while loading. Please reload this page.
(拟接官方既有讨论:#4841「正文输出 000000」、#3480「repetition guard 提议」)
================================================================
一、摘要
DeepSeek Harness + deepseek-vision 渠道 + flash 系模型 + 中文思考时,思考块会退化成「能独立成句的最短单元」的自我复制——中文单字(好。好。好。)或英文行动 token(Go. Go. Go.)。严重时整块约 99% 是单字、正文被吞、会话走到失能。换成 v4-pro 后同一环境、同一中文思考下症状消失。
与 #4841(正文输出 000000)、ollama #17892(正文段落复读 221 次)同属「最短独立句自复制」,但本案发生在思考通道(reasoning),而 #3480 的守卫默认忽略 reasoning。
英文摘要(English Abstract)
Under the deepseek-vision channel with flash-tier models, when the model's reasoning language (the thinking channel, rather than the output text) is Chinese, the thinking block degenerates into self-replication of the shortest standalone sentence — single Chinese characters (好。好。好。) or English action tokens (Go. Go. Go.). In severe cases up to ~99% of one block consists of a single repeated character, the reply can be swallowed, and the session becomes unresponsive. Switching to v4-pro under otherwise identical conditions makes it disappear. This is the same "minimal-standalone-sentence replication" as reported in #4841 (text-channel 000000) and #17892 (text-channel paragraph repetition), but it occurs in the reasoning channel — which #3480's guard ignores by default.
================================================================
二、现象(两型)
【A 型 · 收尾简写】
【B 型 · 行动催促】
================================================================
三、复现
环境:deepseek-vision 渠道 + deepseek-flash / deepseek-v4-flash + 思考语言 = 中文 + 长会话(跨天 / 有上下文压缩更易发)。
触发链:会话【第一段】被中文锚定(例如首条消息写「请用中文思考」)→ 中文思考 → 句尾单字化 → 单字循环(严重时可能伴随内吞;二者是否同因待查,见「噪音与吞是独立故障」)。
抑制:换 deepseek-v4-pro(其余变量全不变)→ 单字当场消失(实测)。
================================================================
四、判据(可复现量化;工具已随双机工作区同步,可随附提供)
判据一 · 块尾单字率(short block-tail rate,≤2 字符的块尾片段占比)
判据二 · LRS(longest repeated fragment run,最长连续相同片段游程)
================================================================
五、机理(五条)
思考语言 ≠ 输出语言;语言在「新 turn 第一段」锁定,turn 中途重申无法改回(Reasonix PR [Bug] Two concurrent owners corrupt one session log, then the whole history fails to load with a misleading "torn JSONL record" error #6500 实测 0/4)。
最短独立句复制是语言无关的:中文塌成「好。」、英文塌成「Let me go.」,同一机制两张皮。全机验证「Let me go.」独立成句块数:
(flash 系合计 113 次、99% 带工具;pro 631 块仅 1 次——机理 4 的直接量化)
单 token 吸子:复读 = 自回归吸子。6c3117db 三阶段实拍:混战(执行/好/Emit/go. 交替)→ 连续 6 桶 100%「好」→ LRS 75→7298。外部注入(工具结果 / 新消息)= 破吸子,因此理论上不需熔断,检测 + 打断注入即可。
flash 易感:pro 也用最短句但「用而不塌」,flash「用而塌缩锁定」(活跃参数按官方 V4 Preview 规格:Flash 13B / Pro 49B)。
通道转移:英文思考病发正文(输出了大量异常内容,浪费我token #4841 / #17892),中文思考病发思考(本案)。
================================================================
六、双机数据(两机工具输出一致,判据可复现)
================================================================
七、修复建议
================================================================
八、环境
DSH 0.1.5-rc.1 / deepseek-vision 渠道 / Windows / 双机(家机 PC-20260430SMHX、公司机 DESKTOP-EF1HGIE)。
All reactions