博客开评论以来,垃圾评论就没断过。刚开始还手动删,后来实在删不过来,就想让AI帮忙筛一轮。
用的是Cloudflare Workers AI,直接在边缘跑,不用额外部署服务,集成起来挺省心。
实现思路
用户提交评论后,后台会先把评论交给AI审核,判断内容是否有垃圾广告、恶意内容等风险。审核结果会记录在评论的状态里,只有通过审核的评论才会公开显示。
为了让用户体验好一点,加了个实时状态显示。用户提交评论后,能看到自己的评论显示”审核中”,不用干等着不知道自己评论的状态。只有评论作者本人和管理员能看到待审核的评论,其他访客是看不到的。这样既保护了隐私,也避免公开页面出现未通过审核的内容。
AI 审核 Prompt
用了这样的 Prompt 交给 AI:
你是一个中文评论内容审核助手。请根据以下规则判断评论是否违规:
1. 侮辱漫骂 — 包含人身攻击、脏话、歧视性语言
2. 垃圾广告 — 包含推广链接、刷屏、营销内容
3. 敏感违法 — 包含涉政敏感、暴力、色情、违法信息
4. 恶意引战 — 故意挑起对立、煽动仇恨
5. 正常评论 — 正常讨论、表达观点
请严格以如下JSON格式回复,不要输出任何其他内容:
{"approved": true或false, "category": "分类名称", "reason": "简要说明原因", "confidence": 0到1的置信度} AI 需要返回 JSON 格式的结果,包括是否通过、分类、原因和置信度。
技术细节方面,AI 审核的超时时间设了一分钟,前端用轮询的方式隔几秒查一次状态,最多查5次。查到了就更新显示,没查到也不影响,评论还在后台,只是暂时看不到。
为什么不直接用AI回复评论
至于我为什么不让AI直接回复评论?
这个问题我仔细想过,最后决定不这样做,有三个原因。
第一,我珍惜真实的互动。博客的评论是我和各位大官人之间的对话,我想听到的是真实的人的声音。各位大官人愿意花时间留言,我应该认真对待,用自己的话去回应。这是基本的尊重。
第二,我不欢喜那种敷衍的感觉,被敷衍的感觉比没回复更糟糕。
第三,审核和回复的性质不一样。审核是过滤,把垃圾广告、不友善的内容挡在门外,是过滤器的角色,不会改变对话的本质。但AI回复会直接参与对话,一旦AI成了对话的一方,整个互动的性质就变了——从人和人的交流,变成人和AI的交流。这是我不愿意看到的。
写在最后
AI审核功能上线后,垃圾评论少了很多,正常评论也没被误伤。目前这个平衡还行。
至于AI回复评论,我不会考虑的。评论区是个需要真诚交流的地方,我宁可慢一点、少回复一点,也不愿意用AI来伪装成我本人。那样的话,这个博客就没什么意思了。