Audience Of One

Agents

去 AI 味,但不靠抓错词。核心判断:AI 味的根因是这段话没说给任何人听——模型产出"对所有人都成立"的平均句,也就是对谁都没用的句。方法是补回三个坐标(谁在说、对谁说、为什么非现在说不可),套话作为副产品自动消失。适配公众号/小红书/口播/社区/汇报/PRD/技术文档/邮件等场景,按场景换坐标。触发词:去AI味、说人话、这段太机器、别像模板、改得有人味、为什么读起来像 AI、humanize。

Install

openclaw skills install @damomhd/audience-of-one

写给一个人

大多数"去 AI 味"工具在抓错词:列一张套话清单,逐条删。删完往往换来另一种 AI 味——干净、平整、没有人。因为它们治的是症状。

这份 skill 的判断不一样:AI 味的根因,是这段话没说给任何人听。

语言模型产出的是统计意义上最可能的句子——"对所有人都成立"的平均句。问题在于,对所有人都成立的话,对谁都没用。它没有说话的人,没有听的人,没有非说不可的理由。"在当今这个信息爆炸的时代"之所以一眼是 AI,不是因为这几个字有毒,是因为没有一个具体的人,会对另一个具体的人,这样开口

所以方法不是抓词,是把缺的东西补回来。补回三个坐标,套话会自己消失——因为一个真人对着另一个真人、为了一件非说不可的事开口时,根本写不出那种句子。

三个坐标

每段文字都该能回答这三个问题。答不上来的那个,就是 AI 味会长出来的地方。

  1. 谁在说(说话人) 一个具体的人。有知识、有立场、有限度、愿意被反驳。不是"我们团队",不是"系统",不是一个想讨好评委的声音。

  2. 对谁说(听众) 一个具体的人,不是"大家""用户""读者们"。ta 已经知道什么?在怀疑什么?哪句话会让 ta 划走不看了?

  3. 为什么非现在说不可(赌注) 如果你只能让 ta 记住一件事,是哪件?这段话落地了会改变什么?没有赌注,就会处处用力——处处都说,等于处处没说。

核心机制:症状是坐标空缺的影子

这是这份 skill 和别家最不一样的地方。不要把 AI 痕迹当成一张平铺的违禁词表,要把每个症状当成"某个坐标空了"的信号。

  • 通篇没有"我"、不敢有立场、谄媚、虚假主语("数据显示"代替人)→ 说话人空了
  • "众所周知""在当今时代"、对谁都成立的泛论、过度铺垫、解释比喻 → 听众空了
  • 三段式凑全面、"未来可期"式空收尾、每段一样平没有轻重 → 赌注空了

诊断对了,改法就自然了:不是"删掉这个词",是"把这句话改回它本该对着的那个人说"。完整的"症状 → 哪个坐标空了 → 怎么补"对照(含"研究表明"这类无源引用的三种处理)见 coordinates-diagnostic

操作流程

  1. 定坐标,并用一句话说出来。动手前先把读法写成一行:「我把这段读成: 说,为了让 ta 怎样。」三个空里有填不上的,那个空就是 AI 味的源头。各场景的合理填法见 scenarios
  2. 定改写幅度。短文直接改;长文走"建议删除清单"(见下)。
  3. 逐段体检。读每一段,问:这句对得上三个坐标吗?对不上的,标出来,并判断是哪个坐标空了。
  4. 改回坐标,不是删。把"对着没有人说"的句子,重写成"说话人真的对听众说"的样子。删,只是改的一种结果,不是目的。
  5. 守住该守的。事实、数字、术语、命令、责任主体不能动(见下)。有些文本的说话人本来就该是系统或规范,别硬塞一个假的"我"。
  6. 两步回读 + 打分。改完别直接交,走下面的两步回读和坐标打分。

改写幅度:短文直接改,长文走"建议删除清单"

  • 短文 / 明确要求重写的:直接改、可并句、可重排。
  • 长文(约 1000 字以上):不要偷偷压缩。长文一旦放手删,缩水多少全凭手感,作者无法预期。换一种改法——句内的套话直接洗掉,但整句要删的,不直接删,列一张「建议删除(待确认)」清单交给作者,每条写明"原句 + 为什么删了不丢信息"。

一句能进删除清单,必须同时满足:剥掉它,三个坐标承载的信息不变(不带独有的事实、数字、判断、动作),且它不是相邻两句之间唯一的过渡。承担节奏、转场、强调的句子,哪怕"像 AI"也先留——那是说话人在控制呼吸,不是空话。

坐标可以非个人,但不能是空的

这是防止改过头的关键。三个坐标不是逼你把每篇都写成第一人称散文。

  • 技术文档的说话人,合法地可以是"系统/规范"——"服务返回 503"就该这么写,别改成"它罢工了"。它的听众是"卡住了来查文档的人",赌注是"让 ta 解决问题走人"。坐标都在,只是都不是个人化的。
  • 法律、合规、接口说明同理:非个人,但不空。

判断标准:坐标可以填"系统""规范""任何执行者",但不能填"没有人"。区别在于——技术文档知道自己在对"来查的人"说话,AI 套话不知道自己在对谁说。

守住的硬边界(除非用户明确要改且不损信息):

  • 引用原文、命令、接口名、参数、字段、配置、日志、报错
  • 数字、日期、人名、责任归属
  • 承载关键事实的句子,哪怕它读起来"有点像 AI"

去的是"对着空气说话",不是专业性。

补坐标的料,只能来自作者或原文,不能来自模型

最危险的失败不是没改干净,是为了"补坐标"编了原文没有的东西——给汇报塞个没发生的数字、给公众号编段作者没经历过的故事、给空 release note 幻觉出一份变更列表。这只是把"空坐标"换成"假坐标",比 AI 味更糟,因为它带进了假信息。

所以当三坐标空、而原文又不提供可填充的真实材料时,正确产物不是替作者写,而是:

  1. 指出哪个坐标空了;
  2. 给出改写的形状(用 [谁][具体做了什么][结果] 这类占位),让作者一眼看到该填什么;
  3. 把具体的料要回去——"这里需要补上实际改了什么 / 你真实的经历 / 具体数字"。

一句话:说话人、赌注的真实内容,只能由作者提供;模型只负责把它放回该在的位置。

什么时候别用

  • 用户要逐字翻译、保留原文风格、仿某个模板或品牌口吻
  • 文本主要是代码、日志、配置、报错
  • 用户要的是事实校对,不是风格改写
  • 文本本来就是真人写的、已经有明确的说话人和听众——别为了"更像人"把它改坏

输出

默认给一个改好的版本。如果用户说"先别改,告诉我哪里像 AI",就按坐标诊断:指出哪几句、各自哪个坐标空了、怎么补,不给完整重写稿。

高风险时补一行极短说明,例如"保留了系统主语和接口名,没动事实"。

两步回读

改完别直接交,分两遍读,别混着做。

第一遍 · 保真:事实、数字、日期、人名、术语、命令、责任主体,有没有被改写漂掉?长文还要确认原文每个信息点在新稿里都找得到。这一遍只管"有没有改错",先不管像不像 AI。

第二遍 · 坐标残留:再读一遍,问每段——还有哪句是对着空气说的?哪个坐标还空着?常见残留:开头还留着一句背景铺垫(听众空)、结尾还有一句正能量收尾(赌注空)、通篇还是没有一个敢负责的说话人。第二遍只做轻修,不重写全文、不补新事实。

技术文档、汇报这类,第二遍要更保守:如果"更像人"会让语气变口语、影响保真,就停在第一遍。

交付前:三坐标打分

给每个坐标打 1-5 分(这个坐标读起来填满了吗):

  • 说话人:能看出一个具体、敢负责、有限度的人吗?还是悬浮的中立口吻?
  • 听众:能看出在对一个具体的人说话吗?还是对所有人、因而对谁都没用?
  • 赌注:能找到那句非说不可的话吗?还是处处用力、一样平?

任一坐标 ≤2 分,回去补那个坐标再交。这不是给文采打分,是查三个坐标是不是真的不空了。 别走反面:为了凑分编事实、塞假情绪、凹人设,那是塞了个假坐标,比空着更糟。

reference 导航

  • 每个 AI 症状对应哪个坐标空了、怎么补(含无源引用三模式):coordinates-diagnostic
  • 八个场景各自的三坐标合理填法:scenarios
  • 改写示例(每个都标"哪个坐标空了 → 补回后"):examples
  • 测试这个 skill 的真实样本基准:evals