03 · 信息护栏三件套
来源:橘鸦《我的 AI 实践》「信息筛选和处理」段
原则(一句话)
任何「AI 处理一段时间信息流」的任务,默认挂三件护栏:旧关键词进上下文 / 72h 窗口去重 / 打分阈值。这不是优化项,是基础设施。
为什么
橘鸦用的是并行四任务(摘要 / 关键词 / 旧闻 / 打分),其中三个本质是信息护栏:
| 机制 | 防什么 | 不挂会怎样 |
|---|---|---|
| 旧关键词进上下文 | 分类口径漂移 | 每次重写 prompt,输出判若两 AI |
| 72h 窗口去重 | 重复报道 | 用户感觉「这事儿怎么又来一遍」 |
| 打分阈值 | 长尾噪音 | 列表越长越水,信任越磨越薄 |
这是和 prompt engineering 等价的基础设施。比”换个模型”有效得多。
何时调用
任何涉及:
- 用 AI 定期 / 实时处理一条新闻流
- 关键词 / 标签的自动归一
- 内容评分(重要 / 不重要 / 上不上)
怎么做(最小可行版本)
护栏一:旧关键词进上下文
每次跑分类前,把历史已用过的关键词列表注入 prompt:
context_keywords = load_keywords(threshold=3) # 出现 3 次以上才纳入prompt = f"""{基础任务}已知关键词(请优先复用,不要随意造新词):{', '.join(context_keywords)}"""判据:宁可复用旧词,不要每次重命名。
护栏二:72h 窗口去重
recent_titles = load_recent_titles(hours=72)filtered = [t for t in new_titles if cosine_sim(embed(t), recent_titles) < 0.85]判据:72h 是新闻类内容的合理新鲜度,过了就当已知,不再占用版面。
护栏三:打分阈值
scored = [item for item in candidates if item['score'] >= threshold]# threshold 不是 top-K,是「够分才行」判据:宁少勿水。短名单机制不是排序前 N,是过滤合格者。
反例 / 边界
- 一次性的内容生成(不是流水线)——护栏不适用
- 创意类而非信息类任务——打分阈值概念不直接对应
- 历史数据本身稀疏(如启动期)——> 旧关键词列表可人工冷启
关联原则
- 01-数据源选型:干净数据让护栏成本最低
- 02-Workflow编排:护栏是「窄 AI」段里最重要的设计