AI 自动写作怎么防止误发布?我给内容流水线加了五层安全门禁
大家好,我是张大鹏,大鹏 AI 教育创始人。
AI 写作系统最危险的时刻,往往不是模型写错一个词,而是它把一份内部分析材料当成公开文章,顺着自动化流水线一路送到发布按钮。
这类问题靠一句“请谨慎发布”解决不了。模型输出具有不确定性,任务上下文也会变化。只要发布链路足够长,提示词、状态同步、人工意图和外部工具之间就可能发生偏差。
所以我给自己的内容流水线增加了五层安全门禁,并把它们落实为代码、状态机和测试,而不是停留在提示词里。
为什么单靠提示词不可靠
很多自动写作流程只有一条系统提示:
不要生成敏感内容,发布前请仔细检查。
这条提示有价值,但它不是安全边界。
模型可能因为新上下文改变理解,也可能生成表面合规、实际越界的内容。更重要的是,后续工具未必知道前面发生过什么。如果发布动作只检查一个布尔值,早期的判断错误就会被一路放大。
真正可靠的做法,是把“能否公开”变成每个阶段都必须重新验证的工程约束。
知识与证据来源
本文的知识主线来自 RuyiBookCourse《智能体安全、护栏、信任与隐私》中“面向 AI 系统的零信任架构”一节。
该章节强调三项原则:
- 显式验证:每一次关键访问和操作都重新验证;
- 最小权限:每个用户、进程和服务只获得完成当前任务所需的能力;
- 假定已遭入侵:系统设计时就假设任意环节可能失败,并通过分段、监控和快速停止限制损害。
我把这三项原则映射到了内容发布流程。
生成文章的智能体只有写作能力,没有发布权限;草稿进入下一状态需要确定性检查;公开发布还需要独立、短时、单次有效的审批。
换句话说:
生成不等于批准,批准不等于发布。
五层安全门禁
第一层:选题边界
在系统开始搜索资料、生成大纲之前,先检查选题本身。
如果选题命中明确禁止公开的主题,系统立即拒绝,不继续研究,不创建文章,也不消耗后面的生成资源。
defrequire_public_topic_allowed(topic:str)->None:matches=find_forbidden_markers(topic)ifmatches:raiseValueError("public topic is prohibited")这一步越靠前,返工和风险都越小。
第二层:正文检测
安全选题不代表正文一定安全。
写作过程中可能加入内部路径、真实客户信息、内部统计、接口细节或不适合公开的操作过程。因此文章从草稿进入“可发布”状态时,必须重新检查标题、选题和完整正文。
内部机器标记可以先剥离,再检查真正会被读者看到的内容,避免误伤正常的工作流元数据。
第三层:草稿门禁
文章通过内容检查之后,也不能直接调用外部写入工具。
系统必须同时确认:
- 当前状态确实为“可发布”;
- 正文没有被外部编辑器悄悄修改;
- 内容哈希与当前修订一致;
- 图片、分类和标签已经满足发布要求;
- 风险审计没有硬命中。
任何一项失败,都退回本地草稿。
第四层:短时审批
长期有效的“允许发布”开关风险很高。
我采用短时、单次审批令牌,并把它绑定到:
- 精确的文章 ID;
- 精确的修订号;
- 正文 SHA-256;
- 到期时间;
- 单次消费状态。
正文只要改一个字,旧审批就自动失效。令牌过期、重复使用或用于另一篇文章,也必须被拒绝。
第五层:发布复核
即使已经拿到审批,发布前仍然要最后检查一次标题、正文、修订、状态和审批绑定关系。
外部操作成功后,还要回读公开页面,核对文章 ID、标题和图片是否一致。不能只根据按钮点击结果宣布成功。
这就是“假定失败”的实际含义:不相信上一步必然正确,也不相信外部系统返回成功就等于最终结果正确。
我怎样把规则做成硬门禁
规则最终落在一个纯函数中:
defrequire_public_topic_allowed(*texts:str)->None:normalized=normalize_visible_content(texts)matches=find_forbidden_markers(normalized)ifmatches:raiseValueError("public content is prohibited")随后在五个边界重复调用:
- 选题规划;
- 草稿标记为可发布;
- 保存外部草稿;
- 请求发布审批;
- 执行公开发布。
这里的重复是有意设计的纵深防御。即使将来某个调用方没有经过前置步骤,后面的边界仍然会阻止越界内容。
操作与验证
安全规则如果没有测试,只是一种愿望。
我为这次门禁补了三类验证。
第一类是禁止主题测试,确认所有明确列入内部规范的内容都会被拒绝。
第二类是正常内容测试,确认 Godot 场景树、AI 工程和数据分析等普通技术选题不会被误伤。
第三类是完整工作流回归,确认原有的草稿、修订控制、审批令牌和发布状态机继续正常工作。
最终验证结果:
- 31 项聚焦测试全部通过;
- Ruff 静态检查通过;
- MyPy 类型检查通过;
- 真实禁止选题在规划入口被拒绝;
- 已进入可发布状态的内部稿重新同步后降回本地草稿。
三个常见误区
误区一:把规则只写进文档
文档能统一协作认知,但不能阻止错误调用。重要规则必须同时存在于规范和代码中。
误区二:只在最后发布时检查
最后才发现问题,意味着搜索、写作、配图和审核资源全部浪费。边界越早,成本越低。
误区三:检测词越多越安全
粗暴扩展关键词容易误伤正常文章。规则需要区分公开正文和内部元数据,并用测试固定允许与禁止的边界。
复盘
AI 自动化真正需要的不是“完全信任模型”,也不是“完全禁止自动化”。
更合理的架构是:
- 让 AI 负责高强度生成和整理;
- 让确定性代码负责边界检查;
- 让状态机负责约束流程;
- 让短时审批保护重要动作;
- 让测试持续验证守卫没有失效。
当内容系统开始具备外部写入能力时,发布安全就不再是写作规范,而是软件工程问题。
你现在的 AI 工作流里,哪些动作仍然只靠一句提示词保护?可以从最重要的那个外部动作开始,加上第一道确定性门禁。