跟 AI 聊天或者看 AI 写的总结,最让人出戏的有两个瞬间:一是群友发了个最新的 B 站热梗或群内黑话,机器人像个老干部一样完全听不懂,或者反过来每句话都硬塞烂梗尬聊;二是让 AI 写服务器周报,它张嘴就是“引发热议”、“勾勒出……的脉络”这种味儿冲得不行的公文套话。10 月中旬,我专门动手治了这两个毛病。

懂梗但绝不硬玩梗:Slang Curator

2026 年 10 月 12 日(Commit 65201a8),我给云萤加上了专门负责收集和理解网络热梗的 slang-curator-dsh。

它会在后台自动订阅 B 站热门 UP 主的字幕和 RSS 源,再结合群里的真实聊天记录,提炼出每个梗到底是什么意思、在什么气氛下用才自然、什么时候千万别乱用。为了防止把提示词撑爆或者拖慢回复速度,我给梗库注入设了极其严苛的闸门:每次最多只给 3 条背景理解 + 2 条顺手可用的表达推荐,总体积严格卡在 900 字节预算以内,检索耗时超过 150 毫秒就直接跳过。上线前我还专门跑了 200 条合成评测集和双盲打分脚本,确认她是真的“听得懂言外之意,但说话依然清爽”。

敢写 AI 套话?直接 HTTP 400 打回重改!

到了 10 月 20 日(Commit 57c5791),我又去收拾了负责写 MC 服务器周报的云萤史官,推出了史官周报 v2。

以前直接把数据库里的英文原始事件(比如 DEATH、LAVA、各种原始坐标和每 5 分钟一次的在线心跳包)喂给模型,模型写出来的报告经常夹杂着 p1、p2 这种匿名代号或者一长串 UUID,读起来像机器报错日志。

这次我先在数据快照层做了大扫除:把每 5 分钟一次的在线噪音全过滤掉,把英文事件码提前翻译成大白话的中文单行纪事。更狠的是,我在服务端入库接口上加了一道可读性硬校验——只要模型交上来的周报里敢漏出 p1/p2 代号、未脱敏的 UUID,或者敢出现“脉络”、“引发热议”这类黑名单里的典型 AI 腔词句,服务端直接抛出 HTTP 400 错误并附上具体违规位置,逼着它当场重写,直到写出一篇像真人玩家写的周报为止。