当前位置: 首页 > news >正文

AI 写的中文为什么都是同一张脸?AI领域知名博主卡兹克把根治方法开源了!

前几天,数字生命卡兹克在 GitHub 上传了一个新仓库:human-writing,中文名「活人感写作」。

我第一眼以为又是一个"让 AI 写得更像人"的 Prompt 包。但读完 README 和更新日志之后,改观了。这里面有一个值得认真聊的方法论升级——从 1.0 到 1.1,它把对付 AI 腔的防线,从字面层移到了修辞动作层。

这个思路我没见过有人系统地做过。


先说那个你说不清的问题

用 AI 写过文章的人应该都有一种感觉:读完觉得挺流畅,但说不出是谁写的。没有错,也没有惊喜,像一篇没有主人的文章。

更烦的是,你知道它有问题,但你说不清楚问题在哪。

其实是可以说清楚的。

翻案腔是第一个。"你以为 XXX,其实 YYY";"不是 A,而是 B";"回头才发现"。AI 热衷于这个动作——先给读者立一个他没有的误解,再用推翻它来制造深度感。人偶尔也会这样写,但 AI 写什么都这样,读多了就成了识别符号。

车轱辘话是第二个。同一个意思用不同的字面说了三遍,读的时候觉得内容丰富,回头看其实三段都在原地转圈,什么新东西都没带来。

连词过密是第三个,但更隐蔽。"因为……所以……"、"然而……但是……"、"因此……",逻辑链条焊得很紧,读起来严丝合缝,但这不是人说话的样子。人说话会跳跃,会留白,会在句子之间没有明示的逻辑的情况下衔接过去。

human-writing 想解决的就是这些。


卡兹克是谁

简单说一下背景,不了解他的人可能有点陌生。

数字生命卡兹克,虚实传媒创始人,AI 内容创作者,公众号「数字生命卡兹克」的作者。在 AI 领域做内容大概三年,风格是那种有明确立场、会直接说"我觉得"的人。

今年年初他就开源过一次——把自己写公众号用的写作 Skill「卡兹克风格创作.skill」放出来了,里面是他自己的写作节奏、句式偏好、禁忌词清单和四层自检体系。那次开源在 AI 创作圈子里传得挺广。

这次 human-writing 是另一回事。khazix-writer 管的是"如何写得像卡兹克",human-writing 管的是"如何写得像一个活人"——不是特定风格的模仿,而是一套通用的去 AI 味规则集,适用于知乎、公众号、博客、评测、小说、口播等大多数中文写作场景。


1.0 的路子:禁词列表

先说 1.0 的思路,才能理解 1.1 为什么重要。

应对 AI 腔,最直觉的做法是列禁词——不能用"不是……而是……",不能用冒号,不能用"赋能"、"打法"、"闭环"这类黑话。

这个方法有效,但有个根本缺陷:模型会换一套字面继续做同样的事。

你禁了"不是 A,而是 B",它换成"与其说 A,不如说 B";你禁了"你以为……其实……",它换成"表面上看……但深究起来……";你禁了"回头才发现",它换成"当时没意识到……现在想来……"。

换完衣服,底下的姿势没动。

读者认的是姿势,不是字。字符串禁令在字面层打补丁,永远追不上模型的变体速度。这是 1.0 的局限。


1.1 的核心洞察:禁动作,不禁字

1.1 的升级把防线从字面移到了修辞动作层。

规则不再是"不能出现'不是……而是……'",而是:禁止"先给读者立一个他没有的误解,再推翻它"这件事本身。不管穿什么外衣,这个修辞动作就是不行。

changelog 里有一句话说得很清楚:

"你以为……其实……"、"回头才发现"和"不是A而是B"是同一个姿势,读者认的是姿势,不是字。

这个洞察看起来简单,但实现起来需要两件事同步完成:

一是规则要重写。从列举字符串变成描述动作。"翻案腔"不是某几个词,是一种叙事策略——先设误解,再反转,用这个落差来制造深度感。规则要能让模型识别这个策略的各种变体,而不是认字符串。

二是检测脚本要跟上。规则变了但检测还在查字符串,升级等于白做。1.1 的check_prose.py同步更新了:

  • 翻案句的正则覆盖了跨句情况——"句子结束了。而是……"这种情况也会判失败

  • 覆盖了换字变体——"倒不如"、"毋宁"这类同义表达也在检测范围内

  • 加了警告层——变形翻案句、三连以上同构排比、名词化句式、模型偏爱抒情词(安放、抵达、微光、褶皱……),硬停不到的情况给出警告

最有意思的是加了两个统计指标

  • 句长变异系数:人写中文,句子长短自然会有起伏;AI 倾向于写一堆差不多长的句子整齐排列。变异系数低,是模型腔的信号。

  • 连词密度:人说话有跳跃和留白;AI 喜欢把逻辑链条用连词焊死。连词密度过高,读起来像论证不像聊天。

这两个阈值参考的是 CCL 2023 人机中文对照研究,不是拍脑袋的数字。


文件结构

整个 Skill 打包得挺干净:

human-writing/ ├── SKILL.md ← 入口,材料门槛 + 写作流程 + 交付禁令 ├── references/ │ ├── forum-prose.md ← 知乎/公众号/论坛帖的节奏和措辞做法 │ ├── reality.md ← 真人、历史、新闻、数据的事实边界 │ ├── fiction.md ← 小说、对白、虚构散文的创作规则 │ ├── formats.md ← 口播、演讲、教程、评测等特殊形式 │ └── revision.md ← 初稿写完怎么改,七遍检查清单 ├── scripts/ │ └── check_prose.py ← 检查成稿有没有踩硬禁令 └── dist/ └── human-writing-lite.md ← 两千字蒸馏版,聊天窗口直接粘贴用

核心是SKILL.md,管三件事:材料门槛、写作流程、交付禁令。

材料门槛是一个前置检查——写之前先确认手上有没有东西可写。现实题材要查资料,查不到就追问或缩短篇幅,不能拿车轱辘话凑字数。虚构题材可以创造人物和情节,但每个场景要有目标、有动作、有变化。

写作流程管三件事,用表格很清楚:

材料

推进

中文

现实写作核准事实、数字、引语和亲历。虚构写作检查人物、行动与因果。

每段都要带来新东西——新事实、新动作、新例子或新后果。写过的不重复。

白话打底,在意词序和停顿,清掉报告腔、模型腔和翻案句。

check_prose.py可以单独跑,检查任意一篇文章:

python check_prose.py 你的文章.txt

输出分硬停(必须修改)和警告(建议检查)两层,末尾附句长变异系数和连词密度的统计数值。

如果你用的是 ChatGPT、千问这类只有聊天窗口、没法安装 Skill 的工具,可以用human-writing-lite.md,两千字以内的蒸馏版,整段复制进系统提示就能用,效果打折但比裸跑好很多。


安装方式

支持 Skill 安装的 Agent(比如 Claude Code)直接发这句话:

帮我安装这个skill:https://github.com/KKKKhazix/human-writing

Agent 会自动读取仓库、找到 human-writing 文件夹,完成安装。装好之后显示名为「活人感写作」。

如果 Agent 不支持自动安装,从 Releases 页面手动下载,复制到本机 Skills 目录:

~/.agents/skills/human-writing/

装好之后这样触发:

使用$human-writing,把我的材料写成一篇有活人感和中文韵律的作品。

我的感受

试了一轮之后,最明显的变化是翻案腔少了很多。原来让 AI 写十段文章,七八段会出现某种形式的"你以为……其实……",现在这个姿势被管住了,模型只好从正面下判断,先给结论再给依据,读起来干净很多。

