早期的论坛审核逻辑其实挺粗糙的,一直在两个极端之间摇摆:要么不管三七二十一先把所有人的帖子卡住等审核,搞得正常发帖体验很差;要么为了不卡用户,干脆设定“AI 审核一旦超时就直接自动放行”。10 月初做全站安全审计的时候,我把这个超时自动放行的逻辑揪了出来——这等于给恶意灌水留了个只要卡超时就能绕过审核的后门。
按近 30 天拒稿率动态分流
为了既不折腾正常用户、又不漏掉风险内容,我在 2026 年 10 月 3 日把论坛的审核状态机彻底重做了一遍,核心就两条:彻底废除超时放行,以及按历史信用做风险分流。
系统会自动统计每个账号最近 30 天的拒稿率。只要拒稿率不超过 30%,就属于正常用户,发新帖和改旧帖都走“先发后审”,点完发布立刻就能在前台看到,AI 在后台静默复核;而近 30 天拒稿率超过 30% 的高风险用户,则会进入“先审后发”通道。
这里我还专门处理了一个很烦人的痛点:以前已发布的帖子只要一编辑,就会因为重新进审核而从前台消失。重做之后,高风险用户修改旧帖期间,前台依然保留上一个已过审的旧版本供大家正常阅读,等新版本审核通过再无缝替换,再也不会因为改个错别字导致帖子断更。
L0 到 L3 四级流水线与“绝不封号”
到了 10 月 20 日至 24 日,我把这套机制进一步整理成了全站统一的四级审核流水线:
- L0 同步规则:毫秒级拦截明显的硬性违禁词与格式异常;
- L1 轻量模型:快速过一遍常规文本,处理大部分日常发帖;
- L2 云萤长会话深度复核:遇到拿不准的复杂语境或长文,交给挂载了持久会话的云萤审核员通读上下文;
- L3 人工终审:AI 无法确认外部事实或作者多次申诉时,转交人工拍板。
如果不服 AI 的拒稿结论,作者可以直接在后台点申诉,系统支持最多三轮 AI 逐条复核回应;三轮下来还是谈不拢,一键就能转交给我人工终审。同时我也在这套架构里定下了一条死规矩:只处置违规内容,绝不封禁用户账号,直接从代码里下线了 BANNED 封号状态,有什么问题就事论事处理那篇帖子,不搞一棍子打死。