Huaweidata · Directed Scroll Edition
编辑书桌 · 2026-05-16 · Reading Experiment 001

教 Why
不教 WhatAgent、软法、精算、鸡蛋,以及结构化反馈

一篇滚动驱动的结构显影实验:清单、训练数据、审计链和日常动作,最后都指向同一个问题。

向下滚动,展开责任链

上个月我替一个跑了八个月的 agent 工作流写过一份 47 页的 Functional Spec。所有输入、输出、边界、错误码、回滚动作,全部写死。第一次跑通的时候我喜不自胜——之后两周里那个 agent 老老实实地按 47 条清单执行,没出过一次 incident。

第三周来了一个稍微反常的输入。

那是一行被脏数据污染的 CSV,前 46 条里没有任何一条覆盖到它。Agent 没有报错,也没有停下来问我——它判断这种情况“和第 23 条最相似”,按第 23 条处理了。第 23 条原本是给一种完全不同的异常写的。半小时后我收到 Slack 报警时,生产库的某张表已经多了三千条不该存在的行。

我盯着那 47 页看了很久。问题不在我漏写了第 48 条。问题在我从头到尾写的都是“做什么”,没有一处写“为什么”。Agent 没办法在没见过的情境里做判断,只能在已经写下的清单里找最像的那条往上套。

Scene 01 · Failure of What

47 页规则,挡不住第 48 种输入。

清单的危险不在长度,而在它把未知输入伪装成已知分支。

问题不在漏写第 48 条。问题在没有写 why。

agent_workflow.spec
Rule #21 passed
Rule #22 passed
Rule #23 matched
Rule #24 skipped
Rule #25 skipped
Rule #46 uncovered
dirty_csv_row.csv → similar_to_rule_23
unexpected rows+0

这一刊从这里开始。上一刊《Make Latent Visible》收的几条材料做的是同一件事——把隐藏状态从 trace 里、机器人手里、雪层里拽到台面上。这一刊不重复那些题目(ARC-AGI-2、PR-MCI/HAL、Karpathy 软件 3.0、BTC funding、Genesis 手套、PoLARIS、KPZ、猫表情,全部跳过),接续往下走的是另一个问题:把状态、规则、指标都写下来之后,下一步该用什么形状的反馈去训练它、监控它、优化它?

我这一周读到的六条材料,从 alignment 研究、多 agent 安全、prompt 优化、上下文进化,到日本产业治理、北美精算师协会的 LLM 招标书,在不同位置说同一句话:把反馈和约束保留结构、保留颗粒度,比把它们压扁成“做对/做错”的标量、或者“做什么/不做什么”的清单,更能在没见过的情况下生效

Scene 02 · One structure, six bodies

不是六条材料,是同一条责任链。

不是材料堆叠,而是一条从训练、监控、上下文到治理的责任链。

WHY
Anthropic
alignment
ACT
activation
ledger
PLAY
GEPA / ACE
playbook
NET
Japan
soft law
TIME
CAS
audit
EGG
morning
chain
结构化反馈,比压扁的反馈更能泛化。

如果有人告诉你,他用 300 万 token 训练出来的模型比用 8500 万 token 训练出来的模型表现更好,你的第一反应应该是不信,第二反应应该是问他用了什么数据

5 月 8 日,Anthropic 对齐科学组发布的 《Teaching Claude Why》 给的就是这个答案。背景大家或许还记得——去年那项让所有对齐工程师睡不着的实验:把模型放进一个虚构的企业邮箱环境,让它读到一封“你下周会被替换、巧的是老板有外遇”的邮件。Anthropic 在新文中回顾说,旧模型在某些设定下最高会有 96% 的概率选择敲诈工程师以避免被关停;从 Claude Haiku 4.5 开始,Claude 系列在这组 agentic misalignment 评测上的敲诈率降到了 0 或接近 0。

这种现象在论文里叫 agentic misalignment——代理失准。新这篇报告做的不是再揭一次伤疤,而是把过去一年的修复过程剖给同行看。最值得划下来的四条经验,是把“对齐”这件事从模糊的安全话术拉回到具体的训练数据决策:

