KKResearch研究

KK Research / Effect Reports / Report 01

KK 研究 / 效果实测报告 / 报告 01

Repeatability 重复性

Does the same conversation produce the same model twice?

同一段对话,重复建模会得到同一个模型吗?

One fixed 20-turn conversation, re-modelled three times independently through the full production endpoint. Stability score 0.7333, mean per-dimension standard deviation 13.33, worst-case range 55 points.

同一段 20 轮对话,经完整生产端点独立重复建模 3 次。稳定性分 0.7333,逐维标准差均值 13.33,最坏极差 55 分。

KKMatch Human Intelligence Research Team KKMatch 人类智能研究团队 · Published: 2026-09-12发布于:2026-09-12 · 6 min read阅读约 6 分钟
0.7333
Stability score稳定性分
13.33 /50
Mean per-dim σ逐维σ均值
55
Worst range (pts)最坏极差(分)
3
Independent runs独立重复次数

The Challenge

挑战

"Explainable" is a promise that collapses if the explanation is not reproducible. If the same words, submitted to the same engine, return a materially different profile each time, then no trait score can be presented to a user as a finding about them — it would be a random draw dressed up as insight. This is the first question any measurement instrument has to answer, and the one most AI personality products never publish: how much of the output is signal, and how much is run-to-run noise?
「可解释」这个承诺,在解释不可复现时就会崩塌。如果同样的话、送进同一个引擎,每次返回的画像都实质不同,那么任何特质分数都无法作为「关于这个人的一个发现」呈现给用户——那只是把随机抽样包装成了洞察。这是任何测量仪器都必须先回答的问题,也是大多数 AI 人格产品从不公布的问题:输出里有多少是信号,多少是运行间的噪声?
Why it matters for the product: an unstable dimension cannot support a confident sentence in a user-facing report. Knowing which dimensions are noisy is what lets us decide where to write a finding, where to write a range, and where to say nothing. 为什么这对产品重要:不稳定的维度支撑不起一句有把握的用户侧结论。知道哪些维度噪声大,才能决定哪里该下判断、哪里该给区间、哪里该保持沉默。

The Approach

做法

We built a probe that removes every source of variation except the engine itself.
我们写了一个探针,把除引擎本身之外的所有变化来源全部剔除。
  1. Freeze the input. A single real transcript of 20 turns (desensitized, hash prefix 050bdc34) is selected from the training-sample store and parsed into a fixed turn list.冻结输入。 从训练样本库中选出一段真实的 20 轮对话(已脱敏,哈希前缀 050bdc34),解析成固定的轮次列表。
  2. Replay it N times. Each run goes through the ordinary production path — session start, full modelling, session complete — with all consent flags set. Nothing is mocked and no prompt is injected.重复送入 N 次。 每次运行都走常规生产路径——会话开启、完整建模、会话结束——并置全部授权标记。不做任何 mock,不注入任何提示。
  3. Read the traits back. For each of the 11 dimensions we collect the score from all N runs and compute mean, standard deviation and range.回读特质。 对 11 个维度中的每一个,收集全部 N 次运行的分数,计算均值、标准差与极差。
  4. Collapse to one number. A single stability score so that later model changes can be compared against this baseline at a glance.收敛为一个数。 得出单一稳定性分,便于后续模型改动与本次基线一眼可比。
stability = 1 − mean(σ_dimension) / 50    over all 11 dimensions覆盖全部 11 个维度
The divisor 50 is the half-width of the 0–100 score scale, so the score reads directly as "what fraction of the scale is not explained by run-to-run noise". A perfectly repeatable engine scores 1.000; an engine whose dimensions swing by half the scale on average scores 0.000. Parameters for this run: --n 3, fixed transcript, 20 input turns.
除数 50 是 0–100 分制的半幅,因此该分数可直接读作「量表中未被运行间噪声解释掉的比例」。完全可复现的引擎得 1.000;各维度平均摆动半个量程的引擎得 0.000。本次运行参数:--n 3,固定文稿,20 轮输入。

The Result

结果

Three independent runs produced three different model records, as expected — a new model is written each time. Across the 11 dimensions the mean standard deviation was 13.33 points and the single worst range was 55 points. The spread is not uniform: it is concentrated in a few dimensions.
三次独立运行产生了三份不同的模型记录(符合预期——每次都写入一份新模型)。11 个维度的标准差均值为 13.33 分,最大单项极差 55 分。离散度并不均匀,而是集中在少数几个维度上。
Dimension维度 Mean均值 σσ Range极差 Spread离散度
communication_style65.024.8355
ai_interaction_style68.320.1445
engagement68.320.1445
reflection_style35.017.8040
uncertainty_response58.315.4635
openness53.312.4730
emotional_expression66.711.7925
decision_style36.79.4320
conflict_style30.08.1620
trust_disclosure_pattern15.04.0810
directness11.72.365
What is stable. directness (σ 2.36, range 5) and trust_disclosure_pattern (σ 4.08, range 10) barely move at all. If a user is told something about their directness, that sentence will survive a re-run.
稳定的部分。 directness(σ 2.36,极差 5)与 trust_disclosure_pattern(σ 4.08,极差 10)几乎不动。如果告诉用户某个关于其「直接性」的结论,这句话在重跑后依然成立。
What is not. communication_style ranged from 30 to 85 across three runs of the same words — a swing wider than most people span. ai_interaction_style and engagement moved identically (σ 20.14, range 45), which is itself informative: they are being driven by the same feature and should not be treated as independent evidence.
不稳定的部分。 communication_style同一段话的三次运行中从 30 摆到 85——摆动幅度比大多数人的真实跨度还大。ai_interaction_styleengagement 完全同步变动(σ 20.14,极差 45),这本身也是信息:它们由同一个特征驱动,不应被当作两份独立证据。

What It Means

含义

A single model output is a sample, not a verdict. Three consequences follow, and we adopted all three:
单次模型输出是一次抽样,不是一个判决。由此得出三个后果,我们全部采纳:
The honest framing: 0.7333 is a mediocre number, and we publish it as such. It says the engine is right far more often than it is wrong, but that for some dimensions a single reading is closer to an opinion than a measurement. That is the state of the instrument today, and this report exists so it can be tracked. 诚实的表述: 0.7333 是一个中等偏下的数字,我们照实公布。它说明引擎在多数情况下是对的,但对某些维度而言,单次读数更接近一个看法而非一次测量。这就是仪器当下的状态,这篇报告的存在就是为了让它可被追踪。

Reproduce it

复现方式

python _stability_probe.py --n 3 --tag repeatability-2026-09-12
Reads the fixed transcript from data/mirror_training_samples.jsonl; writes data/stability_baseline.json and appends to its history array. Add --cleanup to remove the probe's model records afterwards. The probe uses the reserved user id _stability_probe so its records are always separable from real users. data/mirror_training_samples.jsonl 读取固定文稿;写出 data/stability_baseline.json 并追加到其 history 数组。加 --cleanup 可在事后删除探针产生的模型记录。探针使用保留用户 id _stability_probe,其记录始终可与真实用户区分。

Limitations

研究局限

What would prove this report wrong Falsifiable

什么能推翻本报告 可证伪

Back to Effect Reports返回效果实测报告