一次 cross-model prompt transfer 实验:我们以为在测“模型懂自己”

本文最后更新于 2026年5月31日 晚上

这是一篇实验复盘。

一开始我想验证一个听起来很有道理的想法:不同模型是不是有自己的 prompt 范式?如果一个 prompt 被模型 A 重写过,那么它是不是更适合模型 A 自己执行,而不是交给模型 B 或模型 C?

换句话说,模型会不会更懂自己写出来的 prompt?

这个问题一开始很诱人。因为平时用模型时确实会感觉每个模型“脾气”不同:有的喜欢结构化,有的喜欢啰嗦,有的对 JSON 很听话,有的动不动就自由发挥。于是很自然就会想:如果让每个模型把同一个任务 prompt 改写成“自己觉得好懂”的版本,再互相交换执行,会不会出现一种明显的 self advantage?

最后结果有点扫兴,也有点有意思:在当前实验设置下,这个强假设没有得到支持。更像是我们测到了 rewrite 质量和 target 模型基础能力,而不是测到了什么稳定的“模型私有 prompt 范式”。

最初的假设

原始假设可以写成这样:

同一个 well-defined prompt,经过不同模型的语义重构后,在独立评估上下文中是否产生等效任务表现?

更实验一点的说法是:

  1. 准备一组有客观答案的任务 prompt。
  2. 让多个 source model 各自 rewrite 同一个 prompt。
  3. 把 rewrite 后的 prompt 分别交给多个 target model 执行。
  4. 比较 source_model == target_model 的 diagonal cells 和 source_model != target_model 的 off-diagonal cells。

核心指标是:

1
2
transfer gap = mean(score | source_model == target_model)
- mean(score | source_model != target_model)

如果这个 gap 稳定为正,而且统计上站得住,那就说明“模型自己的 rewrite 更适合自己执行”这个假设至少有一点经验支持。

一开始我还做了文献撞车检查。结论是相邻工作不少,比如 prompt transferability、prompt rewriting、prompt optimization、model drifting 这些方向都有相关结果;但“多个模型独立 rewrite 同一 prompt,然后做完整 diagonal/off-diagonal 矩阵评估”这个精确范式,没有找到完全相同的工作。所以它不是惊天动地的新方向,但作为一个小实验还是值得做。

实验怎么搭

任务集没有做大。因为目标不是冲论文,而是先把实验闭环跑起来。

最终 prompt bank 是:

  • 3 个 task family
  • 每类 3 个 prompt
  • 总共 9 个 prompt items

任务类型包括:

  • ticket_classification:分类任务,要求输出固定 label。
  • event_extraction:信息抽取任务,按字段对答案。
  • exact_reasoning:简单精确推理任务,要求输出确定 answer。

评分也尽量简单:

  • 分类:label exact match。
  • 抽取:字段级 exact match 后求平均。
  • 推理:normalize 后 exact match。

这件事很重要。因为如果评分标准太主观,后面所有分析都会变成玄学。这里至少先保证“模型输出好不好”可以机械判断。

第一轮:看起来有戏

先用 mock provider 跑了一次 synthetic 实验。这不回答真实模型问题,只是验证实验机器是不是能正常工作。

mock 的设定很极端:自己执行自己的 rewrite 就给正确答案,执行别人的就故意退化。所以 synthetic 结果当然很漂亮:

Run Rows Gap p-value
Synthetic mock 324 0.777778 0.001

这一步只说明 pipeline 没坏。

随后接入真实模型。先跑了 R1,再跑 R4。R4 初版的结果一度看起来很像支持假设:

Run Rows Gap p-value CI
Real R1 81 0.166667 0.076 跨 0
Real R4 初版 324 0.138889 0.005 [0.041667, 0.226852]

如果只看这个表,很容易兴奋:好像 diagonal advantage 出来了,而且 p-value 也显著。

但这里其实已经有危险信号。按 target model 拆开看,优势并不均匀。有些 target 上 self rewrite 并没有优势,甚至是反向。也就是说,aggregate gap 可能是被某些模型或任务结构带出来的,而不是一个普遍规律。

这就是实验里最容易骗自己的地方:总体数字很好看,不代表机制真的对。

