上下文敏感的内容门禁:区分硬阻断与哈希绑定提示
内容流水线如何减少关键词误报,同时继续阻断交易指导,并让非阻断审稿提示具备可校验的哈希绑定。
一条内容交付流水线使用保守的关键词扫描,防止财经文案滑向交易指导。门禁足够谨慎,却过于粗糙:“股东”“估值”“回报”等客观词汇也可能让事实句被阻断,读者不会看到的内部排序说明同样可能触发规则。
直接放宽整张词表会削弱已有安全边界。修复把读者可见内容与内部元数据分开,再用句子中的主体、对象和方向关系识别高风险含义,同时引入 advisory(非阻断提示)。这种提示不会改变 QA 通过状态,但会与其他审稿证据一起进入哈希校验。
先确认误报发生在哪条边界
失败样例可以分成三组:
| 输入 | 预期结果 | 原因 |
|---|---|---|
| 已发生的历史估值事实 | 允许 | 只描述已经完成的观察,没有指导行动 |
| 面向投资者预测价格方向的句子 | 阻断 | 同时包含受影响对象、证券相关对象和方向性结论 |
| 内部选题排序说明 | 不参与内容规则扫描 | 不会交付给读者,但仍须接受隐私与密钥扫描 |
旧实现把三类文本放进同一个平面输入,忽略了两项差异:字段是否对读者可见,以及多个普通词汇是否只在组合后形成高风险含义。
根因是一个扫描器承担了不同问题
原流水线只有一组输入和一种严重级别,实际同时尝试回答四个问题:
- 文本是否暴露凭据或私有标识?
- 读者是否会收到这段文本?
- 可见句子是否包含禁止的指导?
- 可见措辞是否只需要额外编辑关注?
这些问题需要不同的范围与结果。隐私检查应覆盖完整产物,包括内部元数据。内容规则只应覆盖真正交付给读者的字段,例如标题、摘要、正文、作者文字、图片文字、说明文字和互动文案。明确违规必须停止交付;存在歧义但仍可审阅的表达,应展示给审稿人,不能直接宣称它已经违规。
把可见性与仓库安全分开
修复后的流程为同一内容包建立两个视图:
all_text = collect_every_text_field(package)
visible_text = collect_reader_visible_fields(package)
scan_privacy_and_secrets(all_text)
scan_content_policy(visible_text)
这种拆分不会制造隐私盲区。内部评分、去重记录和选题理由仍在隐私与密钥扫描范围内;它们只从描述平台或读者实际接收内容的规则中排除。
可见字段契约需要显式定义并带版本。新增输出表面时,例如封面图片中的文字,当前策略要求先提供可见文字清单,缺失时不能通过。历史产物继续使用生成时的契约,不会被后来新增的规则重新解释。
用语义链表示高风险含义
部分表达的操作含义足够明确,继续作为无条件阻断项,例如直接买卖指导、仓位调整和目标价格。普通财经名词不再单独触发失败。
依赖上下文的句子必须在同一句内形成完整语义链:
受影响对象
+ 证券或估值对象
+ 行动、建议或未来方向
= 阻断
扫描器必须覆盖两种常见语序。“投资者应核验股价目标”把受影响对象放在前面;“估值上升会放大股东面临的下行风险”先写方向机制。若正则只假设一种短语顺序,另一种语序就会形成缺口,因此测试需要覆盖两个方向。
扫描器仍是确定性实现,不声称能够理解任意自然语言。它识别范围受控的词汇与关系,另由独立逻辑审查确认主体、影响对象、传导机制和结论强度。
让提示保持非阻断且可防篡改
一些中等置信度措辞可以合理出现在行业分析中,同时值得审稿人关注。每次命中都会生成结构化提示:
{
"code": "industry-framing-review",
"severity": "advisory",
"location": "body:paragraph-7",
"match": "资金回收门槛",
"required_logic_check": "industry_information_positioning"
}
提示不会改变 review_ready 状态或命令退出码,却会改变 QA 报告哈希。规范化后的提示列表会写入草稿计划和送审包,后续再从精确源码版本重建并比较。删除、修改或漏传任一提示,证据校验都会失败。
这样的严重级别与事实保持一致。审稿人能够看到不确定信号,系统也不会把所有信号都升级为阻断项;下游自动化无法在 QA 完成后悄悄丢弃提示。
验证同时覆盖行为与证据传递
脱敏实现完成了多层验证:
- 内容 QA 允许单独出现的事实词汇,阻断交易指导、未来方向和两种语序的完整语义链;
- 仓库守卫要求新产物提供读者可见的图片文字,同时保留历史兼容边界;
- 草稿计划与同步过程保留规范化提示列表;
- 从精确源码版本重建送审包时,缺失或修改提示都会失败;
- 内部元数据不触发内容规则,但继续接受仓库安全检查;
- 内容 QA、仓库守卫、交付控制器、同步逻辑与历史兼容共 338 项自动测试全部通过;
- 另一项仓库安全扫描覆盖 124 个跟踪文件并通过。
关键证据来自状态迁移覆盖。测试证明提示在生成时保持非阻断,进入 QA 后具备哈希绑定,能够穿过交付计划,并在重建时拒绝任何变化。
可复用的设计规则
- 把读者可见字段定义为契约,避免把所有字符串都当成公开内容。
- 隐私与密钥扫描范围应大于内容规则扫描范围。
- 只把操作含义明确的表达设为无条件阻断项。
- 用主体、对象和机制之间的关系描述依赖上下文的风险。
- 为只需审阅的信号建立独立严重级别和数据结构。
- 让非阻断证据参与哈希与下游重建校验。
- 为策略边界增加版本,防止新规则静默推翻历史产物。
适用边界
确定性语义链只能处理已知模式,无法判断无限制自然语言的真实含义。存在歧义的结论仍需人工或模型参与逻辑审查,事实也仍需来源验证。
哈希绑定只能证明下游记录保留了审稿时的提示字节,不能证明审稿判断本身正确。自动化负责保留证据并执行已声明规则;对于允许发布但较敏感的表达,最终写法仍由承担责任的审稿人决定。
先说明系统,再说明症状
如果需要生产排障、DevOps 交付或物流系统集成协作,请提供当前表现、预期结果、受影响环境、可用日志或数据样例,以及发布限制。我会从现有证据开始判断。
通过邮件开始