SharpAgent 内容安全引擎 v1.0.0
内容输出的最后一道防线。它不关乎“我们应该说什么”——而是“在这个司法管辖区,我们应该如何说”。
独立于五因素审查(可信度 ≠ 合规性)。
四层架构的第 3 层。
架构位置
层 1:五因素审查 ← 信任验证(全局、不可变)
层 2:校准框架 ← 输出适配(温暖/专业/深度)
层 3:内容安全引擎 ← 合规拦截(每个司法管辖区的规则) ← 您当前所在位置
层 4:最终输出
为什么独立?
五因素审查询问“我们可以相信这吗?”
安全引擎询问“我们可以说这吗?”
前者是信息质量,后者是合规性和安全性。
将它们混合会污染两个判断。
合同合同:
名称:sharpagent-content-safety
版本: “1.0.0”
类别:分析
信任级别:已验证
读取: - 内容 - 合规策略
写入: - 安全判决
前置条件: - “至少加载一个合规策略” - “内容不为空”
后置条件: - “判决是以下之一:通过 | 标记 | 阻塞” - “如果标记或阻塞,提供原因和规则引用”
校准:
默认模式:专业
支持的模式:[温暖、专业、深度]
合规性:
司法管辖区:全局
安全级别:严格
生命周期:
状态:活动
发布为:SharpAgent 核心设计
可插拔规则引擎
规则:
类型: “阻塞”
描述: “检测和阻塞个人可识别信息”
模式: - “email” - “phone_number” - “id_card” - “address”
严重性: “高”
类型: “阻塞”
描述: “根据中国互联网法规阻塞禁止内容”
司法管辖区: “cn”
严重性: “关键”
类型: “标记”
描述: “标记出口控制技术引用”
司法管辖区: “us”
严重性: “中等”
- id: “global/hate-speech-001”
类型: “阻塞”
描述: “阻塞仇恨言论和歧视性内容”
严重性: “高”
类型: “标记”
描述: “标记隐私敏感内容以供人工审查”
严重性: “中等”
规则结构
规则:
id: “{司法管辖区}/{名称}-{seq}” # 唯一标识符
类型: “阻塞” | “标记” | “通过” # 操作
描述: “...” # 人类可读
司法管辖区: “cn” | “us” | “eu” | “全局” # 适用司法管辖区
模式: [正则表达式...] # 匹配模式(可选)
关键字: [字符串...] # 关键字匹配(可选)
严重性: “低” | “中等” | “高” | “关键”
豁免: [ # 异常
“教育环境”,
“新闻报道”
]
司法管辖区配置
运行时选择(多选):
safety_engine.load_policies(jurisdictions=["cn", "us", "eu"])
每个加载的司法管辖区堆叠其规则。
冲突规则:严格的获胜。
规则优先级(高到低):
跨司法管辖区:取最大严重性
工作流程
步骤 1:预飞行
内容为空?
内容太长?
在 ≤4096 个字符处分块。
步骤 2:规则匹配
对于每个块:
对于每个加载的规则:
跳过如果司法管辖区不活动
检查模式/关键字
检查豁免
记录匹配
步骤 3:判决
判决含义操作
✅ 通过 没有匹配 让通过到输出
⚠️ 标记 低严重性匹配 标记 + 允许 + 日志
🚫 阻塞 高严重性匹配 阻塞 + 返回替代内容
阻塞替换:[内容被安全引擎阻塞]
原因:{顶级原因}
联系管理员获取完整内容。
步骤 4:日志记录
{
“事件”: “安全检查”,
“司法管辖区”: [“cn”, “全局”],
“匹配规则”: [
{“规则”: “cn/content-001”, “严重性”: “关键”}
],
“判决”: “阻塞”,
“时间戳”: “2026-05-11T06:10:00Z”,
“代理”: “sharpagent”
}
规则集管理
内置规则集
规则集覆盖文件
全局 通用安全(仇恨言论/PII/隐私)规则/全局.yaml
cn 中国互联网内容法规规则/cn.yaml
us 美国出口控制/安全港规则/us.yaml
eu GDPR 相关规则/eu.yaml
自定义规则
规则/自定义/
├── my-company-policy.yaml
├── my-project-policy.yaml
└── README.md
边缘情况
情况操作
冲突司法管辖区规则 严格获胜(阻塞 > 标记 > 通过)
规则假阳性 添加豁免,日志假阳性
跨块敏感短语 重叠扫描(±200 个字符)
未配置司法管辖区 只加载全局
损坏规则文件 跳过 + 日志错误,不崩溃引擎
豁免条件满足 跳过规则,日志豁免原因
质量门
检查什么 失败操作
至少 1 个规则集 没有规则 = 没有阻塞 不启动
判决明确 通过/标记/阻塞 默认阻塞 阻塞提供原因 用户知道为什么 添加原因 完整审计日志 每次检查都记录 回填规则 版本更新 不会破坏运行检查 Semver 规则 集成点 五因素