
De Ai Polish
- 113 installs
- 543 repo stars
- Updated August 5, 2026
- cat-xierluo/legal-skills
Detect and remove AI-sounding writing patterns from Chinese articles, run as a required check on a draft before output.
About
Detects and removes AI-style phrasing patterns from articles, with detect and fix modes and a rule set for repeated formulaic words and structures. A developer or writer uses it as a mandatory pass on any draft before delivering it to the user.
- Detect and fix modes over a Markdown file
- Frequency and structure rules for AI phrasing
De Ai Polish by the numbers
- 113 all-time installs (skills.sh)
- Ranked #629 of 1,879 Documentation skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/cat-xierluo/legal-skills --skill de-ai-polishAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 113 |
|---|---|
| repo stars | ★ 543 |
| Last updated | August 5, 2026 |
| Repository | cat-xierluo/legal-skills ↗ |
What it does
Detect and remove AI-sounding writing patterns from Chinese articles, run as a required check on a draft before output.
Files
De AI Polish
快速开始
检测文章中的AI化表述:
# 全文扫描检测
/de-ai-polish detect @article.md
# 直接修改
/de-ai-polish fix @article.md核心检测规则
总则:检测原则与通用模式
核心原则:以下清单和规则是参考框架,不是穷举清单。AI 写作的变体无穷,正则匹配必然遗漏。检测必须以 Agent 通读全文为主,清单仅作为辅助参考。
AI化表述往往以变体出现,不会恰好匹配清单字面形式。遵循以下原则:
1. 向上溯源:未列出的表述判断是否属于已知模板家族的变体(对比句式→递进结构→程式化转折→工整排比→程度副词堆叠→否定宣言→分离式对比→同义循环) 2. 频次红线:以下词/结构在全文出现超2次即视为AI程式化:越来越/越...越...、其实、往往/通常/很多时候、经常/常常、更重要的是/更麻烦的是、看起来/看来、真正、不只/不只是、更像/更像一个/更像一种、很容易、更容易 3. 连续重复:同一强化词在相邻句子连续出现即为AI痕迹(才...才...、不是...而是...、就是X,就是Y,就是Z) 4. 结构机械感:三个以上并列项以相同虚词引导(容易X、容易Y、容易Z);句子开头用程式化引导词(更麻烦的是、说到这里);程度副词+抽象名词固定搭配(有很强的体感) 5. 同义循环:不同词反复表达同一语义场,如窄/小/平/浅/局限、变化/改变/转变/变革,在短距离内超过3次即为AI词汇贫乏的表现
低 AI 污染类型学(v1.4.0)
下面 7 类用于把本 skill 的细碎禁用风格归纳成稳定问题来源。原有 17 类清单继续保留,负责具体命中;本类型学负责先判断“为什么这句话像 AI”,再决定怎么改。
结论:本 skill 的负面风格清理项可以完整归入这 7 类;personal-style-guide.md 中的正向个人风格是改写目标,不属于污染项。| 污染类型 | 问题来源 | 覆盖本 skill 中的规则 | 改写优先级 |
|---|---|---|---|
| 姿态污染 | 文本在评价自己、讨好读者或摆作者姿态 | 结尾姿态句、谄媚语气、自我陈述、评价式陈述、过度强调知名度、客观让步姿态 | 删除姿态层,直接保留事实、判断或经验 |
| 模板污染 | 用固定句式组织观点,替代真实判断 | 对比句式、程式化连接词、AI 过渡语、导语式口癖、比较性与断定性表述 | 重写整句,改成直接陈述、因果、场景或并列 |
| 语义稀释 | 模糊词、程度副词和大词冲淡信息 | 绝对化 / 哲学化 / 戏剧化、程度副词堆叠、模糊频次词、同义循环、空泛意义拔高 | 补足对象、条件、范围、结果;删掉无信息修饰 |
| 节奏污染 | 句式、排比、短句和断句形成机器节奏 | 工整排比、疑问词排比、连续短段、长级联 越...越...、句子节奏问题 | 打散工整结构,合并碎句,恢复自然段落节奏 |
| 概念污染 | 借黑话、隐喻、口号或专业词制造高级感 | 口号化隐喻、互联网黑话、引号误用、格局/生态/闭环/模板/叙事 等抽象词 | 能不用术语就改普通词;必须用时说明本文用法和边界 |
| 过程泄漏 | 把 AI、调研、协作或写作过程暴露给读者 | 模糊归因、知识截止免责声明、协作交流痕迹、以上是/请告诉我、资料状态式表达 | 删除过程痕迹;正文只留可确认事实和作者判断 |
| 格式污染 | 用格式包装替代正文表达 | 无序列表滥用、内联标题垂直列表、表情符号、过度粗体、引用块宣言、引号滥用 | 还原为自然段、合法清单或真实引用 |
使用方式: 1. 先给每个疑似问题标一个污染类型,再查下方 17 类细则确认命中依据。 2. 同一句同时命中多类时,只保留一个主类型,其余写作协同原因。例如“**这是 X** 出现在引用块里”主类型是模板污染,协同格式污染。 3. 改写建议按主类型给完整句式,不做同义词替换。
一、绝对禁止类(必须去除)
以下模式在任何情况下都应去除,它们是最明显的AI痕迹:
1. 对比句式
必须去除的模式:
不是.*而是并非.*而是不在于.*在于不在.*而在(缩写形式,如「问题不在工具,而在…」)不再是.*而是与.*是两回事与.*不等同于看似.*实则(如:看似在讲隐喻,实则在讲生产方式)看起来.*其实(如:看起来是X,其实是Y)可以.*但不能.*(能力限定式对比,如"冷水可以让人清醒,但不能替人看见未来")不在于.*也不在于(双重否定变体)远不只是.*("不只是"的加强变体)这不是X。这是Y。(分离式对比:把「不是…而是」拆成两句,本质相同)这不是X(否定宣言:作为段落开头或独立断言,如「这不是想象」「这不是追热点」)**这是X**(肯定宣言:作为独立加粗行或引用块,本质与否定宣言相同,只是省略了否定前缀,如「这是提前移动自己的观察位置」「这是在新的信任机制里,为自己建立位置」)低水平X...高水平Y/表层X...深层Y(工整对称对比,常出现在引用块中)
改写策略:根据上下文选择「删 / 合并 / 改写」。拆成独立陈述句或递进关系,避免为了强调而强行对比。改写时不要套用同一结构("本质上是X""症结在于X"),要根据语境灵活选择陈述、问答、因果、并列等替代方式。
否定宣言和肯定宣言的改写:直接删除"这不是"或"这是"前缀,保留核心内容即可。加粗行本身的格式已足够传达强调,无需再用"这是"开头。
同义词循环:
检测模式:在短距离内使用多个同义词指代同一事物
示例:
主人公…主要角色…中心人物…英雄(同一段落中用4个词指代同一人)系统…平台…工具…解决方案(频繁换词但指代同一事物)
改写:统一使用最准确的词汇,在上下文清晰的情况下重复使用同一词汇。
2. 程式化连接词
写作规则中已禁用:
首先、其次、此外、但是、因此、然而一方面、另一方面综上所述、总而言之
AI 词汇库:
深入探讨、深入分析(过度使用)强调、凸显、彰显(过度重复)持久的、持久的证明增强、增强其培养、培养/促进、促进获得、获得.*的认可相互作用、复杂的相互作用复杂/复杂性、错综复杂的格局、整体格局、格局的演变(抽象名词滥用)织锦、社会织锦(抽象名词滥用)宝贵的、宝贵的经验充满活力的、充满活力的社区
肤浅分析表述:
突出/强调/彰显…,确保…反映/象征…,为…做出贡献培养/促进…,涵盖…展示…,体现…
3. 结尾姿态句
必须检测的表述:
方向已经明确未来可期拭目以待这只是开始让我们期待
公式化展望:
检测关键词:
尽管其…面临若干挑战…尽管存在这些挑战、尽管面临挑战挑战与遗产、机遇与挑战并存未来展望、下一步计划我们将继续关注、值得关注
改写:删除空洞的展望,用具体事实或具体计划结尾,或直接结束。
4. 口语化与随意表述
必须检测的词汇:
稳、挺稳、很稳、靠谱飘、摇摆、不稳搞定、没问题迟早得、肯定、必须得- 过度使用肯定词:
肯定、绝对、一定 跑偏、很顺、挺顺等过于口语化的状态描述
随意化表述模式:
写长了、做多了、搞定了等过于随意的说法迟早得拆、肯定会、必须得等口语化表达接下来要盯的东西、接下来要关注的等口语化表达- 用简短口语替代专业说明
改写方向:使用更正式、更具体的表达("迟早得拆"→"需要考虑拆分","跑偏"→"偏离预期","很顺"→"顺畅")。
系动词回避:
作为/代表/标志着/充当 [一个]、拥有/设有/提供 [一个]、位于.*的中心、坐落于- 改写:"作为X的Y"→"X是Y","设有Z个W"→"有Z个W","坐落于"→"位于"
谄媚语气:
好问题!、您说得完全正确!、这就是一个很好的观点- 改写:直接陈述核心内容,删除讨好性表达。
5. 绝对化、哲学化与戏剧化表述
必须检测的表述:
并不是一个绝对命题本质上、从根本上说、从本质上讲必然、无疑、绝对、必须真正的、核心的、关键的(过度使用)推到底、刺痛感这词听着玄、道理其实很朴素天然、天生、自然而然(绝对化自然表述)立刻、马上、立即(过于绝对的时间表述)其实(过度使用,显得矫饰)其实已经能看清、其实很简单等带"其实"的表述很现实(AI式绝对化判断)
过度强调意义:
作为.*的体现/证明/提醒、充当.*的证明标志着.*关键时刻、见证了.*历史是.*不可或缺的组成部分、是.*的重要体现凸显/强调/彰显了其重要性/意义反映了更广泛的、象征着其持续的/永恒的/持久的为.*做出贡献、为.*奠定基础关键转折点、不断演变的格局
虚假范围:
从.*到.*(检查是否在有意义的尺度上)- 例如:"从大爆炸到暗物质"这种无意义的大范围
- 问题:强行用"从X到Y"结构,但X和Y不在同一尺度上
程度副词堆叠结构:
很+形容词/动词:很直接、很吃人、很依赖、很麻烦非常+形容词/动词:非常依赖、非常麻烦、非常清楚有+很+的+名词:有很直接的感觉、有很强的体感、有很深的感受- 改写:用更精确的动词替代程度副词,或直接陈述具体状态
戏剧化感受词:
- 震动、震撼、触动、眼前一亮、引人入胜、令人振奋
- 改写:换成更平实的表述("有意思"、"不一样"、"值得注意")
改写:用弹性表达替代绝对化("必然"→"往往"/"多半"/"可能","本质上"→"通常"/"在某种程度")。保留空间感,不过度封死结论。
6. 工整排比与对称结构
必须检测的结构:
- 三个或以上的"既要...又要...还要..."排比
- 强行对仗的并列句式
- 工整的对称表达结构
具体示例:
- "既要说明'我是谁',又要说明'我在做什么',还要说明'我怎么做'"
- "讲清楚口味、讲清楚底线、讲清楚习惯"(三个"讲清楚")
- 过于工整的"一方面...另一方面..."
疑问词排比:
三个以上疑问词引导的并列项,是 AI 列举场景时的典型结构:
能不能...能不能...能不能...(如"能不能下载,能不能直接跑,能不能少填几张表")怎样...怎样...怎样...(如"怎样收集信息,怎样组织判断,怎样沉淀经验")如何...如何...如何...(如"如何识别问题,如何做成工具,如何翻译工作")越...越...越...(如"越理解工具,越容易提升效率;越提升效率,越容易输出")
改写:将部分项合并为名词短语或动宾短语,打破统一句式。如"怎样收集信息,怎样组织判断,怎样沉淀经验"→"怎么收集信息、组织判断,怎么沉淀经验"(合并+缩减)。
改写:打破工整结构,改为陈述句或混合结构,避免三个以上相同结构的并列。
7. AI过渡语
必须检测的过渡语:
先把.*摆出来、摆上台面不妨把.*拆成、不妨这两个问题一问、答案就清晰了这话对了一半、这话没错我后来发现、我也想过一个直接的原因、一个现实的原因、一个根本的原因一个很现实的原因是、一个很直接的原因是原因很简单、原因很直接这也是为什么(结论倒装式过渡,直接删除前缀即可)从一开始就(时间绝对化框架,如"从一开始就没有对准问题")
协作交流痕迹:
希望这对您有帮助、当然!、您说得完全正确!、请告诉我、以上是…- 改写:删除所有协作交流痕迹,直接陈述核心内容。
8. 自我陈述
必须检测的表述:
我更愿意、我更倾向于我给自己定、我设定了我想强调、我想指出我期待、我希望
渐进式自我陈述:
我越来越觉得、我越来越认为、我越来越倾向于、我现在越来越- 整篇文章中"越来越"出现超过2次
- 改写:直接陈述观点,删除"我越来越"前缀。最多保留一处"我逐渐意识到"。
9. 导语式口癖
必须检测的表述:
表面上看更关键的是、更值得写的是、更重要的是更大的变化在于、更实质的变化是、更X的是/更X的在于("更"字引导的递进式宣言)从经验看、在实践中这当然成立、毫无疑问接下来会、接下来我们
频次表述重复:
很多时候(整篇文章出现超过2次)、往往、通常(过度重复)- 改写:第一处保留,后续替换为"多数情况下"/"常常"/"一般而言",或直接删除。
模糊归因:
行业报告显示、观察者指出、专家认为、多个来源(无具体出处)- 改写:删除模糊归因直接陈述,或提供具体来源"根据XX年XX的报告"。
知识截止免责声明:
截至 [日期]、根据我最后的训练更新、基于可用信息…、在现有资料中…- 改写:直接陈述已知事实,删除免责声明。
10. 口号化隐喻
必须检测的表述:
- 信号、叙事、换挡、战场
- 组合拳、闭环、模板、生态
- 把……搬进、拖进……
11. 过度情绪化
必须检测的词汇:
- 扎心、硬、值钱、最大
- 反复翻车
12. 过度强调知名度
必须检测的表述:
被.*多家媒体报道、受到.*广泛关注独立报道、地方/区域/国家媒体由知名专家撰写、专家团队活跃的社交媒体账号拥有超过.*粉丝、关注者
改写:删除空洞的知名度强调,或提供具体有意义的内容。
二、弹性检测类(根据上下文判断)
以下模式需要根据文章风格、语境和目标读者来判断是否修改:
13. 无序列表
检测标准:列表是否在"堆积观点"而非"说明步骤";整篇文章无序列表出现超过2-3次应改为段落。
可接受场景:操作步骤、检查清单、核心框架列举。
内联标题垂直列表:
- **用户体验:** 用户体验通过新界面得到显著改善(粗体标题+冒号的机械列表)- 改写:改为段落式表达或正常列表格式。
表情符号和粗体过度使用:
🚀 **启动阶段:**、💡 **关键洞察:**、过度使用**OKRs**等粗体- 改写:删除表情符号和过度粗体。
14. 引号使用
检测过度使用:
- 引号密度过高(整篇文章大量使用引号)
- 为普通词汇加引号(非术语、非引用)
- 用引号表达"反讽"或"强调"
- 半角英文引号
"..." - 半角单引号
'...' - 过度使用「」
AI写作特有的引号误用模式(必须检测):
以下类型的引号通常不需要,应去除:描述性短语("可调用的能力")、比喻性描述("Skill 的外壳")、口语化表达("能不能一键跑起来")、动作/状态描述("换一个 Skill")、属性列举("可组织、可迭代")、问题表达("Skill 很火")、价值判断("工作标准")。
正确使用引号的场景:引用原文、核心术语定义(首次出现)、避免歧义、特殊概念区分。
检测标准:
- 如果去掉引号后意思仍然清晰,通常不需要引号
- 如果是普通词汇(名词、动词、形容词)的描述性用法,不需要引号
- 如果是比喻、口语、动作描述,不需要引号
- 整篇文章中应尽量减少引号密度
- 优先保留:核心术语定义、原文引用
15. 评价式陈述与过度概括
必须检测的模式:
把.*讲得很清楚、把.*说得很明白更尖、更锐利、更深刻(评价性形容词修饰抽象概念)更硬的定义、更.*的.*(过度修饰的形容词结构)被.*卡住、被.*阻挡(被动句式+过度概括)一旦把视角从.*就更容易看清(视角转换程式化)更具体一点、更准确地说(AI式过渡语)
改写:直接陈述内容,删除评价性修饰和过渡语。"被两件事卡住"→"两件事挡在路中间","更具体一点"→直接进入具体内容。
16. 比较性与断定性表述
必须检测的模式:
它更像一种、更像一个.*它其实是、这里其实、其实是第二类天然会、天生就、自然而然就会更清楚、会更.*(过度使用的"会更"模式)就.*了、就.*能(过于绝对的断言)
否定式断定性表述:
事实并不是这样、事情并不是这样、并不是.*而是、其实并不是- 改写:删除否定前缀,直接陈述核心内容。"但情况并非如此"或直接进入事实。
改写方向:
- "它更像一种" → 直接说是什么
- "它其实是" → 直接陈述事实
- "天然会" → 用"通常会"、"往往"等弹性表达
- "会更清楚" → 直接陈述效果
- 整体策略:去掉前缀,直接陈述核心内容
17. 模糊频次词与客观让步姿态
模糊频次词(虚假普遍性):
经常、常常、常常会— AI 用这些词制造"普遍现象"的假象很容易+ 抽象判断(如"讨论很容易变窄")— 模糊频次 + 模糊后果的组合- 改写方向:用具体频次替代("最近几次聊到 X" 替代 "经常谈 X"),或直接删除频次修饰;模糊后果补充具体指向("变窄" → "局限在产品层面")
评价性断语(客观让步姿态):
太绝对、太武断、话说得太死、说过头了、容易被反驳这个判断太X、这种说法太Y— AI 先立靶子再打倒的程式化让步- 改写方向:用个人立场替代评价性断语("我不这么看" 替代 "这个判断太绝对"),或直接跳过让步,陈述自己的判断
改写对照:
| 原文 | 改写 | 说明 |
|---|---|---|
| 经常听到一个判断 | 最近几次都会碰到一个判断 | 具体频次替代模糊词 |
| 讨论很容易变窄 | 讨论就容易局限在产品层面 | 补充"窄在哪" |
| 这个判断太绝对,也容易被反驳 | 说 X,我不这么看 | 个人立场替代客观评价 |
工作流程
启动闸门:场景判定
去 AI 味的力度、容忍度和保护范围因场景而异。开始通读前,先判定本次属于哪类场景,并据此调整后续 Step 2-5 的力度与重点。若用户未指明,默认按“通用”处理。
| 场景 | 默认力度 | 重点扫描的污染类 | Protected Spans 宽度 |
|---|---|---|---|
| 法律文书(判决/意见/合同/代理词/法律意见书) | 克制 | 姿态污染 / 过程泄漏 / 格式污染 | 最宽 |
| 公众号·公开评论 | 激进 | 模板污染 / 节奏污染 / 语义稀释 | 标准 |
| 口语·即时回复(chat/status/站会) | 最小 | 谄媚 / 协作痕迹 | 标准 |
| 通用(未指明) | 按公众号力度 | 全类 | 标准 |
场景判定约束后续三件事:① 改写力度(克制/激进/最小);② Protected Spans 宽度(法律文书最宽,见 Step 1);③ 重点扫哪几类污染(其余污染类仍按默认处理,不跳过,只是优先级靠后)。法律文书场景下,正式语体、程序术语、固定程式表达默认保留,不当作 AI 味处理。
Step 1: 阅读理解
必须完整通读全文,理解核心观点、文章风格和上下文语境。不得仅通过正则/grep 匹配来检测——正则只能覆盖已知模式的精确形式,会遗漏大量语义等价但形式不同的变体。
通读时同步划定 Protected Spans(禁改项):标记必须原样保留、后续 Step 2-4 不得触碰的范围。默认覆盖:
- 法条、司法解释、规章的编号与引述(如《民法典》第 143 条、(2023)最高法民申 12 号)
- 当事人、机构、律所、公司全称
- 程序术语(管辖、异议、上诉期、举证责任、开庭传票等)
- 直接引语、引证、合同条款编号
- 数值、日期、比例、金额、期限
- URL、文书编号、案号
判定原则:宁可多保留,不可误改。若某 Protected Span 表面像 AI 味(如公司全称带“有限公司”被误判为宣传性),仍保留原样,只在备注里提示用户复核。场景为“法律文书”时,Protected Spans 范围取最宽。
Step 2: 识别AI化表述
以 Agent 通读全文的方式识别 AI 化表述。前文的核心检测规则(§总则 + §一~§二)是参考框架,不是穷举清单。Agent 应当:
进入本步之前,先声明扫描范围:本次覆盖了哪些 §(§总则、§一、§二 的具体小节),本次未覆盖的 § 也明确列出。让用户一眼看到检测的边界在哪。
识别过程不得触碰 Step 1 划定的 Protected Spans:即使 Protected Span 内部出现疑似 AI 模式(对比句式、宣传语等),也不列入 finding、不改写;最多在交付备注里提示用户复核。
1. 类型归纳:先按“低 AI 污染类型学”给疑似问题标主类型:姿态污染 / 模板污染 / 语义稀释 / 节奏污染 / 概念污染 / 过程泄漏 / 格式污染。不要一开始就做词表替换。 2. 词汇层扫描:通读全文,识别所有疑似 AI 化的词与短语——无论是否出现在清单中。重点扫描以下热点区域:
- 节标题:标题中的"不在X""只是Y"等模式常被忽略
- 加粗行和引用块:AI 倾向把最工整的对比句、宣言式断言放在
**粗体**或> 引用中 - 段落首句和末句:AI 的过渡语和总结句最常出现在这些位置
3. 结构层扫描:词汇扫完不要宣布完成。独立走一遍结构扫描,专门识别 AI 倾向的句式骨架。强制扫描以下结构模式:
- 连续 3+ 相同虚词引导的并列:
是 X。是 Y。是 Z。/生成 X,生成 Y,生成 Z/先把 X。先把 Y。先把 Z。/我们要的是 X,是 Y,是 Z - 连续 3+ 疑问词引导的并列:
能不能 X?能不能 Y?能不能 Z?/怎样 X,怎样 Y,怎样 Z/如何 X,如何 Y - 连续 3+ 被动排比:被 X、被 Y、被 Z / 能够被复核、被采纳、被传递
- 连续 3+ 短段(单句段落成串):每段都独立成段、内容结构相似、节奏整齐划一
- "X 是 X 是 X" 嵌套:同一动词多次出现引导相同结构的并列
4. 再对照清单:补充通读时可能遗漏的频次超标(如 越来越 真正 不只 等超过 2 次的词) 5. 向上溯源:清单中的每条规则代表一类模式。识别到未列出的表述时,判断它是否属于某个已知模式家族的变体(对比句式→递进结构→程式化转折→工整排比→程度副词堆叠→否定宣言→分离式对比→同义循环)
禁止的做法:仅用 grep/正则匹配清单中的关键词,然后声称检测完成。正则匹配只能作为频次统计的辅助工具,不能替代通读理解。词汇层扫完不能宣布完成——必须再走一遍结构层扫描。
为什么结构层必须独立走:词汇层 flag(如「不是 X 而是 Y」「其实」「真正」)容易锚定,agent 容易把全部注意力放在词替换上。结构层 flag(连续问号、连续短段、连续虚词引导的并列)不会出现在词级 grep 结果里——必须按位置、按节奏、按并列项数单独扫一遍。词扫得再彻底,结构不扫等于没扫。
Step 3: 判断是否修改
不是所有匹配都需要修改。判断标准:是否影响表达自然度、是否符合文章风格、是否有修辞目的。
Step 4: 重新表述句子
核心原则:重新表述整个句子,不要只删除词汇或替换同义词。
错误(×):"它更像一种可维护的模块" → "这是一种可维护的模块"(只删词,结构没变) 正确(✓):"它更像一种可维护的模块" → "这种设计便于后续维护"(重构句子)
同义词替换是无效改写:把"窄"换成"局限"、把"小"换成"有限"、把"这不是"换成"那不是",句式和语气都没有变化,读者仍然能感受到 AI 味。必须在理解原句核心意思的前提下,换一种全新的表达结构。
| 原文 | 无效改写(×) | 有效改写(✓) | 说明 |
|---|---|---|---|
| 格局一开始就小了 | 格局一开始就窄了 | 讨论就没抓到重点 | 换了语义场,换了句式 |
| 这不是我理解的 AI | 那不是我关注的 | 我关注的角度不太一样 | 去掉否定宣言,换成个人立场 |
| 视野就窄了 | 视野就局限了 | 但只看到这些还不够 | 彻底换一种表达 |
| 你越X,越Y;越Y,越Z | 你越X就越Y,越Y就越Z | 理解工具,效率会先提上来。有了余量,输出自然就多了 | 长级联拆成短句 |
Step 5: 注入个人风格(可选)
在去除 AI 化表述后,可选地注入个人风格特征。目标比例:技术准确性 60% / 个人化 40%。本步可选,纯技术/法律文书若无需个人化可跳过。
两条路径(按是否有作者样本选择):
- 有作者样本 → Voice Calibration:若用户提供了目标作者的写作样本(建议 ≥500 字),按
reference/personal-style-guide.md的"Voice Calibration 流程"提取 voice profile(七维度:句长分布 / 词选层级 / 段落开头 / 标点习惯 / 口头禅与过渡 / 观点密度 / 语气倾向),改写时按 profile 匹配。样本优先于下面的默认特征。 - 无样本 → 默认 voice:按下面的正向特征注入,细节查
reference/personal-style-guide.md"默认 voice"节。
样本边界:只使用用户提供或确认可用于本次任务的作者样本。Voice Calibration 只学习表达特征,不冒充作者身份、不复制样本原句或高辨识短语、不把样本事实写进目标文本。若样本含敏感信息,只抽象成 voice profile,不在交付正文中复述。
默认正向特征(无样本时使用): 1. 开头的真实感:用个人感受/具体场景/平实判断开头,不用"本文将探讨…" 2. 弹性表达:保留"可能""往往""某种程度"等,不封死结论 3. 有分寸的口语:"说实话""也许"可以,"搞定""跑偏"不行 4. 自嘲式幽默:意外转折、反常识可以,炫耀式自夸不行 5. 自然对比:"当然…但是…"可以,"并非…而是…"不行 6. 句子节奏:长短句搭配,不刻意工整
参考文件(读取以获取详细指南):
reference/personal-style-guide.md:Voice Calibration 流程 + 默认 voice 特征reference/expression-transformations.md:表达方式转化对照表reference/sentence-rhythm-guide.md:句子节奏指南reference/quality-scoring.md:质量评分系统
Step 6: 标点符号修正(代码强制执行)
必须作为最后一步执行。 AI 修改文本后往往会遗留英文标点,纯靠 LLM 提醒修正效果不可靠,因此使用脚本强制转换。
python3 scripts/fix_punctuation.py <文件路径>脚本会自动处理:
- 英文引号
"→ 中文引号""(交替状态机) - 中文语境中的
,→,、;→;、?→?、!→! - 中文语境中的
:→:、()→() - 中文字符后的
.→。
脚本会自动跳过以下区域不做转换:
- YAML front matter(
---之间的元数据) - Markdown 图片和链接语法(
![]()、[]()) - 代码块和行内代码(
`、```) - URL 地址
Step 7: 交付前评分门禁
Step 4-6 完成后、交付用户前,按 reference/quality-scoring.md 的 5 维(自然度 / 节奏感 / 专业度 / 个性度 / 精炼度,总分 10)对最终文本评分:
- 总分 < 7.0 → 回到 Step 4 重新表述问题句,再评分。
- 单维度硬伤:自然度 < 1.5 或个性度 = 0 → 即使总分达标也回炉。
- 场景调整:法律文书场景下专业度 < 1.5 即回炉;口语场景下个性度 / 精炼度阈值可放宽。
- 有作者样本时的 voice profile 门禁:若最终文本明显偏离已提取 profile 的主要稳定维度,或复制样本原句 / 高辨识短语、引入样本事实、复现 profile 标记的反例,必须回到 Step 4/5 重修。
评分时可用"直接度""信任读者"两个辅助视角定位扣分原因(见 reference/quality-scoring.md"作为交付门禁使用"节),不单独打分。评分过程与结果默认不写入交付正文,只在交付备注或用户要求时给出。
Changelog
[2.0.1] - 2026-06-23
改进
- 补齐 Voice Calibration 的样本使用边界:只使用用户提供或确认可用于本次任务的作者样本,不主动抓取或推测私人样本。
- 明确 Voice Calibration 只学习表达特征,不冒充作者身份、不复制样本原句或高辨识短语、不引入样本事实。
- 在 Step 7 与
reference/quality-scoring.md增加 voice profile 附加门禁:profile 明显偏离、反例复现、样本复刻或事实污染均需回炉 Step 4/5。
文档完善
- 更新
reference/personal-style-guide.md:新增“样本与身份边界”“匹配门禁”,并将提取步骤改为先确认样本边界。 - 更新独立 README 与发布索引口径,补齐 Voice Calibration 与 v2.0.1 版本同步。
[2.0.0] - 2026-06-22
核心变更:Voice Calibration 改造 Step 5
问题背景:v1.x 的 reference/personal-style-guide.md 是单一参考样本提炼出的静态特征清单,把"这个作者的习惯"当成了通用规则。Step 5 注入风格只能套抽象正向特征,缺少"从任意目标作者样本提取声音"的可操作流程——当用户想让改写贴近某个具体作者(如自己、某位律师)时,无能为力。
新增
- Voice Calibration 流程(
reference/personal-style-guide.md): - voice profile 七维度:句长分布 / 词选层级 / 段落开头习惯 / 标点习惯 / 口头禅与过渡 / 观点密度 / 语气倾向
- 提取步骤(通读 → 逐维填 profile → 标记反例 → 产出声音画像)
- author profile 可填模板
- Step 5 两条路径:有作者样本 → 走 Voice Calibration 提取 voice profile 并匹配(样本优先);无样本 → 用默认正向特征。
变更
reference/personal-style-guide.md原有 8 节特征重新定位为"无样本时的默认 voice",加版本记录 v2.0;比喻、句式统一标注为示例(来自参考样本,非必须复现的通用规则)。
保持不变
- Protected Spans、场景分流、评分门禁(v1.5.0)不动。
- 7 类污染类型学(v1.4.0)不动;三轴分离仍是观察项。
[1.5.0] - 2026-06-22
核心变更:Protected Spans + 场景分流 + 评分门禁接入
问题背景:v1.4.0 之前,去 AI 味对所有文本用同一种力度,且没有显式保护法律写作中必须原样保留的范围(法条、当事人全称、程序术语等),容易误改;同时 reference/quality-scoring.md 已有 5 维评分但未接入 workflow,改写质量缺乏交付门禁。
新增
- 启动闸门:场景判定:工作流程开头先判场景(法律文书 / 公众号·公开评论 / 口语·即时回复 / 通用),场景决定改写力度、Protected Spans 宽度和重点扫描的污染类。法律文书场景默认保留正式语体与程序术语。
- Protected Spans(禁改项先划):Step 1 通读时同步划定必须原样保留的范围(法条与司法解释编号、当事人·机构·律所全称、程序术语、直接引语与引证、合同条款编号、数值·日期·比例·金额、URL 与文书编号)。Step 2-4 不得触碰;宁可多保留,不可误改。
- Step 7:交付前评分门禁:把
reference/quality-scoring.md的 5 维评分(自然度 / 节奏感 / 专业度 / 个性度 / 精炼度,总分 10)提升为强制门禁。总分 < 7.0 或单维度硬伤(自然度 < 1.5 / 个性度 = 0)必须回炉 Step 4 重修;法律文书场景下专业度 < 1.5 即回炉。
变更
reference/quality-scoring.md新增"作为交付门禁使用"节:明确何时评、回炉阈值、场景调整;并引入"直接度""信任读者"两个辅助视角(不新增维度,仅作评分检查点)。- 中性化历史版本记录中的外部规则来源表述(v1.0.0 CHANGELOG 条目与 quality-scoring.md v1.0 版本记录),与"不写借鉴归属"口径对齐。
保持不变
- 7 类低 AI 污染类型学(v1.4.0)不动;三轴分离(Tier/档位/scope)作为观察项,待类型学实战检验后再定。
- 原有 17 类检测细则、Step 1-6 工作流核心、句式重构原则、标点修正脚本继续保留。
[1.4.0] - 2026-06-22
核心变更:低 AI 污染类型学
问题背景:既有规则按具体禁用模式罗列,召回足够细,但执行 review / fix 时容易变成“逐词替换”。writing-reviewer v0.9.1 已把低 AI 污染归纳为 7 类来源,适合反向回灌到 de-ai-polish,让检测先判断问题来源,再查具体清单。
新增
- 7 类低 AI 污染类型学:
- 姿态污染:评价自己、讨好读者、摆作者姿态
- 模板污染:固定句式替代真实判断
- 语义稀释:模糊词、程度副词和大词冲淡信息
- 节奏污染:排比、短句、断句形成机器节奏
- 概念污染:黑话、隐喻、口号或专业词制造高级感
- 过程泄漏:AI、调研、协作或写作过程暴露给读者
- 格式污染:列表、粗体、引用块、引号等格式包装替代正文表达
- 工作流调整:Step 2 从“词汇层扫描”前置为“类型归纳 → 词汇层扫描 → 结构层扫描 → 清单复核 → 向上溯源”。
- 与 writing-reviewer 对齐:de-ai-polish 负责细粒度去 AI 与修稿,writing-reviewer 使用同一类型学输出 review finding。
保持不变
- 原有 17 类检测细则继续保留,作为具体命中规则。
- 原有句式重构原则、个人风格注入和标点修正流程继续保留。
[1.3.0] - 2026-05-31
核心变更:实战验证后的规则扩充与改写指导强化
问题背景:在"法律人为什么要研究 AI"文章的实际检测中,发现多条遗漏模式。部分模式在 v1.2.0 已有规则框架覆盖,但缺少具体变体和实战指导,导致检测时仍然遗漏。同时,改写环节(Step 4)的指导过于抽象,Agent 倾向于同义词替换而非句式重构。
变更
§1 对比句式扩充:
| 新增变体 | 示例 |
|---|---|
| 能力限定式对比 | 可以让人清醒,但不能替人看见未来 |
| 双重否定变体 | 不在于...也不在于 |
| 加强变体 | 远不只是("不只是"的加强形式) |
| 肯定宣言 | **这是提前移动自己的观察位置**(省略否定前缀,本质同否定宣言) |
| 工整对称对比 | 低水平效率...高水平效率(常出现在引用块中) |
新增改写指导:否定宣言和肯定宣言可直接删除"这不是"/"这是"前缀,保留核心内容。
§6 工整排比扩充:
新增「疑问词排比」子类:
能不能...能不能...能不能...怎样...怎样...怎样...如何...如何...如何...越...越...越...(长级联)
§7 AI 过渡语扩充:
这也是为什么(结论倒装式过渡)从一开始就(时间绝对化框架)
§9 导语式口癖扩充:
更大的变化在于、更实质的变化是、更X的是/更X的在于
频次红线扩充:
- 新增
更容易(与很容易同属模糊频次修饰)
Step 2 新增热点区域提示:
检测时重点扫描三类热点区域:
- 节标题(标题中的"不在X""只是Y"常被忽略)
- 加粗行和引用块(AI 倾向把最工整的对比句放在此处)
- 段落首句和末句(过渡语和总结句的高发位置)
Step 4 改写指导强化:
新增「同义词替换是无效改写」原则,附具体对照表:
- 窄→局限(无效) vs 换句式(有效)
- 这不是我理解的 X→不是我关注的 X(无效) vs 我关注的角度不太一样(有效)
- 越...越...级联→越...越...(无效) vs 拆成短句(有效)
[1.2.0] - 2026-05-31
核心变更:检测方式从正则匹配改为 Agent 通读
问题背景:在实际使用中发现,正则/grep 匹配只能覆盖已知模式的精确形式,会遗漏大量语义等价但形式不同的变体。例如「不在…而在」作为「不在于…在于」的缩写形式未被检测到,「表面上X,实际Y」作为「看似X,实则Y」的变体也未被捕获。工整排比、同义循环等问题更是无法通过正则识别。
变更
工作流重写(Step 1 & Step 2):
- Step 1 明确要求「必须完整通读全文」,禁止仅通过正则/grep 完成检测
- Step 2 改为「先通读 → 再对照清单 → 向上溯源」三步法
- 新增禁止条款:「禁止仅用 grep/正则匹配清单关键词然后声称检测完成」
总则新增核心原则声明:
- 明确「清单是参考框架,不是穷举清单。检测必须以 Agent 通读全文为主」
新增检测规则
| 规则 | 内容 |
|---|---|
| 分离式对比 | 这不是X。这是Y。 — 把「不是…而是」拆成两句,本质相同 |
| 否定宣言 | 这不是X 作为段落开头或独立断言(「这不是想象」「这不是追热点」) |
| 缩写形式对比 | 不在.*而在 — 「不在于…在于」的缩写形式 |
| 同义循环 | 不同词反复表达同一语义场(窄/小/平/浅),短距离超过 3 次即为 AI 词汇贫乏 |
频次红线扩展
新增以下词汇/结构到频次红线(全文出现超过 2 次即视为 AI 程式化):
真正、不只/不只是、更像/更像一个/更像一种、很容易
模板家族溯源扩展
向上溯源原则新增维度:对比句式→递进结构→程式化转折→工整排比→程度副词堆叠→否定宣言→分离式对比→同义循环
[1.0.3] - 2026-04-21
触发机制优化
问题背景:de-ai-polish 虽已内置完整检测规则,但在实际使用中未能稳定触发。表现为 de-ai-polish 描述过于简略,未明确强制触发条件,Claude 依赖"想起来才用"而非"每次必用"。
变更
description 强化:
- 明确标注
**必须触发**条件 - 规定文章经写作流程完成初稿后、输出给用户之前,必须调用此 skill
- 明确禁止"先输出再说"、"凭感觉省略检测"等做法
文档完善
- 2026-04-22:按独立仓库 README 新规范重写首页,补充典型去 AI 腔场景、检测范围、安装方式、使用边界、核心设计、关键文件入口、Legal Skills 关联项目导流、作者联系入口和微信二维码
[1.0.2] - 2026-04-20
规则修补 - 程度副词堆叠 + 戏剧化感受词
新增规则
| 规则 | 内容 |
|---|---|
| 程度副词堆叠结构 | 很+形容词/动词、非常+形容词/动词、有很X的感觉 三类结构检测 |
| 戏剧化感受词 | 震动、震撼、触动、眼前一亮 等AI式大词检测与改写 |
规则修补 - 补充检测变体与通用模式
背景:在对《git驱动的ai协作》文章进行de-AI-polish时,发现大量AI化表述未被初始规则识别,原因是规则只覆盖了字面形式,未覆盖变体和通用模式。
新增总则
- 模板家族溯源原则:遇到未在清单中直接列出的表述时,判断其是否属于已知模板家族的变体
- 频次红线原则:
越来越、其实、往往、看起来等词在全文出现超过2次即视为程式化 - 连续重复原则:同一强化词在相邻句子中连续出现即应视为AI痕迹
- 结构机械感自检:三项具体自检标准
规则扩充
| 规则 | 原覆盖 | 本次新增 |
|---|---|---|
| 对比句式 | 不是...而是... | 看起来像...、越来越像...、更像是... |
| 程式化连接词 | 首先/其次/但是/因此 | 当然、更麻烦的是、说到这里 |
| 绝对化表述 | 其实(特定结构) | 单独出现的其实、泛化程度副词有很强的体感 |
| 工整排比 | 既要...又要... | 依赖人去X、去Y、去Z、换个X、换个Y、接个Z、是A、是B、是C、既是A、也是B、也是C |
| 递进结构 | 我越来越... | 无主语越...越...递进(越学Git,越有...) |
| 导语式口癖 | 更关键的是 | 更麻烦的是、说到这里 |
[1.0.0] - 2026-02-11
首个正式版本 - 系统化整合 AI 写作检测规则
- 新增规则整合:系统化整理 24 种 AI 写作检测规则,整合到现有章节中
- 扩展 5 个现有章节,新增 1 个独立章节
- 新增质量评分系统(5 维度,总分 10)
新增检测规则
- 过度强调意义:作为.的体现/证明、标志着.关键时刻、凸显/强调/彰显其重要性
- 虚假范围:从.到.(无意义的大范围)
- AI 词汇库:深入探讨、强调、凸显、彰显、持久的、增强、培养、获得、相互作用、复杂/复杂性、格局、织锦、宝贵的、充满活力的
- 肤浅分析表述:突出/强调/彰显…、确保…、反映/象征…、为…做出贡献、培养/促进…
- 同义词循环:短距离内使用多个同义词指代同一事物
- 系动词回避:作为/代表/标志着/充当 [一个]、拥有/设有/提供 [一个]
- 谄媚语气:好问题!您说得完全正确!、这是一个很好的观点
- 模糊归因:行业报告显示、观察者指出、专家认为、一些批评者认为
- 知识截止免责声明:截至 [日期]、根据我最后的训练更新、虽然具体细节有限/稀缺
- 协作交流痕迹:希望这对您有帮助、当然!、一定!、您说得完全正确!、请告诉我
- 公式化展望:尽管其…面临若干挑战…、尽管存在这些挑战、未来展望、下一步
- 过度强调知名度:被.多家媒体报道、受到.广泛关注、拥有超过.*粉丝
- 内联标题垂直列表:- 用户体验: 用户体验通过新界面得到显著改善
- 表情符号和粗体过度使用:🚀 启动阶段:、OKRs、KPIs
新增功能
- reference/quality-scoring.md:质量评分系统
- 自然度、节奏感、专业度、个性度、精炼度(5 个维度)
- 总分 10 分,9.0-10 分为优秀,7.0-8.9 分为良好,低于 7.0 分需重新修订
规则编号调整
- 原 12-14 规则重新编号为 13-15(因新增了规则 12)
[0.4.0] - 2026-01-25
重大变更 - 基于真人写作样本的风格注入增强
- 新增"人味"表达的正向特征:基于用户范例文章分析
- 开头的真实感(个人感受/具体场景/平实判断/意外转折)
- 弹性表达的适度使用(保留空间感)
- 口语化的正确边界(有分寸 vs 过度随意)
- 幽默感的自然融入(自嘲/意外/反常识)
- 对比的自然表达(避免AI式对比)
新增
- 核心原则总结:
- 真诚感 > 模板化
- 有分寸 > 随意化
- 保留空间 > 封死结论
- 自嘲 > 炫耀
优化
- 从"去除AI腔"扩展到"注入人味"
- 提供正向的风格特征示例
- 增强技能的实用性
[0.3.0] - 2026-01-24
重大变更 - 个人风格注入
- 新增功能:在去AI化基础上,可选地注入个人风格
- 新增 Step 5:注入个人风格
- 目标比例:技术准确性 60% / 个人化 40%
新增
- reference/ 目录:个人风格参考目录
personal-style-guide.md:个人风格特征指南- 思维过程展示(弹性表达、承认局限、观察性总结)
- 口语化表达(生活化比喻、对话式句式、直接对话读者)
- 第一人称与个人观点
- 句子节奏
- 自然过渡
- 问题导向与实用建议
expression-transformations.md:表达方式转化对照表- 绝对化 → 弹性表达
- 对比句式 → 并列/递进
- 程式化连接词 → 自然过渡
- 生活化比喻库
- 口语化句式库
sentence-rhythm-guide.md:句子节奏指南- 长短句搭配原则
- 短句点睛技巧
- 自然断句
- 段落节奏
工作流程更新
原有流程:
1. 阅读理解 2. 识别AI化表述 3. 判断是否修改 4. 重新表述句子
新增步骤:
5. 注入个人风格(可选)
持续迭代
- 个人风格定义会在实际使用中持续优化
- 根据用户反馈调整 reference 文件
- 记录有效的风格特征和表达方式
[0.2.0] - 2026-01-24 19:53
重大变更 - 方法论重构
- 核心方法论更新:从"删除标记词汇"改为"重新表述整个句子"
- 明确区分"删除式修改"(错误)与"重新表述"(正确)
- 添加详细的对比示例表,展示两种方法的差异
- 强调重新表述句子结构,而非简单删除标记词
新增
- 第14类检测规则:比较性与断定性表述
- "它更像一种"、"更像一个.*"
- "它其实是"、"这里其实"、"其实是第二类"
- "天然会"、"天生就"、"自然而然就"
- "会更清楚"、"会更.*"(过度使用的"会更"模式)
- "就.了"、"就.能"(过于绝对的断言)
文档完善
- 修复 markdown 格式问题(表头对齐、列表空行等)
- 增强方法论部分的可操作性
[0.1.1] - 2026-01-13
变更
- 技能架构整合:从
wechat-article-writeskill 整合AI腔控制功能 - 新增观察式表达检测规则(第16条检测规则)
- 增强AI化表述检测能力,统一管理所有AI腔问题
- 完善改写方向指导,提供更具体的优化建议
- 升级版本至 v1.1.0
文档完善
- 完善 frontmatter 元数据,添加版本、作者、分类等信息
- 增强SKILL.md主文件的结构化程度
- 补充详细的质量标准和优秀标准
[0.1.0] - 2026-01-13
新增
- 创建AI化表述检测skill,支持13大类AI化表述的识别
- 对比句式:不是...而是...、并非...而是...等
- 口语化词汇:稳、靠谱、飘、搞定等
- 戏剧化表达:推到底、刺痛感、本质上等
- AI过渡语:先把...摆出来、不妨、话说对了一半等
- 自我陈述:我更愿意、我给自己定、我想强调等
- 程式化连接词:首先、其次、此外、但是、因此等
- 导语式口癖:表面上看、更关键的是、接下来会等
- 口号化隐喻:信号、叙事、闭环、生态、搬进等
- 过度情绪化:扎心、必然、无疑、绝对等
- 排比句:工整的并列句式
- 无序列表:检测过度使用,非完全禁止
- 结尾姿态句:方向已经明确、未来可期等
- 引号使用:检测过度使用、格式错误
技术优化
- 设计4步工作流程:阅读理解→识别AI化表述→判断是否修改→修改
- 强调基于理解而非机械扫描,避免使用固定正则表达式
- 强调避免固定替换模板,保持语言多样性和个性
- 删除references目录,保持skill简洁
待办事项
- 根据实际使用情况优化检测规则
- 可能增加更多AI化表述模式
de-ai-polish
检测并去除中文文章里的 AI 化表述模式,让文章从“工整但假滑”回到更自然、更像真人写作的状态。
它不是简单同义改写,而是识别对比句式、空洞总结、排比堆砌、模板化转折和夸张语气,再决定删、合并还是重写。
典型场景
用户:这篇文章读起来很 AI,帮我处理一下,但不要改掉我的核心观点。
AI:我会先扫描 AI 化表述模式,标出问题句,再按“删 / 合并 / 改写”处理。
最后输出检测报告和修订后的自然版本。写作流程完成初稿后,也应在输出给用户前调用本 skill 做最后一轮 AI 腔检查。
它能产出什么
- AI 化表述检测报告
- 问题句和问题类型标注
- 删、合并、改写三类处理建议
- 修订后的自然文本
- 有作者样本时的 voice profile 与匹配检查
- 质量评分和二次修订建议
当前覆盖范围
重点检测:
- “不是...而是...”等机械对比句
- “首先、其次、此外、综上所述”等程式化连接词
- “越来越、其实、往往、很多时候”等高频模板词
- 三项以上工整排比和虚假层次感
- “深入探讨、彰显、复杂性、格局”等 AI 词汇库
- 空洞意义拔高、模糊归因、公式化展望
- 过度粗体、表情符号和协作交流痕迹
- 有作者样本时的 Voice Calibration:提取句长、词选、段落开头、标点、过渡、观点密度和语气倾向
安装方式
1. 打开本仓库的 GitHub Releases。 2. 下载最新版本的 skill 压缩包。 3. 解压后将 de-ai-polish/ 文件夹放入你的 skill 目录。 4. 在支持 SKILL.md 的 Agent / Claude 环境中启用该 skill。
本 skill 不需要额外依赖。
可以怎么用
- “请检测这篇文章的 AI 腔,并给出修改建议”
- “直接把这篇文章改得自然一点,但保留原观点”
- “请只标注问题句,不要直接改正文”
- “文章准备发公众号,请最后过一遍 AI 化表达”
- “参考这段我自己的文章,改得更像我的表达,但不要复制原句”
使用边界
这个 skill 适合:
- 中文文章、评论、公众号、报告、演讲稿的自然化润色
- 识别 AI 生成文本中常见的模板句式和空洞表达
- 在保留原观点的前提下提高文字节奏和人味
这个 skill 不适合:
- 英文文本或多语言翻译润色
- 把低质量内容改造成有事实深度的原创研究
- 删除必要的法律术语、技术术语或固定表达
- 代替作者判断观点是否准确、证据是否充分
- 未经确认使用第三方私人写作样本
- 冒充某位作者本人,或复制样本原句、独有比喻、私人事实
核心设计
识别模板家族
AI 化表达常常换皮出现,不会完全匹配固定词表。skill 会把新表述向上归类到已知模板家族,再判断是否需要处理。
频次和相邻重复
单个词未必有问题,但短文中反复出现“其实、越来越、往往、看起来”等词,会形成明显机器感。相邻句重复同一结构也会被优先处理。
不机械替换
同一句问题可能适合删除、合并或改写。skill 不追求把每个模板换成另一个模板,而是根据上下文判断这句话是否还有独立价值。
Voice Calibration
当用户提供并确认可用于本次任务的作者样本时,skill 会先提取 voice profile,再按 profile 改写。它只学习表达特征,不冒充作者身份、不复制样本原句、不把样本事实写进目标文本。
交付门禁
最终文本需通过自然度、节奏感、专业度、个性度、精炼度评分。有作者样本时,还要检查是否匹配 voice profile;若 profile 明显偏离、复现反例、复制样本短语或引入样本事实,需要回炉重写。
关键文件
- SKILL.md:检测规则和执行入口
- reference/expression-transformations.md:表达转换参考
- reference/personal-style-guide.md:Voice Calibration 流程和默认 voice 规则
- reference/quality-scoring.md:质量评分和 voice profile 门禁
- reference/sentence-rhythm-guide.md:句子节奏处理
许可证
本作品采用 MIT 许可证。
关于作者 / 咨询与交流
杨卫薪律师(微信 ywxlaw)
如需使用交流、企业内部落地、定制开发或商用授权,欢迎添加微信(请注明来意)。
<div align="center"> <img src="https://raw.githubusercontent.com/cat-xierluo/legal-skills/main/wechat-qr.jpg" width="200" alt="微信二维码"/> <p><em>微信:ywxlaw</em></p> </div>
关联项目
本仓库是 Legal Skills 的子项目。如果需要合同、商标、专利、OPC、小微企业合规、文档处理等更多法律类开源 Skill,可以关注主仓库。
相关项目:
- md2word:Markdown 转专业排版 Word 文档
- legal-proposal-generator:法律服务方案生成
- contract-copilot:合同审查、起草和 Word 修订批注
表达方式转化对照表
版本记录
- v1.0 (2026-01-24 20:10) → 基于用户写作风格创建初版
使用说明
本文档提供 AI 化表达 → 个人风格表达的对照表,用于在改写时快速查找合适的表达方式。
---
一、绝对化 → 弹性表达
| 场景 | AI化表达(×) | 个人风格(✓) | 说明 |
|---|---|---|---|
| 因果关系 | 必然会导致 | 往往会 / 通常会 | 弹性化因果 |
| 可靠性 | 绝对可靠 | 在某种程度上可靠 / 通常可靠 | 承认不确定性 |
| 完全解决 | 完全解决了 | 坦白说,还是存在一定差距 / 在很大程度上解决了 | 承认局限 |
| 必须 | 必须要 | 通常需要 / 往往需要 | 弹性化要求 |
| 肯定 | 肯定能 | 多半能 / 往往能 | 弹性化判断 |
| 重要性 | 最重要的 | 一个关键因素 / 值得关注的方面 | 适度表达 |
| 决定性 | 决定性的 | 在很大程度上影响 / 某种程度上决定 | 弹性化影响 |
---
二、对比句式 → 并列/递进
| 场景 | AI化表达(×) | 个人风格(✓) | 说明 |
|---|---|---|---|
| 定义对比 | 并非X而是Y | X...同时Y... / X更像是... | 避免强行对比 |
| 本质对比 | 不在于X在于Y | X...同时Y也重要 | 并列表达 |
| 两回事 | 与X是两回事 | X和Y各有侧重 | 中性表达 |
| 不等同于 | 与X不等同于 | X...同时Y | 并列关系 |
| 不再而是 | 不再X而是Y | 从X...转向Y | 递进关系 |
---
三、程式化连接词 → 自然过渡
| 场景 | AI化表达(×) | 个人风格(✓) | 说明 |
|---|---|---|---|
| 首点 | 首先 | / | 直接开始 |
| 次点 | 其次 | / | 直接继续 |
| 补充 | 此外 | / | 逻辑递进 |
| 转折 | 但是 / 然而 | / | 直接转折 |
| 因此 | 因此 | / | 逻辑自然推进 |
| 一方面一方面 | 一方面...另一方面 | / | 直接并列 |
| 总结 | 综上所述 | / | 自然收尾 |
| 总而言之 | 总而言之 | / | 自然收尾 |
---
四、过度强调 → 适度表达
| 场景 | AI化表达(×) | 个人风格(✓) | 说明 |
|---|---|---|---|
| 非常 | 非常重要 | 值得关注 / 一个关键方面 | 适度表达 |
| 极其 | 极其关键 | 关键 / 重要 | 简化表达 |
| 特别 | 特别需要 | 往往需要 / 通常需要 | 自然表达 |
| 高度 | 高度重视 | 值得重视 | 适度表达 |
| 强烈 | 强烈建议 | 可以考虑 / 不妨 | 委婉表达 |
---
五、哲学化大词 → 具体表达
| 场景 | AI化表达(×) | 个人风格(✓) | 说明 |
|---|---|---|---|
| 本质 | 本质上 | 通常 / 往往 / 从实际来看 | 具体化 |
| 根本 | 根本上 | 重要的是 / 关键在于 | 具体化 |
| 核心 | 核心 | 一个关键 / 主要 | 简化 |
| 灵魂 | 灵魂在于 | 重要的是 / 关键是 | 具体化 |
---
六、戏剧化表达 → 平实表达
| 场景 | AI化表达(×) | 个人风格(✓) | 说明 |
|---|---|---|---|
| 刺痛感 | 刺痛感 | 困惑 / 疑问 | 平实化 |
| 推到底 | 推到底 | 深入思考 / 进一步考虑 | 平实化 |
| 震惊 | 震惊 | 意外 / 值得注意 | 平实化 |
| 惊人 | 惊人 | 明显 / 显著 | 平实化 |
---
七、自我陈述 → 经验性表达
| 场景 | AI化表达(×) | 个人风格(✓) | 说明 |
|---|---|---|---|
| 愿意 | 我更愿意 | 我发现 / 我意识到 | 经验性 |
| 倾向 | 我更倾向于 | 我的经验是 / 我观察到 | 经验性 |
| 设定 | 我给自己定 | 我尝试 / 我探索 | 经验性 |
| 强调 | 我想强调 | 重要的是 / 值得关注 | 去自我 |
| 指出 | 我想指出 | 值得注意的是 | 去自我 |
---
八、导语式口癖 → 直接表达
| 场景 | AI化表达(×) | 个人风格(✓) | 说明 |
|---|---|---|---|
| 表面 | 表面上看 | / | 直接表达 |
| 更重要 | 更关键的是 | 重要的是 | 简化 |
| 值得写 | 更值得写的是 | 值得关注的是 | 简化 |
| 毫无疑问 | 毫无疑问 | / | 去掉 |
| 当然成立 | 这当然成立 | / | 去掉 |
| 接下来 | 接下来会 | / | 直接开始 |
---
九、生活化比喻库
| 技术概念 | 生活化比喻 | 示例 |
|---|---|---|
| 架构与基础 | 柴火与锅 | "算力只是柴火,你还得有锅" |
| 信息混乱 | 乱麻 | "在乱麻里帮你找线头" |
| 数据未使用 | 睡觉 | "躺在柜子里睡觉的资料" |
| 无效努力 | 烧空气 | "火很旺,但始终只是在烧空气" |
| 系统产出 | 端菜 | "一桌桌端出来的菜" |
| 信息流动 | 管道 | "一条清晰、可复用的信息管线" |
| 工具完整 | 锅和菜谱 | "真正该投的是锅和菜谱" |
| 工作方式变化 | 咕嘟作响 | "一口每天都在案件里咕嘟作响的锅" |
---
十、口语化句式库
| 场景 | AI化表达(×) | 个人风格(✓) |
|---|---|---|
| 陈述现象 | 系统使用率不高 | "后台统计往往只剩下一个冷冰冰的事实" |
| 描述对比 | 技术人员适合用 | "这东西'适合技术控玩',不适合自己" |
| 描述路径 | 这是熟悉的路径 | "微信群@同事,邮件里 CC 前辈,这是熟悉的路径" |
| 陈述发现 | 很多人得出结论 | "很多人会迅速得出结论..." |
| 强调问题 | 真正的问题是 | "真正的问题是..." |
| 可行性 | 是可行的 | "可以尝试..." |
| 建议 | 建议先做 | "不妨先做..." |
---
十一、思维过程表达
| 场景 | AI化表达(×) | 个人风格(✓) |
|---|---|---|
| 承认局限 | 还是有些差距 | "坦白说,还是存在一定差距" |
| 观察总结 | 普遍现象 | "很多...都经历过类似的" |
| 探索判断 | 现实的做法 | "更现实的选择是..." |
| 小心探索 | 小的探索 | "只能算是一个小小的探索" |
| 持续观察 | 需要验证 | "这件事需要持续观察" |
---
十二、第一人称使用
| 场景 | AI化表达(×) | 个人风格(✓) |
|---|---|---|
| 经验陈述 | 根据经验 | "我自己用过..." |
| 思考发现 | 发现到 | "我意识到" |
| 个人判断 | 认为 | "这件事" / "坦白说" |
| 谨慎表达 | 可以说 | "可以说..." |
| 探索性 | 尝试 | "我探索" |
---
使用指南
改写时的工作流程
1. 识别 AI 化表达
- 找出绝对化词汇(必然、绝对、必须)
- 找出对比句式(并非...而是...)
- 找出程式化连接词(首先、其次、然而)
2. 查找对照表
- 在相应分类中查找替代表达
- 选择适合上下文的表达方式
3. 应用转化
- 用对照表中的表达替换
- 确保新表达符合上下文
- 保持技术准确性
4. 检查平衡
- 技术准确性是否保持(60%)?
- 个人化表达是否适度(40%)?
- 自然流畅度如何?
快速查找索引
- 绝对化词汇 → 查"一、绝对化 → 弹性表达"
- 对比句式 → 查"二、对比句式 → 并列/递进"
- 程式化连接词 → 查"三、程式化连接词 → 自然过渡"
- 需要比喻 → 查"九、生活化比喻库"
- 需要口语化 → 查"十、口语化句式库"
个人写作风格指南
版本记录
- v2.0.1 (2026-06-23) → 补齐样本使用边界、身份边界和 voice profile 匹配门禁
- v2.0 (2026-06-22) → 新增 Voice Calibration 流程(voice profile 七维度 + 提取步骤 + author profile 模板);原有特征重新定位为“无样本时的默认 voice”
- v1.0 (2026-01-24) → 基于参考样本创建初版
使用说明
本指南用于在去除 AI 化表述后,注入个人风格特征。目标比例:技术准确性 60% / 个人化 40%。
注入风格有两条路径:
- 有作者样本 → 走 Voice Calibration(见下一节):用户提供目标作者的一段写作样本(建议 ≥500 字),先提取 voice profile,改写时按 profile 匹配。样本优先于本文件的默认特征。
- 无样本 → 用默认 voice:直接用下方“默认 voice”及之后的特征。这些特征提炼自参考样本,适用于通用技术/法律写作;若与目标场景明显不符,以目标场景为准。
样本与身份边界
- 只使用用户提供或确认可用于本次任务的作者样本;不要主动抓取、拼接或推测未提供的私人样本。
- Voice Calibration 只学习表达层面的稳定特征,不冒充作者本人,不声称文本由该作者撰写。
- 不复制样本原句、标题、口头禅密集片段或高度可识别的比喻;目标是“接近声音”,不是复刻样本。
- 不把样本中的事实、经历、客户、案件、机构、联系方式或私人信息写进目标文本。
- 样本含敏感信息时,只抽象成 profile;交付正文和备注中不复述敏感细节。
---
Voice Calibration 流程(有作者样本时)
当用户提供写作样本时,先提取该作者的 voice profile,再据此改写,而不是套用本文件的默认特征。
voice profile 七维度
逐维分析样本,记录该作者的稳定习惯(只记反复出现的稳定特征,不记偶发表达):
| 维度 | 观察什么 | 记录口径示例 |
|---|---|---|
| 句长分布 | 短句(<15 字)/ 中句 / 长句(>30 字)的比例与交替方式 | 以中长句为主,每 2-3 句插一个短句点睛 |
| 词选层级 | 口语 / 中间 / 学术偏正式;方言、行业黑话、英文术语的处理 | 中间偏口语,少量英文术语保留原文 |
| 段落开头习惯 | 跳入正题 / 先设场景 / 用现象引入 / 用问题引入 | 习惯用“很多人…”或现象引入 |
| 标点习惯 | 破折号 / 括号 / 分号 / 引号 / 省略号的频率与用法 | 少用破折号,多用引号标注概念 |
| 口头禅与过渡 | 高频转折/递进/让步词;不用“首先/其次”时怎么过渡 | 用“但真正的问题是…”转折,用条件句推进 |
| 观点密度 | 每段几个判断;绝对式还是弹性式 | 每段 1 个主判断,弹性表达(往往/多半) |
| 语气倾向 | 是否用第一人称、自嘲、反问、直接称呼读者 | 适度用“我”,偶尔反问,少直接称“你” |
提取步骤
1. 确认样本边界:样本来自用户提供或用户确认可用于本次任务;若来源或用途不清,只使用默认 voice。 2. 通读样本 2-3 遍:先整体感受,再逐维标注。 3. 逐维填 profile:按上表口径填进下面的模板,只写抽象习惯,不粘贴样本文句。 4. 标记反例:样本里偶尔偏离自己习惯的地方(如平时不用排比,某段用了),记为“反例”,改写时不复现。 5. 产出 voice profile:一份该作者的稳定声音画像,供 Step 5 改写时匹配。
author profile 模板(可填)
作者/样本来源:______
样本字数:______
- 句长分布:______
- 词选层级:______
- 段落开头习惯:______
- 标点习惯:______
- 口头禅与过渡:______
- 观点密度:______
- 语气倾向:______
- 反例(不复现):______
- 备注(场景/领域的特殊约束):______改写时:voice profile 优先;profile 未覆盖的维度,回落到下方“默认 voice”。
匹配门禁
有作者样本时,改写后必须额外检查:
- profile 匹配:最终文本至少匹配主要稳定维度;若句长、词选、段落开头、标点、过渡、观点密度、语气中有两个以上核心维度明显偏离,回炉 Step 5。
- 反例不复现:profile 中标记为反例的表达方式不得作为目标风格复现。
- 不复制样本:不得出现样本原句、高辨识短语或样本独有比喻的直接复用。
- 不引入样本事实:不得把样本中的经历、案件、客户、机构或私人信息带入目标文本。
---
默认 voice(无样本时使用)
以下特征提炼自参考样本,适用于通用技术/法律写作。其中的比喻、句式为示例,不是必须复现的通用规则——遇到与目标作者/场景不符的,以目标为准。
一、思维过程展示
1.1 弹性表达
特征: 避免绝对化,使用探索性和判断性表达
常用词汇:
- 往往、通常、多半
- 某种程度上、在某种程度上
- 从某种意义上说
- 一个关键因素、值得关注的方面
- 或许、可能、可能需要
示例对照:
| AI化表达(×) | 个人风格(✓) |
|---|---|
| 必然会导致 | 往往会 |
| 绝对可靠 | 在某种程度上可靠 |
| 完全解决了 | 坦白说,还是存在一定差距 |
| 必须要 | 通常需要 |
| 肯定能 | 多半能 |
1.2 承认局限
特征: 展示思考的不确定性和探索过程
表达模式:
- 坦白说,...还是存在一定差距
- 这件事,更现实的...
- ...只能说是一个探索
- 需要持续观察
示例:
- "坦白说,最终产出的内容与专业律师的期望之间仍存在一定差距"
- "这件事,更现实的选择是..."
- "只能算是一个小小的探索"
1.3 观察性总结
特征: 从观察中得出结论,而非断言
表达模式:
- 很多...都经历过...
- 一个常见的问题是...
- 往往会发现...
- ...往往会得出这样的结论
示例:
- "很多律所的 AI 项目,都经历过类似的曲线"
- "很多人会迅速得出结论:这东西'适合技术控玩',不适合自己"
---
二、口语化表达
2.1 生活化比喻
原则: 用日常场景解释技术概念,让读者产生画面感
常用比喻类型:
| 概念类型 | 比喻方向 | 示例 |
|---|---|---|
| 技术架构 | 建筑隐喻 | "算力只是柴火,你还得有锅" |
| 信息处理 | 管道/流动 | "在乱麻里帮你找线头" |
| 数据状态 | 生活状态 | "躺在柜子里睡觉的资料" |
| 无效努力 | 燃烧隐喻 | "火很旺,但始终只是在烧空气" |
| 系统价值 | 餐饮隐喻 | "一桌桌端出来的菜,已经帮你说服了所有人" |
使用时机:
- 解释抽象技术概念时
- 需要让读者快速理解问题时
- 强调某个特征的价值时
2.2 对话式句式
特征: 像和朋友聊天,直接、自然
句式类型: 1. 直接陈述观察:
- "很多人会迅速得出结论..."
- "真正的问题是..."
2. 揭示常见现象:
- "后台统计往往只剩下一个冷冰冰的事实"
- "系统成为少数人的玩具"
3. 反问式:
- "你能想象有些老律师甚至都不会打印、扫描吗"
- "这东西'适合技术控玩',不适合自己"
2.3 直接对话读者
特征: 用"你"直接称呼读者,增强代入感
常用模式:
- "你可以..."
- "你始终站在..."
- "你会发现..."
- "当你..."
示例:
- "你可以把这篇文章转给 TA"
- "你始终站在'判断与选择'的位置上"
- "你会发现,真正决定成败的,是另一组更朴素的问题"
---
三、第一人称与个人观点
3.1 何时用"我"
适度使用场景: 1. 经验性陈述: 描述自己亲身经历
- "我自己用了这么多年的律师 saas 平台"
- "我自己开源的...算是做了一个小小的探索"
2. 思维过程: 展示思考和发现
- "在这个过程中我意识到"
- "我发现"
3. 判断性表达: 谨慎表达个人观点
- "这件事"
- "更重要的是"
- "坦白说"
避免过度使用:
- 不要每句话都用"我"
- 技术性描述不需要第一人称
- 保持客观性和专业性的平衡
3.2 判断性表达
适度使用判断词:
- "这件事"(表达观点)
- "更重要的是"(强调重点)
- "坦白说"(坦诚表达)
- "可以说"(审慎判断)
示例:
- "我自己用了这么多年的...可以说基本都是一坨"
- "更重要的是,这些散落在个案中的专业洞察,才是 AI 最需要的学习素材"
---
四、句子节奏
4.1 长短句搭配
原则:
- 长句:用于技术准确性论述,保持专业性
- 短句:用于点睛、强调、节奏变化
节奏模式:
长句(论述)→ 长句(展开)→ 短句(点睛)→ 长句(继续)→ 短句(收尾)示例:
长句:很多人一上来就纠结「哪个模型更强」「哪个平台更智能」,但在日常工作中,更常见的问题其实是:录入太慢、资料分散、格式混乱、难以复用。
短句:如果信息进来的方式是碎片化的,存放的方式是无结构的,再强的大模型也只能在乱麻里帮你找线头。
短句:火很旺,但始终只是在烧空气。4.2 短句点睛
作用: 在长段论述后用短句强化核心观点
常见模式: 1. 总结式短句:
- "这东西'适合技术控玩',不适合自己"
- "火很旺,但始终只是在烧空气"
2. 转折式短句:
- "真正的问题是..."
- "但真正该先回答的,其实是..."
3. 强调式短句:
- "这件事"
- "坦白说"
4.3 自然断句
特征: 不刻意追求工整对仗,让语言有自然的起伏
避免:
- 三个以上的工整排比
- 强行对称的表达
- 过于整齐的并列句
示例(避免): ❌ "既要说明'我是谁',又要说明'我在做什么',还要说明'我怎么做'"
示例(推荐): ✅ "你始终站在'判断与选择'的位置上,而不是陷入一遍遍重复录入和排版的漩涡里。"
---
五、自然过渡
5.1 避免程式化连接词
禁止使用的连接词:
- 首先、其次、此外、但是、因此、然而
- 一方面、另一方面
- 综上所述、总而言之
5.2 自然衔接方式
方法: 1. 逻辑递进: 让上下文自然推进 2. 问题引导: 用问题或现象引出下文 3. 转折自然: 不用"但是/然而",直接转折
示例:
很多人一上来就纠结「哪个模型更强」「哪个平台更智能」...(上句)
但在日常工作中,更常见的问题其实是:录入太慢、资料分散、格式混乱、难以复用。(下句——直接转折,不用"但是")
如果信息进来的方式是碎片化的,存放的方式是无结构的,再强的大模型也只能在乱麻里帮你找线头。(条件推进,不用"因此")5.3 段落过渡
方法:
- 用上一段的结尾引出下一段
- 用问题或现象自然过渡
- 让逻辑自然展开
示例:
(上段结尾)这些动机解释了"为什么要把柴火搬进来"。
(下段开头)真正的问题是:在搬柴之前,有没有想清楚自己要烧什么样的锅。---
六、问题导向与实用建议
6.1 从实际困惑出发
特征: 从读者常见问题或困惑入手
开头模式:
- "很多人会..."
- "一个常见的问题是..."
- "真正的问题是..."
- "很多人一上来就..."
示例:
- "很多人一上来就纠结「哪个模型更强」「哪个平台更智能」"
- "很多人会迅速得出结论:这东西'适合技术控玩',不适合自己"
6.2 可操作建议
特征: 给出具体、可执行的建议
表达模式:
- "可以尝试..."
- "不妨先..."
- "建议..."
- "更现实的选择是..."
示例:
- "可以尝试把路线画得更简单一点"
- "不妨先做几件看上去朴素的事"
- "更现实的选择是:承认自己依然是一名以判断和沟通为核心的专业人士"
---
七、风格平衡原则
7.1 技术准确性 60% / 个人化 40%
技术准确性部分(60%):
- 核心概念准确
- 技术逻辑清晰
- 专业术语恰当
- 论证严谨
个人化部分(40%):
- 弹性表达
- 口语化比喻
- 思维过程展示
- 对话式句式
7.2 避免"过度风格化"
警惕:
- 不要为了口语化而失去专业性
- 不要为了比喻而影响准确性
- 不要过度使用第一人称
- 不要让风格盖过内容
检查标准:
- 技术内容是否准确?
- 专业性是否保持?
- 风格是否服务于内容?
- 读者能否轻松理解?
---
八、应用检查清单
完成改写后,检查:
- [ ] 是否使用了弹性表达(往往、某种程度、或许)?
- [ ] 是否避免了绝对化词汇(必然、绝对、必须)?
- [ ] 是否有生活化比喻?
- [ ] 是否有直接对话读者的表达?
- [ ] 第一人称使用是否适度?
- [ ] 是否有长短句搭配?
- [ ] 是否避免了程式化连接词?
- [ ] 过渡是否自然?
- [ ] 技术准确性是否保持(60%)?
- [ ] 个人化表达是否适度(40%)?
质量评分系统
对改写后的文本进行 0-2 分评估(总分 10):
| 维度 | 权重 | 评估标准 | 得分 |
|---|---|---|---|
| 自然度 | 25% | 去除 AI 痕迹的程度<br>2.0:完全自然;1.0:尚可;0:明显 AI 痕迹 | /2.0 |
| 节奏感 | 20% | 长短句搭配、句子变化<br>2.0:自然多变;1.0:一般;0:机械重复 | /2.0 |
| 专业度 | 25% | 技术准确性保持<br>2.0:准确清晰;1.0:基本准确;0:失去专业性 | /2.0 |
| 个性度 | 20% | 个人风格注入程度<br>2.0:有温度有人味;1.0:略有;0:机械生硬 | /2.0 |
| 精炼度 | 10% | 去除冗余表达<br>1.0:无冗余;0.5:少量;0:大量废话 | /1.0 |
| 总分 | 100% | /10 |
评分标准
9.0-10 分:优秀,已去除 AI 痕迹
- 文本读起来完全自然,像真人写作
- 句子长短错落有致,富有变化
- 专业内容准确无误
- 有个人风格和温度
- 表达简洁精炼
7.0-8.9 分:良好,仍有改进空间
- 大部分 AI 痕迹已去除
- 句子节奏有一定变化但可优化
- 专业内容基本准确
- 个人风格有一定体现
- 少量冗余表达
低于 7.0 分:需要重新修订
- 仍明显残留 AI 写作痕迹
- 句子结构单调重复
- 专业性有待提升
- 缺乏个人风格
- 冗余表达较多
使用方法
在完成文本改写后,按照五个维度进行自评:
1. 自然度:通读全文,检查是否还有 AI 痕迹 2. 节奏感:检查句子长度变化是否自然 3. 专业度:确认核心概念和技术内容准确 4. 个性度:感受文本是否有"人味" 5. 精炼度:检查是否还有可删除的冗余内容
每个维度可以给出小数点评分(如 1.5、1.8),然后按权重计算总分。
示例
评分:9.2/10(优秀)
AI 编程助手能加快某些任务。在 2024 年 Google 的研究中,使用 Codex 的开发者完成简单函数的速度比对照组快 55%,但在调试和架构决策上没有明显改善。
- 自然度:2.0/2.0
- 节奏感:1.8/2.0
- 专业度:2.0/2.0
- 个性度:1.9/2.0
- 精炼度:0.9/1.0
- 总分:9.2/10
评分:6.5/10(需改进)
人工智能作为一项突破性技术,正在深刻改变我们的工作方式。它不仅能提高效率,还能增强协作,确保组织能够保持敏捷。
- 自然度:1.0/2.0(仍有"深刻改变"、"提高效率、增强协作"等 AI 套话)
- 节奏感:1.2/2.0
- 专业度:1.5/2.0
- 个性度:1.0/2.0(机械生硬)
- 精炼度:0.9/1.0
- 总分:6.5/10
作为交付门禁使用
本评分系统不只是事后自评,应作为 SKILL.md 交付前的强制门禁:
1. 何时评:在 Step 6(标点修正)完成后、交付用户前,对最终文本评分。 2. 回炉阈值:
- 总分 < 7.0 → 必须回到 Step 4 重新表述问题句,再评分。
- 单维度硬伤:自然度 < 1.5(AI 痕迹仍明显)或个性度 = 0(完全机械)→ 即使总分达标也回炉。
3. 场景调整:法律文书场景下,专业度权重实质性更高(术语/法条不能错),专业度 < 1.5 即回炉;口语场景下,个性度和精炼度的阈值可适当放宽。
有作者样本时的 voice profile 附加门禁
当 Step 5 使用 Voice Calibration 时,个性度 不再只看"有人味",还要看是否匹配已提取的 voice profile。以下情况必须回炉 Step 4/5:
- profile 明显偏离:句长、词选、段落开头、标点、过渡、观点密度、语气倾向中有两个以上核心维度明显不符合 profile。
- 反例复现:profile 标记为"反例(不复现)"的表达方式在最终文本中被当成风格特征复现。
- 样本复刻:直接复制样本原句、高辨识短语、独有比喻或标题结构。
- 事实污染:把样本里的经历、案件、客户、机构、身份或私人信息带入目标文本。
这些门禁不新增主评分维度,只作为 个性度 和交付安全的硬检查点。通过标准是"稳定接近该 voice profile",不是"让读者误以为作者本人写作"。
评分辅助视角(不新增维度,仅作检查点)
评分时除 5 个维度外,可参考两个辅助视角定位问题:
- 直接度:是否绕弯子、堆铺垫才进入正题(低 → 影响自然度与精炼度得分)。
- 信任读者:是否过度解释、手把手引导、软化结论(低 → 影响自然度与个性度得分)。
这两个视角不单独打分,只用来解释"为什么某维度被扣分"以及指导 Step 4 的重写方向。
版本记录
- v1.2 (2026-06-23) - 增加 Voice Calibration 场景下的 voice profile 附加门禁
- v1.1 (2026-02-11) - 改为 10 分制,各维度支持小数点评分
- v1.0 (2026-02-11) - 初始版本,5 维质量评分系统
句子节奏指南
版本记录
- v1.0 (2026-01-24 20:10) → 初版,基于用户写作风格分析创建
使用说明
本文档指导如何在改写时创造自然的句子节奏,避免单调的句式模式。
---
一、长短句搭配原则
1.1 节奏模式
推荐模式:
长句(论述) → 长句(展开) → 短句(点睛) → 长句(继续)效果:
- 长句保持技术准确性和专业性
- 短句提供节奏变化和强调
1.2 长句的特征
用途: 技术论述、逻辑展开、专业说明
特点:
- 完整的逻辑链条
- 准确的技术术语
- 严谨的论证结构
示例:
很多人一上来就纠结「哪个模型更强」「哪个平台更智能」,
但在日常工作中,更常见的问题其实是:
录入太慢、资料分散、格式混乱、难以复用。1.3 短句的特征
用途: 点睛、强调、转折、节奏变化
特点:
- 简洁有力
- 直击要害
- 画面感强
示例:
火很旺,但始终只是在烧空气。---
二、短句点睛技巧
2.1 总结式短句
作用: 在长段论述后快速总结核心观点
示例:
(长段论述...)
这东西'适合技术控玩',不适合自己。2.2 转折式短句
作用: 转换论述方向,引出新的观点
示例:
(上一段论述...)
真正的问题是:在搬柴之前,有没有想清楚自己要烧什么样的锅。2.3 强调式短句
作用: 强调某个关键点
示例:
这件事
坦白说2.4 画面式短句
作用: 用简短描述创造画面感
示例:
后台统计往往只剩下一个冷冰冰的事实。
火很旺,但始终只是在烧空气。---
三、避免节奏单调
3.1 避免连续长句
问题: 连续长句让读者感到疲劳
解决: 每隔 2-3 个长句插入一个短句
3.2 避免连续短句
问题: 连续短句显得零碎、不够专业
解决: 用长句提供必要的论述和说明
3.3 避免固定节奏
问题: 长短长短的固定模式显得刻意
解决: 让节奏自然变化,根据内容需要调整
---
四、自然断句
4.1 原则
不刻意追求工整对仗,让语言有自然的起伏
4.2 避免的句式
工整排比:
❌ 既要说明'我是谁',又要说明'我在做什么',还要说明'我怎么做'强行对称:
❌ 一方面...另一方面...4.3 推荐的句式
自然变化:
✅ 你始终站在'判断与选择'的位置上,
而不是陷入一遍遍重复录入和排版的漩涡里。长短结合:
✅ 当这三块基建搭好,你会明显感觉到一个变化。
无论是换哪家模型、哪种平台,
你都不会再被「从哪开始」卡住,
因为你已经有了一条清晰、可复用的信息管线。---
五、段落节奏
5.1 段落长度
推荐: 3-6 句为一个段落
原因:
- 保持段落完整性
- 避免过长段落
- 保持阅读节奏
5.2 段落开头
推荐:
- 直接进入主题,不铺垫
- 用问题或现象引出
- 用观点直接陈述
避免:
- "首先"、"其次"等程式化开头
5.3 段落结尾
推荐:
- 短句收尾
- 引出下一段
- 自然过渡
示例:
(段落内容...)
这些动机解释了"为什么要把柴火搬进来"。
真正的问题是:在搬柴之前,有没有想清楚自己要烧什么样的锅。---
六、标点符号与节奏
6.1 逗号的使用
作用: 控制句子内部节奏
示例:
很多人一上来就纠结「哪个模型更强」「哪个平台更智能」,
但在日常工作中,
更常见的问题其实是:
录入太慢、资料分散、格式混乱、难以复用。6.2 破折号的使用
作用: 解释、补充、转折
示例:
AI 对于(律师)效率的提升可以分为两个部分,
一个是工作效率的提升,
还有一部分就是协作效率,
这又可以分为个体协作效率和群体协作效率。6.3 冒号的使用
作用: 引出解释、列举
示例:
真正决定成败的,是另一组更朴素的问题:
我们的办案流程是不是已经被拆解得足够清楚...---
七、节奏检查清单
改写完成后,检查:
- [ ] 是否有长短句搭配?
- [ ] 是否每 2-3 个长句后有短句点睛?
- [ ] 是否避免了连续的长句或短句?
- [ ] 是否避免了工整排比?
- [ ] 段落长度是否适中(3-6句)?
- [ ] 标点符号使用是否有助于节奏?
- [ ] 整体节奏是否自然、不刻意?
---
八、常见问题与解决
8.1 句子过长
问题: 单句超过 50 字,读起来累
解决: 拆分成 2-3 个句子
8.2 句子过短
问题: 连续多个短句,显得零碎
解决: 合并相关短句,增加必要的连接
8.3 节奏单调
问题: 句子长度相似,缺乏变化
解决: 调整句子长度,创造节奏变化
8.4 刻意工整
问题: 句式过于整齐,显得刻意
解决: 打破工整结构,让语言自然变化
---
九、示例对比
9.1 单调节奏(×)
AI 对于律师效率的提升可以分为两个部分。
一个是工作效率的提升。
还有一部分就是协作效率。
这又分为个体协作效率和群体协作效率。
通常我们会使用 saas 软件来进行规划。
但我自己用了这么多年的律师 saas 平台。
可以说基本都是一坨。问题: 句子长度相似,节奏单调
9.2 自然节奏(✓)
AI 对于律师效率的提升可以分为两个部分,
一个是工作效率的提升,比如法律 ai 检索工具就能够直接提升我们做检索工作的效率;
还有一部分就是协作效率,
这又可以分为个体协作效率和群体协作效率,
通常我们会使用 saas 软件、协作软件来进行规划。
但我自己用了这么多年的律师 saas 平台,可以说基本都是一坨。改进: 长短句结合,节奏自然变化
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
中英文标点符号转换脚本
将 Markdown 文件中的英文标点符号转换为中文标点符号。
用于 AI 生成文章的后处理,确保中文语境下的标点正确。
用法:
python3 fix_punctuation.py <input.md> [-o output.md]
python3 fix_punctuation.py <input.md> # 原地修改
"""
import re
import sys
import os
def is_chinese_char(ch):
"""判断是否是中文字符(CJK 统一汉字区间)"""
cp = ord(ch)
return (
(0x4E00 <= cp <= 0x9FFF)
or (0x3400 <= cp <= 0x4DBF)
or (0x20000 <= cp <= 0x2A6DF)
or (0x2A700 <= cp <= 0x2B73F)
or (0x2B740 <= cp <= 0x2B81F)
or (0x2B820 <= cp <= 0x2CEAF)
or (0xF900 <= cp <= 0xFAFF)
or (0x2F800 <= cp <= 0x2FA1F)
)
def has_chinese_nearby(text, pos, window=3):
"""检查位置附近是否有中文字符"""
start = max(0, pos - window)
end = min(len(text), pos + window + 1)
for i in range(start, end):
if i != pos and is_chinese_char(text[i]):
return True
return False
def convert_quotes_to_chinese(text):
"""将英文引号转换为中文引号(交替状态机版)
规则:
- 将直双引号 " 转为中文开/闭引号(交替状态)
- 将直单引号 ' 转为中文开/闭引号,但保留英文缩写/所有格中的撇号
- 跳过代码片段中的引号
"""
if not text:
return text
if ('"' not in text) and ("'" not in text):
return text
result = []
i = 0
in_code = False
double_quote_state = 0 # 0=等待开引号, 1=等待闭引号
single_quote_state = 0
while i < len(text):
ch = text[i]
# 处理反引号包裹的代码片段
if ch == '`':
j = i + 1
while j < len(text) and text[j] == '`':
j += 1
backtick_count = j - i
result.append('`' * backtick_count)
in_code = not in_code
i = j
continue
if in_code:
result.append(ch)
i += 1
continue
if ch == '"':
if double_quote_state == 0:
result.append('“') # "
else:
result.append('”') # "
double_quote_state = 1 - double_quote_state
i += 1
continue
if ch == "'":
# 保留英文缩写和所有格中的撇号
prev_ch = text[i - 1] if i > 0 else ''
next_ch = text[i + 1] if i + 1 < len(text) else ''
if prev_ch.isalpha() and next_ch.isalpha():
result.append("'")
else:
if single_quote_state == 0:
result.append('‘') # '
else:
result.append('’') # '
single_quote_state = 1 - single_quote_state
i += 1
continue
result.append(ch)
i += 1
return ''.join(result)
def fix_punctuation(text):
"""将中文语境中的英文标点转换为中文标点
转换规则:
- 引号:用状态机交替转换(单独处理)
- 逗号:中文字符附近的 , → ,
- 句号:中文字符附近的 . → 。(排除数字小数点、英文缩写、URL)
- 冒号:中文字符附近的 : → :(排除 URL、时间格式)
- 分号:中文字符附近的 ; → ;
- 括号:中文字符附近的 () → ()
- 问号:中文字符附近的 ? → ?
- 感叹号:中文字符附近的 ! → !
"""
if not text:
return text
# 提取 YAML front matter,不转换
yaml_block = ''
body = text
if text.startswith('---'):
end = text.find('---', 3)
if end != -1:
yaml_block = text[:end + 3]
body = text[end + 3:]
# 占位符系统:保护不应转换的区域
placeholders = []
counter = [0]
def replace_match(match):
idx = counter[0]
counter[0] += 1
placeholders.append(match.group(0))
return f'\x00PH{idx}\x00'
# 提取围栏代码块
body = re.sub(r'```[\s\S]*?```', replace_match, body)
# 提取行内代码
body = re.sub(r'`[^`]+`', replace_match, body)
# 提取 Markdown 图片语法 
body = re.sub(r'!\[[^\]]*\]\([^)]+\)', replace_match, body)
# 提取 Markdown 链接语法 [text](url)
body = re.sub(r'\[[^\]]+\]\([^)]+\)', replace_match, body)
# 提取 URL
body = re.sub(r'https?://[^\s)\])】)】]+', replace_match, body)
# 转换引号(状态机)
body = convert_quotes_to_chinese(body)
# 逐字符转换标点
result = []
i = 0
while i < len(body):
ch = body[i]
prev_ch = body[i - 1] if i > 0 else ''
next_ch = body[i + 1] if i + 1 < len(body) else ''
# 跳过占位符
if ch == '\x00':
j = i + 1
while j < len(body) and body[j] != '\x00':
j += 1
result.append(body[i:j + 1])
i = j + 1
continue
if ch == ',':
if has_chinese_nearby(body, i):
result.append(',')
else:
result.append(ch)
elif ch == ';':
if has_chinese_nearby(body, i):
result.append(';')
else:
result.append(ch)
elif ch == '?':
if has_chinese_nearby(body, i):
result.append('?')
else:
result.append(ch)
elif ch == '!':
if has_chinese_nearby(body, i):
result.append('!')
else:
result.append(ch)
elif ch == '(':
if has_chinese_nearby(body, i, window=2):
result.append('(')
else:
result.append(ch)
elif ch == ')':
if has_chinese_nearby(body, i, window=2):
result.append(')')
else:
result.append(ch)
elif ch == ':':
# 排除时间格式 (14:30) 和数字比例
if has_chinese_nearby(body, i):
if not (prev_ch.isdigit() and next_ch.isdigit()):
result.append(':')
else:
result.append(ch)
else:
result.append(ch)
elif ch == '.':
# 句号转换:只在中文字符后面转换,排除小数点和英文缩写
if is_chinese_char(prev_ch):
result.append('。')
elif prev_ch == '。':
# 已经是句号,跳过
result.append(ch)
else:
result.append(ch)
else:
result.append(ch)
i += 1
body = ''.join(result)
# 恢复占位符
for idx, original in enumerate(placeholders):
body = body.replace(f'\x00PH{idx}\x00', original)
# 拼回 YAML front matter
return yaml_block + body
def process_file(input_path, output_path=None):
"""处理 Markdown 文件"""
with open(input_path, 'r', encoding='utf-8') as f:
content = f.read()
result = fix_punctuation(content)
if output_path:
with open(output_path, 'w', encoding='utf-8') as f:
f.write(result)
print(f'已转换: {input_path} -> {output_path}')
else:
with open(input_path, 'w', encoding='utf-8') as f:
f.write(result)
print(f'已转换: {input_path}')
return result
if __name__ == '__main__':
if len(sys.argv) < 2:
print('用法: python3 fix_punctuation.py <input.md> [-o output.md]')
sys.exit(1)
input_file = sys.argv[1]
output_file = None
if '-o' in sys.argv:
idx = sys.argv.index('-o')
if idx + 1 < len(sys.argv):
output_file = sys.argv[idx + 1]
if not os.path.exists(input_file):
print(f'文件不存在: {input_file}')
sys.exit(1)
process_file(input_file, output_file)