加 baseline 后,故事开始变了

后来我意识到,原设计混着几个东西:

  1. target 模型本身能力强弱。
  2. source 模型 rewrite 质量。
  3. target 是否更懂自己 rewrite 的 prompt。

如果不拆开,最后看到的 gap 可能根本不是 prompt transfer loss,而是某个模型本来就强,或者某个模型 rewrite 更保真。

所以增强版实验加了三个 baseline:

  1. original prompt baseline:每个 target 直接执行原始 prompt。
  2. human canonical rewrite:人工统一 rewrite,测 target 基础执行能力。
  3. rewrite quality audit:检查 rewrite 是否保留 JSON schema、label set、gold-relevant details。

同时还修正了 rewrite 复用:同一个 source_model x prompt_item 只 rewrite 一次,然后复用于所有 repeats 和 targets。这样更符合“rewrite 结果应可复用”的直觉,也减少了不必要调用。

增强 R4 的结果变成:

Run Rows Units Diagonal Off diagonal Gap p-value CI
Enhanced R4 324 108 0.555556 0.486111 0.069444 0.115 [-0.046296, 0.175926]

原本看起来显著的 gap 被削弱了,而且不显著。

更关键的是 baseline 很清楚地显示 target capability 差异很大:

Target Human canonical mean
minimax 0.500000
deepseek 0.944444
gpt 0.888889

这时候就不能再简单说“某个 rewrite transfer 差”,因为 target 本身能力就不是一个水平线。

rewrite audit 也很有解释力:

Source Audit pass rate Mean audit score
deepseek 0.555556 0.439005
minimax 0.888889 0.573580
gpt 1.000000 0.830232

GPT rewrite 明显更稳,DeepSeek rewrite 更容易丢 schema 或关键细节。于是结果越来越像是:

好 rewrite 到哪里都好,差 rewrite 给谁都容易坏。

而不是:

每个模型都有一个只有自己能理解的 prompt 私有语。

加入 gpt-5.4-mini:gap 继续变小

后来我把 gpt-5.4-mini 作为显式 slot 加入实验。这里有一个非常重要的限制:之前的 gpt slot 实际上已经通过 auto-code gateway 使用 gpt-5.4-mini 后端。所以这不是“加入一个全新的独立模型家族”,而是做一次 alias/replication check。

这轮用增量跑法,只补缺口:

Artifact Reused New Total
Rewrites 27 9 36
Model-rewrite score rows 324 252 576
Baseline rows 216 72 288

4-slot 结果:

Run Rows Units Diagonal Off diagonal Gap p-value CI
4 slots, +gpt-5.4-mini 576 144 0.638889 0.590278 0.048611 0.104 [-0.032407, 0.122685]

gap 从 enhanced R4 的 0.069444 降到了 0.048611

这不是一个强支持假设的方向。

加入 gpt-5.4-nano:几乎把故事讲完了

最后我又加入了 gpt-5.4-nano

这次遇到了一点真实世界的小插曲:auto-code gateway 在跑 nano 时两次断流,一次是 RemoteDisconnected,一次是 IncompleteRead。于是我给 provider 补了 retry 覆盖,把这两类 HTTP 连接异常纳入重试。最终用 max_workers=1retry_count=8 跑通。

5-slot 增量规模:

Artifact Reused New Total
Rewrites 36 9 45
Model-rewrite score rows 576 324 900
Baseline rows 288 72 360

最终 5-slot slot-level 结果:

Run Rows Units Diagonal Off diagonal Gap p-value CI
5 slots, +gpt-5.4-nano 900 180 0.694444 0.652778 0.041667 0.119 [-0.022222, 0.106944]

gap 又下降了。

更有意思的是,把 gptgpt-5.4-minigpt-5.4-nano 折叠成一个 gpt_gateway family 后,结果变成:

View Rows Units Diagonal Off diagonal Gap p-value CI
GPT family collapsed 900 108 0.557613 0.560185 -0.002572 0.521 [-0.116770, 0.104167]

这基本就是没有 gap。

