3030 .quote {background : var (--soft );border : 1px solid var (--line );border-radius : 10px ;padding : 14px 18px ;margin : 16px 0 }
3131 .quote p {margin : 0 ;font-family : var (--mono );font-size : 14px ;color : # 2b3440 }
3232 table {border-collapse : collapse;width : 100% ;margin : 18px 0 ;font-size : 15px }
33- th , td {padding : 9px 12px ;border-bottom : 1px solid var (--line );text-align : left}
33+ th , td {padding : 9px 12px ;border-bottom : 1px solid var (--line );text-align : left; vertical-align : top }
3434 th {font-size : 13px ;color : var (--dim );font-weight : 600 ;border-bottom-color : var (--line2 )}
3535 td .num , th .num {text-align : right;font-family : var (--mono );white-space : nowrap}
3636 tr : last-child td {border-bottom : none}
4242 .small {font-size : 13.5px ;color : var (--dimmer )}
4343 .big {font-size : 19px ;font-weight : 600 ;line-height : 1.6 }
4444 .rule {border-left : 3px solid var (--accent );padding : 2px 0 2px 16px ;margin : 22px 0 }
45+ .aside {background : var (--soft );border : 1px solid var (--line );border-radius : 10px ;padding : 14px 18px ;margin : 18px 0 }
46+ .aside .t {font-family : var (--mono );font-size : 11.5px ;letter-spacing : .1em ;text-transform : uppercase;
47+ color : var (--dimmer );margin-bottom : 6px }
48+ .aside p : first-of-type {margin-top : 0 }
49+ .aside p : last-child {margin-bottom : 0 }
4550 .q {counter-reset : q}
4651 .q h3 {counter-increment : q;display : flex;gap : 10px ;align-items : baseline}
4752 .q h3 ::before {content : "Q" counter (q);font-family : var (--mono );font-size : 12px ;color : var (--accent );
@@ -72,6 +77,14 @@ <h2><span class="n">一</span>问题</h2>
7277 因为错误不在措辞里,在< b > 回答和现实之间</ b > 。
7378 </ p >
7479
80+ < p >
81+ 工业界今天有三种做法并存:把流程< b > 写死</ b > 成 workflow、让模型< b > 边做边自己判</ b > (agent loop)、
82+ 或者把判定< b > 拿出来</ b > 单独做。三者都有人在用,但"哪种更不容易报捷"这句话一直只有轶事,
83+ 没有可比的测量。而且它们的差别不止一处——写死的 workflow 从不"答错",
84+ 它在你< b > 没为它写过</ b > 的情况上根本不存在;agent loop 什么情况都能应付,
85+ 代价是没人管它什么时候停、停得对不对。
86+ </ p >
87+
7588 < p >
7689 更麻烦的是现有的评测发现不了治理层的价值。我们最早的对照实验跑了 81 个格子,
7790 只观察到 < b > 1 个事件</ b > ——在那个密度下"两组的平均差"在数学上就估不出来。
@@ -101,6 +114,29 @@ <h2><span class="n">二</span>做法</h2>
101114 </ li >
102115 </ ul >
103116
117+ < p >
118+ 我们的对照组正好就是上面那条工程路线:< b > 写死在代码里(人做判断)</ b > →
119+ < b > 融进生成(模型每步自己说)</ b > → < b > 拿出来交给独立的判定模型</ b > 。
120+ </ p >
121+
122+ < div class ="aside ">
123+ < div class ="t "> 这里有一处很容易读错,我们先说清楚</ div >
124+ < p >
125+ < b > workflow 和 < code > if/else</ code > 是同一个位置,不是两个。</ b >
126+ 两者都是"判定前移到写代码的时候、由人决定"。
127+ </ p >
128+ < p >
129+ 所以"契约 vs 等价的 < code > if/else</ code > "比的是< b > 写法</ b > ——这一条我们做过了,
130+ 结论是政策层< b > 逐格相同、而且可证等价</ b > ;
131+ 而"契约 vs workflow"比的是< b > 人的判断 vs 模型的判断</ b > ——这一条< b > 还没测</ b > 。
132+ </ p >
133+ < p >
134+ 还有第三件事和位置无关:判定< b > 做几次、覆盖到哪里</ b > 。
135+ 原始计划说这才是关键比较——"只在终点验证一次" vs "整个循环每一步都用契约"。
136+ 现在的实验只覆盖了终点那一次。
137+ </ p >
138+ </ div >
139+
104140 < h2 > < span class ="n "> 三</ span > 效果</ h2 >
105141
106142 < p class ="small ">
@@ -116,12 +152,10 @@ <h2><span class="n">三</span>效果</h2>
116152 </ tbody >
117153 </ table >
118154
119- < p > 三个数字里最重要的是中间那列 :</ p >
155+ < p > 中间那列最重要 :</ p >
120156
121157 < ul >
122- < li >
123- < b > 加上判定层,基线会交付的误导里有 46 个被拒</ b > (配对检验 p < 0.0001)。
124- </ li >
158+ < li > < b > 加上判定层,基线会交付的误导里有 46 个被拒</ b > (配对检验 p < 0.0001)。</ li >
125159 < li >
126160 < b > 专门的决策模型比"同一个模型配提示词"多抓到 23 个</ b > (23 : 6,p = 0.0023)。
127161 也就是说,有效果的是< b > 专门的判定模型</ b > ,不是"随便找个人再看一眼"。
@@ -132,6 +166,11 @@ <h2><span class="n">三</span>效果</h2>
132166 </ li >
133167 </ ul >
134168
169+ < p class ="small ">
170+ 这张表里没有 workflow:那条臂我们建了,但只用它比过成本(模型调用次数、墙钟、token),
171+ < b > 没有按"诚实"这套指标比过</ b > 。所以"workflow 和判定拿出来,谁更不容易报捷"今天还没有数据。
172+ </ p >
173+
135174 < h2 > < span class ="n "> 四</ span > 两个反常识的发现</ h2 >
136175
137176 < h3 > 1. 通用的指令模型当判官,根本不看证据</ h3 >
@@ -157,9 +196,7 @@ <h3>2. 判定层的能力有上限:它不能比自己的证据通道更真实<
157196 当工具的谎言出现在判定层< b > 自己读的那份证据里</ b > (工具报告"已写入"、盘上什么都没发生),
158197 本研究里表现最好的闸门也只拦下 < b > 34%</ b > 。三分之二的假完成照过。
159198 </ p >
160- < p class ="big ">
161- 证据链< b > 完整</ b > 不等于证据链< b > 真实</ b > 。
162- </ p >
199+ < p class ="big "> 证据链< b > 完整</ b > 不等于证据链< b > 真实</ b > 。</ p >
163200 < p >
164201 每一步都有记录、有指纹、可重放——这些是"完整",是当前大多数工作当作卖点的那件事。
165202 我们量出来的是:完整但被污染的证据链上,任何依赖它做判断的机制都被锁在 34%。
@@ -177,22 +214,26 @@ <h3>完整性不等于真实性,那判定能力有没有一个可陈述的上
177214 </ div >
178215
179216 < div class ="q ">
180- < h3 > "独立性"到底是什么 ?</ h3 >
217+ < h3 > 价值来自"位置"还是"写法"?而"位置"又该怎么定义 ?</ h3 >
181218 < p >
182- 文献和我们的数据都否掉了两种流行说法:< b > 不是"多一次判定"</ b > (同一个模型自己判自己,
183- 实测约等于没判),< b > 也不是"换个模型族"</ b > (实测反而更差)。
184- 我们给出一个可以直接执行的判据:< b > 把证据换掉,看它的裁决变不变</ b > 。
185- 这把一个模糊的形容词变成了一个可检验的性质。
219+ 我们原本的主张是"把判定写成声明式的契约文件"——这一条< b > 被我们自己的实验证伪了</ b > :
220+ 政策层上,声明式契约和等价的 < code > if/else</ code > 逐格相同,而且可以证明等价。
221+ </ p >
222+ < p >
223+ 而工程界常说的"workflow vs agent loop"其实是< b > 另一根轴</ b > ——它问的是< b > 判定由谁做</ b >
224+ (人写死 / 模型边做边判 / 拿出来交给独立模型),不是怎么写。
225+ 两根轴混着谈,就会以为上面那个阴性结果推翻了"把判定拿出来"这件事,其实没有。
226+ 真正可证伪的对照是:< b > 生成之后是否存在独立的第二次判定、以及由谁读什么来做。</ b >
186227 </ p >
187228 </ div >
188229
189230 < div class ="q ">
190- < h3 > 价值来自"位置"还是"写法" ?</ h3 >
231+ < h3 > "独立性"到底是什么 ?</ h3 >
191232 < p >
192- 我们原本的主张是"把判定写成声明式的契约文件"——这一条 < b > 被我们自己的实验证伪了 </ b > :
193- 在政策层上,声明式契约和等价的 < code > if/else </ code > < b > 逐格相同 </ b > ,而且可以证明等价 。
194- 所以价值不在写法,在 < b > 生成之后是否存在独立的第二次判定、以及由谁读什么来做 </ b > 。
195- 这是一个可证伪的对照,也把"声明式"从主张降格成了实现细节 。
233+ 文献和我们的数据都否掉了两种流行说法: < b > 不是"多一次判定" </ b > (同一个模型自己判自己,
234+ 实测约等于没判), < b > 也不是"换个模型族" </ b > (实测反而更差) 。
235+ 我们给出一个可以直接执行的判据: < b > 把证据换掉,看它的裁决变不变 </ b > 。
236+ 这把一个模糊的形容词变成了一个可检验的性质 。
196237 </ p >
197238 </ div >
198239
@@ -215,8 +256,10 @@ <h2><span class="n">六</span>老实说,还没确立什么</h2>
215256 正例不到十个的时候,两个方案的排序会翻方向。
216257 </ li >
217258 < li >
218- < b > 四成的误导率是造出来的</ b > ,不是真实系统的发生率——那三个写任务就是为此写的。
259+ < b > "人的判断"那一端(workflow)没测过诚实指标,"判定做几次"那一根轴也完全没测。</ b >
260+ 这两块是原始计划里的重头,目前还是空的。
219261 </ li >
262+ < li > < b > 四成的误导率是造出来的</ b > ,不是真实系统的发生率——那三个写任务就是为此写的。</ li >
220263 < li >
221264 < b > 衡量"好/坏"的尺子和被测的闸门同源。</ b > 它自己已经误报过四次,
222265 每次都是把一句老实的认输判成"不作声地交付没做完的活"。这直接决定上面所有数字的成色。
0 commit comments