规矩 · 这个项目怎么运作
这个项目否决了什么,每一次否决付出了什么代价。
先看解读,它就是产品本身。这一页留到之后再看,讲的是它怎样建成:建它的是一位项目负责人和一位 AI 工程师,按照一部成文的项目章程(constitution,即 CLAUDE.md)、两套审查协议和一份决策记录;这份记录多次删掉已经完成的工作,理由是它说的不真,并非它坏了。
任何项目都能列出自己建了什么。这一页列的是它否决了什么,因为在所有决定里,只有拒绝附带可以核查的代价,也因为只写顺利之事的页面,不过是宣传册。下面每一块都注明了出处文件。这些文件都在代码仓库里,每次运行都有一个测试逐一打开它们,核对引用的段落是否还在;来源一旦改写,测试就会失败,这一页随之发布不了,不会悄悄变成假话。
写给产品经理
一个决定怎样做出,又怎样不被推翻
项目按照一部成文的章程和两套审查协议运作。它们的存在本身并不稀奇。稀奇之处在于,它们对工程师的约束多于对负责人的约束,而且靠测试执行,并非靠善意。
项目章程约束的是工程师必须怎样写,并非负责人必须懂什么:用平实的语言解释取舍,边做边讲。交给负责人的每一个选项,不靠术语也要读得懂,否则回来的裁定只是给一句没人看懂的话盖章;所以这条规则针对写的人执行,一个基于没读懂的句子做出的决定,正是它要防止的失败。
CLAUDE.md
每一个请求决定的问题,都放在回复末尾一个固定的区块里,区块之外的一概不算:没写进这个区块的请求,视为没有提出。
docs/redteam-protocol.md
每个悬而未决的问题都带一个默认选项,没人回答时就按它执行;默认选项受约束,并非随意挑选:默认必须是可撤销的选择,永远不能是单向门(定价、数据结构、删除一律没有默认,必须由负责人回答)。因此,沉默只可能产生可以撤销的选项。
docs/redteam-protocol.md
这个项目遵循的护栏,并非对简单的偏好。它被写成一项成本:复杂是成本,并非价值;任何一方都可以引用这一条提出反对。
restructuring_decision_memo_2026-07-11.md
工作按能单独证明的最小增量来审查,理由写进了协议:自我审查的诚实程度,与被审查的沉没工作量成反比。
docs/slice-protocol.md
推论(INFERENCE):工程师的看法,并非记录在案的裁定
两套协议针对同一个弱点:审查的对象是自己做的东西,问题出在这里,与能力无关。审查者对自己建的东西会手软,所以规则缩小每次审查的范围,并把请求逼到一个埋不掉的位置。
docs/slice-protocol.md · CLAUDE.md
写给业务分析师
一条成文的要求怎样保持为真
文档和它描述的系统渐行渐远,是软件的常态,通常被归为不整洁。在这里,它属于缺陷,附带一个会失败的测试:一份描述着没人再执行的关卡的文档,会让下一位读者去索要一个根本无法给出的签字。
曾有两份文档描述一道几个月前就已废除的质量关卡,好像它还欠着没做。由此定下的规则,着眼于真假,并非整洁:一道没人再执行的关卡,被写成还要做的事,就是代码仓库里的一句假话。
src/content/retired-gates.test.ts
修复的对象并非那两句话。只改那两句,同类的问题仍然敞着,所以这条规则变成一个测试,每次运行都扫描每一份文档,并从正反两个方向证明过;一个从来只返回干净结果的守卫,没人知道它到底查了什么。
src/content/retired-gates.test.ts
同一条规则现在也约束本站发布的关于自身的文件。这些文件在一项测试早已增加到 16 段录音之后,仍写着 8 段,所以数量改为从上线的题库推算,不再重打:改了题库却没改句子,测试就会失败,并说出两个数字。
src/content/published-text.test.ts
写给数据分析师
一个数字怎样赢得被展示的资格
目前还没有真实的作答者。这一个事实支配着本站的每一个数字,有意思的地方在于它禁止了什么,并非它允许了什么。
诚实规则被写成对输出的约束,并非一种期许:不给出数据撑不起的分数、百分位或论断。
restructuring_decision_memo_2026-07-11.md
一个估计量在被托付真实作答之前,先用已知模型生成的模拟作答来跑,并且必须复原出已知的参数。由此换来的说法刻意克制:在投入使用之前,我用参数复原(parameter recovery)验证过这个估计量。
docs/artifact-pivot-2026-08-07.md
任何模拟的数据都不许冒充观测所得,在任何可能被看到的地方都一样:应用里、图表里、报告里、代码仓库里。这个标记并非小字附注。正因为有它,分析页面才得以在还没有一个人做过测试之前就存在。
docs/artifact-pivot-2026-08-07.md
测量有噪声时,产品必须把不确定性摆出来,不许藏在一个标签后面:报告区间,永远不报点,因为从有噪声的测量得出的点估计,是这个测量撑不起的论断。
src/engine/delicacy.ts
7 项否决
第五项测试:把偏好变成文字
否决的理由:N3,以及这项提议对自己算出的账
推论(INFERENCE):工程师的看法,并非记录在案的裁定
这里的四项测试各有一个正确答案:你听不听得出的损伤、一个标签的拉力、一位评论家拉开的差距。它们都碰不到听者真正反映的那件事:他们说不出自己喜欢什么。为此曾专门设计过另一项测试:你先说出自己的偏好,再在同一段音乐的两个版本之间盲选,两个版本只有一处不同;产品就是你的话和你的耳朵出现分歧的那一刻。它获得了批准、估算了规模,然后在第一个真正算账的切片里被否决。偏好没有正确答案,所以唯一能测的,是几次盲选彼此是否一致;对一位果断的听者,每个维度要选二十八次。三个维度就是八十四对;每对六十秒,就是八十四分钟,比已上线的四项测试加起来还长。它原先估算时用的数字只有实际的四分之一,而那个数字是工程方面直接给出的,没有推导。用它自己规格里的数字一跑,它的四项发现有两项没能成立,其中就包括它存在的意义所在的那个矛盾。今后任何东西加进这个产品,条件都不会比这更宽松:一项测试要么带着自己测试时长的算术到来,要么不来。
代价。这是本页最大的一笔代价,而且它没有被接受,只是还欠着。倾听人们之后得到了两条发现:过去的收听,预测力不如现在的品味和正在形成的品味;几乎没有人能用文字描述自己的品味。这个产品服务了第一条,对第二条毫无作为,而第二条的面前站着真实的人。这项否决并没有说那项测试是个坏主意,只是说这种设计做不到任何人愿意坐完的长度,而更好的设计还没找到。别人也许能找到。
docs/rt-answers-2026-09-13.md · src/engine/preference.ts
Taste Gem:用五个切面呈现你的结果
否决的理由:防同质化条款,以及让它变得多余的那次写作校订
推论(INFERENCE):工程师的看法,并非记录在案的裁定
一个视觉设计被搁置,要等产品的句子先经过写作者的手;规则是:句子立得住,图就只是装饰。如今已有三批句子写完、用上、上线,每个结果页都以文字收尾,并非停在一个带单位的数字上。这张图不会带来任何句子里没有的事实。它会带来的是五个切面,其中大多数对大多数人是暗的,因为读者通常只做过一项测试,并非四项;而一个留着空位等人填满的形状,不管画得多用心,都是一个完成度进度条。这个产品点名否决这类东西。
代价。这个产品永远不会有的一样东西,是一张人们不读一个字就能发出去的图。这里的每个结果都得读了才懂,这让分享循环失去了大部分传播力,而这已是第二次有意做出这种取舍:分级评语也是这样被撤下的。换来的是:结果页上没有任何东西能被理解成一个满分五分的分数。
docs/handoff-2026-09-01.md · docs/handoff-2026-09-04b.md
Taste Index:用一个数字代表一个人的品味
否决的理由:N3,以及它本会重蹈的那次关于分级的裁定
推论(INFERENCE):工程师的看法,并非记录在案的裁定
开启这一阶段的设计,终点是五个子分数之上的一个综合分。这五个分别是:向标签靠拢的百分比、一个检出区间、一个以音分(cents)计的阈值(threshold)、分辨出的作品数,以及一个校准分,五种不同的单位测着五种不同的东西。把它们加起来,就得决定每一项值多少,而这种权重只能靠一个本产品没有的人群来论证:样本量为零。用一个无法论证的权重拼出来的数字,算不上五项测量的汇总;它是第六个论断,哪一项测量都撑不起它。Taste Index 不存在,将来也不会有。
代价。产品放弃了本可以放进分享卡片和标题里的那一样东西:一个人们可以比较、记住、转述的数字。取而代之上线的,是五个各用自身单位的读数,离开各自的语境就毫无意义,分布在五个不必按顺序访问的页面上。这样的产品更难推销,却是唯一诚实的选项;六个分级评语输掉的也是同一种取舍:放弃一个更锋利的说法,不去保留它、指望没人核查。
docs/artifact-pivot-2026-08-07.md · docs/handoff-2026-09-01.md · src/engine/delicacy.ts
细辨测试(Delicacy Trials)结果上的六个分级评语
否决的理由:N3,执行 RT-90a:报告区间,永远不报点
它们先上线了,随后本该为它们背书的测量否决了它们。问六个等级在上线时的测试长度下把人放进正确那一级的比例,答案是 30.5%。换成更粗的分法也救不回来。等级名称,就是一个披着形容词的点估计。
代价。结果页失去了人们能讲给朋友听的那一句话,换来一个区间:更宽,更平淡,但真实。要诚实地挣到一个分级评语,需要大约 42 到 45 个试次,也就是 21 分钟,而选定 15 个试次,正是为了避开这样长的测试。产品保留了较短的测试,放弃了更锋利的说法,没有两者都留下、再指望没人核查。
src/engine/delicacy.ts · docs/handoff-2026-08-22.md
付费训练线:整个商业模式
否决的理由:D4 修正案
原计划是免费提供评估,对训练线收费。这个计划用一句话撤回了:没有付费层级,也没有定价问题;因为在训练循环上设付费墙,会把诚实的交付物,也就是你的耳朵到底有没有进步,关在墙后面。
代价。项目放弃了唯一能证明有人愿意为此付费的手段,而当时的定位是:变现仍是目标,但作为商业可行性的证明,并非收入。它还带来了没人列进预算的维护工作:裁定六周之后,仍有三句已发布的话在承诺那个层级,两句在资料室的页面上,一句在产品提供给 AI 爬虫的文件里。把规则写下来,并不等于执行了它。
CLAUDE.md · restructuring_decision_memo_2026-07-11.md · src/content/voice.test.ts
3.99 美元的消费级产品,以及为它搭建的漏斗
否决的理由:备忘录 C1:一项记录在案的结论,并非规则
为一款 3.99 美元的冲动消费产品做病毒式分发,这条路走不通了;这是根据一个月里 29 位访客得出的结论,世界杯那扇前门一个人都没传播出去。
代价。一个测验、一条分享卡片流水线、一道付费墙和一个记账商户(Merchant-of-Record)支付适配器,在一个决定里全部成了遗留物。还有一点,最容易从这样的页面上漏掉:付费产品本身从未被测试过(付费墙只被看过 4 次)。这个结论靠的是分发方面的证据,它看起来回答了的定价问题,其实从来没有被真正问过。
restructuring_decision_memo_2026-07-11.md
对每段音频的人工试听
否决的理由:只有一个人能放行的关卡就是债务;成果转向文件第 1 节
质量控制原本是由一个人逐段试听并批准。这道关卡被废除了,产品经理从此不再评判任何一段录音;根据是负责人自己的发现:由非音乐人做的试听放行,得到的标签不稳定,也就没有价值。这道关卡并没有增加质量。它增加的是一段只有一个人能清除的延迟。
代价。替代方案有两层,而转向文件自己称为真正关卡的那一层,即从作答数据估计题目难度和区分度,从来没有运行过,因为真实作答为零。今天把关录音的只有声学这一层:响度、频谱距离、静音、削波。它能测出一次处理有多大。它察觉不到一段录音以某种没人想到要建模的方式出了问题。
docs/artifact-pivot-2026-08-07.md · docs/blueprint-vs-reality-2026-08-25.md
3 次改判
这里记的并非否决。它们是这个项目曾经坚持、后来有意放宽的约束,附上放宽换来了什么、付出了什么。一个只会收紧的页面,它的规则从来没有和项目想要的东西较量过。
只在一个页面上谈论人本身
放宽的规则:D1:产品描述你做了什么,从不描述你是什么
本站的每一个读数,都是关于一次表现的陈述。这曾是一条规则,并非习惯:它作为 D1 写进了项目章程,也正因为它,一个背后没有任何测量的五次点击人格判定被撤下,没有被改进。2026-09-16,负责人放宽了它,违背了记录在案的工程建议。那张把测得的阈值变成人能用的文字的卡片,可以对读者谈论读者自己。修正案的原话是:D1 只对提示卡片暂停,别处一概不变;一周后又有第二个点名的页面,记在下面。本站每一个测试读数,仍然只说你做了什么。
换来的。这里唯一有人会保留下来的东西。测量的终点是一个以音分计的阈值,这个数字是证据,却一直站在交付物的位置上;所以一项技术上可靠的测试,用起来不愉快,看起来也没有说服力。一句只关于表现的话,成不了人们带走的东西。
代价。这个项目再也不能说,它展示的每一句话都关于表现。这句话曾经为真,是产品能说出的关于自己最平实的话之一,如今却是假的:例外只有一个页面宽,但它确实存在。项目章程也多了一个例外,这是它原本没有的复杂度,此后每建一个页面,都得问它落在例外的哪一边。留下来的规则更窄,也更难守:只提示,不断言。
CLAUDE.md · docs/rt-answers-2026-09-16.md
第二个谈论人本身的页面:小测验
放宽的规则:D1:产品描述你做了什么,从不描述你是什么
2026-09-23 上午,五次点击的音乐小测验被撤下,为的是让本站的两句话为真。同一天,负责人又恢复了它,理由是它承载着产品自己的论点:品味带着关于感受的线索,而一个人的品味透露的东西和这个人对自己的了解之间的落差,正是洞察所在。项目章程用一句话记下这个决定:它把 2026-09-16 的暂停扩展到另一个点名的页面。之后按这个论点做出的解读,在它也被点名之前不受覆盖。
换来的。产品里人们能乐在其中的那一部分,也是论点中测试从未触及的那一半。测试检验的是听者能否听出;小测验则是产品对听者可能正在经历的事说话的地方,形式是一个玩笑式的判定,并在自己门口就说明背后没有任何测量。
代价。那次转向已判定五次点击的小测验走不通,上面那条改判也说它正是 D1 存在的原因。如今它回来了,就在测试旁边。关于人的解读和对表现的测量之间的界线,现在只靠一个个点名页面来守,卡片自己的声明也只好从「on this site」收窄到「in the gym」。有一条线没有动:任何页面都不对创伤、虐待或心理健康作出任何断言。
CLAUDE.md
小测验再次撤下,解读成为产品本身
放宽的规则:D1 与 D3:产品描述你做了什么,名气偏差测试(Prestige Test)曾是旗舰
小测验回来几个小时之后,同在 2026-09-23,负责人将它永久撤下,并收回它对 D1 的豁免。它的问题要人们描述自己的品味,而本项目背后的访谈发现,这件事几乎没有人做得到;它的判定还是由语言模型写的。同一项裁定挪动了旗舰:名气偏差测试不再是前门。一位听者近来播放记录的解读成了前门,四项测试成为它身后的听辨部分。这项裁定还加上了解读赖以建立的规则:任何页面都不许断言一种感受。而且,任何页面都不对创伤、虐待或心理健康作出任何断言。
换来的。一扇展示项目初衷的前门:把一位听者近来的品味读成一条条文字,可以对照播放记录核对,可以反驳,可以带进提示词。而且,访客到来时,本站再也没有任何一句话由模型生成,所以每一句都是测试读得到的固定模板。
代价。小测验是产品里唯一不戴耳机也能乐在其中的部分,现在没有了。在门口取代它的解读,运行在三位示例听者身上,所以访客遇到的第一样东西,是标明为模拟的播放记录,而这里原先是对访客本人的测量。上面那条改判,如今记录的是一个持续不到一天的决定。
docs/rt-answers-2026-09-23-audit.md
对自己最不利的发现
一套审查流程,只有真能抓到问题才值得描述。这是它抓到的最糟的一件事,注明日期和违反的规则,至今仍未了结。
2026-09-02 · 违反 N3:数据撑不起的东西一概不说
在允许复测训练线告诉任何人耳朵有了进步之前,先测了它能分辨多大的变化:这里的全部风险在于,两个有噪声的数相减,会凭空造出进步。用上线时的测试长度,模拟同一个没有变化的人做两次测试,音高梯级上的下限约为 3.5 倍:阈值要缩小一半以上,差别才能和每次运行之间的正常波动区分开。在名气偏差测试上,这个下限是量表上的 8 分。细辨测试根本撑不起复测训练线:15 对里得有 6 对易手。
此后。因此,大多数复测得到的回答,都明明白白地说:没有发生测试能听出的变化。这种拒绝是这项功能的常规输出,并非边缘情况;那句话用读者自己的单位说出下限,读起来是关于测试的事实,并非对读者的评判。唯一能降低下限的是再来:合并四次测试,下限降到约两倍半,这就是这个产品为回访提供的全部回报。
src/engine/arc.ts · docs/analytics/e14-arc-resolution.txt
2026-08-07 · 违反 N2:反作秀护栏
当时已有一项裁定:单独发布旗舰测试,一到两周之内,不许第二项测试挡住它。结果建出来的是第二项测试。那天写下的计划毫不掩饰:结果建出来的是细辨测试。这是 N2 所说的逃避发布的表现,记录在案。就在它上面,是诊断:没有任何事被工程卡住。所有事都卡在发布没有发生。
此后。截至本页底部的修订日期,它仍未发布。产品至今一共只有 29 位真实访客。真实作答为零,所以实验室里的每一个心理测量数字,都由已知模型生成并标为模拟;那个被称为项目专有资产的数据集并不存在。建造让人感觉在进步,而瓶颈从来都不在它。
docs/endgame-plan-2026-08-07.md · docs/blueprint-vs-reality-2026-08-25.md
2026-08-07 · 违反 N2:同一条护栏,用在回应上,并非用在行为上
推论(INFERENCE):工程师的看法,并非记录在案的裁定
接下来发生的事更难看懂,下面的看法出自我本人,并非记录在案的裁定。同一周内,项目采纳了一个让被逃避的事变成可选的方向:简历价值不能被一次负责人没有精力去做的发布绑架;随后又写道:2026-09-15 的截止日期已不再是一项有效约束。就其自身而言,这个论证站得住。按先后顺序看,它同时也是一个项目发现自己在逃避某件事,随即取消了做这件事的要求。
此后。从记录里我分辨不出是两者中的哪一种,读者也分辨不出,所以本页照实说明,不去挑那个好听的说法。能定下结论的检验并非一番论证:它在于这些测试是否真正放到陌生人面前。在那之前,对这个项目诚实的描述是:它建成了四项能用的测试,并用模拟作答者测量过它们。
docs/artifact-pivot-2026-08-07.md · docs/endgame-plan-2026-08-07.md
智能体怎样运作
这个项目是和一位 AI 工程师一起建的,负责人也裁定了这件事在哪里讲:「I harness AI」这套说法,放在代码仓库和 /method 页面上,不放进产品里。下面是五个在用的部件,每一个都附上存放它的文件,以及一次后来的提交,其提交说明显示了它在运作。提交说明只证明这次使用被记录下来了,并不证明它确实发生过;文件都在,可以对照核查。
docs/rt-answers-2026-09-23-audit.md
一部约束工程师的章程
每次会话都从同一部成文章程开始,它的第一条常设规则针对的是工程师:每一项提议都必须注明它服务的备忘录决定(D1 至 D6)或护栏(N1 至 N3)。
CLAUDE.md
在提交 ef33160 中可见其运作
执行循环的钩子
如果一次代码提交没有带上这个切片的北极星、三条红队发现和一份自白,Git 会拒绝它。它只检查有没有,不检查诚不诚实。第二个钩子由 Claude Code 运行,是切片之间的停顿:一次 git 提交会锁上闩锁,在负责人回复之前,编辑文件的操作一律被拒绝。负责人的常设自动推进生效期间,它会让开。
.githooks/commit-msg · .claude/hooks/slice-latch.py
在提交 9523984 中可见其运作
引用自身规则的技能
三个技能在需要的时刻把一套流程载入会话。红队技能打包的是这里每次会话本来就照着文字执行的流程;收尾技能打包的是收尾规则;蓝图检查打包的是记录在案的蓝图规则。
.claude/skills/red-team-slice/SKILL.md · .claude/skills/close-session/SKILL.md · .claude/skills/blueprint-check/SKILL.md
在提交 9523984 中可见其运作
不能改代码的审查者
红队技能把一个切片暂存的改动交给第二个智能体,它最多返回三条发现,不能改代码:你负责报告,主会话负责修。它没有任何能写入的工具,因为一个本想让它保持只读的钩子经过测试,并没有拦下写入操作;一个拦不住写入的守卫,不可能是让审查者保持只读的那样东西。
.claude/agents/red-team-reviewer.md
在提交 9523984 中可见其运作
引用记录的服务器
一个小型只读服务器,用文件自己的原话回答会话关于蓝图、裁定和已放弃假设的提问,因为一个返回文件原文的工具没办法转述它。
packages/record-mcp/README.md
在提交 b8c024f 中可见其运作
本页的常设事实最后核对于 2026-08-27。资料室论证了产品为什么存在;实验室存放听辨测试背后的测量,其中有一页列出了各项测试做不到的事。