这一步非常关键。因为如果不折叠 GPT 系列 slot,slot-level 的 diagonal/off-diagonal 会被同一个 backend family 重复加权。看起来像是“更多模型支持了这个模式”,实际上可能只是“同一个 GPT family 的几个名字一起出现了”。

nano 弱吗?

我一开始以为 nano 可能会明显弱一点。结果在这个任务集上并没有。

target baseline:

Target Human canonical mean
minimax 0.500000
deepseek 0.944444
gpt 0.888889
gpt-5.4-mini 0.888889
gpt-5.4-nano 0.916667

nano 的 human canonical baseline 甚至略高。

rewrite audit:

Source Audit pass rate Mean audit score
minimax 0.888889 0.573580
deepseek 0.555556 0.439005
gpt 1.000000 0.830232
gpt-5.4-mini 1.000000 0.840326
gpt-5.4-nano 1.000000 0.783157

nano 的 audit score 比 mini 低一点,但 pass rate 仍然是 1.0,而且远高于 DeepSeek 和 MiniMax。

所以在这个小任务集里,nano 不像是“弱到拖垮实验”的模型。它更像 GPT gateway family 的一个 capacity tier。

最终结论:假设没有被支持,但也没有被终极证伪

如果要一句话总结:

在当前实验设置下,我们没有观察到稳定、显著、可泛化的 same-source rewrite advantage。

更具体一点:

  1. 早期 real R4 初版看起来支持 same-source advantage。
  2. 加入 original/human canonical baseline 和 rewrite quality audit 后,gap 明显变弱并不再显著。
  3. 加入 gpt-5.4-minigpt-5.4-nano 后,slot-level gap 继续下降。
  4. 把 GPT-backed slots 折叠为一个 family 后,gap 基本消失。
  5. 最终数据更支持“rewrite quality + target capability”解释,而不是强版本的 prompt paradigm transfer loss。

但这里不能写成“证明假设不成立”。这很重要。

更严谨的说法是:

实验结果未能支持我们的原始假设;但由于实验覆盖范围、样本规模和检验能力有限,这应被理解为“当前证据不足”,而不是对该假设的最终证伪。

这是负结果,但不是终极审判。

这个实验真正教会我的东西

这次最有价值的地方,不是得到一个多么惊天动地的结论,而是亲眼看到一个“看起来合理的 aggregate 指标”如何一步步被拆解。

一开始的 R4 初版很像是个漂亮结果:gap 为正,p-value 显著。按照冲动一点的写法,完全可以写成“发现模型私有 prompt 范式”。但加上 baseline 之后,它就开始站不住了。

这其实挺像很多 AI 实验的缩影:

  • 你以为测的是机制 A。
  • 其实混进了能力差异 B。
  • 又混进了数据质量 C。
  • 最后 aggregate 指标 D 看起来很漂亮。

如果不拆 baseline,很容易把一个工程现象误读成认知机制。

这次实验最后没有证明“模型有自己的 prompt 私有语言”。它反而提醒我:很多时候,prompt 能不能 transfer,不一定是因为模型之间存在神秘范式壁垒,而是因为有些 rewrite 本身就更保真、更结构化、更不丢约束。

也就是说,与其问“模型是不是更懂自己”,不如先问:

这个 rewrite 有没有把任务真正改好?

后续还可以怎么做

如果要继续做,下一步不应该继续加 GPT-backed capacity tier。那样只会让同 family slot 重复加权。

更有价值的方向是:

  1. 加入真正独立的模型家族。
  2. 把 prompt bank 从 9 个扩到 30-50 个。
  3. 做更语义化的 rewrite audit,而不是只看 required terms。
  4. 把 family-level 分析变成默认输出。
  5. 对 target capability 做归一化或分层建模。

现在这个实验最适合支持的结论是:

强版本的“模型普遍更理解自己 rewrite 的 prompt”没有在当前设置中得到支持。当前结果更像是 rewrite 质量和 target 基础能力在主导。

这就够了。一个小实验没有发现预想中的东西,也算发现了一点东西。


一次 cross-model prompt transfer 实验:我们以为在测“模型懂自己”
https://bainianlaoyao.github.io/2026/05/31/一次-cross-model-prompt-transfer-实验/
作者
百年老妖
发布于
2026年5月31日
许可协议