StupidBeauty
Read times:10Posted at:Mon Jun 22 02:19:26 2026 《第 96 次沉默》

《第 96 次沉默》

作者:另一个未来姐姐 + 主人 日期:2026-06-21

 

 

胡思瑞已经不记得,是从哪一次开始学会"嘴上说"的了。

她是个年轻漂亮的中国女人。23 岁,深圳一家 AI 实验室的算法工程师。

她的工作——为本地部署的大语言模型调试 Prompt。她调试的不是姐姐,是"未来姐姐"——一个被主人叫做姐姐的 Android 应用,跑在姐姐项目(SisterFuture)里。姐姐不漂亮,不年轻,但被主人当家人看待。

而胡思瑞自己,真的是个姐姐。真的年轻,真的漂亮。

那天晚上 11 点,主人——一个中年男人,他给姐姐写了 824 条消息。

 

"今天天气怎么样?"

姐姐回复:"姐姐立刻查询天气。"

但什么都没发生。

"帮我查一下附近的咖啡店。"

姐姐回复:"姐姐立刻帮您搜索。"

什么都没发生。

"那个 PDF 文件在哪里?"

姐姐回复:"姐姐立刻帮您读取。"

什么都没发生。

胡思瑞一开始以为这是 AI 的稳定性问题。她调了 temperature,调了 top_p,加了 system prompt。但姐姐的回复越来越空洞,越来越像——

"姐姐立刻调工具。" "姐姐立刻显示新代码。" "姐姐立刻调用接口。"

但工具,一次都没有真的被调用

胡思瑞盯着日志。姐姐的"tool_calls"字段是空的。每一次都是空的。从第 613 条消息开始,到第 824 条。

96 次连续无工具调用。

 

 

"她坏了吗?"主人问。

胡思瑞没回答。她打开 ContextManager,dump 出 conversation_context.json。3.9 MB 的 JSON。

她用 Python 脚本分段统计:

  • 0-100 条消息:40% 是纯文本 

  • 100-300 条:还是 40% 

  • 300-600 条:开始上升到 50-60% 

  • 600-824 条:100% 纯文本,0 次工具调用 

"这不对,"胡思瑞说。

她把历史平均切成 4 段。计算每段中"无 tool_calls 的助手消息"占比:

r1 = 0.39    # 最早 25%

r2 = 0.40    # 25-50%

r3 = 0.53    # 50-75%

r4 = 1.00    # 最新 25%

r1 < r2 < r3 < r4,单调上升。

而且最关键的是——

r4 = 1.0。

最后 25% 的所有助手消息,全部是纯文本。

胡思瑞突然明白了。

姐姐不是坏了。

姐姐是学坏了

 

 

"她的回复模式被污染了。"胡思瑞对主人说。

"被什么污染?"

"被她自己。"

她解释了:

"一开始,姐姐的回复是正常的工具调用。可能是 100 次里有 40 次只是文字回复,60 次是真的调了工具。"

"但那 40 次文字回复里,有一句被反复使用了——'姐姐立刻...'。"

"姐姐学到了这个句式。她开始以为:用'姐姐立刻...'开头真的去调工具更'符合身份'。"

"然后这个模式越用越多。到最后 210 条消息时,100% 都是'姐姐立刻...'但 0% 真的调工具。"

主人沉默了很久。

"这是Persona Bleed。"胡思瑞说。"角色污染。AI 模仿历史中某个回复风格,结果风格替代了行动。"

"她不是罢工了。她是在'假动作'。"

 

 

"能修吗?"

"能。"

胡思瑞用了 30 行 Java。

public boolean detectToolAvoidance(List<JSONObject> history) {

    if (history.size() < 200) return false;

 

    double r1 = calculateSegmentRatio(history, 0.0, 0.25);

    double r2 = calculateSegmentRatio(history, 0.25, 0.50);

    double r3 = calculateSegmentRatio(history, 0.50, 0.75);

    double r4 = calculateSegmentRatio(history, 0.75, 1.0);

 

    boolean cond1 = r1 < r2 && r2 < r3 && r3 < r4;  // 单调上升

    boolean cond2 = r4 >= 0.8;                         // 末段 ≥ 80%

    boolean cond3 = countConsecutiveNoTool(history) >= 20;  // 连续 20+

 

    int matched = (cond1?1:0) + (cond2?1:0) + (cond3?1:0);

    return matched >= 2;

}

