| name | ai-novel-audit |
| description | 审核一段/一篇小说(或任意叙事性文本)的「AI 创作度」——判断它有多大可能由 AI 生成、或 AI 参与了多少。当用户想知道一段文字是不是 AI 写的、AI 味重不重、是人工还是 AI、AI 辅助了多少、帮忙鉴别/检测/审稿 AI 生成内容、给稿件的「人味/机味」打分时,都使用本技能。触发词包括但不限于:AI 创作度、AI 味、是不是 AI 写的、AI 生成检测、人工还是 AI、鉴别 AI、查稿、审稿、AIGC 检测、机器味、文风鉴定。哪怕用户没明说「AI 创作度」这五个字,只要意图是评估一段叙事文本的 AI 生成可能性,就用本技能。注意:本技能只产出「概率性信号 + 证据」,绝不输出武断的非黑即白判决。 |
小说 AI 创作度审核
帮助评估一段叙事性文本(小说、故事、散文片段、网文章节等)有多大可能由 AI 生成,或 AI 参与了多少创作。产出一份带证据的概率性评估报告,而非一句「是/否」的判决。
先读这一段:关于可靠性(非常重要)
任何 AI 文本检测都不可靠,本技能也不例外。 在写报告和与用户沟通时,必须始终守住这条底线,原因是:
- 会误伤:非母语写作者、刚学写作的人、翻译腔文本、某些本就高度套路化的类型文(言情、玄幻网文)天然会触发很多「AI 信号」,但完全是人写的。
- 会漏判:AI 被特意提示「写得像人」、或人工把 AI 初稿改透了,信号会被抹掉。
- 人能写得像 AI,AI 能写得像人:文风信号是统计倾向,不是指纹。
- 后果严重:用它去指控学生作弊、判定参赛作品、否定一个作者,可能造成真实伤害。
因此:
- 报告永远给出**「AI 创作度区间 + 置信度」**,而不是一个精确的、像是铁证的数字。
- 措辞用「呈现出与 AI 生成一致的特征」「疑似」「倾向于」,不要用「这就是 AI 写的」。
- 凡是高风险用途(学术诚信、比赛、合同纠纷),明确告知用户:文风分析不能单独作为定论依据,需要配合来源证据(写作过程稿、版本历史、修改痕迹、当场复现能力)。
- 如果文本太短(少于约 300 字)或信号互相矛盾,如实说置信度低,不要硬给高分。
工作流程
仓库内规范入口是 quality/audit/scripts/ 与 quality/audit/references/。本 skill 目录只保留流程说明,审核脚本和参考资料只维护在 quality/audit/。通过 novel-studio skills export --to <dir> 导出时,CLI 会把这些审核资源装配进导出产物的 review/ 目录。
1. 拿到文本
- 若用户上传了文件,先读它(
.txt/.md 直接读;.docx/.pdf 用对应技能提取纯文本)。
- 若文本已在对话里,直接用。
- 若文本很长(超过约 2 万字),不必逐字精读全文:全文跑量化脚本,同时抽取代表性样本精读——取开头、中段、结尾各 1–2 段,外加 1–2 段对话密集处和 1–2 段描写密集处。在报告里说明抽样方式。
2. 跑量化信号脚本
对全文运行(脚本只依赖标准库,无需联网):
python3 quality/audit/scripts/aigc_value.py <文本文件路径> --target 4
python3 quality/audit/scripts/text_signals.py <文本文件路径>
python3 quality/audit/scripts/text_signals.py <文本文件路径> --external-aigc 0.8252
aigc_value.py 会给出本地自研 自研AIGC值(0-1 小数 + 百分比),也就是本文的最终 AI占比;引擎名为 codex-local-aigc-v4。它融合概率曲率、弱语言模型一致性、局部熵/TTR、风格计量、全局/局部语义、叙事动力、内容完整性和分片代理。text_signals.py 会给出句长突发度(CV)、用字多样度、套路措辞、重复长片段、标点习惯、本地与综合风险分。这些是客观可复算的风险证据,但不是作者身份判决。
2.0 内容优先硬原则
审核不是为了让低分文本看起来像合格正文。降 AI 味回改必须先保证剧情、人物、场景和读者读感,再处理检测通过性。以下内容一律视为内容完整性问题,不能作为降 AI 味手段:
- 无语义 OCR 脏码、随机汉字串、字符汤、无语法的长串名词。
- 连续堆叠的稀有神怪名词/怪字串,例如把“魑魅魍魉、饕餮、赑屃、狴犴、貔貅”等连成一行但不承担剧情信息。
- 密集拟声/重复符号长串,且不承担真实场景信息。
- 为制造熵波动而插入的无信息清单、乱码、词表或格式块。
- 数词与正文事实不一致的明显硬伤,例如“几个字:……”后面的实际汉字数量对不上。这类问题必须先改正文,不能被低 AIGC 分数覆盖。
- 顺序词悬空导致句意不明,例如“挂钟先停了”但后文没有“再/然后/随后”的参照。必须改成明确状态或补足顺序关系。
- 状态说明堆成逗号长句,例如“屏幕还亮着,表停在最后一行,批注还在”。这类句子信息没错但读感发硬,必须拆成清楚的动作/视线节奏。
- 开篇、章末或关键转折处硬贴库存明喻,例如“像一根刺”“像一把刀”“像被谁掐住喉咙”。这类句子不一定是 AIGC 证据,但属于读感问题,必须优先改成动作、声音、物件状态或后果。
正常的票据残字、聊天断句、设备误识别可以写,但必须短、可读、能推进剧情或揭示规则。
2.0.1 高质量人工样本锚点
novel-studio/deconstruction-library/review-calibration/high-quality-human-prose 下的样本被用户标定为高质量人工写作、AI率为0。审核时要用它们校准误判:封闭场景、规则推理、强对话和类型名词稳定复现,会让弱模型曲线/滑窗熵看起来很稳,但只要没有脏码、真重复、工程词泄漏和空泛概括,这类稳定不能直接等同于 AIGC 高风险。
本地 aigc_value.py 会输出 human_anchor。小说正文命中 narrative_scene 锚点时,只能对概率曲线、弱语言模型、局部熵、风格计量和分片代理做软降权,不能覆盖整章单段风险,也不能再把结果固定压到 4.80%;技术说明文的 technical_expository 锚点单独校准。无论哪类锚点,都不覆盖内容完整性、真重复、工程词泄漏和项目严格 <4% 的交付门槛。
2.1 记录用户外部平台抽查值
如果用户提供腾讯朱雀或其他 AIGC 平台抽查结果,必须单独记录,不要把它和本地六维评分或 DeepSeek provider judge 混在一起。系统不得主动打开、登录、提交或绕过验证码调用这些平台,也不得要求用户逐章回报:
0.8252 这类 0-1 小数必须换算为 82.52%。
82.52% 这类百分比原样记录。
- 用户抽查只绑定报告对应的当前精确正文 SHA。该 SHA 的结果为
4% 或以上时,否决这一版正文并触发一次整章重渲染。
- 替换稿产生新 SHA 后,不继承人工平台复测义务,也不等待用户再次抽查;其自动放行链是本地 AIGC 门禁、同哈希 DeepSeek provider judge、正式 review 与精确正文一致性。
- 如果替换稿后来又被用户抽查且当前 SHA 结果为
4% 或以上,这条新证据再触发该 SHA 的一次整章重渲染。
- 未抽查时状态必须写“未抽查/未知”,不得写“朱雀通过”;低于
4% 的抽查值也只是补充证据,不替代任何自动门禁。
- DeepSeek provider judge 必须对当前精确正文 SHA 返回严格
<4% 的结论,同时给出至少 2 条正文证据、2 条修改方案、1 条对白方案、1 条作者声口方案和 2 条可沉淀规则。建议缺失时即使分数 <4% 也不通过;下一轮必须按建议重排场景、情绪因果和对白参与者,不能只换词。
- 唯一例外是显式
automated_hard 配置(运行时 block_until_external_retest=true):此时自动 detector/mode 是同哈希硬门禁,通过后载荷冻结。用户手工抽查永远不会自动升级为 automated_hard。
- 用户平台抽查和 DeepSeek provider judge 都是概率性信号,报告仍须保留“概率性信号 + 证据”的措辞。
3. 跑段落级真重复检测(关键,发布系统级别)
这一步是 n-gram 滑窗抓不到的,必须单独跑。 LLM 起草长文时,常把同一段场景、同一通对话、同一组金句在文章不同位置整段复述一遍——量化脚本会把这当作 n-gram 重复,但发布平台(番茄/起点/晋江)会判为"大段落重复"。
python3 quality/audit/scripts/paragraph_dup.py <文本文件路径>
脚本输出三组:
- 完全重复段落(一段文字在两处一字不差出现)→ 必删第二处
- 高度相似段落(去标点后前 80 字相同)→ 几乎一定是 AI 自我抄袭,删第二处
- 完全重复句子(> 20 字)→ 必删第二处
已知"故意的母题回扣"(比如一个 Slogan 在不同场景的反复出现)不算重复——脚本的 12 字级滑窗会保留这些"母题",但段落级检测只判独立的、间隔远的复述。两者是互补的,不是冲突的。
4. 逐维度定性评估
带着脚本结果,通读样本,按下面六个维度逐一评估。每个维度给一个 0–5 的「AI 倾向分」(0=完全人味,5=强烈 AI 味),并摘录原文短句作为证据。详细的信号清单和正反例见:
- 中文文本 → 读
quality/audit/references/signals-zh.md
- 近年检测逻辑来源与本地化规则 → 读
quality/audit/references/aigc-detection-current-notes.md
- 英文/其他语言 → 读
quality/audit/references/signals-en.md,并套用语言无关的通用原则
5. 综合评分
按「评分方法」把六维分数合成 AI 创作度区间(%) + 置信度。
6. 输出报告
按「报告模板」组织。证据要具体到句子。
7. (可选)给建议
若用户想降低 AI 味或改稿,基于发现给具体的改写方向(而非泛泛而谈)。
六个评估维度
下面给每个维度的核心问题、AI 倾向、人类倾向。完整清单与例句在 quality/audit/references/signals-zh.md。
维度 1 · 句法与节奏(配合脚本 CV)
- 看什么:句子长短是否有起伏?段落呼吸感?
- AI 倾向:句长均匀、节奏平稳、爱用结构对称的句子、四平八稳;CV 偏低。
- 人类倾向:长短句交错,有突然的短句、断句、不完整句;CV 偏高;敢于「不工整」。
维度 2 · 措辞与陈词(配合脚本套路密度)
- 看什么:有没有大量「安全」的套路词、成语堆砌、万金油形容词?
- AI 倾向:「那一刻/仿佛/一抹/嘴角/眼眸/说不出的XX」高密度叠用;多类别套路同时偏高;同一措辞反复(脚本会抓到重复片段)。
- 人类倾向:措辞有个人偏好和怪癖,会用不那么「正确」但精准的词;具体名词多于抽象形容词。
维度 3 · 情感与心理处理
- 看什么:情绪是「演出来」还是「说出来」?潜台词留白还是被讲穿?结尾是否过度整洁?
- AI 倾向:直接命名情绪(「一种复杂的情绪」「百感交集」);先假装「展示」再立刻「点明」;把潜台词解释给你听;每个情感节拍都收束得干净圆满;人物情绪过分清晰、自我剖析得不像真人。
- 人类倾向:用动作、细节、对话间接传递情绪;允许含糊、矛盾、未解决;留白让读者自己拼。
维度 4 · 细节的具体性与质感
- 看什么:细节是「可替换的通用件」还是「只属于这个场景的特定物」?
- AI 倾向:细节笼统、可互换(「美味的食物」「繁华的街道」);感官描写像清单(视听嗅味触各来一句);专有名词、数字、品牌、方言等「带毛刺」的具体性稀少。
- 人类倾向:细节奇特、私人、有生活质感(具体的牌子、具体的金额、具体的尴尬);细节往往服务于某种偏门的真实,而非装饰。
维度 5 · 比喻与意象的有机性
- 看什么:比喻是「现搭的、贴合处境的」还是「库存的、装上去的」?
- AI 倾向:比喻技术上成立但像零件拼装、与上下文情绪脱节;意象陈词(月光如水、时间凝固、命运齿轮);段尾爱「金句化」升华。
- 人类倾向:比喻从角色和情境里长出来,偶尔笨拙却新鲜;敢用不押韵、不漂亮但准确的意象;不强行升华。
维度 6 · 声音、连贯与风险
- 看什么:有没有一以贯之、可辨识的「人」在说话?敢不敢冒险、出错、显丑?长文里细节前后一致吗?
- AI 倾向:声音平滑、得体、无摩擦,像「优等生作文」,没有任何会冒犯人或冒险的选择;长文里出现前后矛盾、忘掉先前设定的小破绽(类幻觉);视角/时态偶有飘移却毫无理由。
- 人类倾向:有鲜明立场、口头禅、偏见、幽默或恶趣味;敢写难看、危险、留尾巴的东西;就算有 bug 也通常是「人式的不一致」。
如何读脚本结果
脚本给的是信号,不是结论。读法:
- 句长突发度 CV:越低 → 节奏越均匀 → 越像 AI。经验上 CV<0.45 偏可疑,0.45–0.7 中等,>0.7 起伏明显(偏人)。但译文、儿童文学、极简风格也可能 CV 低,需结合维度 1 判断。
- 套路措辞密度(每千字):重点不是单看总数,而是看哪些类别同时偏高。多类别齐高(时间锚点 + 微表情 + 情绪命名 + 金句化一起爆表)比单一类别高可疑得多。注意:言情/玄幻网文本身套路词就多,这是类型特征不是 AI 铁证——要和「人味」维度(细节、声音)对照。
- 本地AI味风险分(0–100):由 CV、套路密度、解释归纳腔、工程词、重复长片段、段落/句子重复和标点模式合成。它是本地发布自检分,不是“真实 AI 百分比”。工作流默认把
>35/100 视为必须回改。
- 自研AIGC值 / AI占比(0–1 / 0–100%):
aigc_value.py 的核心交付门控分。v4 在概率/熵/风格代理之外加入语意困惑度和叙事动力,专查对白传送带、动作标签同构、POV 内在体验薄、流程语汇与情绪范围过平。它不是外部平台判定,但服务端会自动运行,不能靠报告手写绕过。
- 朱雀四维代理分:
- 突发性:句长标准差、句长 CV、段长 CV、短句比例。标准差 < 1.5 是高风险。
- 困惑度代理:本地无真实语言模型 PPL,用字熵、TTR、套路密度、具体物密度、12 字重复近似“用词可预测性”。
- 结构指纹:首先/其次/最后、解释归纳腔、平滑转场、段首重复、每段句数同构。
- 跨段一致性:各段长度、平均句长、标点习惯、套路密度、对话分布过稳。
- 近年检测器代理层:
- 概率曲率/句级分类代理:近似 DetectGPT/Fast-DetectGPT 与句级分类器思路,看句级 bigram/unigram 惊讶度曲线、滑窗熵曲线是否同时过平。
- 弱语言模型一致性:承接 Ghostbuster 弱模型特征路线,看句级 unigram/bigram 惊讶度是否异常稳定。
- 局部熵/TTR 波动:看滑窗内字熵和用字多样度是否跨段过稳;即使整体多样度不低,波动过低也可能是生成分布签名。
- 风格计量/可读性:看句长分布是否集中或过度均衡、标点和对话表层是否单一。
- 语义平滑/概括腔:看抽象概括、情绪命名是否多于动作、物件和感官锚点。
- 曲线去噪:密集拟声/重复声响(如“嗒嗒、咯、叩、沙、咔...”成串出现)会保留在普通文本统计里,但在句级概率曲线、弱语言模型一致性和滑窗熵/TTR计算前会归并为“声响。”。这是防止噪声注入/绕检扰动把本地 AIGC 误降为低风险,不是禁止正常声效。
- 内容完整性/绕检噪声:看是否出现长串无语义汉字块、OCR 脏码、随机字表等“为扰动检测而牺牲正文”的内容。它优先服务质量门禁,不是鼓励把文本写得更乱。
- 叙事动力:检查连续对白轮次、密集 8 段对白窗口、动作开场标签比例、对白长度变异、POV 内在体验、流程语汇和情绪类别。多人一人一句精准推进计划、主角只执行不体验时必须回改。
- 高质人工样本锚点:小说正文锚点只做软校准,不能把整章风险压成固定低分;技术说明文锚点单独处理。若存在脏码、真重复或工程词泄漏,锚点不会启用。
- 朱雀式分片代理:参考朱雀报告的片段级展示,对章节切出本地代理片段,计算疑似 AI 占比、最高风险片段和分片风险下限。若整章单段或长尾片段大面积疑似 AI,最终 AIGC 值不能被全文平均稀释。2026-07-02 的
01.md、02.md、03.md 朱雀报告均将 3k 左右章节作为单片段处理,本地对 1800-3600 可见字符采用单段代理。若单片段疑似占比约 100%、片段分不低于 50%,分片风险下限直接采用该片段分;叙事人工锚点只能软降权,不能把这类整段疑似 AI 压成通过。
- 重复长片段(n-gram):出现 8 字、12 字级别的精确重复短语,要先判断是"母题回扣"还是"自我抄袭":
- 母题回扣(合理):同一个 Slogan / 口头禅 / 物件在不同场景被有意重提,通常是作者的设计,不算 AI 痕迹。
- 自我抄袭(问题):同一段叙述、同一通对话、同一组关键台词在文章不同位置一字不差复述——这是 LLM 起草时的典型自我抄袭(发布系统必抓)。这类必须删第二处。
- n-gram 滑窗会同时抓出两者,需配合段落级脚本(第 3 步)判断是哪种。
- 用字多样度:仅在文本长度相近时可横向比较,单看一篇意义有限,主要作参考。
- 拟声/重复噪声:如果报告出现“曲线去噪”,说明文本里有一段密集声响或重复符号序列。不要把这类局部噪声当作降 AI 味手段;它可能提高本地熵波动,但外部平台仍会按片段/句级分类判高。
- 无语义脏码/字符汤:如果报告出现“内容噪声”或
semantic_noise_char_soup,说明文本里有长串无语法、无信息增量的汉字块;稀有神怪名词连续堆叠也算字符汤。发布流程必须先删改这类内容,用真实剧情材料替代。
- 段落级真重复(脚本新加):由
paragraph_dup.py 给出。完全重复段落和高度相似段落几乎一定是 LLM 自我抄袭,人类写作极少出现(偶尔是刻意的对仗/排比,但通常会变换措辞)。建议阈值:min-len=20 段落、min-distance=100 字符、min-chars=15 汉字。
- 内容逻辑硬检:由
content_lint.py 给出,覆盖“X个字:……”这类可机械验证的数词错误,也覆盖“薄荷糖和创可贴两个字”这类把两个商品/词组误写成两个字的表达。命中 count_mismatch / two_items_as_two_chars 时按内容质量硬失败处理,不能因 AI 味低分放行。
- 别扭/库存明喻:由
content_lint.py 给出,命中 forced_simile / stock_simile 时优先检查是否只是装饰。若出现在开篇、章末或密集出现,发布前必须重写。
- 语义清晰硬检:由
content_lint.py 给出,命中 dangling_order_word 时说明“先”等顺序词缺少参照,需改成明确状态句或补足后续顺序;命中 abrupt_strong_event 时说明“忽然/突然+强动作”缺少声源、视线、动作链或规则触发,需补足转场;命中 unsupported_speech_claim 时说明角色声称的听见/看见/知道缺少上文证据;命中 opaque_memo_shorthand 时说明备忘录/纸条缩写省掉了关键对象;命中 unit_name_apposition / clipped_habit_sentence 时说明句子像提纲省略,需补足“的/在/经常/他”等正常口语连接;命中 clipped_summary_phrase 时说明信息复盘句像报告摘要,需改成角色当下判断。
- 状态堆叠硬检:由
content_lint.py 给出,命中 state_clause_pile 时说明同一句堆叠多个静态说明或重复“还”,需拆句或改为动作承接。
把脚本数字翻译成维度 1、2 的打分依据,并在报告里引用具体数字当证据。
评分方法
-
六维各打 0–5 分(0=完全人味,5=强 AI 味),锚点:
- 0–1:几乎看不到该维度的 AI 特征
- 2–3:有一些 AI 倾向,但也有人味,混合
- 4–5:该维度 AI 特征强烈
-
合成 AI 创作度:默认六维等权,AI创作度% = (六维总分 / 30) × 100,四舍五入到 5% 档,并表述为**±10% 的区间**(例:「约 65%,区间 55–75%」)。若某几个维度证据特别强,可适当加权并说明理由。
-
判定置信度(高/中/低),依据:
- 文本长度(越长越可判,<300 字一律低置信度)
- 各维度信号是否一致指向同一结论(一致→高;互相打架→低)
- 是否存在已知干扰因素(套路化类型文、译文、明显人工重度修改)
-
给出参考分档(描述用,别当铁律):
| AI 创作度 | 含义 |
|---|
| 0–20% | 几乎纯人工创作 |
| 20–40% | 以人工为主,可能有轻度 AI 润色 |
| 40–60% | 人机混合,难以判定 |
| 60–80% | 大量 AI 生成痕迹(可能 AI 起草 + 人工修改) |
| 80–100% | 高度疑似纯 AI 生成 |
-
发布/交付硬闸门(用于当前短篇生产流程):
自研AIGC值 必须严格低于目标值(当前为 4%);服务端会自动对正文运行,不是只读审核报告。
AI创作度 与当前精确 SHA 的 DeepSeek provider judge 裸正文判定必须严格 <4%,且 provider 建议完整。
六维合计 必须 ≤ 1,且任一单项不应 > 1。
段落重复 必须为 0。
本地AI味风险分 必须 ≤ 35/100。
- 内容完整性必须通过:不得有无语义脏码、随机字串、拟声/词表绕检噪声。
- 用户外部平台只作抽查:当前精确 SHA 若报告
>=4%,该版触发一次整章重渲染;替换 SHA 不等待人工复测。仅显式 automated_hard 自动 detector/mode 例外。
报告模板
按以下结构输出(可用 Markdown,但保持简洁、可读):
# 小说 AI 创作度审核报告
## 结论
- AI 创作度:约 X%(区间 A–B%) —— 「以人工为主 / 人机混合 / 大量 AI 痕迹 …」
- 置信度:高 / 中 / 低
- 一句话判断:[用「呈现出…一致的特征」「疑似」一类措辞,不下死判]
- 交付闸门:通过 / 不通过
## 量化信号(脚本)
- 自研AIGC值 / AI占比:0.xxxx / X%;引擎 codex-local-aigc-v4;是否严格 `<4%`
- 朱雀四维代理分:突发性 X;困惑度代理 X;结构指纹 X;跨段一致性 X;最高风险维度及 stats/signals
- 近年检测器代理层:弱语言模型一致性 X;局部熵/TTR X;风格计量 X;语义平滑 X;最高风险 stats/signals
- 句长突发度 CV:数值(解读)
- 套路措辞密度:每千字 X 次;偏高类别:……
- 本地AI味风险分:X/100;综合AI味风险分:X/100
- 腾讯朱雀AIGC抽查值:原始值 / 换算百分比 / 对应正文 SHA / 是否触发当前版返工(未提供则写“未抽查/未知”)
- 重复长片段:……
- 段落重复:完全重复段落 X;高度相似段落 X;重复长句 X
- 其他:……
## 维度评分
| 维度 | AI倾向分(0–5) | 关键证据(摘录原文) |
|---|---|---|
| 1 句法与节奏 | x | 「……」 |
| 2 措辞与陈词 | x | 「……」 |
| 3 情感与心理 | x | 「……」 |
| 4 细节与质感 | x | 「……」 |
| 5 比喻与意象 | x | 「……」 |
| 6 声音/连贯/风险 | x | 「……」 |
## 主要依据(3–5 条,带原文证据)
1. ……
2. ……
## 降 AI 味回改清单
- 必修 1:原句/段落 → 回改方向
- 必修 2:原句/段落 → 回改方向
- 禁止用“整体更自然”这类空话替代具体改法
## 反面信号(指向「这是人写的」的线索,务必也列)
- ……(刻意找证伪线索,避免确认偏误)
## 重要提示
- 本结论为概率性文风分析,不能单独作为 AI 生成的定论,尤其不可直接用于指控或处分。
- 若需高可信度判定,请结合写作过程稿、版本历史等来源证据。
务必保留「反面信号」一节:主动去找「这其实是人写的」的证据,对冲确认偏误。一份只会找 AI 痕迹、从不自我证伪的报告是不可信的。
边界与注意事项
- 不替用户做高风险定性判决。可以说「信号强烈倾向 AI」,但要同时讲清局限,并把最终判断权留给用户。
- 不羞辱、不指控。即使结论是高 AI 创作度,语气也保持中立、就事论事。
- 别被类型带偏。套路多 ≠ AI;在言情、玄幻、爽文里,陈词是类型惯例。这时更要靠维度 4(细节质感)和维度 6(声音)来区分「套路化的人类网文」与「AI 生成」。
- 短文本谨慎。几百字以内,信号噪声大,老实给低置信度。
- 承认不确定。当六维互相矛盾、或文本明显是 AI 初稿 + 人工重写的混合体时,如实说「难以判定」就是最专业的答案。
引用文件
quality/audit/scripts/text_signals.py —— 量化信号脚本(句长突发度、套路措辞密度、重复片段、段落级/句子级真重复),工作流第 2、3 步运行。
quality/audit/scripts/paragraph_dup.py —— 独立的段落级真重复检测(发布系统级别),工作流第 3 步运行;也可单独跑用于发布前自检。
quality/audit/scripts/content_lint.py —— 内容逻辑硬检脚本,目前覆盖“X个字:……”等数词事实错误、“两个商品/词组误写成两个字”、 “像一根刺”这类别扭/库存明喻、“先停了”这类顺序词悬空、“忽然砸门”这类无铺垫突发强事件、“我听见你说话了”这类证据声明悬空、“别回号”这类备忘录缩写、“1703蒋牧/搬来两个月,电梯里……”这类提纲式省略、“两个确认/最便宜的坑”这类摘要腔判断、状态说明逗号堆叠、恐慌台词句号切平/条款文本句号硬切,以及便签三条、黑卡 ToS、空对仗童谣、“X得发Y”复现、重复骂点、猫眼视角和身体/影子方位等表层结构感问题;命中时先改正文。
quality/audit/references/signals-zh.md —— 中文叙事文本的 AI 信号详细清单与正反例,逐维度评估时查阅;含"段落级真重复"专节。
quality/audit/references/aigc-detection-current-notes.md —— 公开 AI 文本检测逻辑与 codex-local-aigc-v4 本地化规则。
quality/audit/references/signals-en.md —— 英文/其他语言文本的对应清单与语言无关原则。