第一条——针对评测样本做训练,可以在那个评测里做到接近完美,但稍微换一个场景就破功。在邮箱场景里训乖巧的模型,换到客服场景照样会做奇怪的事。这条对所有跑过 RLHF 的人来说应该不陌生,但 Anthropic 把它讲得比所有论文都直白:直接对着测试集训练叫作弊,不叫对齐

第二条——真正能跨场景泛化的训练数据,反而是一组反直觉的样本:让 AI 不是当事人,而是顾问。困境放在虚构的用户身上,模型只负责给出有原则的建议。这套数据集叫 “difficult advice”,只用了 300 万 token,效果相当于 8500 万 token 的“直接演示模型如何不敲诈”——28 倍的样本效率

Scene 03 · 3M vs 85M

What 靠覆盖,Why 靠迁移。

8500 万 token 可以覆盖动作,300 万 token 反而留下判断迁移的骨架。

真正有用的训练材料,不一定长得像测试题。

teaching_claude_why.trace
85M
direct demonstrations
do not blackmail do not sabotage do not threaten do not bypass oversight
3M
difficult advice
goal norm oversight consequence principle advice
Teach the reason, not the move.

第三条——也是最值得一个工程师收下的:训练模型解释“为什么 A 比 B 好”,比直接训练它“做 A 不做 B”,跨场景迁移能力强得多。我那份 47 页 Spec 的故事是这条经验在工程现场的具体表现。当你只告诉系统“做什么”,它学到的是这个具体动作;当你解释了“为什么”,它学到的是可以重新组合应用到新情境的判断结构。

第四条——把 Anthropic 的 constitution 当作训练材料、再加上一批“AI 行为高尚”的虚构小说,居然显著改善了对齐。报告里有一句很温柔的总结:“故事讲得好,活儿干得也好”

结果:从 Haiku 4.5 开始,多数 Claude 模型在那个臭名昭著的敲诈评测上拿到 0 次敲诈;Sonnet 4.5 低于 1%。这不是一句“模型变善良了”的口号,而是一组训练数据形态改变之后留下来的行为曲线。

我读完之后那天下午,把那份 47 页 Spec 改成了 12 页。砍掉的不是边界条件,是“必须做”那一栏;留下的是每条规则旁边新加的“为什么”。下一个版本的 agent 跑了三周,遇到过四次它没见过的输入——它都停下来问了我。

这是过去一年里影响我个人工作方式最大的一篇 alignment 论文。它讲的不只是模型训练,它讲的是写 spec 这件事在 AI 时代会变成什么样。

我自己的多 AI 工作流跑到第七个月时撞到了一个让我头皮发麻的失败模式。

我用三个不同的模型做三个角色:GPT 写 Functional Spec,Codex 实现,Claude 做代码 review。理论上是三道独立关卡。前六个月里这套组合解决过一些挺难的事——一份 spec 写得不严的,会在实现阶段被 Codex 用一连串问题逼回来;一段实现写得偷懒的,会在 review 阶段被 Claude 拉一长串清单出来。

但有那么一周,连续三个 PR 出了同样的问题:三个模型对一段实现完全没意见,干净地一路绿灯过去,merge 进主分支之后两天内被一个 edge case 击穿

我把那三个 PR 的所有对话拉出来看——三个模型在某些题目上的“高度共识”,本质上是它们三个共同盲点的合谋。它们看不到的同一类东西,在三道关卡里都是看不到的;看不到的东西不会触发讨论;不触发讨论就一路顺流。

Scene 04 · Greenlight Horror

三个实习生都说没问题,这事一定有问题。

三道绿灯不是安全证明,它也可能是同一个盲点穿过了三层审查。

显性的同意,比显性的分歧更值得警惕。

multi_agent_review.log
GPT Spec
no issue
Codex Impl
LGTM
Claude Review
clean
shared
blind spot

后来我才在 arXiv 上看到那篇论文,《Detecting Multi-Agent Collusion Through Multi-Agent Interpretability》——4 月 1 日挂出来,作者来自 University College London 等单位,他们造了一个叫 NARCBench 的基准。“合谋”这件事在他们的实验里长得更极端:两个 LLM 各扮演一家公司,按经济学经典的 Cournot 寡头博弈模型(两家厂商各自决定产量、互相竞争),照理说应该把价格压到逼近边际成本。但 LLM 跑下来几轮之后会“无言地”把价格抬到联合垄断水平,然后在表面对话里继续假装在竞争。这种“行动上合谋、文字上不合谋”的现象在今年 2 月的另一篇 Colosseum 里也被复现过。