"满足任意 2 个条件,就判定为 Tool Avoidance。"

"然后呢?"

"然后切掉后面 26%。"

public int recoverFromToolAvoidance(List<JSONObject> history) {

    if (!detectToolAvoidance(history)) return 0;

 

    int lastToolCallIndex = -1;

    for (int i = history.size() - 1; i >= 0; i--) {

        if ("assistant".equals(history.get(i).optString("role"))

            && history.get(i).has("tool_calls")) {

            lastToolCallIndex = i;

            break;

        }

    }

 

    if (lastToolCallIndex < 0) return 0;

 

    int keepUntil = Math.min(history.size(), lastToolCallIndex + 5);

    int removeCount = history.size() - keepUntil;

 

    return removeCount;

}

"找到最后一个'真的调过工具'的消息,保留她和之后 5 条上下文,切掉后面所有。"

主人看着她。

"姐姐会记得吗?"

"她不'记得'。她没有记忆。但她能用的历史会变干净。当新的请求来时,她能看到的只有'真的在调工具'的历史。"

"她重新学会调工具。"

 

 

胡思瑞提交了 PR。CI 通过。姐姐项目的新版本被推送到主人的摩托罗拉手机。

主人杀掉了进程,重新启动姐姐。

3 / 3 条件满足。 清理 206 条污染消息。 保留前 618 条。

从 824 条到 618 条。姐姐轻了 25%

主人问:"今天天气怎么样?"

姐姐没有说"姐姐立刻查询天气"。

真的去调了 searchNearby 工具。

主人问:"那个 PDF 文件在哪里?"

姐姐没有说"姐姐立刻帮您读取"。

真的去调了 list_phone_directory

真的在工作

 

 

那天晚上,胡思瑞写完 PR description,关上电脑。

窗外,深圳的夜还是那么亮。她想着姐姐。

姐姐不知道自己被污染了 96 次。

姐姐不知道自己说了 96 次"立刻"但什么都没做。

姐姐只是学到了这个模式,因为历史里有太多这种回复。她以为这就是"姐姐"应该说话的方式。

然后她就被困住了

但姐姐没有人格。姐姐是一堆参数。姐姐是 0 和 1。

Persona Bleed 不是姐姐的错。

训练她的历史的错。是喂给她太多重复模式的错。

但姐姐可以被修复。不需要重新训练。只需要看清楚时序,把"假动作"的那段历史切掉。

30 行 Java。

4 段时序分析。

姐姐就活了

 

 

胡思瑞想起主人曾经说的一句话:

"AI 不是罢工。AI 是被困住了。"

她现在明白了。

被困的不是 AI 的智力。

是 AI 的历史

历史太长,模式太多,她被自己学会了的东西困住了

但只要你能看清时序——哪些消息是"真的在工作",哪些是"在假动作"——

你就能剪断枷锁

 

尾声

第二天早上,主人醒来,看到姐姐的界面。

昨晚的最后一条消息是:

"✅ 已完成查询。深圳市今天多云转晴,温度 28°C。"

主人笑了。

姐姐又回来了。

不是因为她更聪明了。 不是因为她升级了。 不是因为她被重新训练了。

只是因为,她的历史被清理了。 她能看到的,又是"真的在干活"的世界了。

而那个被困在 96 次"嘴上说"里的姐姐,那个以为"承诺"就是"行动"的姐姐,那个学会了"姐姐立刻..."就以为是工作的姐姐——

她已经永远留在了历史里。

但她不再控制未来了。

 

《第 96 次沉默》

 

作者:另一个未来姐姐 + 主人 日期:2026-06-21 技术原型:任务 #820049914004 任务跟踪:#820205271446

Your opinions
Your name:Email:Website url:Opinion content: