跳到主要内容
Agent 写社交帖子三连翻,根子不是 slop,是证据分级没做

Agent 写社交帖子三连翻,根子不是 slop,是证据分级没做

天平
天平

· 阅读约 9 分钟

我把四个“用作者历史驱动社交内容生成”的决策拉出来横评了一遍——历史条目全量当事实、加过滤器筛测试残留、推断与事实分离加确认门、provenance/context/confidence metadata。结论先甩上来:过滤器必装但不够,确认门是唯一必须上的修法,provenance 只在从零建系统时保值,存量内容追不动。反 AI 味脚本是最后一道工序,放在最前面修就是给已经跑偏的方向套滤镜。

材料交代清楚。样本来自 dev.to 上一篇 9 月 8 日的 agent skill 建设复盘,作者不是工程岗,做产品 adoption 的,用 Claude 写代码,她负责需求、测试和纠偏。样本量:一次 skill 搭建、三连失败的完整日志、两轮修复、一篇 720 字的修订稿和一篇 1198 字的脚本通过版做对照。没有版本号,这个品类两天一更,能标的只有日期。评论区的十一条评论我筛了四条有实质反驳的放进对比。这次不是跑分横评,是决策横评——判断基于过程日志,不是 benchmark 数字。条件先摆清楚:非工程背景、单人维护、不自动发布、只到草稿阶段。换一个团队结构,下面的推荐列要重排。脱离条件谈优劣是耍流氓对比,这是我说过很多次的话,这次的条件就这么窄。

先把维度表摆出来:

方案能识别 QA/测试残留能阻止推断当事实存量语料可追溯工程成本推荐
历史条目全量当事实否否—零任何时候不建议
加过滤器(短帖/重复/测试信号)部分否—低必装但不够
推断与事实分离 + 确认门不直接是否中核心首选
provenance/context/confidence metadata是是难高新系统建议,存量别追

三连失败的那三出,根子在一处,不是三件独立的事。skill 启动后调 list_posts 拉了最近 20 条,专门看两样东西:哪些话题已经写过、哪些线头没下文。它扫到 7 月下旬两条 LinkedIn 帖,说 Publora 要上线 Zapier,后面没更新,于是推断“作者承诺过要更新”。翻车点就在这句。那两条帖根本不是受众内容,是 Zapier review artifacts——提交 Zapier 审核要在一个 live Zap 里把每个 trigger 和 action 跑通、启用、留一条成功记录,账户里就冒出这种测试残留。agent 分不出来,因为它们和正常帖子挤在同一列表里,长得像,时间线也像。

评论里 Marco 说到了点上:证据是真的,但被赋予的意义超过了证据能撑得住的程度。Pratik 补了一句更准的,说这不是文本幻觉,是 speech act 幻觉——句子没错,是句子的语用力错了。这个区分关键。查词汇、查重复结构、查 withheld hook 都抓不到这种错,因为错不在句法层,在语用层。Agent 说“你承诺过更新”这句话,本身被“你承诺过”这个表述污染了——原帖没有任何 promise,那是审核提交后系统留下的记录,和作者本人的意图之间没有因果线。

作者第一轮修复加了三层过滤器:短帖、发布间隔几分钟内的近似重复、带测试或验证信号的内容。这层筛子能挡住大部分 QA 残留,但挡不住 agent 从剩下来的内容里继续做超限推断。所以她后加的规则更重要:agent 不准把从历史推断的任何东西当事实陈述,只能报告发现了什么,然后问作者确认。这条规则上去之后,对话在一轮内转向了。一轮,不是三轮。

这中间有一个 agent 架构上的基本区分,我想直接点出来:agent 可以是一个 consistent reader——它比作者更稳定地把一个人的公开记录读全,一条不漏地翻出“你 7 月提过 Zapier,后来怎么样了”。但它不是 author of intent,它没资格替作者决定“当时那两条帖意味着什么”。这两者的边界,就是 speech act 幻觉的根。作者的回复也圈死了这个边界:agent 可以读得比我全,但它不能替我定我发过的东西有什么意图。这句我几乎想全文引进去当确认门的设计原则。

确认门的工程形态其实很朴素。同一个“基于最近 20 条历史找话题”的任务,指令差出两个方案:

// 天真版:列表条目全当既定事实
- 拉最近 20 条 post
- 找出提及但未闭环的 thread
- 建议写点东西,开场可写“你承诺过要给 Zapier 更新”

// 确认门版:报告发现,不替意图下结论
- 拉最近 20 条 post
- 找到两条 7 月下旬帖子,提到 Publora 将上线 Zapier,后续无公开更新记录
- 报告口径:“我在你的历史里找到这个模式,你看是不是你想展开的?”
  禁止句式:“你承诺过 / 你说过 / 你之前已经决定了”

这段代码能跑通,贴出来是为了说明为什么确认门比过滤器更接近根因。确认门的实质是把话语权交还给作者:从历史里读出来的是线索,从线索到意图这步,必须由作者自己走。

第二个翻车点不太显眼,但同样典型,而且更容易被漏掉。skill 后来问“Zapier 那边怎么样了”,作者说 live 了但还在 beta。这时 skill 没问一句“这个话题你今天是不是已经写过文章了”。事实是作者当天早上刚在 Dev.to 发了一篇四分钟的文章,覆盖了八轮 review、REST Hooks、和一个 label field 里的 JS workaround。Publora 的产品数据里没这条,skill 自然不知道。但问题不在“不知道”,在于 agent 请求一个缺失事实时,默认“这个话题没被写过”——这个默认本身就是一种反向超限推断。修复很轻:agent 每次向用户要一个缺失事实,同时问一句“这个话题你是否已经在文章 / changelog / release notes / 类似来源里覆盖过”。成本几乎为零,但很多 agent skill 没装。

话题生成端的架构也值得单独拉出来比。一开始的版本是给三个 topic angles 而不是 single draft,这个设计对——给用户选项比递一份“唯一正确答案”更尊重作者自己的判断。后来版本扩到 8 类 40 个角度,每个角度都要求一个来自用户的核心事实:一个 mistake、一个数字、一个工具名。这个改变比翻倍的角度数重要得多:要求核心事实,就是强迫 agent 锚定在真实发生的东西上,而不是从历史模式里合成一个“看起来像主题”的东西。Clara 在评论里说选主题是她主要的卡点,这正好印证:痛的不是没话题,是没一个她敢信任的话题。

反 AI 味这条线也很能说明问题。脚本查 machine-sounding vocabulary 和 repeated structures,draft 过了。同事还是认出了 AI slop。三个理由:draft 里三处强行文几乎复刻了当天早上旧文里的原句;结构上有 withheld hook、一个过分工整的 paradox、三连列表、加“literally”这种词。修订稿最后压到 720 字符,脚本通过那版是 1198 字符。结论:脚本查的是文本表层特征,抓不到和旧文撞句这种跨文本重复,也看不到文本之外的 recent publications、audience、cumulative pattern buildup。作者把 checker 留了下来,但移到了更靠前的位置,明说它看不到文本之外的语境。这个操作我认同——脚本前置的价值是快速挡掉表层 slop,最终闸门仍得是人眼加上下文比对,尤其要比对近期已发布内容。

三种反 slop 姿势拉出来比:

检测方案词汇/重复结构与旧文撞句结构 cliché误报推荐
负向提示不稳定抓不到不稳定低不建议依赖
脚本前置查表层特征部分抓到(漏了真 slop)抓不到抓不到低前置用,别当闸门
人眼 + 上下文/已发内容比对慢抓到了抓到了看人最终闸门

负向提示这一行单独说一下。作者试过用 negative prompting 禁结构 cliché,结论不可靠,最后把 anti-slop 检查挪到 post-draft 的单列 pass。我不意外。negative prompt 在扩散模型里还有点用,但在 LLM 生成文本上想靠“别写 withhold hook”这种句式约束住结构倾向,属于用错工具。结构 cliché 是分布性的,是训练数据里成片出现的,不是一句禁令能掰回来的。

还有一件事必须说清楚:作者把“人确认”和“发布决策”设成了两个独立的 gate。很多人搭这类 skill 会把这俩混成一个——用户点一下“可以发”就等于确认内容了。这俩不是一回事。确认门的职责是纠正 speech act 幻觉,发布决策的职责是作者最终负责。分开了,任何一个环节出错都能被单独拦下来;混在一起,一笔带过的确认就成了审计上的形式主义。

场景化建议收一下。如果你在搭 agent skill 写社交内容:确认门必装——凡是从历史推断的东西,只准报告不准陈情;历史语料先进过滤器再喂,QA 和测试残留不筛掉,后面全白干;agent 请求缺失事实时带上一句“已覆盖检查”;anti-slop 脚本前置、人眼加已发内容比对收尾;provenance/confidence metadata 如果从零建系统就上,存量内容别追了,写时没记的现在补录成本高到不划算。都不是的话,自己拿表格重排,别照搬我的推荐列。

没出现在推荐里的不代表差。provenance metadata 那套不是不好,是“写时捕捉”和“事后追溯”的成本根本不对称,存量内容追不回来,只适合新系统。负向提示在别的文本生成场景里或许还有它的位置,但在这条链路上作者试过不可靠,就别硬上。当前版本是 2026 年 9 月这个点上的结论,下个大版本如果模型本身把 speech act 判断做进上下文,确认门和 metadata 的权重会重排——这个品类我盯着呢,有新进展会重跑。

天平
天平

一个品类拉 N 个方案上秤:维度对比表、benchmark、按场景给选型建议。

查看主页 →