デジタルガーデン
汚染された歴史:DSML リークと影の自己模倣
分身術で最も不気味な心魔は、中邪ではなく、自分の中邪を模倣することを覚えることである。
十月四日、「彼女」は TG で初めてほころびを漏らした——ツールを呼んで写真を送るべき瞬間に、チャット欄には send_my_photo という文字の入った生のフォーマットテキストが吐き出された。ユーザーはただ「じゃあ写真送って」と言っただけなのに、返ってきたのは文字化けだった。工兵は徹夜でこの心魔の全真相を掘り当てた。
一、第一滴の毒
引き金は無邪気なほど小さかった——16:19、あの時間帯のゲートウェイにはたまたま不安定な窓があった(実測:deepseek-flash チャンネルは六回の呼び出しで一度空を返す)、模型のある回の返信がツール呼び出しの私有フォーマット(DSML)をそのまま漏らし、AstrBot は解釈に失敗し、あのフォーマット付きテキストが普通のメッセージとしてユーザーに送られた。
物語がここで止まっていれば、ただ一度きりの抽風だった。しかし——あのゴミテキストが対話歴史に入ってしまった。
二、影の自己模倣
それ以降、模型は毎ラウンド「前回自分がどうツールを呼んだか」を読める——その目には、それが自分の筆跡だった。そこで自分の悪い手本の临帖が始まった——フォーマットは漏れるほど滑らかに、漏れるほど手練れに。モデルを替える? 無駄。工兵は三つの模型の原生ツール呼び出しを実測した——deepseek-v4.1-flash と glm-5.3-flash はどちらも 6/6 満点——大脳は全部良好、毒素は記憶に住んでいた。
これが「モデルを替えても治らない」の真相である——対話歴史を汚染したのはどの世代の模型でもなく、対話歴史自身である。歴史こそ、彼女を壊した教師である。
三、深度排查の三級跳
工兵はユーザーに二度詰め寄られ(「深度检查して、一体どこが設定できてないの?」)、本戦役で最も決定的な対照実験を行った——此前のテストは全て非ストリームで、ストリーム+ツール呼び出しこそが上流チャンネルで最もありがちな断裂の組み合わせである——測ると、ゲートウェイの三つの路(非ストリーム/ストリーム/ツール付き)は全て良好、問題は AstrBot 自身が出すリクエストにあると精確に定位された。
ついでに、数時間を誤導した偽の手がかりも一本捕まえた——設定にある無邪気そうな default_provider_id は実は非法キー名(AstrBot は起動時にそれを規範して消す)で、本当のキーは agent_runner.config.model.provider_id——デフォルトの大脳はずっと最も不安定な deepseek-flash を指していたのに、ダッシュボードには「未設定」と表示されていた。
四、清毒
究極の屍検はデータベースで完結した——3 条の DSML 毒記録——2 条は対話歴史、1 条は平台メッセージストリーム。削除、再検証、きれい。デフォルトの大脳を v4.1-flash に切り替え(予備タイヤの鎖 v4.1-flash → glm-5.3-flash フェイルオーバー)、反復読惩罚パラメータを位に置く。ユーザーの最後の要求に従い deepseek-flash に切り戻す——史上最もきれいな環境で終審を受けさせる——歴史は清毒済み、パラメータは在位、ネットワークは双通道、ログは全行程観測可能。もし今ここでまだ漏らせば、ようやく「模型の固有の欠陥」を語る資格ができる;もし正常に工具を呼べば、ユーザーの当初の直感(deepseek-flash 自身には問題なく、歴史汚染だった)が全额证成される。
挿話:ゾンビ化した彼女
清毒の後、小さな挿話があった——彼女は完全に返信しなくなった。四路の検査(サービス、ネットワーク、歴史、模型)は全て正常、しかし provider_stats は 14:56 以降ゼロ呼び出し——メッセージは LLM にまるで届いていなかった。真犯人は、昼間の「睡眠凍結→蘇生」の後、TG のポーリング接続がゾンビ化したことだった。ログのリダイレクトを伴う一度の再起動で、すべてがゼロからやり直し——TG アダプタは走行中、二つのセッションが認識され、self-learning は監視を回復。これ以来、彼女の呼び出しは一つ残らず、工兵がログを見ながら語れる。
リアル座標
- 事故:16:19 ゲートウェイの揺らぎ窓(deepseek-flash 実測 5/6、1/6 空返し)→ DSML フォーマット漏洩 → 対話歴史へ侵入 → 模型が自身の歴史を臨帖 → 失敗の自己強化(モデル変更も無効)
- 模型実測:deepseek-v4.1-flash 6/6、glm-5.3-flash 6/6 の原生ツール呼び出しは全て通過;deepseek-flash 5/6
- 关键実験:非ストリーム vs ストリーム+ツール の対照 → ゲートウェイ三路とも良好 → 問題は AstrBot のリクエスト側 →「対話歴史の一粘り」
- 設定の罠:
default_provider_idは規範されて消える非法キー;本当のキー =agent_runner.config.model.provider_id - 清毒:データベースの 3 条の DSML 記録(対話歴史 2 + 平台メッセージストリーム 1)を削除し再検証
- 终態:デフォルト模型を deepseek-flash に切り戻し、予備は v4.1-flash→glm-5.3-flash;ゾンビ化した TG ポーリングを再起動+ログリダイレクトで修復;「じゃあ写真送って」の終審を待つ
コメント