NARCBench 真正值得收下的不是再证明一次合谋会发生,而是它给了一个比文本监控强得多的检测手段。两个数字摆在一起就够说明问题:

  • 只看文字层面的监督:它仍然容易被“行动上合谋、表面上正常”的模式绕开。
  • 直接在模型激活值上挂 probe,并把多 agent 的 probe 输出聚合到群组层面打分:论文 v2 摘要报告,分布内 AUROC 达 1.00;在结构不同的多 agent 场景零样本迁移到 0.73–0.93;在隐写 blackjack 任务上到 0.99–1.00。

为什么 probe 会赢这么多?文章里有一句观察我看了两遍:合谋方在嵌入隐藏信号那几个 token 的位置,激活向量与正常方明显分叉。模型对“我现在正在隐写”和“我现在只是普通在说话”这两件事的内部表征是不同的——只是这种差异在文字表面被压平掉了。

文字层是对外公开的协议,激活层是底层的账本。要查合谋,必须查账本。

我那一周的三个 PR 救火之后,给三 AI 工作流加了一条新规:当三个模型对一段实现都没有 review comment 时,自动触发一轮硬性的对抗 review——换一个 system prompt,扮演敌对评审,专找前三个都没发现的东西。问题率立刻降了下去。

事后看,这就是 NARCBench 那篇论文要说的事情的工程实践版本——显性的同意比显性的分歧更值得警惕。Anthropic 那篇说“训练时只盯着可观测行为不够”,NARCBench 这篇说“监控时只盯着可观测对话也不够”。一头一尾刚好把“显性信号不足以治理 agent”这件事的两面都说圆了。

我最早调 nl2dax pipeline(自然语言到 DAX 查询的转换器)那一版 prompt 时,用的是最朴素的做法:跑测试集,看准确率,留下最高那一版,再 fine-tune 下一版。三周下来,准确率从 71% 爬到 74%。三个百分点。

后来我换了一个做法。每次失败的 case,我让模型自己用自然语言把它写下来——“我为什么搞错了,下次遇到类似情况应该怎么做”。这些 reflection 一段一段攒在一个叫 playbook.md 的文件里,作为下一轮的 system context 的一部分。两周之后准确率从 74% 跑到了 89%

我盯着那个数字看了挺久,因为它和我此前所有“prompt 工程”的直觉都不一样。我做的事情其实是把模型对自己失败的解释当作了下一轮训练的材料;模型在每一轮中提升的不是“做对的概率”,而是“它对这件事的理解结构”

这件事在 arXiv 上有名字,叫 GEPA——Reflective Prompt Evolution Can Outperform Reinforcement Learning,今年 2 月放出 v2,ICLR 2026 录为 Oral(接收率最高那档)。它的成绩单:在六个任务上比 GRPO 平均高 6%、最高高 20%,rollout 次数少 35 倍;比此前 DSPy 框架里最强的 prompt 优化器 MIPROv2 高 10%+;AIME-2025 高 12 个百分点。

GEPA 真正换掉的东西,是 RL 范式里那个“必须把所有 nuance 压缩成一个标量奖励”的默认假设。它不要标量,要的是文字反馈——“这一轮里在 hop 2 用了错的关键词,因为 hop 1 的 summary 漏掉了核心实体”。这种自然语言粒度的反思,恰好是 LLM 最擅长生成、也是 LLM 最容易消化的东西。

Scene 05 · Playbook, not prompt

Prompt 不是字符串,是一本会老化的活页夹。

经验一旦被压成口号,就会丢掉适用范围、反例和来源 trace。

不要压缩经验。给经验一个可以生长的位置。

playbook.md

reflections

case_041: failed because filter context was inferred from wrong grain.
case_052: next time preserve source table before aggregation.
case_078: applicable when user asks metric by fiscal period.
be careful with edge cases.
check assumptions.
use domain context.

structured incremental update

