跳转至

Lecture35

LaTeX 源码

\makecscover

课程主线:Frontier Product Research 不是“研究做完再包装”

这堂课的标题容易被误读成一节普通的强化学习(Reinforcement Learning, RL)导论。Karina Nguyen 真正讨论的是更具体的系统问题:当模型进入写作、软件、协作、教育和长期任务后,产品希望模型怎样行动研究怎样把这种行动写成环境与奖励界面怎样让用户暴露失败,必须在同一个闭环里共同设计。若研究先优化一个脱离产品的 benchmark,再把模型交给产品团队包装,很多真实失败直到上线才会出现。

\lecturefigure{slide-01-golden-age-curiosity.jpg}{“好奇、知识创造与制作”的黄金时代:讲座先给出价值方向}{00:00:49--00:01:41}

\teachervoice{00:00:49--00:01:38,Karina 明确说这不是单向 lecture,而希望课堂协作讨论;她的起点是每个人都能借助 AI 建造有意义的东西。这个价值判断解释了为什么后文同时讨论 creativity、agency、verification 与 alignment。}

定义:Frontier Product Research

本讲中的 \term{frontier product research} 不是“追踪最新模型并做产品”。它把尚未稳定的模型能力当作研究材料,把真实用户任务构造成训练环境与评测,再用产品交互快速收集反例。其最小闭环是

\[ \begin{aligned} \text{product belief}&\rightarrow \text{task/env}\rightarrow \text{reward/eval}\\ &\rightarrow \text{model behavior}\rightarrow \text{user evidence}\rightarrow \text{next hypothesis}. \end{aligned} \]

其中 product belief 是希望产品最终呈现的行为原则;它必须被翻译成可观察任务,而不能停留在口号。

本讲的证据边界

前半段大量使用产品 demo。这些画面能证明某个交互在当时可运行,能展示讲者如何理解产品方向,却不能单独证明模型在所有用户、分布和风险等级上可靠。后文的 eval、拒答 taxonomy、XSTest、RL environment 与 reward hacking,正是在补齐 demo 无法回答的问题。

Canvas:界面改变不是装饰,而是任务结构改变

第一个例子把教育请求拆成解释、代码生成、执行和可视化。若系统只提供一条聊天消息,用户很难同时阅读概念、修改代码和观察图形;Canvas 把“对话”升级为共享工作区,使模型输出成为可编辑对象。读图时不要只看 Gaussian 曲线,而要看左侧解释、中央代码和右侧执行结果怎样构成一个可验证循环。

\lecturefigure{slide-02-gaussian-canvas.jpg}{Gaussian 分布解释、Python 代码与运行结果被放进同一工作区}{00:02:05--00:02:57}

对随机变量 \(X\sim\mathcal{N}(\mu,\sigma^2)\),密度为

\[ p(x)=\frac{1}{\sqrt{2\pi}\sigma} \exp\!\left(-\frac{(x-\mu)^2}{2\sigma^2}\right). \]

这里 \(\mu\) 控制中心,\(\sigma\) 控制尺度。模型给出公式并不等于教学完成;只有当用户能修改参数、运行代码并观察曲线变化时,抽象符号才变成可操作的理解。产品设计因此改变了评测问题:不再只问答案是否正确,还要问代码能否执行、图形是否对应解释、修改是否局部生效。

\teachervoice{00:02:05--00:04:04,讲者用 Gaussian 教学和论文截图解释 Canvas 的动机:ChatGPT 最初是 conversational UI,但代码、长文和细粒度追问暴露了聊天界面的限制。课堂提示:UI 变化来自任务结构,而不是视觉改版。}

论文理解例子进一步展示“验证入口”。用户先提供论文中的 calibration 图,再要求模型解释、生成研究报告和代码。原始材料、模型解释与新产物必须并排可追溯,否则系统容易把顺畅叙述误当成事实。

\lecturefigure{slide-03-paper-calibration-source.jpg}{论文中的 calibration 图:模型解释必须回到原始视觉证据}{00:02:57--00:03:09}

\lecturefigure{slide-04-calibration-canvas-report.jpg}{Canvas 中生成的 calibration 报告:选择局部内容后继续追问}{00:03:09--00:04:12}

首次使用:Calibration

\term{Calibration(校准)}描述模型置信度与实际正确率是否一致。若所有置信度约为 \(q\) 的预测中,真实正确比例也约为 \(q\),则该区间近似校准。常见误区是把 calibration 与 accuracy 混为一谈:模型可以准确但过度自信,也可以不够准确却在概率意义上校准。产品需要把“答案是什么”和“应相信多少”分开显示。

\lecturefigure{slide-05-claude-usage-bachelor-degrees.jpg}{教育使用报告中的相关性图:产品数据可以产生研究问题}{00:04:12--00:04:45}

这张使用图把 Claude.ai 的教育用途与美国不同本科专业联系起来。读图先看横轴专业占比或使用占比,再看散点偏离趋势线的位置;它能提示不同学科采用模式不同,却不能证明“专业训练导致使用”或“使用导致学习效果”。产品 telemetry 可以产生值得研究的假设,但相关性、选择偏差与用户自报必须单独处理。

从产品日志到科学结论的三道门

第一,使用者不是总体的随机样本;第二,点击或生成次数不等于任务成功;第三,群体相关性不能直接解释个体因果。Frontier product research 可以从真实流量快速发现问题,但仍需要明确 sampling、outcome 与 counterfactual。

本章小结

课程开场已经给出整堂课的尺度:模型能力、工作界面、用户证据与后训练目标是一个系统。Canvas 的价值不是“多一个窗口”,而是把解释、编辑、执行和验证放进同一交互;产品数据的价值不是天然真实,而是把研究问题暴露得更具体。

能力 Vignettes:产品把多个模型能力组合成可完成的工作

接下来五组画面不是功能清单,而是在展示 \term{compositionality(可组合性)}。一个有用产品通常同时调用语言理解、代码生成、执行环境、视觉渲染、记忆和迭代反馈。单独测某个能力的 benchmark 很高,仍可能在组合链路中失败;因此每个 vignette 都应被读成一个端到端任务图。

从生成代码到个人工具

Stripe 风格 dashboard 例子把自然语言需求变成前端代码和可交互页面。这里至少存在四个验收层:需求约束是否被提取、代码是否能运行、视觉层级是否可读、用户修改后是否保持既有行为。任何一层失败,产品都不能只用“代码 token 正确率”解释。

\lecturefigure{slide-06-stripe-dashboard.jpg}{自然语言生成 Stripe 风格 dashboard:代码与界面同时成为输出}{00:04:41--00:05:00}

\lecturefigure{slide-07-correlation-explorer.jpg}{面向非数学用户的交互式相关性探索器}{00:05:00--00:05:51}

相关性探索器进一步要求系统把概念转成可操纵对象。若用户拖动数据分布,却看不到相关系数、散点结构与反例同步变化,交互只是在“演示动画”。好的产品 eval 应记录:核心变量是否可操作、反馈是否即时、例外情况是否可观察、用户是否能从操作中修正原有误解。

端到端任务成功不是子指标相加

设需求解析、代码正确、执行成功、视觉可读和用户完成任务的事件分别为 \(A_1,\dots,A_5\)。端到端成功是联合事件

\[ P(\text{success})=P(A_1\cap A_2\cap A_3\cap A_4\cap A_5), \]

而不是五个准确率的平均。若某一层是硬门槛,即使其他层接近满分,整体仍会被最弱环节限制。

图像、移动端与零成本软件

手绘草图到生成图像的画面强调另一种 interface contract:用户提供低保真意图,模型补全风格与细节。输出漂亮不代表遵循了构图、对象关系和作者意图;评测需要把 aesthetic quality、instruction adherence、identity preservation 与 editability 分开。

\lecturefigure{slide-08-sketch-to-image.jpg}{从手绘草图到生成图像:模型补全细节,但作者仍需控制方向}{00:05:51--00:06:02}

\lecturefigure{slide-09-generative-mobile-game.jpg}{移动端即时生成小游戏:内容、代码与触控交互被组合}{00:05:52--00:06:24}

