让模型模仿任何人写作,靠一个markdown文件和150行脚本
Reddit用户kaisoma开源了mimic。它不微调模型,用约150行无依赖脚本测量句子节奏、功能词和标点,再生成markdown技能文件来约束输出。盲测里,评委更偏爱技能版,尽管统计指标几乎分不出差别。
Reddit 的 r/PromptEngineering 上,kaisoma 发布了一个叫 mimic 的项目。项目地址在 GitHub。他说自己一直讨厌大模型的写作腔调,输出不算差,只是没劲。mimic 想解决的就是这件事:让模型模仿某个人的文风,任意作者都行。
他给了一组对照。每次都用同一个提示:告诉一个总熬夜的朋友早点睡。然后分别套上爱伦·坡、简·奥斯汀、Paul Graham 的风格。坡的版本里有“very, very wakeful you declare yourself to be”这种重复和节奏,读起来像在审讯一个不肯承认疲倦的人。奥斯汀的版本开头是“a truth very generally acknowledged”,把一件小事放进社交礼节的框架里。Paul Graham 的版本短句多,先抛一句“here's the problem”,再拐到“深夜没人需要你”的观察。三个例子展示的都落在句子怎么走、在哪里停、用什么方式推进上,词汇只是表面。

机制部分不复杂。mimic 没有微调,也没有自建模型。它由两部分组成:一个 markdown 技能文件,一个约150行的 stylometry 脚本,零依赖。stylometry 是用统计方法分析写作风格。把 agent 指向一个装文本的文件夹,脚本先测语料,写出技能文件,再拿模型的输出回头对照那些数字,最后问你要不要安装。kaisoma 的观察是,所谓“声音”主要落在结构上:句子长度和变化幅度、词重复的频率、哪些功能词和标点反复出现、作者习惯做哪些修辞动作。功能词就是“the、of、and”这类高频虚词。普通读者不用记这些术语,只要知道它量的是习惯,不是主题。kaisoma 的体验是 Claude 效果最好,GPT 最差。
有意思的地方在验证。kaisoma 说,如果只看纯功能词和节奏指标,技能版输出和直接对模型说“write like X”几乎分不出来。但让另一个大模型做盲评,读实际文本时,评委每次都选技能版。原因也简单:人读文章时注意到的是那些修辞动作,统计指标对动作是盲的。这个缝挺关键。它说明风格可以拆,但拆出来的数字和读者感受到的东西并不完全重合。
跟帖里有人补了一刀。Jealous_Bid_7546 说坡那段准得有点不舒服,节奏和“very, very wakeful”那一下正是他预期的调子;Paul Graham 那段像一篇真读过的博客,短句和转折都对。他之前做风格迁移总卡在词汇上,后来才意识到结构才是关键,功能词分布像指纹,换个主题也还在。According-Stable4487 则提醒,Poe 和 Austen 的特征太响,模型靠表面特征就能命中。更难的测试是找两位同年代、同体裁的作者,看还能不能分开。kaisoma 回复说,他们用大模型做盲评,readme 里有 Elo 分数,被盲评偏好的输出都来自技能版;同年代同体裁的实验他会去试。
这类工具真正有用的地方,可能不在“复制某个人”。它逼你把“文风像不像”拆成可以逐项检查的东西:句长、重复、标点、功能词、修辞动作。拆完之后还剩一点什么,那大概就是作者本人。mimic 能不能碰到那一点,得看它接下来在同年代同体裁作者上的表现。
发布时间: 2026-11-05 12:06