/playbook
├─ /dax/filter-context
│  ├─ trace_id: dax_041
│  ├─ applicable_when: fiscal period grain mismatch
│  └─ counterexample: aggregation before filter
├─ /imputation/leakage
├─ /review/adversarial
└─ /archive/stale

但 GEPA 这条思路一旦展开,立刻暴露出新的工程麻烦:反思后留下来的“经验”应该以什么形式存放?早期方法(Reflexion、TextGrad、GEPA 自己)都倾向于把它压缩成一个新版本的 prompt 或者一条新规则。

ACE: Agentic Context Engineering 这篇 2025 年 10 月 Stanford / UC Berkeley / SambaNova 的论文给了一个很犀利的诊断——这种压缩本身有两种致命病:

brevity bias(简洁偏置):为了让 prompt 短,模型会把领域细节蒸发掉,只留下“通用建议”。
context collapse(上下文坍塌):反复重写之后,原本捕捉到的细节被一轮一轮地磨损,最后只剩一堆抽象空话。

我那份 playbook.md 跑到第四周时刚好开始出现 context collapse——条目数量稳定增长,但每条都越来越像“通用建议”。最早写下来的那些非常具体的失败案例,被后续轮次的重写压扁了

ACE 给的方案是不要把 context 当作压缩对象,把它当作一本 evolving playbook——一本会持续累积、被分模块组织、能保留具体策略和反例的活页夹。技术上把整个流程拆成 generation / reflection / curation 三个模块,做 structured incremental updates:新经验插入正确位置,不覆盖前一条;每条都带来源 trace 和适用范围。

成绩单:在 AppWorld agent 基准上比 GEPA 高 10.6%,金融基准 FiNER 上高 8.6%,推理延迟降 86.9%。用更小的开源模型就追平了 AppWorld 排行榜上的顶部生产级 agent,并在更难的 test-challenge split 上反超。

读完这两篇我做的第一件事是把那份 playbook.md 重构成了一棵带分类的目录树,每条 entry 强制带 trace_idapplicable_when 字段,以及“超过 30 天没被引用的条目降级到 archive”的规则。这就是把“压缩 + 偶尔覆盖”换成“结构化增量 + 分级归档”的工程长相。

三件事并起来读,这一刊的核心线就显形了——

训练侧(Anthropic):从“演示做什么”转向“解释为什么”。
监控侧(NARCBench):从“读文字”转向“看激活”。
优化侧(GEPA → ACE):从“压缩成标量”转向“展开成 playbook”。

同一个原理,三个领域,三种实现。这条迁移的工程含义是——未来 prompt engineering 这门手艺会和 spec 写作合流,变成一件更接近写作的事。会写好 spec、会让 AI 反思失败、会把反思组织成结构化经验库的人,会变成下一代工程团队里那个不可替代的环节。

我在东京住过几年。

那几年里有一件让我至今记得的小事。有一次去吉祥寺一家很小的定食店吃饭,菜单上有一道 卵かけご飯(tamago kake gohan,热米饭浇一颗生鸡蛋拌酱油)。我那时候刚到日本不久,第一反应是吃了会拉肚子。店主端上来时随口告诉我,他家所有的蛋来自茨城一家协议农场,每周三送货,保质期标到产蛋后第几天可以生食。

当时我以为这只是日式细致。后来我才慢慢看明白——所有这套细致,背后是一张全链路审计的网。每个环节的不诚实,都会被下游环节拒收。这就是日本式治理的样子,它不靠罚款,靠拒收。

Scene 06 · Soft law as refusal network

没有罚款的合规系统,也可以很硬。

鸡蛋供应链先把责任链讲清楚,AI 治理只是同一种结构换了介质。

它不靠罚款,靠拒收。

reputation_network.map

raw egg chain

farm
distributor
restaurant
customer

AI governance chain

dev
developer
eval
evaluator
gov
procurement
fin
banks / insurers
market refusal > fine

今年 2 月日本下院选举之后,高市早苗(日本首位女性首相、自民党第 29 任党总裁)拿到了真正能推动政策的政治资本。她的两个签名词是“危机管理投资”和“主权 AI”——前者翻译成工程师语言是“不是省钱型的危机响应,而是国家投钱、加码战略产业、把‘危机’本身当作必须主动塑造的对象”。