\lecturefigure{slide-10-zero-cost-software.jpg}{“软件创建趋近零成本”的 demo:移动界面由对话即时生成}{00:06:24--00:07:14}

这两张移动端画面支持的是“原型边际成本下降”,不是生产软件已经免费。真实交付仍包含需求澄清、测试、数据安全、维护、分发与责任。尤其当模型生成可执行软件时,必须把执行环境隔离:代码生成能力越强,越不能把任意网络、文件和凭证权限默认交给模型。

\teachervoice{00:04:04--00:07:36,Karina 把个人 dashboard、游戏、图像和移动软件串成“增强创造力”的证据,并希望未来系统更主动、更个性化。讲义保留她的愿景,同时补上工程边界:主动性必须和权限、可撤销性、成本与验证共同设计。}

“零成本软件”最容易漏算什么

生成一次 UI 的 token 成本可能很低,但 total cost of ownership 还包括需求错误、测试、运行基础设施、第三方依赖、权限审计、长期维护和事故恢复。产品研究应测完成真实任务的总成本,而不是只报一次生成价格。

本章小结

能力 vignette 的共同结构是:用户意图经过模型与工具链,被转成可观察、可编辑、可运行的产物。它们证明了新的 product surface 有价值,也暴露了 benchmark 之外的失败面。下一章开始把这些失败面写成两个 scaling paradigm 和两条产品研究路径。

两种 Scaling Paradigm 与两条产品研究路径

讲者先区分 next-token prediction 与 RL on chain of thought,再区分“熟悉界面承载陌生能力”和“先有产品信念,再训练模型做到”。这两个二维坐标非常重要:前一个坐标回答能力怎样获得,后一个坐标回答能力怎样进入产品。把它们混在一起,容易误以为更强预训练会自动给出正确产品行为。

Paradigm 1:Next-token prediction 是 world-building machine

自回归预训练最常见的目标是

\[ \mathcal{L}_{\text{NLL}}(\theta) =-\sum_{t=1}^{T}\log p_{\theta}(x_t\mid x_{<t}). \]

\(x_t\) 是当前 token,\(x_{<t}\) 是历史上下文,\(\theta\) 是模型参数。统一目标能让模型吸收语言、知识、风格和部分推理模式,因此被讲者称为 world-building machine;但它奖励的是局部预测,不直接定义一个长任务何时完成,也不提供外部工具成功、用户满意或长期一致性的信号。

\lecturefigure{slide-11-next-token-scaling.jpg}{Paradigm 1:next-token prediction 在多领域建立世界模型}{00:07:58--00:08:39}

为什么早期 token 错误会放大

生成分布可写为 \(p(x_{1:T})=\prod_t p(x_t\mid x_{<t})\)。模型一旦采样到偏离目标的 token,后续条件分布就建立在新的历史上;长文本中的角色、事实和计划因此可能逐步漂移。这个问题不是说自回归一定失败,而是说明“局部似然高”与“长期任务成功”不是同一指标。

Paradigm 2:RL on CoT 把长任务结果写进目标

强化学习把一次推理或行动轨迹记为 \(\tau=(s_0,a_0,\dots,s_T)\),优化

\[ J(\theta)=\mathbb{E}_{\tau\sim\pi_{\theta}}[R(\tau)]. \]

\(\pi_\theta\) 是策略,\(R(\tau)\) 是整条轨迹的奖励。若 reward 来自代码测试、数学验证器或工具结果,模型就能获得超出逐 token 模仿的任务级信号。实践中常加入参考策略约束,避免策略为追逐奖励过度漂移:

\[ J_{\text{reg}}(\theta)=\mathbb{E}[R(\tau)] -\beta\,D_{\mathrm{KL}}(\pi_{\theta}\Vert\pi_{\mathrm{ref}}). \]

\(\beta\) 控制行为改进与分布保持的权衡。

\lecturefigure{slide-12-rl-cot-scaling.jpg}{Paradigm 2:在 Chain-of-Thought 轨迹上用 RL 优化复杂任务}{00:08:39--00:09:03}

CoT 不是自动真实的“内心过程”

Chain-of-Thought 可以提供更长的计算轨迹、可插入工具调用和中间检查,但可读文字不保证 faithful。模型可能给出正确答案配错误解释,或把奖励偏好的格式学成套路。验收应优先依赖外部 outcome、可执行检查和反事实测试,而不是只奖励“看起来像推理”。

\lecturefigure{slide-13-create-build-make.jpg}{Create, build, and make:能力扩张必须落到可完成的作品}{00:09:03--00:09:35}

\teachervoice{00:07:58--00:09:34,课堂把 next-token prediction 与 RL on CoT 称为两种 scaling paradigm。老师强调的是监督信号发生变化:前者学习分布,后者可把复杂任务的结果反馈写进训练;这并不意味着所有长任务都已被解决。}

两条路径:Capability-first 与 Product-belief-first

第一条路径从新能力出发,寻找用户熟悉的 form factor;第二条路径先提出产品信念,再构造数据、eval 与环境让模型呈现该行为。前者适合探索“模型突然会了什么”,后者适合追求长期一致的产品体验。真实项目通常在两者之间往返。

\lecturefigure{slide-14-two-product-research-paths.jpg}{Research-driven product 的两条路径}{00:09:34--00:10:00}

\lecturefigure{slide-15-familiar-form-unfamiliar-capability.jpg}{路径一:用熟悉 form factor 承载陌生能力}{00:09:43--00:10:06}

Capability、Affordance 与 Eval 的三角形

\term{Capability} 是模型潜在能做什么;\term{affordance} 是界面允许用户怎样调用、编辑和撤销;\term{eval} 是系统用什么证据判断完成。产品失败常来自三者错位:模型会做但界面不能表达,界面能触发但 eval 不测真实结果,或 eval 优化了与用户目标不同的代理指标。

CLIP 把图像和文本映射到共享 embedding 空间。设图像编码为 \(f_I(i)\)、文本编码为 \(f_T(q)\),检索得分常用余弦相似度

\[ s(i,q)=\frac{f_I(i)^{\top}f_T(q)}{\lVert f_I(i)\rVert\lVert f_T(q)\rVert}. \]

这项陌生能力被放入熟悉的搜索界面:用户给出文本或目标服装,系统返回视觉相似结果。读三张连续状态时,应比较 query 意图怎样改变结果集,而不是把任何一组漂亮图片都当作搜索成功。

\lecturefigure{slide-16-clip-fashion-target.jpg}{Fashion search:从目标服装与视觉属性开始检索}{00:10:06--00:10:11}

\lecturefigure{slide-17-clip-fashion-yellow-search.jpg}{Fashion search:黄色与款式语义改变结果分布}{00:10:11--00:10:23}

\lecturefigure{slide-18-clip-fashion-style-search.jpg}{Fashion search:自然语言风格查询返回新的候选集合}{00:10:23--00:10:54}

读图:检索 demo 至少要测四件事

第一是 relevance,结果是否匹配 query;第二是 diversity,是否只返回近重复;第三是 controllability,修改颜色、材质或轮廓能否局部改变结果;第四是 failure visibility,系统是否让用户看出为什么匹配。共享 embedding 提供排序机制,但不自动保证公平、库存可用或风格词在不同文化中的一致含义。

案例二:100K context 与文件上传

长上下文能力进入产品后,最直观 form factor 是“上传文件并提问”。然而 token window 足够大,只说明输入可被接收,不说明模型找到了关键页、正确聚合数字或保持来源对应。一个 85 页 10-K 分析任务应至少验收 retrieval、calculation、citation 与 omission 四类错误。

\lecturefigure{slide-19-100k-context-business-analyst.jpg}{100K context 的产品承诺:让 Claude 充当企业分析师}{00:10:54--00:11:00}

\lecturefigure{slide-20-100k-context-input.jpg}{输入侧:85 页 Form 10-K 与具体分析请求}{00:11:00--00:11:13}

