先说个事
这个博客,说实话,没什么访客,更没什么评论,甚至评论这功能,我也是前几天才上线。
百度统计后台每天个位数 PV,百度甚至都没怎么收录。我自己也很久没写东西了——所以一个月能收到一两条评论就谢天谢地。
但是评论这事吧,又不能不管。
困境
不审直发吧,万一哪天突然来一条「加微信送 888」或者更离谱的,就真顶不住。审吧,一条两条我还愿意点开后台看看,多了我是真懒。
尤其是有些评论挺正常的「写得不错」「受教了」,明显人工看一眼就知道能放行,可还是得点进去 → 改状态 → 提交,三步。
想法
那就让 AI 看吧。
比较了一下,最终选了DeepSeek的模型deepseek-v4-flash,价格本来就便宜(输入 0.5 元/百万 token,输出 1 元/百万 token),评论最长 500 字,再加上 system prompt 也才不到 1k token——算下来评论用那点token几乎可以忽略不计。
我刚在开发环境测了半天,狂发了几十条测试评论,账单拉下来一看,花了1分钱不到。
省到这种程度,随便用。
怎么做的
简单说下:
- 用户在文章页提交评论,接口立即返回 200,告诉用户"已提交等审核",不用用户等。
- 后台悄悄启个 goroutine 调 DeepSeek,把评论内容塞进 prompt,让它判断:
approved正常讨论、提问、礼貌互动rejected色情、政治敏感、辱骂、广告、违法、政治人物uncertain拿不准的
- AI 判
approved就直接放出来,rejected直接屏蔽,uncertain还是走老路,等我人工兜底。
- AI 三个状态 + 理由 + 审核时间都存到数据库。后台评论管理页能看到「AI 通过 / AI 拒绝 / AI 存疑 / 未审核」四色标签,hover 还能看到 AI 给的简短理由。

失败兜底:网络挂了 / API Key 错了 / 模型返回了奇怪的东西,一律按存疑处理,不冒进。后台会标灰「未审核」,理由写上错误摘要,等我人工看一眼就行。
经济账
按昨天我测试的经验:
| 项 | 数据 |
|---|---|
| 单次调用 token | system prompt ~300 + 用户评论 ≤500 ≈ 800 token |
| 模型单价 | 输入 0.5元/百万,输出 1元/百万 |
| 单次成本 | ≈ 0.0005 分 |
| 一天 100 条 | ≈ 5 厘钱(0.005 元) |
| 一个月 3000 条 | ≈ 1.5 角钱 |
基本上是"白嫖",而且好歹是收费的,不会突然就不让用。
一些细节
- 异步不阻塞:用户不会因为 AI 慢了一秒多等。后台审核跑完才上墙,最快几秒,最坏人工兜底。
- 人机解耦:如果我手动把一条 AI 拒绝的评论改成通过,AI 状态不会丢,还能在后台看到当初 AI 说了什么。
- 重试 1 次:网络抽风时自动重试一次(200ms 后),Key 错 / 4xx 不重试(重试也没用)。
- 超时 12 秒:够 DeepSeek 用了,超时了直接走人工。
- prompt 可改:settings.yml 里直接编辑,下次重启生效。我让 prompt 严格输出 JSON,剥 Markdown fence 也写了(模型偶尔会调皮包一下)。
后话
独立开发者的好处就是:很多"加一个按钮"的事情,背后要写两三百行代码 + 单测 + e2e 测试 + 部署配置,但也无所谓,反正就我自己。
另一个好处是,博客没流量,所以这个功能"上线即投产",AI 出错了我自己兜着就行。要是哪天我博客突然火了,我Deepseek的账户一共也就不到10块钱。
但愿没那一天。
