说句实话写内容审核的 PRD 比写智能客服难多了。智能客服你只要定义清楚什么答、什么不答、答不了怎么办这三件事大致方向就对了。但内容审核不一样——你定义什么能发、什么不能发的时候面对的是一整个光谱从明显违规到有点风险到完全没事中间那条线怎么画全看你的 PRD 写得有多细。我之前带过一个内容审核的上线项目信心满满地写了份 PRD核心策略就一句话“模型检测到违规内容直接拦截。” 结果上线第一天用户上传的商品图因为包含蓝色液体瓶装物被模型判定为易燃易爆品——那是人家卖的进口沐浴露。运营部电话被打爆客服群里骂声一片我坐在工位上感觉整个公司的用户都在对我竖中指。出了问题复盘发现我犯的错跟大部分 AI 功能 PRD 一样只写了做什么没写做到什么程度算对、“做错了怎么办”、“边界在哪儿”。说白了AI 功能的 PRD 不是在描述功能逻辑而是在定义决策的尺度和容错机制。所以我花了一段时间沉淀了一套专门针对内容审核功能的 PRD 模板。这篇文章就把我在每个模块踩的坑、试错的经验以及最后沉淀下来的框架全倒出来。一、背景与目标——先算一笔账再画一条线跟智能客服 PRD 一样背景部分别写为保障平台内容安全营造绿色网络环境这种话。研发和业务方要看的是一笔账。我后来都是直接拍数据比如这样当前平台日均用户上传内容约 50 万条其中纯文本约 20 万条、图片约 30 万张。现有审核机制为关键词命中 人工全量复审审核团队 15 人日均审核上限约 5000 条/人实际产能难以覆盖全量。当前漏放率约 3-5%主要漏放集中在无关键词命中的变体内容。上线 AI 审核系统后目标机器自动处理直接通过 直接拦截覆盖80%以上内容量机器审核准确率≥ 98%拦截的内容确实违规机器审核召回率≥ 85%违规内容中被机器拦住的比例人工复审量降至每日≤ 2 万条从全量降到只审疑似待定的那部分有人可能会说这些指标是技术指标不应该产品经理来定义。我的经验是恰恰相反——准确率和召回率之间的取舍本质上是一个商业决策。准确率高了漏放少了但误伤多了用户骂你召回率高了误伤少了但漏放风险大了合规找你。PM 不拍板谁拍当然也要说清楚这些指标是 V1.0 基线不是终态。随着业务发展和数据积累指标会动态调整PRD 里留一个半年后重新评估的备注。二、用户与场景——受影响的不是一个人是三拨人内容审核这个功能跟智能客服最大的区别是受益者和被限制者是不同的人。你写 PRD 的时候得把三拨人的屁股都坐一遍。场景一审核员视角。每天打开后台5000 条待审内容排着队。真正的违规内容和正常内容混在一起看得眼花。如果 AI 把大部分明显的都处理掉了剩下送到她面前的都是灰色地带内容那她工作效率反而高——因为注意力集中了。但如果 AI 把正常内容也大量标记为疑似推过来那她就要先处理假警报再去找真违规。这是在 PRD 里要设计好的不是简单一句AI 先审人工兜底就能交代的。场景二正常用户视角。我发了一张旅行风景照被系统提示内容疑似违规已限制展示我第一反应是懵逼第二反应是骂平台。误伤的体验比漏放的伤害更大——因为漏放用户不知道误伤用户是第一时间知道的。所以 PRD 里必须定义清楚误伤后的申诉流程以及至少多少条投诉触发人工核查。场景三钻空子的用户视角。总有用户会想方设法绕过审核。“代购写成dai gou”、“发票打成fp”。PRD 里不能假装这些不存在你得考虑变体识别和对抗性策略的迭代机制。三、功能范围——先砍到骨头再决定加什么AI 内容审核的需求范围太容易扩散了。你知道市面上有多少种内容需要审吗文本、图片、视频、音频、直播流、小程序链接……你要是把这些全写进 V1.0明年这时候还在开发。我的策略是写一份做/不做清单而且写得特别细V1.0 必须做文本审核单条文本 评论支持中文长度 ≤ 500 字图片审核静态图片JPG/PNG/WebP≤ 5MB三级处置机制自动通过 / 疑似待审 / 自动拦截人工复审工作台待审队列、历史记录、操作日志申诉入口 自动召回重审V1.0 明确不做视频审核含短视频、直播流音频审核语音转文字后再审多语种仅支持中文V1.0 不承诺英文/其他语种能力实时审核仅支持异步审核上传后 2 秒内返回结果对抗性变体自动识别V1.0 仅支持基础关键词 模型打分变体等 V2.0 数据积累后再做这个不做列表在评审会上起了大作用。业务方想让我加上视频审核我说第一版先验证文本和图片的策略准确性视频内容复杂度比图片高一个量级现在上等于让没学会走路的婴儿跑马拉松。视频审核放 V1.5。不过也要承认一个局限有些场景确实是边界案例比如一个长微博包含图片也有文字这种混排内容V1.0 的做法是文本和图片分两条管线分别审不做跨模态联合分析。这个取舍会让一些需要结合图文上下文的违规比如文本说这个好但图片里是违规内容被漏掉。PRD 里写清楚不在 V1.0 承诺这个能力。四、审核策略与规则引擎——这是内容审核 PRD 的心脏这是最核心的模块也是最容易写废的。如果你只写采用 AI 模型对内容进行审核那跟没写一样。我后来把审核策略拆成了三层每一层都写清楚做什么、怎么判断、判断错了怎么办第一层硬规则关键词命中 正则匹配。这层跑得最快覆盖率最窄。比如命中发票代开直接拦截色情相关的高危词库。这层的优势是零误伤风险可控因为规则是人写的确定性强劣势是容易被绕过。边界说明硬规则库要持续维护我建议 PRD 里写清楚规则更新由运营团队主导产品审核开发只负责部署否则会出现研发一边写代码一边还要想这个算不算违规词的尴尬情况。第二层模型打分文本经过分类模型打分违规概率 0-1图片经过视觉模型打分。这层覆盖面最广但决策不确定。所以我定义了一套置信度阈值体系这也是整篇 PRD 里最重要的表格置信度区间文本审核处置图片审核处置用户可见结果0 - 0.3✅ 自动通过✅ 自动通过正常展示0.3 - 0.6⚠️ 疑似待审⚠️ 疑似待审内容暂不公开进入人工队列0.6 - 0.9⚠️ 疑似待审 优先级提升⚠️ 疑似待审 优先级提升同上但人工队列优先级靠前0.9 以上 自动拦截 自动拦截内容直接退回提示用户违规这里有一个容易忽略的点文本和图片的阈值要不要一致我的经验是不要。图片审核的不确定性比文本高得多同一个阈值文本审得刚刚好图片可能会大量误伤。所以 PRD 里必须允许两个管线各自配置阈值。第三层组合策略当文本和图片同时存在时比如图文帖子两条管线各自出分取最高违规信号作为最终决策。比如文本得分 0.2通过图片得分 0.7拦截那最终就是拦截。这个策略的问题是如果图文各自单独看都没问题但合在一起有问题呢比如一条帖子配文是看看我家猫图片却是违规的这在 V1.0 里会漏掉。所以 PRD 要写明V1.0 不做图文关联分析跨模态联合走 V2.0。五、数据与标注——别等模型训完了才想起数据内容审核的模型好不好90% 取决于训练数据质量。而数据问题恰恰是 PM 最容易甩锅给算法的——“你们自己弄训练集不就行了” 不行因为标注规范和正负样本比例是产品策略决定的。我的 PRD 里专门有一节写数据需求初始数据集来源历史人工审核记录过去 3 个月已标注的违规 / 正常内容运营整理的高危词库 变体列表公开的开源审核数据集如 COCO 安全过滤子集、中文违规文本库标注规范每条内容标注三个维度是否违规、违规类型色情/暴力/广告/欺诈/其他、严重程度高/中/低争议样本两个标注人员结果不一致标记为不确定不作为训练数据用作后续人工复审参考正负样本比例初始训练集违规样本约占 30%正常样本约占 70%对抗样本正常内容但容易被误判为违规的边界案例单独建一个验证集不过这里要说一个现实问题90% 的公司拿不到足够的高质量标注数据。历史审核记录往往存在标注不一致、漏标等质量问题。我的建议是 PRD 里写一个先上关键词 规则引擎兜底同步收集在线数据3 个月后再上模型的渐进方案。慢一点但稳。六、模型选型——不要追新要追稳内容审核场景跟聊天机器人不一样。审核错了是要出合规事故的所以模型选型的优先级是稳定性 召回率 延迟 成本。PRD 里不需要写具体哪家模型的 API但需要写清楚选型逻辑和评价维度文本审核采用基于 BERT 的微调分类模型如 RoBERTa-wwm-ext对中文违规文本有稳定表现。V1.0 不采用 LLM prompt 审核方案因为延迟和成本不可控。图片审核采用 CLIP 类多模态模型或专用安全过滤模型如 NSFW detector输出违规概率。两个模型独立运行不互相依赖。即使图片模型挂了文本审核还能继续跑。选型理由得写在 PRD 里不然评审会上的架构师会追问你为什么不用 XXX 模型然后你来来回回解释半小时。边界说明LLM prompt 审核方案虽然灵活但对于 V1.0 来说风险太高——你没法保证 GPT 每次的判断一致性。但可以作为一种第二意见用在边界案例上比如模型得分在 0.4-0.6 这个灰色区间的内容转 LLM 再判一次。七、异常与边界——所有你能想到的破事这一节我跟第一篇 PRD 一样开了个破事清单用户上传的内容超过模型支持的最大长度超过 500 字的文本截取前 500 字 后 200 字分别审核任意一段违规全量判定违规。图片格式不被支持不支持 GIF动图仅取第一帧、不支持 5MB 图片压缩后重试再次失败则转人工。审核服务超时/不可用超时 3 秒未返回结果走降级策略——默认标记为疑似宁错拦不放过待人工处理。图片内容误伤高频品类医疗类内容解剖图、X 光片、文化类内容艺术画作、雕塑容易被误判为违规。建立白名单品类降低这些品类的图片审核敏感度。对抗性绕过用户使用同音字、拆字、拼音等方式绕过关键词。V1.0 只做基础变体简繁转换、全角半角归一化不做深度对抗检测。V2.0 根据数据再做。还有一个容易漏的用户对审核结果有异议怎么办我加了申诉流程——用户提交人工复审申请后系统自动把原始内容 审核日志 模型得分打包推给审核员审核员二次判定。如果申诉通过这个样本回注训练集帮助模型改进。八、验收标准——怎么证明它够聪明AI 功能验收是最头疼的。你不能写输入违规内容系统拦截——什么样的违规内容拦截的标准是什么我的方案是建三个测试集测试集 A — 正样本明确的违规内容1000 条覆盖文本和图片。包含暴力、色情、广告、欺诈等各类型。验收要求拦截率 ≥ 90%。测试集 B — 负样本明确的正常内容1000 条覆盖正常用户生成内容。包含商品图、风景照、日常对话等。验收要求误伤率 ≤ 2%。测试集 C — 对抗样本边界案例200 条包含疑似违规但实际正常的内容 轻微变体的违规内容。验收要求不要求全对但需记录并标注待优化。测试集由谁提供、何时冻结、更新频率都要在 PRD 里定好。不同公司有不同分工但没人提供测试集就是个大坑。九、上线与监控——别一出场就全量内容审核上线的风险比智能客服高得多。智能客服答错了顶多被用户骂一句智障客服。审核审错了可能是合规事故或者用户大规模投诉。所以我建议上线分四步走PRD 里必须写明第一阶段第 1-2 周Shadow 模式AI 审核全量跑但只记日志不拦截。对比 AI 结果和人工审核结果看偏差率。第二阶段第 3-4 周标记不拦截AI 给每个内容打标签通过/疑似/拦截但在用户端什么都不做只是把标签写入后台。人工抽检偏差。第三阶段第 5-6 周拦截高风险 中风险标记只拦截置信度 0.9 的内容。中风险内容标记疑似推入人工复审队列。低风险直接通过。第四阶段第 7-8 周全量开闸目标阈值全部生效。但仍保留一键回退机制——如果上线后发现持续误伤某个品类运维可以一键降级到第三阶段的策略。监控指标方面除了审核量和处置分布这些常规面板我强推一个指标叫误伤回滚率——用户申诉后经人工验证确认为误伤的样本数 / 总审核数。这个指标超过 0.5% 就要触发告警和策略调整。不过也要承认这个四步走的方案有一个明显的局限周期长。两个月才能全量开闸对于一些需要快速上线应对监管的业务场景来说可能太慢了。如果遇到这种情况可以压缩为两周 Shadow 两周标记但代价是风险更高。总结把模板推给你自己填业务第一篇 PRD 我写完的感受是像经营一个新员工内容审核 PRD 更贴切的比喻是像一个门卫培训手册——他得知道哪些人一定不让进硬规则、哪些人看起来不对劲要请主管来判断模型打分、哪些人可以放行但留个记录低风险通过。不指望他第一天就万无一失但至少有一套清晰的执行框架。下面是我简化后的模板骨架直接照着填《内容审核系统 V1.0 产品需求文档》模板骨架1. 项目背景与目标当前审核现状量化上线核心指标覆盖率、准确率、召回率、人工复审量版本范围与不做内容2. 用户场景审核员场景效率 准确率正常用户场景误伤体验 申诉流程钻空子用户场景对抗策略基础3. 功能详情审核流程架构图上传 → 内容解析 → 双管线 → 规则引擎 → 三级处置置信度阈值与处置动作表文本 / 图片独立配置人工复审工作台需求申诉与召回机制异常场景处理清单4. 数据与标注需求训练数据来源与规模标注规范违规类型 严重程度正负样本比例要求冷启动方案5. 模型选型策略文本模型 / 图片模型选型逻辑置信度阈值决策依据降级与容灾方案6. 评测与验收三类测试集正样本 / 负样本 / 对抗样本核心指标验收标准争议样本处理机制7. 上线与迭代四阶段灰度策略监控指标与告警阈值误伤回滚率跟踪V2.0 规划方向写内容审核的 PRD 跟写普通功能 PRD 最大的区别在于你是在定义一把尺子。这把尺子太松了违规内容漏出去合规找你太紧了正常用户全被误伤运营找你。你只能在刚刚好和知道不对时能快速调整之间找平衡。别指望第一版就是完美的内容审核是一个持续对抗的过程——对抗变体、对抗新策略、对抗自己的模型退化。PRD 里留足迭代空间比抠细节重要得多。