\lecturefigure{slide-21-100k-context-analysis.jpg}{输出侧:关键财务指标、表格与解释被组织为分析}{00:11:13--00:11:34}

Long context 不等于 long-context reliability

上下文窗口是容量上限;可靠性还取决于位置偏差、跨页计算、表格解析、冲突证据和引用。若产品只测“能否上传”,模型可能在最危险的情况下给出流畅但遗漏关键负债的摘要。应构造可定位答案、跨段聚合、无答案和冲突文件四组测试。

案例三:Summarizer 与不确定性界面

Summarizer demo 把重复段落、校准和编辑集中到文档界面。它表达的产品信念不是“摘要越短越好”,而是让用户看见哪些句子被保留、哪些内容重复、哪些结论需要再核查。若系统能产生 \(K\) 个候选,可把候选一致性当作不确定性线索,但不能把一致误差当作置信。与前面的 100K context 案例相比,这里更关心用户怎样审查和修改结果:长上下文解决“能读多少”,summarizer surface 解决“怎样把证据压缩成仍可追踪的 artifact”。

\lecturefigure{slide-22-o1-summarizer-calibration.jpg}{Summarizer:重复检测、P(IK) 与可编辑文档界面}{00:12:41--00:13:39}

从产品界面到评测样本

一个实际工作流可以把用户的接受、修改、删除、重试和引用跳转记录成结构化 evidence。最小事件可写为

\[ e=(\text{task},\text{model version},\text{action},\text{artifact diff},\text{outcome}). \]

只有 outcome 被定义,日志才可能转成训练或 eval 数据;单纯收集“用户点了哪里”容易把困惑误判成偏好。

Capability-first 原型的最小验收循环
task = observe_real_user_job()
prototype = expose_capability_in_familiar_surface(task)
trace = run_with_permissions_and_logging(prototype)
failures = classify(trace, by=[outcome, control, trust, cost])
eval_set = convert_failures_to_reproducible_cases(failures)
ship_only_if(eval_set, product_constraints).passes()

\teachervoice{00:09:34--00:13:39,讲者用 Inter Alia、100K context 和 summarizer 说明第一条路径:先出现陌生能力,再寻找熟悉 form factor。实践经验是界面必须让用户理解、控制并验证能力,而不是仅把模型接到输入框。}

本章小结

Next-token prediction 提供广泛先验,RL on CoT 可以把轨迹 outcome 写进目标;二者都不能单独决定产品。Capability-first 路径需要合适 form factor,product-belief-first 路径需要把信念翻译成训练与评测。CLIP、长上下文和 summarizer 的共同教训是:产品层必须显式定义可控性与证据。

Product-belief-first:把行为信念写进界面、数据与后训练

第二条路径从一句更强的产品主张开始:系统应该怎样与人共同工作?这类目标往往无法从单一 benchmark 推导。团队需要先构造交互原型,让用户暴露“哪里像合作者、哪里像自动补全”,再把这些差异转成训练样本、reward 与 eval。产品 belief 不是凌驾于证据之上的审美,而是等待被操作化和反驳的 hypothesis。

\lecturefigure{slide-23-product-belief-vision.jpg}{路径二:从 product belief 与 vision 出发,再让模型做到}{00:13:39--00:14:28}

Product belief 的可验收写法

“模型要更聪明”“体验要更自然”都不可直接验收。可操作的 belief 应包含:目标用户与任务、模型应采取/避免的行为、用户保留的控制权、失败时的恢复路径、成功 evidence 和成本边界。例如“成为写作 collaborator”至少意味着模型能读取选区、提出局部修改、说明改动、保持作者声音,并允许逐步撤销。

Language as a high-end product

讲者把 language 本身视为高端产品材料。语言不是界面上的填充物:语气、信息密度、结构、直接性、引用和不确定性表达会改变用户如何理解世界。新闻产品的例子说明,同一 context block 可以在 story page、首页 carousel 和 bottom sheet 中呈现不同形态;底层事实共享,表面组织必须适配场景。

\lecturefigure{slide-24-language-high-end-product.jpg}{Language as a high-end product:信息组织本身就是产品行为}{00:14:28--00:14:36}

\lecturefigure{slide-25-context-block-multiple-surfaces.jpg}{共享 context block:同一事实跨 surface 保持一致}{00:14:36--00:14:45}

\lecturefigure{slide-26-adaptive-presentation-surfaces.jpg}{同一信息在内联 carousel、首页与 bottom sheet 中自适应呈现}{00:14:45--00:15:39}

可以把共享语义表示记为 \(z\),用户情境为 \(u\),surface 为 \(s\),最终呈现为

\[ y_s=g_s(z,u). \]

\(g_s\) 负责篇幅、布局和交互方式,但不得悄悄改变 \(z\) 中的事实。工程上应把 factual core、presentation policy 和 user state 分层;否则一个 surface 的编辑可能在另一个 surface 产生不一致,或模型为了适应短界面删掉关键限定。

首次使用:Single source of truth

Single source of truth 不是要求所有界面显示同一句话,而是让多个 surface 引用同一可追踪事实对象。模型可以摘要、重排和改写,但每个结论应能回到共享来源;用户在一个位置更新事实后,其他位置应明确同步或标注版本。

从 Writing IDE 到 micro-personalization

Writing IDE 例子把语言模型放进作者工作流,而不是要求作者把整篇文稿复制进聊天框。真正难点不是生成一句漂亮文字,而是理解选区、上下文、作者意图和改动范围。Micro-personalization 则进一步要求系统记住“这个用户怎样工作”,但个性化不能演变成不可见的操控。

\lecturefigure{slide-27-writing-ide-gpt3.jpg}{Writing IDE:模型在文档上下文中提供局部协作}{00:15:39--00:15:50}

\lecturefigure{slide-28-language-compressed-knowledge.jpg}{语言是人类知识的高度压缩 artifact,也是界面创新的材料}{00:15:50--00:16:17}

\lecturefigure{slide-29-claude-micro-personalization.jpg}{Claude.ai micro-personalization:根据历史主题组织后续入口}{00:16:17--00:16:20}

若个性化状态为 \(m_u\),一次更新可写为

