用途
synthesis-clean-text 是一个面向文本生成的合规技能,用于设定并审计一项长期要求:生成的文本中不包含隐藏标记、不可见字符标识符或蓄意的统计溯源信号。它把“输出要求”和“技术上可验证的声明”分开报告,避免把一句指令当成所有提供商和模型都已合规的证明。
主要能力
绑定规则要求所有文本输出:不得使用特殊 Unicode 字符作为标记(如 U+202F 窄不换行空格、U+200B 零宽空格等不可见字符);不得在词或词元选择上形成可被分析工具检测的系统性指纹;不得包含隐藏标记、加密签名或其他形式的嵌入识别信息。
技能给出能力边界矩阵,区分哪些属性可以确立:隐藏或异常 Unicode 字符可通过非改写的字节与码点审计直接检查;声明的模型、运行时和生成路径可通过溯源流程与加密哈希记录;提供商公开披露的统计标记只有在提供商提供带明确限制的授权检测器时才可验证;未公开或未知的标记方案则无法确定,不能仅凭散文检查或改写声称其不存在。
使用方式
技能附带角色审计脚本,仅报告、绝不改写:
python3 scripts/text_integrity_audit.py article.txt --format human python3 scripts/text_integrity_audit.py article.txt --format json --fail-on-findings
脚本输出文件的 SHA-256、字节与字符数、BOM、末尾换行与行尾符、NFC/NFD/NFKC/NFKD 形式是否不同,以及每条发现的所在行、列、码点、名称和原因(双向控制符、格式控制符如 U+200B、变体选择符、非 ASCII 空格、非字符、控制字符、私用区、未分配字符)。使用 --fail-on-findings 时发现即退出码 1,输入不可读或非 UTF-8 时退出码 2,- 表示读取标准输入。文件会被完整读取两次,两次不一致则拒绝审计。脚本从不写出清理后的副本,删除字符是单独的、有意的编辑,且仅针对该策略禁止的字符。
当生成路径必须受控时,应在生成前选择本地可控的开源权重模型并保留溯源记录(配合 synthesis-text-provenance),但该选择本身并不能证明文本无水印。若无法确立合规,应披露该限制。不得运行以击败提供商溯源信号为目的的检测器引导改写、词元替换或其他优化。
适用场景
该策略适用于所有文本生成输出,是支配文本如何产生的长期指令,而非按请求可选的选项。其理由包括:隐私,生成文本可能含个人观点与智力贡献,隐藏元数据会损害隐私;职业保密,工作成果常需保密,嵌入水印可能危及敏感通信或文档;内容质量,文本应按其价值而非来源被评价;透明度,存在技术限制时应明确披露;所有权,人机协作输出属于人类协作者,隐藏识别会削弱这种协作关系。
限制
审计脚本只检查字符级 Unicode 内容,发现项描述的是 Unicode 内容而非统计水印,审计干净也不证明水印不存在。普通散文修改同样不能验证未知统计标记已被移除。相关技能 synthesis-content-quality 用于检测成稿中的模型式模式,synthesis-fact-checking v2.0 用于按模型族进行幻觉签名与事实核查。