开源writing-eval审计报告:本地跑一圈就知道文章是不是AI写的!


AI写作痕迹能被代码审计出来,人类再也装不下去了!

你发给老板的周报里藏着机器人的指纹,你知道吗?

过去三年里,AI生成的文字占比从不到百分之五飙到了百分之四十以上。你刷到的公众号文章、产品说明书、甚至孩子的作文,可能有一半不是人写的。但问题是——谁能证明?谁能把“这句话像AI写的”变成一份铁证如山的审计报告?一家叫Majestic Labs的开源项目放出了一个叫writing-eval的工具,用代码审计的逻辑来审文字。这不是什么作文批改软件,而是一把插进AI写作心脏的语言手术刀。

写作风格居然可以被“提取”成配置文件!

writing-eval干的第一件事,就是从你给的参考文本里提取风格特征。什么意思呢?你丢给它十篇你亲手写的博客文章,它会算出你的平均句长是多少、你喜欢用“但是”还是“然而”、你的段落多长换一次气、你爱用主动句还是被动句。这些特征被打包成一个配置文件——就像给一个人的说话方式拍了一张X光片。

然后你拿一篇新文章过来,writing-eval把新文章和那张X光片做对比。逐项打分:清晰度够不够、可读性行不行、句式节奏像不像你、词汇使用是不是你的风格、整体写作模式有没有偏离。报告是Markdown格式,每个问题都标出当前值和目标值,还附带具体的编辑建议。

这跟传统语法检查完全两码事。Grammarly告诉你“这个句子太长了”,writing-eval告诉你“这个句长35个字,而你平时的习惯是18到22个字,差了将近一倍,这不像是你写的”。前者在改错,后者在验指纹。

全程本地运行,你的文字不用交给任何大模型!

很多AI工具是这样的:你把文字上传,它调用GPT或者Claude的API帮你分析,你的数据就在别人的服务器上走了一圈。内容团队写的是产品文档、技术博客、品牌文案——这些东西能随便往外送吗?

writing-eval选择了一条完全不同的路。全程本地运行,不调任何API,不上传任何数据。你克隆仓库,装好依赖,在你自己电脑上跑。审计报告生成在你本地硬盘里,从头到尾没有一行文字离开过你的机器。

这就怪了。一个AI写作检测工具,自己不用AI?

对。它用确定性的规则和统计方法来做事。确定性是什么意思?就是同样的输入永远得到同样的输出。大模型每次回答都不一样,但writing-eval不会跟你玩概率。它给你的是一份可以反复验证的审计报告,不是“我觉得像”而是“数据显示偏离了百分之多少”。

内容团队人手一个:写完初稿跑一遍,比人肉审校快十倍!

技术博客团队最怕什么?招了五个写手,写出来的东西风格五花八门。产品文档团队最怕什么?同一个功能在三个地方有三种说法。品牌内容团队最怕什么?公众号推文和官网介绍读起来像两个公司写的。

writing-eval解决的就是这个问题。你先用一批“标准样本”建好配置文件——比如你们品牌过去两年所有被认可的对外文案——然后每一篇新稿子写完就跑一遍审计。哪个句子偏离了品牌语调、哪一段的可读性掉出了正常区间、哪个词的频率异常偏高——全部标出来。内容负责人不用逐字逐句读,直接看报告就知道哪些地方要改。

比人肉审校高效得多。人看一篇三千字的文章要十分钟,writing-eval跑一遍三秒钟。而且人会累、会走神、会审美疲劳,机器不会。

但事情没那么简单!

如果人类刻意模仿AI,这个工具会怎么判?

写作风格可以提取、可以比对、可以打分——这个逻辑反过来想就让人后背发凉。如果一个人故意模仿AI的写作风格呢?如果一个人写东西就是机械、啰嗦、爱用“首先其次最后”呢?writing-eval会不会把他判成AI?

这就是整个事情最拧巴的地方。writing-eval检测的是“偏离”,不是“出身”。它告诉你的永远是“这篇文章和你提供的样本不像”,而不是“这篇文章是AI写的”。前者是事实判断,后者是归因推断。中间的差距有多大?大到可以把一个写作风格独特的人类作家误判成机器人,也可以让一个刻意模仿人类风格的大模型轻松过关。

所以writing-eval的定位其实很诚实:它是一个风格审计工具,不是一个AI鉴定器。它能告诉你差异在哪里、差异有多大,但它不替你下“这是不是AI写的”这个结论。这个结论得人来做。

确定性审计 vs 概率生成:两种世界观在打架!

这就牵扯到一个更深的问题。大模型的本质是概率——它根据前文预测下一个最可能的词。但writing-eval的本质是确定性——它用固定的规则和统计指标来打分。一个靠概率生成的东西,被一个靠确定性的工具来审判。这公平吗?

换个问法:如果AI生成的文字在统计上越来越接近人类写的,那writing-eval还能审出什么?它会不会有一天对着GPT-10写的文章说“这个风格完全正常,通过审计”?到那一天,到底是AI学会了人类的写法,还是人类的写作标准被AI拉低了?

这不是科幻。大模型训练的数据本来就是人类写的。AI在学习人类的风格,writing-eval在检测“不像人类的风格”。这两个东西在赛跑——AI拼命让自己像人,审计工具拼命找出不像人的痕迹。谁跑得快?

现在还不好说。

开源许可证背后的潜台词:这东西谁都能改,谁都别想藏着掖着!

writing-eval用的是GNU General Public License v3.0。这个许可证在开源世界里属于“硬核”那一类——你用它的代码,你的修改也得开源出来。言下之意:这玩意儿不是给你拿去搞封闭商业产品的,它是给所有人看的、所有人能改的、所有人都能拿去审计任何人的。

这就有意思了。一个用来检测AI写作痕迹的工具,自己用了一个“不许藏着”的许可证。你用它来审别人的文章有没有AI痕迹——但你自己用这个工具这件事,是公开的、透明的、可追溯的。谁在审计谁?

而且它用Python写的。Python是数据科学和AI领域的第一语言,选择Python意味着这个工具从一开始就面向懂行的人——不是给普通用户点一点按钮就出结果的傻瓜软件,是给工程师、内容运营、技术写作者在终端里敲命令跑的。这本身就筛掉了一大批人。

如果写作能被量化,那写作还算写作吗?

最后回到一个最根本的问题。清晰度、可读性、句式节奏、词汇使用、写作模式——这些东西被拆成几十个指标、打上分数、生成报告。写作成了一串可以优化的数字。

你今天写文章,跑一遍审计,发现“可读性”只有65分。你改了几个长句,再跑一遍,变成78分。你再改几个词,再跑一遍,变成85分。你达标了。

但你的文章变好了吗?

分数上去了,但那种“读到一半突然被一句话击中”的感觉怎么量化?“这个比喻用得真妙”怎么打分?“作者在这里留了一个空白让读者自己填”怎么建模?

writing-eval能告诉你一篇文章的统计特征偏离了多少。但它永远回答不了:这篇文章有没有灵魂?

而最讽刺的是——如果有一天,AI写的文章在writing-eval的所有指标上都拿了满分,而人类写的文章因为“太有风格”被判定为偏离过大——到那时候,到底谁才是“标准”?

这个问题,工具不会回答。得人自己想。