连词密度这个指标让我回头测了一篇自己之前让 AI 写的文章,超出阈值挺多的。重新看那篇文章,句子之间的逻辑连接词密集排列,读起来像在推论证明,不像一个人在聊事情。把连词砍掉一半、重新组织那几段之后,节奏确实活了。

有一点值得说:这个项目管的是规则和工具,不是风格本身。check_prose.py检查的是已经写明的硬规则,不替你决定风格——它告诉你哪里踩线了,怎么修是你自己的事。这个边界划得挺清楚,没有越俎代庖。

仓库里只有原创规则和工具,没有第三方文章、训练语料或模型权重,MIT 开源。卡兹克在 README 里说,碰到规则冲突、误报或者某个模型上表现不对,欢迎提 Issue,附上提示词和模型输出片段,他想维护一个可以持续改进的规则集。

开源地址:https://github.com/KKKKhazix/human-writing

你用 AI 写东西的时候,哪种模型腔让你最头疼?欢迎评论区聊聊。


📌 本文涉及工具

  • 项目:human-writing(活人感写作)v1.1.0

  • 作者:数字生命卡兹克(GitHub:KKKKhazix)

  • 开源协议:MIT

  • 地址:https://github.com/KKKKhazix/human-writing

谢谢你阅读我的文章~

我是顾北,我们下期再见!

PS:本文部分内容由AI辅助创作

http://www.jsqmd.com/news/1370235/

相关文章:

  • C++ vector动态数组:从核心原理到高效编程实战指南
  • AI Agent缓存架构革新:从黑盒循环到结构化可缓存工作流设计
  • Visual Studio 2019添加bits/stdc++.h万能头文件:两种配置方案详解
  • 【金仓数据库征文】AI Agent SQL 执行超时与资源保护——在线问数不能把数据库当成“无限工具”
  • Spring WebFlux网关Connection reset by peer故障排查与Reactor Netty连接池优化
  • Unity Timeline代码控制实战:动态绑定、资源管理与性能优化
  • 保研全流程拆解——从大二到大四,每个节点该做什么
  • Photoshop下载安装教程(2025最全图文版)PS下载、安装步骤、配置与常见问题一篇搞定
  • PHP.d目录配置管理与优化实践指南
  • 稀疏注意力与长上下文:AI模型从规模竞赛到实用化的关键技术突破
  • 央视视频链接怎么获取?不同平台获取方法详解
  • 2026南昌优秀的AI 提升系统公司解惑:云搜数智(南昌办事处) - 热点品牌推荐
  • 《信念的灯塔》:一首歌如何给低谷听众方向感
  • 比亚迪ATTO3三相逆变器深度拆解:从FOC算法到SVPWM硬件实现
  • Visual Studio 2019企业版离线安装包制作与部署全攻略
  • 5分钟免费iOS激活锁绕过指南:Applera1n解锁iPhone 6s-X完整方案
  • Triton语言cos函数实现与GPU优化实践
  • 从OpenGL到Unity:深入理解渲染管线与Shader编写实战
  • 2026平航杯内存取证(StarMem)
  • Python音频剪辑工具HzChopGUI:本地化GUI实现与批量处理实践
  • 基于腾讯云微搭低代码的MBA订单管理系统实践
  • 字符串里扒数据:从“假 list“到“一堆 Document“的两种正确姿势
  • 2026 年至今,新晃侗族自治知名的防火墙制造企业深度剖析,你每天用的东西,竟悄悄成了阻挡真相的无形壁垒? - 企业信息推荐-2
  • 【Java核心高阶进阶】22-happens-before与内存屏障
  • Unity团队协作:配置Plastic SCM与UnityYAMLMerge告别合并地狱
  • 嵌入式C/C++函数调用约定:__cdecl与__stdcall深度解析
  • Godot 2D游戏开发:单例模式与自动加载的架构实践
  • AI时代IT工程师的转型与技能升级指南
  • AI生成测试用例的数据隔离实践与解决方案
  • Qt/C++桌面二维码生成器开发实战:从环境搭建到打包部署