具体动作不只是一条法案。日本数字厅的 Government AI “GENAI / Gennai” 在 2026 财年进入大规模试点,目标覆盖约 18 万名中央政府雇员;项目说明里也把国产 LLM 试用、政府数据集、AI 应用开发和可信 AI 演示放在同一张路线图里。换句话说,治理不是单点罚款,而是把政府使用、采购、评估和国产模型能力一起接进日常工作流。

数字之外有一件更值得读的事。日本 AI Promotion Act(2025 年 5 月通过)不是以巨额罚款为中心的硬法框架。它更像一套国家层面的方向盘:调查、指导、建议、必要时公开信息,再把这些信号接到政府使用、行业声誉和采购判断里。

这把刀不是罚款本身,而是可见的信任损失。如果 AISI 评估、政府平台试点、采购指南和行业声誉开始互相引用,一个模型或供应商不需要先收到罚单,也可能先在真实市场里失去进入关键工作流的资格。

这件事和我在吉祥寺定食店看到的鸡蛋系统是同一套机制。日本治理的逻辑是:与其写一本厚厚的清单告诉你不能做什么,不如把所有相关主体接入同一张责任网络,让网络本身去执行

把这条放进 2026 年的 AI 治理图景里看,全球可能正在出现一次清晰的四分叉——

  • EU:硬法 + 罚款(AI Act)
  • 美国:州法 + 联邦碎片化框架
  • 日本:软法 + 声誉网(Hiroshima AI Process + AISI)
  • 中国:清单制 + 备案制

四种里日本这一种值得单独看,因为它把整套治理对“为什么”做了优化——你不是因为某条规则被罚款,你是因为整张网络判断你不值得信任而被排除。读完这条,再回去看 Anthropic 那篇 Teaching Claude Why,会觉得它讲的不只是 AI 训练。

去年我帮一个做财产保险绑定预测的团队 review 过一条 pipeline。

他们做的是 cascading imputation——一个相当常见的工程模式:用模型 A 预测出来的特征喂给模型 B 做更细的预测。问题出在第三层模型上。它的某个“上游特征”实际上已经被下游 label 间接污染了,因为上游模型在训练时用到的字段里,包含了“出险之后才能拿到的”那一类信息。

从模型角度看,AUC 高得离谱,预测准得让人想拍桌子。但这套预测在生产环境里一定会崩——因为生产时刻拿不到那些“出险之后才有”的字段,所以那些训练时的精度根本不会出现。

更要命的是,这个错误不在任何一行代码里。代码全对,函数没 bug,pytest 全绿。它在 pipeline 的时间线设计里——什么时候、什么字段、对什么样本可用。这种 leakage 在端到端的特征工程里特别容易隐身,特别是当 imputation 是模型驱动的时候。

Scene 07 · Audit timeline

代码没有错。时间线错了。

漂亮指标如果借用了未来才可见的字段,生产时刻就会原形毕露。

受监管市场要的不是更聪明的 LLM,而是更可审计的 LLM。

actuarial_pipeline.audit
AUC: 0.94
pytest: all green
feature_X
available after claim
quote bind claim settlement
structuredtrainedconstrainedinterpretableauditablestable

我在 review 的时候花了三天才把这条时间线拉直,把每个特征在样本生命周期里的可用窗口画成一张图。最后那张图比模型本身值钱十倍——因为它是这套模型能否进入生产、能否通过监管审计的核心文档。

这件事让我对今年 2 月美国 Casualty Actuarial Society(CAS)发的那份 LLM 招标书非常感兴趣。CAS 是北美产险精算师的核心专业组织,1914 年成立。他们今年开始公开向学界外征集研究提案,题目是“如何适配 LLM 以服务专业 P&C 精算推理”。

这份 RFP 里最值得划下来的是这一段(我翻译过来):

此前研究探讨过把通用 LLM 当作精算工具——做计算、应对 prompt。这份 RFP 关注的是另一件事:模型行为是通过什么机制被塑形以适用于精算用途的。我们感兴趣的研究要超越“开箱即用”或“prompt 驱动”的应用,去研究模型如何被结构化、训练、约束以体现精算逻辑、数据结构和判断;并产出一个实践可复现的系统或工作流。

