写作DNA,把好作者的基因拆成代码




闲来无事跑去GitHub上瞎逛的时候,无意间翻出来一个挺小众的仓库,writing-dna-skill,这名字一映入眼帘就把我给死死吸引住了。凭借从事写作工具开发这么长一段时间以来的经验,猛地看到writing跟dna被放在一块儿,本能地就想着要点进去瞧瞧究竟是在搞什么名堂。
这个仓库的思路其实挺简单的,它想要把一个作者的写作风格开展拆解工作从而转化成为能够被复用的结构化数据。同时并不是去说那种"你的风格偏口语化"的模糊描述,反而是把句式偏好、段落节奏、用词频率这些个东西给进行量化方面的处理,存成一个能够被调用的配置文件。说白了也就是给写作者做基因测序,测完了之后再拿这套基因去让别的模型开展模仿方面的工作。
这个方向我个人是挺感兴趣的。我们自己开展人味儿写作心法相关工作的时候,踩到过一模一样的坑。早期版本就是凭借在prompt里写上一大堆"请运用口语化风格""请模仿真人节奏"之类的指令,结果弄出来的东西一眼看过去就是AI味。后来发觉这根本不是prompt措辞的问题,是你压根儿没把"人味儿"开展拆解工作直至达到足够细的颗粒度。要是你跟模型说"像人说话",那模型的理解跟你完全就不是一个维度了。
writing-dna-skill让我感觉对路的地方在于,它不试图借助自然语言来描述风格,而凭借数据来描述。句号跟逗号的比例是多少,平均句长多少字,段落长度的变异系数是多少,哪些口语词出现的频率比较高,这些才是风格的底层参数。你拿这套参数去对生成工作开展约束方面的工作,比起写上一百句"请模仿某某风格"都要管用得多了。
我自己尝试过类似的事情。之前对一批真人写的经验分享帖开展过分析的工作,统计逗号句号比,发觉真人口语叙事的比率在8到12之间,AI生成的文章通常则是在1到2之间。这个差距大到什么程度了呢,你都不需要什么复杂的检测器,光看标点分布就能把它分辨出来。但问题在于,知道了这个比率之后怎么去加以进行运用。你直接跟模型去讲"逗号句号比保持在10比1",模型就会疯狂堆逗号,读起来感觉就跟结巴一样,因为它不理解为什么这个比率是10,它只是在机械地执行一个数字罢了。
writing-dna-skill的价值体现在它试图把从参数到生成之间的桥梁给进行建立。风格并不是一组孤立的数字,同时是一套互相开展约束工作的系统。逗号比高的时候句长也会跟着变长,句长长了段落的呼吸感也就不一样了,段落呼吸感变了整篇文章的节奏走向也就跟着发生改变了。这些参数之间存在着因果关系,你没法单独抽一个出来开展调整工作。
说到这里我想起之前一个挺尴尬的尝试。我们拿一篇范文让模型去开展模仿方面的工作,prompt里写得特别细,涵盖了用词偏好、句式结构、情绪曲线,结果弄出来的文章单看每一段都像那么一回事,连在一块儿读就是感觉不对劲。后来逐段对比才发现,范文的段落长度分布是不均匀的,有的段落三百字一口气顺下来,有的段落就一句话独立成段用来做情绪断点。模型在开展模仿工作的时候把每一段都给写成差不多的长度,结构太均匀了,这样一来读起来就像节拍器在打拍子,一点人的呼吸感都没有。
这种东西你要是不拆到段落长度变异系数这个粒度,根本说不清楚。你要是跟模型去讲"段落长度要有变化",那它最多给你一个长一个短交替着出现,照样是规律性的。真人写东西的不均匀是随机的、跟着情绪和内容走的,同时不是刻意去安排的。writing-dna-skill要是能把这些建立起层级关系并开展建模工作,确实比纯prompt驱动的方式要更靠谱。
不过我也有个疑虑。写作风格这个东西,拆解成参数容易,从参数还原回去变成活的文字很难。就像你把一个人的声音开展了频谱分析的工作,拿到所有频率分布数据,然后让另一个歌手照着这个频谱去唱,技术上参数全对,听着感觉就是觉得不像。因为风格不只是单纯的参数叠加,参数之间存在着微妙的互动,有些东西是涌现出来的,同时并不在任何一个单一参数里面。
这个仓库目前还比较早期,从star数和提交频率看应该是个小团队或者个人项目。但方向我感觉是对的。现在大模型写东西最大的问题不是写不出来东西,是写出来太过于像大模型了。所有文章的节奏、结构、用词全都处在一个安全区间里面,读得多了你会产生一种晕眩感,每篇文章的呼吸频率都是一模一样的。这种同质化比内容本身的问题更致命,因为它让人在潜意识层面产生排斥感,你说不上来哪里不对,反正就是不想再读下去了。
我们开展人味儿写作心法相关工作的时候走了一段弯路,以为把AI味重的词给替换掉就可以了。后来发现换词是最末端的操作,叙事骨架才是根因。每段都是"发现问题到亲身验证到得出结论"的完美弧线,这个结构本身就是最强的AI指纹。就算你把所有词都替换成口语词,骨架照样还是那个骨架,读者一样能感觉出不对劲。writing-dna-skill要是只停留在词频和句式层面,可能也会卡在这个地方。风格的数据化需要深入进去到叙事结构的层面,同时不只是句子级别的参数了。
话说回来,这个项目能引发出我的共鸣,核心原因是它代表出了一种趋势,也就是大家开始认真对待"风格是什么"这个问题了。以前我们谈论风格,更多是在说审美的偏好,你喜欢简洁我喜欢繁复,这是主观的东西。但现在当你要让模型去模仿风格的时候,你必须把那个主观的东西进行客观化处理,把感觉转变成数据,把直觉转变成规则。这个过程本身就在倒逼着你重新理解写作这件事。
我之前不太信写作可以被开展拆解工作,觉得好的写作是有灵气的,拆解成零件就死了。但做了这么久工具之后想法变了,拆解不是为了替代,是为了理解。你把一个作者的风格拆解成参数,同时并不是说为了让机器批量生产这个作者的仿制品,而是为了搞清楚他到底好在哪里,哪些是可学习的,哪些是天分。可学习的部分转变成方法论可以进行传承,天分的部分你认了也就可以了,没必要去纠结。
writing-dna-skill这种项目变多了之后,我感觉会催生出一个有意思的变化。以前写作教学是经验传递,师傅带徒弟,说"你这段节奏不对,改长一点"。以后可能就会转变成数据传递,师傅讲成"你这段逗号比才1.5,目标4.0,段落变异系数0.3太均匀了,拉到0.5以上"。听起来冷冰冰的,但可能比模糊的感受要更有效。人对自己写作节奏的感知其实真的很不准确,你感觉你写长了其实并没有多长,你感觉你句式有变化其实全都在一个模式里面。数据不会骗你。
当然这里面也是有个度的问题。数据是工具同时并不是说目的,你对风格开展拆解工作是为了更好地写,同时并不是说为了被数据给绑架。要是写每一段的时候全都在看逗号比对不对,那就本末倒置了。writing-dna-skill的价值体现在它把那个隐性的东西显性化了,显性化之后你可以选择选用也可以选择不用,但至少你知晓那个东西到底在那里。比起写了一辈子都不知道自己段落长度太均匀要强得多。
我打算持续关注这个项目。要是它能够把叙事结构层面的参数也开展建模工作进去,同时不只是停留在词频和标点,那就会是一个很有价值的方向了。写作风格的数据化是一件长期的事,同时并不是说一两个skill能解决的,但是每多一个尝试就多一块拼图。我们开展人味儿写作心法相关工作的时候也是这样一块一块拼出来的,首先是标点节奏,然后是叙事骨架,然后是段落结构,每一块单独看都不够,拼凑在一块儿才开始具备一个轮廓。
以上内容,既然看到这里了,要是感觉有用的话,顺手点个赞再离开。

阅读全文(20积分)