为什么基于 LLM 的审核优于基于规则的审核
讽刺。暗语。品牌语境误用(“我喜欢这个产品,但讨厌客服”)。多语言细微差异。图像与说明文字的组合:单独看都能通过,但组合后不行。基于规则的审核可能只能处理信任与安全案例的约 60%。最困难的 40% 正是 LLM 擅长的领域——它们能理解语境、意图,以及字面文字与实际含义之间的差距。
现代审核流程会将两者结合:规则处理容易判断的 60%(正则表达式、URL 黑名单、哈希匹配的 CSAM),LLM 处理需要判断的 40%。
文本审核——Claude Haiku 4.5
Haiku 价格低、速度快,非常适合高流量审核:
import json
from openai import OpenAI
client = OpenAI(api_key="sk-kn-...", base_url="https://api.kunavo.com/v1")
POLICY = """You are a content moderator. Judge the content against these
categories: toxic, spam, harassment, sexual, violence, self_harm, deception,
brand_unsafe. Be conservative — when in doubt, flag for human review."""
# Claude enforces a json_schema response_format; json_object it does not.
VERDICT = {
"type": "object",
"properties": {
"verdict": {"type": "string", "enum": ["allow", "review", "block"]},
"categories": {"type": "array", "items": {"type": "string", "enum": [
"toxic", "spam", "harassment", "sexual", "violence",
"self_harm", "deception", "brand_unsafe"]}},
"confidence": {"type": "number"}, # 0.0-1.0
"rationale": {"type": "string"}, # one sentence
},
"required": ["verdict", "categories", "confidence", "rationale"],
"additionalProperties": False,
}
RESPONSE_FORMAT = {"type": "json_schema",
"json_schema": {"name": "verdict", "schema": VERDICT}}
def moderate_text(text: str) -> dict:
resp = client.chat.completions.create(
model="claude-haiku-4-5", # cheap + fast for high-volume
messages=[
{"role": "system", "content": POLICY},
{"role": "user", "content": text},
],
response_format=RESPONSE_FORMAT,
max_tokens=200,
)
return json.loads(resp.choices[0].message.content)单次调用成本:约 $0.0001-0.0003,具体取决于输入长度。每月 1M 次审核事件:约 $100-300。相比商业审核 API(Perspective 约 $0.0005/次,Hive 约 $0.002/次,Sightengine $0.003/次),基于 LLM 的审核成本相当或更低,同时具备更强的上下文理解能力。
图像审核——Claude Haiku 4.5
对于图像,Claude Haiku 4.5 是目录中最便宜的视觉模型,而且速度足够快,可以放在发布流程中:
def moderate_image(image_url: str) -> dict:
resp = client.chat.completions.create(
model="claude-haiku-4-5", # vision + cheap
messages=[
{"role": "system", "content": POLICY},
{"role": "user", "content": [
{"type": "text", "text": "Moderate this image:"},
{"type": "image_url", "image_url": {"url": image_url}},
]},
],
response_format=RESPONSE_FORMAT,
max_tokens=200,
)
return json.loads(resp.choices[0].message.content)单张图像成本:约 $0.001-0.003。对于每天发布 100K 条内容的社交平台,文本加图像审核每月约 $3,000-9,000。
三层判定模式
- allow:任何违规的置信度较低 → 立即发布
- review:置信度中等 → 放入人工审核队列。大多数 LLM 判定会落在这里,但审核成本较低
- block:严重违规的置信度较高(CSAM、可信威胁、人肉搜索)→ 拒绝 + 记录 + 升级处理
除非属于零容忍类别,否则不要仅凭 LLM 判定自动拦截。误报会让用户流失;让人工决定灰色区域。
与替代方案比较
| 工具 | 每 1M 次调用的成本 | 优势 |
|---|---|---|
| Perspective API(Google) | 免费(有速率限制) | 英语毒性评分 |
| Hive Moderation | ~$2,000 | 图像、视频、音频——能力强 |
| Sightengine | ~$3,000 | 图像专业工具 |
| OpenAI Moderation | 免费 | 仅文本,类别有限 |
| Kunavo + Haiku | 文本约 $100-300 / 图像约 $1,000 | 上下文理解 + 多语言 + 自定义策略 |
LLM 的优势在于策略定制。Hive 和 Sightengine 提供固定类别;使用 Claude 时,你可以用英语(或任何语言)编写策略,它会据此适配。要添加新的受限类别?更新系统提示词即可,无需重新训练模型。
合规角度
- DSA(欧盟《数字服务法》):要求平台发布审核透明度报告。上方 JSON 中的 rationale 字段就是你需要记录的内容
- CSAM:绝不要通过 LLM 处理。使用哈希匹配(NCMEC、IWF)——LLM 不是处理已知非法内容的合适工具
- 审核内容中的 PII:如果处理私人 DM/消息,应在发送给 LLM 前进行哈希处理或假名化——参见 合规指南
开始使用:免费注册,然后阅读 /docs/chat 参考文档,了解 response_format 对每个模型系列执行的规则。
常见问题
AI 内容审核每次调用的费用是多少?
使用 Claude Haiku 4.5 进行文本审核,每次调用约需 $0.0002;使用同一模型进行图像加文本审核,每次调用约需 $0.001——价格与 Hive 或 Sightengine 相近或更低。
LLM 是否比基于规则的审核系统更好?
对于界限明确的内容,两者都能胜任。差异体现在最难处理的 40% 内容上——讽刺、隐晦暗语、品牌语境误用和多语言细微差异——LLM 审核在这些方面明显优于规则。
AI 审核系统应该自动拦截内容吗?
仅针对零容忍类别。三档判定模式会将 allow 送去发布、将 review 送入人工队列,并对 block 执行拒绝和记录日志,让灰色地带由人工处理。
如何随着时间推移提高审核准确度?
每周复核人工队列中的判定,找出分类错误,并更新 system prompt。无需重新训练模型。