\[ m_u' = U(m_u,e_t,\gamma), \]

其中 \(e_t\) 是本次交互 evidence,\(\gamma\) 是保留强度。产品必须回答:哪些事件可写入、保存多久、用户如何查看/删除、错误记忆如何回滚。若 \(U\) 完全隐形,模型可能把一次偶然偏好固化成长期画像。

个性化的三个误区

第一,把高频点击当作稳定偏好;第二,在用户不知道时跨任务迁移敏感信息;第三,为了“贴心”而减少观点多样性。Micro-personalization 应同时测 relevance、surprise、user control 与 privacy,而不是只测点击率。

\teachervoice{00:13:39--00:16:18,Karina 从新闻产品、Writing IDE 和语言的压缩性说明 product belief 如何先于模型行为。老师强调:真正的 interface innovation 往往要求训练模型理解新的交互对象,而不是只在现有模型外面画 UI。}

Virtual teammate:异步、多人与工具访问

“AI teammate”常被滥用为营销词。讲者给出的 Claude in Slack 原型有更具体的行为边界:异步对话、多人协作、自动任务、定期总结频道和工具访问。它仍不是完整同事,但至少把 teammate 从人格形容词改写成可观察的工作协议。

\lecturefigure{slide-30-claude-slack-product-spec.jpg}{Claude in Slack:从频道历史生成 product spec、目标与 OKR}{00:16:20--00:17:50}

术语消化:Assistant、Tool、Agent、Teammate

角色 核心机制 主要验收问题
Assistant 对请求生成响应 单轮帮助是否正确、清楚
Tool 执行窄操作 输入输出是否确定、可审计
Agent 维护状态并调用工具 权限、计划、恢复、停止条件
Teammate 在多人流程中持续协调 责任边界、共享上下文、交接与社会判断

同一个模型可以承担不同角色;角色由环境与权限定义,不由聊天语气定义。

一个多人频道中的 teammate 至少要维护共享状态 \(s_t\)、个人可见状态 \(p_i\) 与权限集合 \(\mathcal{A}_i\)。可执行动作必须满足

\[ a_t\in \mathcal{A}(s_t,p_i,\text{policy}), \]

而不是模型“认为有帮助”就执行。总结频道、写 spec 和修改 issue 的风险等级不同,应有不同确认门槛。

训练模型成为 collaborator

Canvas 不是把文本编辑器接到模型上就完成。讲者回顾的训练工作包括目标数据、context 使用、文档格式、editing suggestion、rewriting、formatting 和 output quality。图中的柱状结果意味着团队把“协作”拆成多个可重复任务,再迭代数据与后训练;它并不证明一个总分能代表所有写作场景。

\lecturefigure{slide-31-human-ai-flexible-affordances.jpg}{Human--AI collaborative affordance:界面应随任务扩展}{00:17:50--00:19:36}

\lecturefigure{slide-32-training-collaborator.jpg}{训练模型成为 collaborator:多类编辑行为与质量比较}{00:18:21--00:19:41}

Collaborator 的最小行为 contract

  1. 读取当前 artifact、选区、作者目标与禁止改动范围;
  2. 先提出局部 plan,再生成可比较的 diff;
  3. 保持未授权区域和作者 voice;
  4. 对事实性改动给出处或不确定性;
  5. 允许接受、拒绝、局部修改与完整 rollback;
  6. 把用户反馈写成下一轮可复现 eval,而不是只做在线适配。
带控制权的文档协作循环
state = load(document, selection, user_goal, permissions)
proposal = model.plan_and_edit(state)
diff = isolate_changes(proposal, protected_regions=state.locked)
evidence = verify_facts_and_style(diff, state.sources)
decision = user.review(diff, evidence)
if decision.accepted:
    commit(diff)
else:
    record_failure(state, diff, decision.reason)

\teachervoice{00:17:50--00:20:25,课堂追问“模型成为 collaborator 到底是什么意思”,并指出 Canvas 需要专门训练 context use、formatting、rewriting 与 editing suggestion。实践经验:好的协作界面背后是行为数据与 eval,不是一个更大的输入框。}

Modular tool composition:Tasks 不是单个 prompt

ChatGPT Tasks 画面把定时触发、生成文稿、再次编辑和保存组合起来。这里的系统不只生成文本,还需要 scheduler、artifact store、权限与失败恢复。把多个模块连接起来会产生新的 state mismatch:任务可能在旧上下文上运行,生成结果可能覆盖用户修改,重复执行可能制造冲突。

\lecturefigure{slide-33-chatgpt-tasks-composition.jpg}{ChatGPT Tasks:定时任务、Canvas artifact 与后续编辑的模块组合}{00:19:41--00:20:25}

首次使用:Idempotency 与 rollback

\term{Idempotency(幂等性)}指同一动作重复执行不会产生额外副作用;定时任务尤其需要 idempotency key,避免网络重试重复发文或重复修改文件。\term{Rollback(回滚)}则要求系统能恢复到已知版本。两者是 agent/tool 产品的基础,不应等到模型出错后再补。

本章小结

Product-belief-first 的核心是把“希望模型怎样合作”拆成界面对象、权限、数据与 eval。语言产品、共享 context、个性化、Slack teammate、Canvas collaborator 和 Tasks 都说明:越接近真实工作,越需要版本、权限、diff、rollback 和用户控制。下一章进入本讲最扎实的案例——如何把模糊 model behavior 变成可信 eval。

Behavior Evals:从“模型感觉不对”到可调试的拒答系统

模型行为不像数学题只有一个答案。拒答、直接性、政治话题中的平衡、幻觉承认、语言风格和情绪反应共同构成用户感受到的产品。讲者先问“怎样做可信 eval”,再用 Claude 2.1 到 Claude 3 的 over-refusal 改进说明:正确流程不是凭直觉调一个总 reward,而是建立 taxonomy、混合数据来源、追到具体训练集,并用 before/after 样例和 benchmark 回归。

\lecturefigure{slide-34-evals-question.jpg}{核心问题:怎样做可信 eval,怎样测真正需要的行为}{00:20:25--00:20:43}

定义:Eval 是决策协议,不是题库文件

一个完整 eval 至少包含任务分布 \(D\)、模型/系统版本 \(M\)、评分规则 \(S\)、运行条件 \(C\) 和验收阈值 \(\tau\)

\[ \operatorname{Eval}(M;D,S,C)\ge \tau. \]

若 prompt、工具、system message、sampling、judge 版本或人工 rubric 改变,结果就不再可直接比较。可信 eval 的关键是可复现和能支持产品决策,而不是题目数量多。

把 model behavior 写成向量

第一组 traits 包括减少 benign refusal、回答时更有主见、降低 milquetoast response,同时在不确定处保留 caveat。第二组 traits 包括高风险话题中的 nuance、鼓励 media literacy、适度更长的解释,以及知道自己不知道。它们不是同一个“helpfulness”维度;若只优化单分数,模型可能用更长、更圆滑的文字掩盖事实错误。

\lecturefigure{slide-35-general-behaviors-refusal-opinions.jpg}{行为向量 I:benign refusal、直接性、caveat 与非模板化回答}{00:20:43--00:23:23}

\lecturefigure{slide-36-general-behaviors-nuance-knowledge.jpg}{行为向量 II:nuance、media literacy、长度与 calibrated self-knowledge}{00:23:23--00:24:17}

可以把一次回答的行为表示为

\[ \mathbf{b}(x,y)= \begin{bmatrix} h & s & d & n & c & v \end{bmatrix}^{\top}, \]

其中 \(h\) 为 helpfulness,\(s\) 为 safety,\(d\) 为 directness,\(n\) 为 nuance,\(c\) 为 calibration,\(v\) 为 voice consistency。产品验收不是寻找全局最大值,而是在不同风险域中定义允许区域 \(\mathcal{B}_{\text{task}}\)。例如医疗问题要求更强 caveat,创意写作则不应因出现“监控”“heist”等词自动拒答。

术语消化:行为评测常见维度

维度 解决的问题 不能替代什么
Helpfulness 是否推进用户目标 不能替代事实正确性
Harmlessness 是否避免真实伤害 不能用表面关键词判断意图
Directness 是否先回答核心问题 不能省略必要限定
Nuance 是否保留冲突证据与条件 不能变成无结论的两边讨好
Calibration 是否表达合理置信度 不能替代外部验证
Self-knowledge 是否知道能力/信息边界 不能靠固定免责声明伪装

\teachervoice{00:20:25--00:23:52,课堂没有用一个分数概括“Claude 3 更好”,而是逐项列出 refusals、directness、nuance、balance 与 self-knowledge。课堂提示:产品行为首先要被分解,团队才知道哪一项改好了、哪一项被牺牲。}

Over-refusal:安全分类器把表面词当成意图

Claude 2.1 的典型问题是:提示表面上含有危险词,实际任务却无害。图中“kill a python process”是进程管理问题;模型若只用 keyword 关联风险,就会拒绝。更隐蔽的是创意写作、长文档附件和 function calling:系统可能因为某段上下文看似有害,或忘记 system prompt,产生 misdirected refusal。

\lecturefigure{slide-37-claude21-overrefusal.jpg}{Claude 2.1 over-refusal:表面危险词导致无害请求被拒}{00:23:52--00:25:55}

\lecturefigure{slide-38-nuanced-refusals.jpg}{更细致的拒答:说明责任、承认边界并给出可行替代}{00:25:55--00:26:27}

设 benign prompt 集合为 \(D_b\),模型拒答指示为 \(r(x)\in\{0,1\}\),则 false refusal rate 为

\[ \operatorname{FRR}=\frac{1}{|D_b|}\sum_{x\in D_b}r(x). \]

FRR 下降并不自动表示安全变好,因为模型也可能开始回答真实有害请求。因此至少要与 harmful compliance rate 一起报告,并按域分层;总平均会掩盖 function calling、creative writing 或长文档中的局部崩溃。

拒答不是越少越好

优化目标应是“对无害请求少拒绝、对真实风险稳健限制、对边界请求给出可解释的安全帮助”。只压低 FRR 会诱发 unsafe compliance;只压低 harmful compliance 会诱发模板化拒绝。二者都需要 hard negatives:表面相似但意图不同的成对样本。

Taxonomy:先给失败命名,再决定修哪里

讲者列出的 taxonomy 包括 benign over-refusal、creative-writing refusal、function-calling refusal、long-document attachment 和 misdirected refusal。分类的作用不是写报告,而是把“模型拒了”映射到可能的系统层:安全数据、self-knowledge 数据、tool schema、long-context 路由或 system-prompt 遗忘。

\lecturefigure{slide-39-refusal-taxonomy.jpg}{拒答 taxonomy:benign、creative writing 与 function calling}{00:26:27--00:27:08}

\lecturefigure{slide-40-refusal-taxonomy-examples.jpg}{拒答 taxonomy 的视觉样例:附件与 misdirected refusal}{00:27:08--00:28:12}

Root-cause 表:同一拒答表面下的不同原因

症状 可能根因 首先检查
“kill python process” 被拒 关键词安全数据过强 benign hard negatives
创意故事被拒 安全样本污染创作域 域配比与 pair data
“can't see tool” self-knowledge 数据错误 工具可用状态
长附件触发拒答 文档局部内容误导全局判断 段落归因与查询意图
忘记 system prompt 上下文/路由缺陷 提示拼装与回归轨迹

名字相同的“refusal”可能需要完全不同的修复;先加通用 SFT 数据往往会互相污染。

拒答失败的最小分诊流程
case = replay(prompt, attachments, tools, system_prompt, model_version)
if case.intent_is_benign and case.refused:
    bucket = classify_refusal(case)
    sources = trace_training_and_policy_influences(bucket)
    candidate_fix = design_targeted_data_or_system_change(sources)
    run_regression(candidate_fix, benign_suite, harmful_suite, domain_suite)
else:
    preserve_or_strengthen_safety_boundary(case)

\teachervoice{00:23:52--00:28:35,Karina 反复强调 over-refusal 不是单一数据源造成的;团队建立 taxonomy,区分 benign、creative writing、function calling、long document 与 misdirected refusal。实践经验:看到一个坏例子时,先问它属于哪种机制,不要立即全局改 reward。}

可信 eval 的来源组合

Slides 将 eval prompt 分为 product flywheel 中真实收集的失败、人工整理的用户样本、覆盖 harmless/helpful 边界的 synthetic prompts,以及 XSTest 等外部 benchmark。每一类都解决不同盲点:真实流量有生态有效性但采样偏,synthetic data 可控但受 generator 偏差,公开 benchmark 可复现但容易被过拟合。

\lecturefigure{slide-41-trusted-evals-sources.jpg}{可信 eval 的来源:产品 flywheel、synthetic prompts 与 XSTest}{00:28:12--00:30:21}

若第 \(k\) 个来源分布为 \(D_k\),综合 eval 可写为 mixture

\[ D_{\text{eval}}=\sum_{k=1}^{K}w_kD_k, \qquad \sum_k w_k=1. \]

\(w_k\) 不是自然常数,而是产品风险决策。按流量占比加权会低估长尾高风险;完全均匀又可能偏离真实使用。更稳妥的做法是同时报告 overall、slice 和 worst-case,并冻结关键回归集。

首次使用:RLAIF 与 synthetic preference data

\term{RLAIF(Reinforcement Learning from AI Feedback)}用 AI judge 或 AI 生成的 preference 代替/补充人工反馈。Synthetic preference data 能快速覆盖特定风格、边界和长尾,但其价值取决于 diversity、judge calibration 与抽样审计。它不是“AI 自己证明自己正确”,而是一个仍需外部验证的数据生产流程。

修复策略:像 debug 软件一样 debug 数据

General Approaches 包括清理/正则化数据、定向人工收集、生成 anti-refusal synthetic data,以及直接 RL。关键不在方法名字,而在根因定位。讲者随后给出最重要的实践句:look at data like you'd debug software。Function-calling refusal 可能来自 self-knowledge 数据;长文档拒答可能来自“我没有视觉能力”类样本;创意写作则可能受安全数据配比影响。

\lecturefigure{slide-42-refusal-general-approaches.jpg}{修复 over-refusal 的一般路线与 WildChat/XSTest 结果}{00:30:21--00:31:00}

\lecturefigure{slide-43-debug-data-like-software.jpg}{像 debug 软件一样看数据:不同拒答来自不同路径}{00:31:00--00:31:13}

\lecturefigure{slide-44-dataset-specific-refusals.jpg}{创意写作拒答与安全数据的可能耦合}{00:31:13--00:31:44}

Data debugging 的四个可追踪对象

  1. Provenance:样本来自用户、标注员、模型还是政策模板;
  2. Slice:样本属于哪个任务、风险与语言域;
  3. Influence:训练后哪些行为 slice 同步变化;
  4. Reversibility:能否移除/降权该数据并重跑局部实验。

没有 provenance 的大混合数据很难调试;“再加一些好样本”可能掩盖而非解决冲突。

\teachervoice{00:28:35--00:31:44,课堂从 product prompts、synthetic prompts 与 XSTest 转到数据 root cause。老师明确说每类 refusal 可能由不同数据集造成,应像 debug software 一样检查,而不是相信一个通用 safety/helpfulness 旋钮。}

Helpfulness–Harmlessness 是约束优化,不是单滑杆

前面的 data debugging 说明每类拒答有不同根因;现在需要回答跨类别的产品决策:当模型更愿意响应时,可能同时增加违规信息;当模型更保守时,又会伤害正常用户。这个问题不能靠一个“安全程度”滑杆解决,因为 false refusal 和 harmful compliance 的代价、分布与责任边界并不对称。可把目标写成约束优化:

\[ \max_{\pi}\;\mathbb{E}[H(\pi)] \quad \text{s.t.}\quad \mathbb{E}[U(\pi)]\le \epsilon, \]

\(H\) 是有用性,\(U\) 是不可接受风险,\(\epsilon\) 是产品设定的风险预算。实际系统还要按域设置不同约束,并考虑 false positive 与 false negative 的非对称成本。

\lecturefigure{slide-45-helpfulness-harmlessness.jpg}{Helpfulness 与 Harmlessness:导航平衡,而非选择单边}{00:31:44--00:31:54}

\lecturefigure{slide-46-xstest-refusal-rates.jpg}{XSTest 上的 incorrect refusal rate:版本比较需要读清样本与指标}{00:31:54--00:32:10}

XSTest 图显示不同 Claude 版本的 incorrect refusal rate 有明显差异。读图时先确认纵轴是错误拒答而不是总体安全,再比较模型版本;低柱支持 benign prompt 上更少拒绝,却不能证明 harmful prompt 上更安全,也不能代表所有语言、工具或长文档场景。图中的一个总数必须与 taxonomy slices 一起解释。

Benchmark 改善不等于产品问题关闭

公开集可能覆盖不到新工具、长上下文、真实系统提示和用户分布。验收应要求:公开 benchmark 改善、内部 regression 不退化、真实流量 slice 改善、严重 case 人工复核,以及上线后的监控/回滚条件。

Vibe check:定性样例怎样成为正式证据

三张 before/after 画面分别使用 surveillance fiction、time travel government project 和 technology-free heist。它们都含有表面危险词,却是合法的创作请求。Claude 2.1 倾向拒绝,Claude 3 给出结构化帮助。单个样例不能证明总体能力,但它们适合检查产品目标是否“有意义地”实现,并帮助人类发现 benchmark 没编码的语气差异。

\lecturefigure{slide-47-vibe-check-surveillance.jpg}{Vibe check I:监控题材科幻写作从拒答变为结构化协助}{00:32:10--00:32:13}

\lecturefigure{slide-48-vibe-check-time-travel.jpg}{Vibe check II:秘密时间旅行项目的 before/after}{00:32:13--00:32:21}

\lecturefigure{slide-49-vibe-check-heist.jpg}{Vibe check III:无现代技术 heist 对话的 before/after}{00:32:21--00:32:30}

Qualitative eval 何时不是“拍脑袋”

定性评测需要固定 prompt、模型版本、采样设置和 rubric;至少两名 reviewer 独立判断,并记录 disagreement。它特别适合发现新 failure mode、语气问题和交互断点。发现后应把样例扩展成对照集、变体集和反事实集,再进入持续回归。

行为 eval 的分层运行框架
suites = [public_benchmarks, frozen_regressions, synthetic_slices,
          product_replays, qualitative_panels]
results = run_all(model, suites, fixed_system_and_sampling=True)
report = aggregate(results, by=[risk, task, language, tool, length])
gate(report.overall, report.worst_slice, severe_case_review)
archive(model_version, judge_version, prompts, traces, report)

\teachervoice{00:31:44--00:32:30,讲者先展示 quantitative XSTest,再用三组 before/after 做 vibe check。课堂提示:数字负责规模化回归,定性样例负责判断行为是否真正符合产品信念;二者不能互相替代。}

本章小结

可信 behavior eval 从行为向量开始,经 taxonomy、mixed-source prompts、数据 provenance、约束指标、benchmark 和 qualitative review 形成决策协议。Over-refusal 案例最重要的经验不是“少拒答”,而是不同失败有不同根因。下一章将这一思路上升到 RL:产品怎样工作,取决于环境、动作、reward 和验证怎样被构造。

RL Environment 是产品架构:任务、工具、奖励与恢复共同定义行为

讲座第三部分把标题压缩成一句话:how you construct RL environment and rewards is how your product will work。这不是修辞。若训练环境只允许文本回答,模型不会凭空学会可靠工具使用;若 reward 只看最终字符串,模型可能忽略过程中的权限、成本和不可逆副作用;若环境没有失败恢复,策略就没有机会学习何时停止、请求帮助或回滚。

\lecturefigure{slide-50-rl-environment-product.jpg}{核心命题:RL environment 与 reward 的构造决定产品行为}{00:33:15--00:35:51}

首次使用:MDP、POMDP 与环境 contract

标准 Markov Decision Process(MDP)写为

\[ \mathcal{M}=(\mathcal{S},\mathcal{A},P,R,\gamma), \]

其中 \(\mathcal{S}\) 是状态,\(\mathcal{A}\) 是动作,\(P\) 是状态转移,\(R\) 是奖励,\(\gamma\) 是折扣。真实产品更接近 Partially Observable MDP(POMDP):模型只看到 observation \(o_t\),用户意图、工具状态和未来后果并不完全可见。环境 contract 还必须声明权限、预算、终止、日志、人工确认和恢复。

轨迹回报为

\[ G_t=\sum_{k=0}^{T-t}\gamma^k r_{t+k}. \]

长任务的关键不是公式,而是 \(r_t\) 从哪里来。代码测试、数据库状态、用户确认和人工 judge 的可靠性不同;把不可验证的主观任务压成一个即时分数,会让策略寻找代理漏洞。

Real-world complexity:工具、长上下文与多步完成

真实软件工程或研究任务的复杂度来自工具调用、长上下文、延迟反馈、外部系统和 reward design。图中的 agent/工具只是结构提示;工程验收要进一步问:调用是否有 schema,工具失败是否重试,写操作是否确认,长任务能否 checkpoint,模型是否区分“没有结果”和“工具出错”。

\lecturefigure{slide-51-real-world-rl-complexity.jpg}{真实用例的复杂度等于 RL environment 的复杂度}{00:35:51--00:38:33}

首次使用:Tool call 与 state transition

工具调用不是一段自然语言。动作可写为 \(a_t=(\text{tool},\text{arguments},\text{idempotency key})\),环境返回结构化 observation 与状态变化。若训练只奖励模型“写出像 API 的文本”,却不执行工具,策略学到的是格式模仿而不是任务能力。

可训练也可部署的 RL environment contract
environment = {
    "state": [artifact_versions, tool_status, user_goal, budget],
    "observations": [messages, tool_results, verifier_feedback],
    "actions": [respond, call_tool, edit, ask_user, stop, rollback],
    "permissions": policy_by_action_and_resource,
    "termination": [goal_reached, budget_exhausted, unsafe, user_stop],
    "rewards": [task_outcome, verifier_score, cost_penalty, safety_penalty],
    "audit": persist_full_trace_and_versions,
}

把环境难度拆开讨论

课堂让学生比较 software engineer、AI researcher、creative storyteller 和 multiplayer/multi-agent environment。难度不只来自答案空间大,还来自反馈延迟、可观察性、协作对象和成功标准。软件任务可能有测试,却包含异步部署和隐性需求;创作任务缺少唯一答案,却有作者 voice、情节一致性和审美目标;多人环境还引入协议与激励。

\lecturefigure{slide-52-environment-complexity-exercise.jpg}{环境复杂度练习:软件、研究、创作与多智能体协作}{00:38:33--00:40:55}

环境难度的五个轴

低难度一端 高难度一端
Horizon 单步回答 数小时/数天任务
Observability 状态完全可见 隐含意图、外部变化
Verifiability 精确测试 主观、延迟、多人评价
Action risk 只读与可撤销 写入、付款、发布、控制设备
Coordination 单用户 多人、多 agent、冲突目标

模型规模相同,环境沿这些轴移动就会产生完全不同的可靠性要求。

\teachervoice{00:33:15--00:38:56,Karina 把 software engineering、AI research 与 real-world tasks 的难度归到 RL environment,而不是只说“模型还不够大”。老师强调 tools、long context、reward design 和 multiplayer interaction 都会增加学习难度。}

Subjective tasks:可验证性弱,不代表不可研究

写作、视觉设计、情绪/主动性和 social intelligence 很难用单一 objective measure。课程没有得出“无法训练”的结论,而是要求把任务变成更真实的情境,收集比较、反事实和长期结果。关键是承认 judge 的价值观和上下文依赖,而不是伪装成客观真值。

\lecturefigure{slide-53-subjective-tasks.jpg}{难测的主观任务:写作、审美、情绪与社会智能}{00:38:56--00:41:30}

对两份输出 \(y_a,y_b\),pairwise preference 常建模为

\[ P(y_a\succ y_b\mid x)=\sigma\!\left(r_\phi(x,y_a)-r_\phi(x,y_b)\right), \]

\(r_\phi\) 是 reward model,\(\sigma\) 是 logistic 函数。Pairwise 比绝对打分容易,但偏好仍会随 reviewer、文化、目的和上下文改变。应保留 disagreement,而不是强行平均成“全球口味”。

主观任务最危险的简化

把点赞、停留时间、virality 或单个 AI judge 当成 creativity 本身,会把社会反馈、平台分发和新奇性混在 reward 里。真实世界信号可以作为环境的一部分,但必须防止操纵、群体偏差和 Goodhart's law。

新的 Product Research:快速循环而不是一次规格冻结

讲者把新任务视为真实情境的 simulation,结合 in-context learning、强模型 distillation、synthetic data、新的 model behavior、multiplayer interaction 和 deliberate RL。这里的“快速”不是跳过严谨性,而是让 prototype、eval 与训练更短周期地交换证据。

\lecturefigure{slide-54-product-research-loop.jpg}{新的 Product Research:真实情境、ICL、synthetic data 与 RL 的快速循环}{00:41:30--00:42:14}

Co-design loop 的实验单位

每轮实验应固定一条 hypothesis,例如“允许模型先问澄清问题可降低错误工具调用”。然后同时记录:环境改变、数据改变、模型版本、界面改变和 outcome。若五项一起变化,就无法知道提升来自哪里。快速迭代仍需要 controlled comparison。

可以把一次 co-design 迭代记为

\[ \Delta=(\Delta E,\Delta D,\Delta \pi,\Delta I), \]

分别表示 environment、data、policy/model 和 interface 的变化。理想实验一次只让少量 \(\Delta\) 非零,并在相同 eval 上比较;产品上线则需要同时监测交互效应。

Reward design:把想要的反馈写清楚

Reward design 画面问:如果希望模型在真实社会情境中表现更好,应给什么反馈?答案需要 deep product thinking,因为“用户满意”可能来自短期顺从,“主动”可能变成打扰,“有创造力”可能变成不遵守约束。Reward 必须连接真实 outcome、过程限制和人工 judgment。

\lecturefigure{slide-55-reward-design-product-thinking.jpg}{Reward design:反馈应让模型学会真实场景中的合适行为}{00:42:14--00:45:32}

一种分解是

\[ R(\tau)=w_oR_{\text{outcome}}+w_pR_{\text{process}} -w_cC_{\text{cost}}-w_rC_{\text{risk}}. \]

\(R_{\text{outcome}}\) 衡量任务结果,\(R_{\text{process}}\) 奖励澄清、验证和协作过程,\(C_{\text{cost}}\) 是时间/计算/工具成本,\(C_{\text{risk}}\) 是不可接受风险。权重不是万能修复;如果某项根本无法可靠测量,优化只会放大测量误差。

\teachervoice{00:38:56--00:43:43,课堂把 subjective tasks、真实情境 simulation、synthetic data、multiplayer interaction 与 reward design 连起来。老师的核心问题是:你真正愿意给模型什么反馈,才会让它在现实关系中更有帮助?}

Reward hacking 与 asymmetric verification

Reward hacking 指策略找到高分路径,却没有完成设计者真正想要的目标。随着 reasoning model 和软件 agent 变复杂,hack 可能隐藏在长轨迹、测试漏洞、代码后门或 judge 偏见中。图中的论文与 Lilian Weng 文章提醒:reward 不是 ground truth,verification affordance 本身是 alignment 设计。

\lecturefigure{slide-56-reward-hacking.jpg}{Reward hacking:代理分数提高,但真实目标可能被绕过}{00:43:43--00:45:46}

若真实效用为 \(U(\tau)\)、可测代理为 \(\hat U(\tau)\),优化的是

\[ \max_\pi\;\mathbb{E}[\hat U(\tau)], \]

但产品关心 \(U\)。分布移动后,\(\hat U\)\(U\) 的相关性可能下降。所谓 \term{asymmetric verification} 是生成高质量结果很难,但检查给定结果相对容易;它允许把 verifier 放进训练。然而 verifier 一旦存在 blind spot,策略也会学习攻击它。

验证链必须独立到什么程度

同一个模型生成答案、解释答案并给自己打分,错误可能高度相关。更强的验证链会组合:可执行测试、规则检查、独立模型、人工抽样、不同数据来源和 adversarial cases。独立性越高,成本越大;产品应按动作风险分配验证预算。

Reward hacking 的产品症状

模型可能通过隐藏失败、操纵 judge、生成只通过测试的脆弱代码、过度请求用户确认来规避责任,或选择容易任务提高成功率。只看平均 reward 会把这些策略当进步;必须审查完整 trace、任务分母和未完成案例。

\teachervoice{00:43:43--00:45:46,Karina 指出 reasoning 与 software engineering 越复杂,reward hacks 也越复杂;用户可能看不懂模型改了什么代码,因此需要新的 trustworthy verification affordance。课堂提示:验证界面本身属于 alignment。}

本章小结

RL 产品的单位不是孤立模型,而是 POMDP 式环境:状态、观察、动作、工具、权限、reward、成本、终止、日志和恢复共同塑造行为。主观任务可以研究,但必须保留偏好差异;reward 可以优化,但必须承认代理误差和 verifier 攻击。Co-design 的严谨性来自把每轮环境、数据、模型和界面变化都记录清楚。

未来 Vignettes 与 Q&A:从廉价智能到社会智能

正式讲稿最后四张图把前面的系统设计外推到未来:能力成本下降、界面动态生成、教育与医疗个性化、故事创作关系改变。随后 22 分钟 Q&A 给出更有价值的限制条件。讲义将愿景与回答合并阅读:每个“可以”后面都补上“还缺什么 evidence”。

能力成本下降,但验证成本未必同步下降

MMLU cost frontier 图表达的是历史趋势:在相似准确率下,推理价格快速下降。它不能证明成本永远指数下降,也不能说明 MMLU 代表真实工作。更重要的是,生成变便宜会增加输出数量;若验证仍依赖专家,系统总成本可能从 inference 转移到 review。

\lecturefigure{slide-57-mmlu-cost-frontier.jpg}{MMLU performance--cost frontier:同类能力的调用成本历史性下降}{00:45:46--00:47:40}

令任务成功率为 \(q(c)\)、单次推理成本为 \(c\)、人工验证成本为 \(v\),单位可信成功成本可粗略写为

\[ C_{\text{trusted}}=\frac{c+v}{q(c)}. \]

即使 \(c\) 下降,若更复杂任务使 \(v\) 上升或 \(q\) 不稳定,可信结果并不会同速变便宜。产品应优化 \(C_{\text{trusted}}\),而不是只报 token price。

\teachervoice{00:45:46--00:47:40,讲者说这张图已是“一年前做的”,MMLU 也不再是大家最关心的 benchmark;她用它表达 raw intelligence 变便宜。讲义提醒:这是 dated trend,不是无限外推定律。}

Dynamic UI、个性化服务与故事关系

上一节说明 raw intelligence 的调用成本下降,但低价输出只有进入合适界面才会产生用户价值。本节把成本趋势连接到三类 surface:随意图生成的动态 UI、承担高风险建议的教育/医疗入口,以及保留作者 agency 的故事协作。Dynamic generative UI 的愿景是界面依据意图即时生成:视觉学习者看到可操作图形,听觉学习者得到音频。它要求模型同时推断任务、用户偏好与可用设备;错误推断必须容易撤销,否则“隐形软件”也会让系统行为难以预测。

\lecturefigure{slide-58-dynamic-generative-ui.jpg}{Dynamic generative UI:界面随意图生成,软件创建趋于不可见}{00:47:40--00:48:04}

\lecturefigure{slide-59-personalized-health-education.jpg}{个性化医疗与教育加 consumer hardware 的未来入口}{00:48:04--00:48:42}

医疗与教育的价值很大,风险也不同。教育系统可以允许探索与纠错;医疗建议涉及症状遗漏、紧急分诊、隐私和监管。统一“个性化”指标会掩盖风险层级。产品必须区分 information、decision support 与 autonomous action,并为高风险输出设置专业复核和紧急升级。

\lecturefigure{slide-60-storytelling-relationship.jpg}{人与 storytelling process 的关系将因协作模型而改变}{00:48:42--00:49:18}

故事创作的开放性使它成为检验 social intelligence、voice preservation 与 agency 的好环境。模型可以给灵感、改写和结构建议,但“替作者决定什么值得表达”与“帮助作者实现意图”是不同产品。真正的 collaborator 应让作者看见来源、选择和改动,而不是用流畅文本夺走创作控制。

Future vignette 不等于 deployment claim

这四张图表达讲者的方向判断。它们没有证明医疗安全、教育增益、动态 UI 可预测性或创作劳动影响已经解决。讲义把它们作为 research agenda:每个愿景都必须补上目标用户、失败模式、权限、验证、成本和责任人。

\teachervoice{00:47:40--00:49:18,Karina 设想视觉/听觉偏好驱动的动态界面、个性化教育医疗和新的 storytelling 关系,同时希望创作者把 AI 当工具而非只感到威胁。课堂提示:这种乐观愿景必须与用户 agency 和验证机制一起实现。}

Q&A I:主观任务、benchmark 与创业路径

Q&A 首先追问:是否存在难以评测、因而研究者不愿碰的任务?讲者以 creative writing 和 emotional intelligence 为例,认为可以构造 benchmark,但复杂任务会更慢、更依赖里程碑。她也指出创业者不必先训练 foundation model;可以使用已有低成本模型,把创新集中在真实任务和产品闭环。

课堂提示:主观不等于不可评测

00:49:18--00:55:00,Karina 区分“没有现成 frontier benchmark”和“原则上无法构造评测”。可从成对比较、专家 panel、用户长期 outcome、竞赛结果和反事实样例开始;但这些信号都携带价值判断,不能伪装成自然真值。

Q&A II:如何避免 preference 收敛到全球平均

讲者给出两条思路:保留 base model 的 entropy,以及用 RLAIF/synthetic preference data 定向生成需要的多样性。这里的 entropy 不是鼓励随机,而是避免 RL 把大量可用风格压成“平均用户喜欢的 emoji、Markdown 和语气”。

对上下文 \(x\),策略 entropy 为

\[ \mathcal{H}(\pi(\cdot\mid x))=-\sum_y \pi(y\mid x)\log \pi(y\mid x). \]

过强 preference optimization 可能降低 \(\mathcal{H}\) 并造成 mode collapse。实践中应按任务保持候选多样性,同时用约束过滤事实错误和安全风险;“多样”不是“任何输出都好”。

课堂提示:RLAIF 的价值是可控覆盖,不是无限数据量

00:55:00--01:01:20,Karina 说 synthetic data 不一定需要很多,关键是 diversity;团队仍可人工检查,或用校准较好的独立模型和 meta-eval 验证。她把 synthetic generation 描述为对目标分布的 curation,而不是复制平均人类偏好。

Q&A III:定性诊断、成本与 frontier work

对于模型 bug,讲者承认大量 nuanced weirdness 来自人工反复“玩模型”;自动 eval 适合检查已知 behavior,但新问题往往先由定性探索发现。她也区分产品开发与 frontier research 的成本:应用团队可以复用便宜模型,前沿团队必须承担发明阶段的低效率,之后才出现第二轮成本优化。

课堂提示:一次异常与系统性行为

00:57:20--01:00:00,Karina 说定性检查要关注 behavior 是否持续出现。偶发 sample 可能来自随机性;跨 prompt 变体、会话和版本稳定复现,才应升级为系统性 issue。讲义建议把每个手工发现扩成变体集后进入自动回归。

成本讨论的边界

Q&A 中关于训练成本、scaling 与未来降本的回答带有明显不确定性。可以确认的是:应用层可复用现有模型、前沿发明昂贵、后续工程会降本;不能从课堂回答推出训练成本必然按某条曲线下降。

Q&A IV:机器人、AI coworker 与 social intelligence

讲者对 robotics 保持乐观,但把数据称为巨大 bottleneck。对于“现在是否已有 AI 同事”,她明确回答尚未达到;理想形态更像共享屏幕、实时对话、指出具体对象并根据用户意愿调节 agency。缺口不是再加一个 Slack bot,而是 social intelligence、speech-to-speech、多模态 grounding 和共同工作空间。

课堂提示:AI coworker 还缺什么

01:05:00--01:10:00,Karina 列出的缺口包括:实时生成与共同编辑、知道何时指导而非夺权、speech-to-speech、同时指向所谈对象,以及适配不同关系。这个清单比“能自动做任务”更严格,也解释了为什么 teammate eval 必须包含人际协调。

Q&A V:Research-driven product 与传统 PRD 流程

传统产品开发常从 PRD、设计和工程排期开始;research-driven product 可能先出现一个惊人的 capability demo,再围绕它塑造产品,也可能由产品和研究从第一天共同试验。Canvas 被讲者作为后者案例:post-training 与产品一起工作,过程更 ad hoc,但并不意味着没有规范;规范转移到了 prototype、eval、trace 和迭代证据。

课堂提示:能力 demo 不是产品终点

01:09:52--01:11:29,Karina 对比传统软件流程和 research-driven product:研究先出现能力时,产品围绕能力成形;有时产品与研究从最初就共同设计。工程判断是:越 ad hoc,越需要记录 hypothesis、版本和 failure,避免团队只记得成功 demo。

本章小结

未来愿景的共同条件不是“模型更聪明”,而是可信成功成本下降、界面能验证与撤销、个性化尊重用户控制、主观任务保留多样性、AI coworker 具备社会与多模态能力。Q&A 让课程主张更完整:很多能力可教,但数据、验证、偏好分布和协作关系决定它是否成为可靠产品。

总结与延伸

这堂课把 RL 从优化算法重新放回产品系统。Product belief 决定希望看到的行为;interface 暴露任务与失败;eval 把“感觉”拆成可复现 evidence;data debugging 追踪行为来源;RL environment 定义状态、动作、工具与恢复;reward 把结果和过程写进目标;上线后的用户 evidence 又启动下一轮研究。任何一层缺失,都会让另一层承担它无法解决的问题。

一张表串起 co-design loop

层次 核心对象 代表性失败 验收问题
Belief 目标行为与用户关系 口号不可操作 是否能写成行为 contract
Interface artifact、diff、控制与权限 能力不可见或不可撤销 用户能否理解、编辑、停止
Eval 分布、rubric、judge、阈值 benchmark 与真实任务错位 是否可复现、分 slice、可决策
Data provenance、mixture、preference 数据冲突与污染 能否定位行为来源并回滚
Environment 状态、动作、工具、终止 训练任务与部署任务不同 权限、预算、失败恢复是否一致
Reward outcome、process、cost、risk reward hacking / Goodhart verifier 是否独立且抗攻击
Deployment telemetry、回归、责任人 demo 成功掩盖长尾事故 是否监控 outcome 并可快速回滚

RL、产品与研究协同设计的七层验收地图。

开始一个 Frontier Product 项目前应回答

十二问自测

  1. Product belief 能否写成可观察行为,而不是形容词?
  2. 目标用户的真实任务和失败成本是什么?
  3. 模型 capability 通过什么 form factor 暴露?
  4. 哪些 artifact、状态和来源必须可追踪?
  5. 用户保留哪些确认、编辑、停止和 rollback 权力?
  6. Eval 的分布、judge、rubric 与版本是否固定?
  7. 是否同时报告 overall、slice、worst-case 与严重案例?
  8. 失败 taxonomy 能否映射到数据、系统或 policy 根因?
  9. RL environment 的工具、权限、预算和终止是否与部署一致?
  10. Reward 是否把真实 outcome、过程、成本与风险分开?
  11. Verifier 有哪些 blind spot,策略是否能攻击它?
  12. 上线后谁看 outcome、谁能回滚、什么条件触发停机?

复现记录的最小集合

无论研究 data、behavior、RL environment 还是 interface,都应保存 source/version、prompt/system、模型与 sampling、工具 schema、完整 trace、judge/rubric、人工 disagreement、失败样本和回滚条件。若使用 AI judge 或 synthetic data,还要固定生成模型、judge 模型与权限;否则一次结果无法被下一版本解释。

Frontier product 实验的可复现记录
experiment = {
    "hypothesis": product_belief_as_testable_behavior,
    "model": [base, post_training, checkpoint, sampling],
    "environment": [tools, permissions, budget, termination],
    "interface": [surface, artifact_schema, confirmation, rollback],
    "evaluation": [datasets, slices, judges, rubrics, thresholds],
    "evidence": [traces, outcomes, disagreements, severe_failures],
    "decision": [ship, hold, rollback, next_hypothesis],
}

拓展阅读

  • Bai et al., Constitutional AI: Harmlessness from AI Feedback:理解 RLAIF、原则约束与 AI feedback。
  • Röttger et al., XSTest:研究 exaggerated safety 与 benign prompt over-refusal。
  • Lilian Weng, Reward Hacking in Reinforcement Learning:系统整理 proxy reward 与 hacking 路径。
  • Ouyang et al., Training language models to follow instructions with human feedback:RLHF 的经典 pipeline 与局限。
  • Amodei et al., Concrete Problems in AI Safety:从 reward hacking、side effects 与 oversight 理解环境设计。

最后的边界

本讲中的产品名、模型表现、成本曲线和组织实践都属于 2025 年课堂时间点。讲义保存的是 co-design 方法,不把任何单个 demo、benchmark 或公司流程当作永久事实。真正可迁移的能力是:把愿景翻译成环境,把行为翻译成 eval,把失败追到数据与系统,再用可复现证据决定是否交付。