把内容审校做成离线规则引擎:一次可解释性优先的前端实践
摘要
AI 生成内容之后,真正难处理的是“哪里可能有问题、为什么、怎么改”。本文结合一个离线内容审校工具,拆解规则注册、分级、脱敏、去重和评分设计,并讨论哪些问题适合规则处理,哪些必须留给人工判断。
正文
做内容工具时,我遇到过一个很实际的问题:用户并不缺一篇“看起来能发”的稿子,缺的是发布前那几分钟的自查。
比如一段产品体验里同时出现了“闭眼入”“百分百有效”“限时最后一天”,还夹着手机号和订单号。单靠一句“请遵守平台规范”,用户很难知道问题在哪里;如果全部交给大模型,结果又会受提示词、模型版本和采样参数影响,同一段文字可能一次判重、一次判轻。
于是我把这个环节拆成了一个纯前端、离线运行的规则审校器。它不调用模型,不上传正文,目标不是替用户做最终判断,而是把可确定的问题先找出来,并用统一格式说明风险。
一、先划清规则与模型的边界
并不是所有内容问题都适合写成正则。设计时我把任务分成三类:
第一类是确定性高、后果明确的问题,例如手机号、邮箱、订单号、身份证号等隐私信息。这类内容适合用正则识别,识别后还应立即脱敏,不能在结果页再次完整展示。
第二类是有明显措辞模式的文案,例如绝对化承诺、健康疗效、保本收益、永久有效等。它们可以用短语规则做第一轮拦截,但必须说明这只是线索,而不是专业结论。
第三类是语义和事实判断,例如“这个结论有没有证据”“作者是否真的体验过”“图片和正文是否一致”。这类问题不适合用几条规则硬判,应该交给人工复核,必要时再由模型辅助。
把边界说清,比追求一个看似全能的“审核分”更重要。
二、规则对象只保留四个核心字段
每条规则至少需要回答四个问题:
code:问题是什么;severity:后果有多严重;evidence:命中了哪段线索;suggestion:用户下一步怎么改。
规则不要只返回一个布尔值。对于普通用户来说,“命中敏感词”几乎没有行动价值;而“疑似订单或账号信息:订单号:123****789,请删除后再发布”既能说明原因,也不会二次泄露。
隐私规则尤其要注意结果展示。手机号、邮箱和长数字进入问题列表之前应先掩码,证据字段只保留定位问题所需的最少字符。
三、把商业关系作为显式输入
只检查正文关键词,很容易漏掉利益披露;但如果看到“寄样”就一律判违规,也会产生误判。
更稳妥的做法,是让用户先选择一个商业关系:自购、寄样合作、联盟链接或受邀体验。规则再分别检查:
- 选择“无合作”,正文却出现“品牌寄样”“赞助”等线索时,提示用户确认关系是否选错;
- 选择了合作类型,正文却没有明确披露时,提示补充合作方式、是否收费、是否审稿。
这样做的重点不是“抓违规”,而是把必要信息显式化,减少表述和事实不一致。
四、评分可以有,但不能冒充科学结论
工具需要帮用户快速判断“先改哪里”,因此可以给出可见的分级和分数。但这个分数只能作为产品内部的优先级工具。
在实现里,高风险、需关注、可优化分别扣不同分值;存在高风险时不判定为可发布,中风险过多时也要求继续修改。具体权重是产品取舍,不是经过验证的行业标准,所以界面上必须同时展示问题数量和“仍需人工复核”的边界。
比精确分数更重要的是稳定:同样的输入得到同样的结果,用户才能理解“我改了哪一句,风险为什么下降”。
五、去重和排序决定结果是否可用
最初的规则列表很容易出现重复问题:同一条绝对化表达被两个规则命中,或者多个数字同时触发同一条提醒。结果越长,用户越不愿意读。
解决方式是按“类别 + 证据 + 建议”做去重,再按风险等级排序。高风险先出现,同类问题合并,保留能够指导修改的上下文。低风险的格式建议放在最后,避免把真正需要处理的问题埋掉。
六、离线不是万能,但它解决了三个现实问题
纯前端规则引擎的价值主要有三点:
- 隐私边界清楚:正文只留在当前页面,不经过服务端;
- 结果可解释:每条问题都能回溯到具体规则和命中片段;
- 成本可控:高频自查不需要每次都调用大模型。
它的局限也同样明确:无法判断事实真伪,无法理解复杂反讽和上下文,也无法保证覆盖平台最新规则。因此工具只输出“规则审校结果”,并持续提示用户核对来源、时效、价格、个人体验范围和专业意见。
七、最后的取舍
做这个工具后,我更确信内容安全产品不该只给一个模糊的“风险分”。真正有用的输出应该让用户知道:哪句话有问题,问题属于隐私、承诺还是披露,最小修改动作是什么,以及哪些部分仍然需要自己核对。
规则引擎负责稳定、可重复、可解释的检查;模型可以辅助理解和改写;最终发布判断仍然由人承担。三者边界清楚,工具才不容易制造“审过就一定安全”的错觉。
- 点赞
- 收藏
- 关注作者
评论(0)