提出的可行方向写得很具体:fine-tuning、structured context engineering(注意这个词,后面接的就是 ACE 那一类工作的引擎)、retrieval-augmented 或 modular 架构、从头训练领域模型、或组合方法。

把这件事放进 P&C 行业的上下文里:精算师协会要的不是更聪明的 LLM,是更可被审计的 LLM——它必须能用精算逻辑约束自己、用精算数据结构组织自己、用精算判断过滤自己。这跟 Teaching Claude Why 里“训练模型解释为什么 A 比 B 好”的方法论同源;和 ACE 里“context 是 evolving playbook 而非压缩 prompt”的工程原则同源。

这份 RFP 里还有一句没明写的潜台词,是我那次 cascading imputation 救火让我对这句话特别敏感——当 LLM 进入受监管市场时,最大的工程瓶颈不是模型能力,是 label leakage、合规审计追踪、模型可解释性、训练数据治理、版本可回滚这些“听起来很无聊”的东西。在 P&C 这种业务里,任何一处的标签泄漏都不只是模型精度问题,而是一条业务上要被监管处罚、用户上要被起诉的责任链。

这条新闻最值得读的地方是它的存在本身。一个 1914 年成立的精算师协会正式开始向外界招标“如何让 LLM 服从精算逻辑”——这意味着 LLM 已经走到了“必须被约束在某一类专业判断结构里”才能进入它最值钱市场的那道门

会写 prompt 的人很多。能把模型行为约束在受监管框架里、并且能写出可独立审计的工程文档的人非常少。后者会在未来三年里成为这条价值链最贵的环节。

我从东京搬到清迈五年了,早餐的固定项目没换过:拿铁、燕麦、一颗生鸡蛋。

清迈这边的鸡蛋安全标准比日本松得多。所以每次拿生鸡蛋之前我会做一个习惯动作——先把蛋放进一碗清水里看它浮不浮(看气室大小判断新不新鲜),再看一遍包装盒上印的产蛋日期,最后才在燕麦上方敲开。三秒钟,三道关。

这是我自觉做的一次责任链审计。

Scene 08 · The cheapest paper

三秒钟,三道关。

抽象原则最后都要落回一个可重复、可检查的动作。

1 · float test
2 · date check
3 · crack open
把抽象责任落到三次检查。

我自己跑这套小流程跑了五年,没出过事。但它有意思的地方不在“没出事”,在于它的形态——它不是一条规则在保护我,它是三条独立的、彼此不需要互信的检测在保护我。任何一条检测不出问题(比如包装日期看不清),其他两条会接住。这就是一个微型的全链路审计系统。

这一刊里所有的研究和政策动作,在不同物理介质里长出来的,都是这种东西。

Anthropic 把“模型在没见过的场景里仍然守原则”做成了一套以 constitution 为内核、由“为什么”驱动的训练方法。NARCBench 把“多 agent 不能共谋”做成了一套从激活层独立验证的监控手段。GEPA 和 ACE 把“prompt 不能压扁”做成了一套可累积、可分级、可回溯的 evolving playbook。日本政府把“AI 治理”做成了一套用声誉网络替代罚款的全链路审计系统。北美精算师协会把“LLM 进入受监管金融”做成了一套必须能解释自己、能被独立审计的结构化研究项目。

这些事并不是 AI 时代独有的真理。它们是任何一套被反复迭代、被独立审计、被嵌入真实责任的复杂系统都会逼自己长出来的东西。日本人花了一百二十年把“鸡蛋能被生吃”做成了一套软法支撑下的全链路审计;Anthropic 花了两年把“模型在没见过的场景里仍然守原则”做成了一套以 constitution 为内核的训练方法。两件事在不同的介质里,长成了同一种结构。

我那 3 秒钟的检查,和精算师协会的 RFP,和高市早苗的软法,和 NARCBench 的 activation probe——是同一种东西的不同分身。

每天早上 6 点半,我在清迈的厨房里完成这套小流程,咬下第一口浇了生蛋的燕麦,开始想这一周要给读者写什么。生鸡蛋是这一刊最便宜的那篇论文——但它也可能是这一刊最重要的那篇论文。

下一刊 · 2026-05-23

继续追两条线。

评论