跳转至

Lecture24

LaTeX 源码

\makecscover

导论:Beyond LLMs 的两层含义

这堂 instructors lecture 把两个看似分散的问题放在一起。第一层是模型内部:能力为什么会随规模、提示和中间表示而改变,怎样用 Chain-of-Thought、search、program execution 与 data efficiency 获得更强推理。第二层是模型外部:一个语言模型怎样成为 agent system 的计算核心,并与 memory、tools、environment feedback、permissions 和 other agents 共同完成长期任务。

\lecturefigure{slide-01-title.jpg}{CS25 V3 instructors lecture 的四个主题}{Stanford 课堂视频 00:00:21}

读图:四个主题构成一条能力扩展链

Emergent abilities 讨论规模与测量;Intermediate-Guided Reasoning 讨论怎样组织推理过程;BabyLM 反问是否必须依靠海量数据;Agents 则把模型放进能观察、行动、记忆和纠错的系统。它们共同回答“怎样超越一次前向生成”,而不是四段互不相关的热点综述。

本讲的统一系统视角

可把能力写成三层组合:

\[ \text{Observed capability} =\text{Model} \circ\text{Inference procedure} \circ\text{Environment loop}. \]

Model 决定参数化知识与表征,inference procedure 决定 prompt、search 或 program execution,environment loop 决定工具、反馈、记忆和权限。课堂后半段的 agent 正是把第三层显式化。

证据边界

前半段主要是论文导读,后半段包含 MultiOn 原型演示和架构设想。讲义会把论文结论、课堂解释、原型 capability claim 与工程推论分开;尤其不能把 2023 年的飞行预订、驾驶测试或 universal action API 演示写成当前产品规格或通用可靠性证明。

本章小结

Beyond LLMs 不是离开语言模型,而是同时改变模型规模、推理过程和系统边界。接下来先从最容易被误解的 emergence 开始,再逐步走向结构化推理、样本效率和 agent architecture。

Emergent Abilities:能力跳变还是测量产物

课堂首先回顾 2022 年关于大模型涌现能力的经典定义:某项能力在小模型上接近随机,达到某个规模后才明显出现,而且不能由小模型趋势直接外推。但讲者也立即补上测量争议:离散指标、prompt 和任务定义都可能改变曲线形状。因此,正确问题不是“涌现是真是假”的二选一,而是哪些行为、在哪种测量下、为何表现为阈值。

经典定义与 critical threshold

第一张标题页把 emergence 作为独立研究对象,随后定义页给出三个条件:大模型有而小模型没有、不能由小模型直接外推、性能在 critical threshold 前近随机而后快速上升。这个定义强调 observed behavior,不提供内部机制解释。本节先固定这套历史定义,后面再用 prompt 与 metric 争议检验它的证据边界。

\lecturefigure{slide-02-emergent-title.jpg}{Emergent Abilities of Large Language Models}{Stanford 课堂视频 00:00:33}

读图:标题页的作用是建立研究对象

这里的 ability 可以是 modular arithmetic、word unscrambling、question answering 或 prompting behavior。它不是单个 neuron 突然“学会技能”,而是 evaluation pipeline 观察到的任务性能模式;模型、prompt、scoring 和 task distribution 都属于现象定义的一部分。

\lecturefigure{slide-03-emergent-definition.jpg}{课堂采用的涌现能力定义}{Stanford 课堂视频 00:00:39}

阈值定义的数学直觉

设规模为 \(s\),任务得分为 \(m(s)\)。经典涌现叙事认为存在 \(s_c\),使

\[ m(s)\approx m_{\text{random}}\quad(s<s_c),\qquad m(s)\gg m_{\text{random}}\quad(s\ge s_c). \]

\(s_c\) 是观察到的 critical scale,\(m_{\text{random}}\) 是随机基线。这个式子描述曲线形状,不证明参数空间发生真正物理相变。

\teachervoice{讲者用 phase transition 类比规模阈值,但同时说研究者至今仍缺少充分解释。课堂的“不可预测”是指从已测小模型曲线做朴素外推会失败,不是说任何能力都完全无法研究或预测。}

Few-shot 曲线怎样读

多任务图把 training FLOPs 放在横轴,把任务 performance 放在纵轴;LaMDA、GPT-3、Gopher、Chinchilla、PaLM 等模型在 modular arithmetic、IPA transliteration、word unscrambling 和 Persian QA 上出现不同阈值。读图时不能只看“最大模型最高”,还要看小模型区间是否平坦、任务是否采用 exact match、不同模型族是否落在同一趋势上。

\lecturefigure{slide-04-few-shot-emergence.jpg}{多项 few-shot 任务随 training FLOPs 变化的曲线}{Stanford 课堂视频 00:01:18}

读图:先确认横纵轴,再判断跳变

横轴是训练计算量的对数尺度,纵轴因任务而异。某些图在 \(10^{22}\)--\(10^{23}\) FLOPs 左右明显上升,但点数有限且模型架构不同。若 metric 是全对或全错,连续的 token-level 改善可能被压成突然 crossing,因此阈值既可能包含真实能力变化,也可能包含 scoring nonlinearity。

不要从少数离散点推导必然相变

模型规模、数据、架构和训练 recipe 同时变化;曲线上的点不是只改变一个自变量的 controlled experiment。涌现图支持“朴素小模型外推不可靠”,不自动支持“内部表征在某一点突然出现”。

Prompting strategy 会改变所观察到的能力

下一组图展示 augmented prompting,包括 scratchpad、instruction following、八位数加法和 calibration。最典型例子是 GSM8K 上,普通 prompting 随规模增长有限,而 Chain-of-Thought 在大模型上显著提高。这里的能力既来自参数,也来自把计算过程暴露在输出 token 中。

\lecturefigure{slide-05-augmented-prompting.jpg}{Augmented prompting 下的规模与能力变化}{Stanford 课堂视频 00:01:54}

读图:模型能力与 elicitation method 不能分离

同一 checkpoint 使用不同 prompt 可得到完全不同曲线。若 CoT 让大模型把隐含多步计算转换成显式序列,观测到的“涌现”可能是 latent capability 与 elicitation threshold 的组合。评估报告因此必须同时写 model、prompt examples、decoding 和 metric。

观测性能是组合函数

更完整地写,任务得分是

\[ m=G(\theta, p, d, \mu), \]

其中 \(\theta\) 表示模型参数与训练,\(p\) 表示 prompt/inference strategy,\(d\) 表示 decoding,\(\mu\) 表示 metric。只把 \(m\) 对参数规模作图,会把其他三项的非线性一起投影到“规模效应”中。

能力目录与规模只是索引

课堂保留论文中的大表,列出不同 emergent abilities、对应 training FLOPs、参数量、模型和参考文献。它的价值是让研究者发现跨任务模式,而不是给每种能力一个永久固定的“最小参数量”。因此本节把表格当作实验索引,重点检查任务、模型族和评测设置,而不是背诵门槛数字。

\lecturefigure{slide-06-emergent-abilities-table.jpg}{论文汇总的涌现能力与出现规模}{Stanford 课堂视频 00:02:33}

读图:表格中的 scale 不是普适门槛

相同任务在不同 tokenizer、data mixture、instruction tuning 和 prompt 下会移动阈值;不同模型族的参数利用率也不同。先看 task 和 reference,再看 FLOPs/parameters。规模列更像历史实验索引,而不是设计新模型时可直接查表的常数。

为什么会涌现仍未解决

解释页明确说,目前对原因了解有限;使用的 evaluation metrics 也可能无法充分解释现象,并建议用 cross-entropy loss 等连续指标分析。连续 metric 能揭示小模型已经发生但未跨过 exact-match 门槛的渐进改善。本节从“看到跳点”转向“解释跳点”,把 measurement artifact 与能力机制分开讨论。

\lecturefigure{slide-07-emergence-explanations.jpg}{涌现原因与 evaluation metric 的不确定性}{Stanford 课堂视频 00:02:45}

读图:metric critique 改变的是证据强度

若 exact match 只有完整答案正确才记 1 分,模型从“几乎正确”到“正确”会产生跳点;cross-entropy 则能显示概率质量逐步迁移。连续曲线可能削弱“突然相变”的视觉效果,但仍不能否定复杂行为在某个实用尺度后才可用。

Mirage critique 也不是“能力没有变化”

指标导致 discontinuity,并不等于规模无效;它说明“能力突然出现”与“得分突然跨线”必须分开。工程上仍需关心某项能力何时达到可用阈值,只是不能把阈值当作唯一机制证据。

\teachervoice{讲者没有给出单一 emergence theory,而是把 metric 选择列为核心研究问题。这个谨慎边界比背下阈值更重要:先问现象怎样测,再问模型内部发生了什么。}

Beyond scaling 的研究路线

即使扩大规模可能带来新能力,课堂也强调它不是唯一变量。新架构、更高质量数据、更好的 training procedure、更强 few-shot prompting、理论与 interpretability、computational linguistics 都可能让能力更早出现或更可控。

\lecturefigure{slide-08-beyond-scaling.jpg}{除继续放大之外的能力研究方向}{Stanford 课堂视频 00:03:06}

读图:这些方向作用于不同层

Architecture 和 training 改变参数学习;data quality 改变监督信号;prompting 改变 inference interface;interpretability 与 theory 改变解释和预测能力;computational linguistics 提供结构先验。把它们都压成“有效算力”会失去可干预性。

能力增长伴随风险增长

Emergent risk slide 把 truthfulness、bias、toxicity、memorization 和未知风险放在一起。更大模型能更好完成任务,也可能更有效重现敏感数据、适应有害提示或在含糊语境中放大偏差;能力与风险不共享一个单调安全轴。因此本节把安全评测视为独立维度,而不是从平均任务分数推断风险已经下降。

\lecturefigure{slide-09-emergent-risks.jpg}{规模增长可能同时放大能力与社会风险}{Stanford 课堂视频 00:04:00}

读图:风险不是训练后再加的附录

Truthfulness 是事实与校准问题,bias 涉及群体差异,toxicity 涉及有害输出,memorization 涉及隐私与版权。它们需要不同 dataset、attack 和 metric。一个总体 helpfulness 分数不能证明这些风险同步下降。

\teachervoice{讲者提醒,未来模型还可能出现尚未发现的风险。这里的 unknown risk 不是制造恐慌,而是说明 capability discovery 与 safety discovery 都需要持续 red teaming 和 measurement。}

General-purpose model 改变研究与应用结构

Sociological changes slide 讨论的不只是技术扩散。通用模型让社区从“每个任务训练一个模型”转向 shared foundation,再通过 in-context prompting 或轻量适配服务多个领域;Transformer 也从 NLP 扩展到 text-to-image、biology、robotics 等场景。

\lecturefigure{slide-10-sociological-changes.jpg}{涌现与通用模型带来的社区和应用变化}{Stanford 课堂视频 00:04:45}

读图:技术范式会重分配进入门槛

Shared model 降低应用开发成本,却把训练权力、评估接口和基础设施集中到少数提供者。研究者可以更快调用能力,也更依赖不可见 data/updates。BabyLM 稍后正是对这种资源集中提出反问题。

未来工作与课堂开放问题

Future-work slide 把规模、架构、训练、数据、prompting、小模型能力、theory 与 computational linguistics 汇总;讨论页进一步追问规模是否有极限、数据与 metric 在 emergence 中扮演什么角色,以及 specialized systems 是否可能优于“把一切塞进参数”的 monolith。

\lecturefigure{slide-11-future-work.jpg}{Emergent abilities 的未来研究方向}{Stanford 课堂视频 00:06:00}

读图:future work 不是单一 scaling roadmap

列表同时包含 capability、efficiency、interpretability 和 linguistic structure。最值得保留的是多路线比较:同一能力可以通过更多参数、更好数据、更好 prompt、外部工具或专门模型获得,研究目标应比较成本与可靠性,而不只比较 peak score。

\lecturefigure{slide-12-discussion-questions.jpg}{讲者留给课堂的 emergence 开放问题}{Stanford 课堂视频 00:06:57}

读图:问题本身就是证据边界

这组问题没有标准答案:能力会否持续出现、规模是否递减、metric 与 data 是否制造阈值、专业系统是否更可靠。讲义不应把 2026 观点倒灌成讲者结论,而应把这些问题作为后续 reasoning、BabyLM 和 agents 三个单元的连接点。

\teachervoice{讲者邀请学生随时打断并讨论,说明这部分不是宣布 emergence 定律,而是用经典论文建立共同问题空间。}

本章小结

经典涌现定义描述阈值式任务得分,但曲线由模型、prompt、decoding 和 metric 共同决定。规模可能带来新能力,也带来新风险和资源集中;更好的数据、架构、推理程序与专门系统都是替代或互补路线。

Intermediate-Guided Reasoning:把推理过程变成可操作对象

第二个单元从“能力何时出现”转向“怎样组织一次推理”。讲者明确说 Intermediate-Guided Reasoning 不是标准术语,而是对一族方法的概括:让模型生成自然语言步骤、搜索多个 thought states、递归分解问题,或把中间表示交给程序解释器。关键区别在于中间状态能否被验证、回退和执行。

一个课堂 umbrella term

标题页标记转场,真正定义来自口头解释:这些方法把最终答案前的 intermediate information 显式化,使复杂任务可以被拆分、检查或交给外部模块。本节先说明这个 umbrella term 的课堂语境,再把它拆成文本链、搜索树、程序和计算图四类表示。

\lecturefigure{slide-13-intermediate-reasoning.jpg}{Intermediate-Guided Reasoning 课堂单元}{Stanford 课堂视频 00:07:42}

读图:不要把课堂短语误写成固定 taxonomy

本讲把 CoT、ToT、Socratic decomposition、PAL 和 PoT 放在同一伞下,是为了比较 intermediate representation;学术文献并没有统一采用这个总称。讲义保留这种教学组织,同时继续使用各论文原名。

\teachervoice{讲者主动说“I don't think this is actually a term”。这是必须保留的 teacher voice:术语来源是课堂组织,不应包装成公认领域名称。}

Chain-of-Thought 的基本机制

CoT 让模型在最终答案前生成一系列自然语言 reasoning steps。对多步 arithmetic、symbolic 和 commonsense tasks,它可以把一次困难映射拆成多个较短条件生成;但生成更多 token 也增加传播错误和制造貌似合理解释的机会。

\lecturefigure{slide-14-cot-overview.jpg}{Chain-of-Thought 以中间文本分解多步问题}{Stanford 课堂视频 00:08:03}

读图:CoT 改变 inference trace 而非模型权重

Few-shot CoT 通常在 prompt 中展示“问题→步骤→答案”样例,模型随后模仿格式。它可能调动训练中已有的算法模式,但不能保证每一步对应真实内部因果过程。能力提升与解释忠实性是两个不同验收项。

给定问题 \(x\),中间轨迹 \(z=(z_1,\ldots,z_K)\),答案 \(y\),CoT 生成可写为

\[ p_\theta(y,z\mid x)=p_\theta(z\mid x)p_\theta(y\mid x,z). \]

\(z\) 表示可见 reasoning trace,\(K\) 表示步骤数,\(y\) 表示最终答案。提高 \(p(y,z\mid x)\) 不等于 \(z\) 忠实解释模型内部计算,只说明该文本轨迹与答案共同高概率。

Standard prompting 与 CoT prompting

例子页用网球问题对比直接输出和逐步计算。读者应观察的不只是答案是否正确,还要检查步骤是否保持单位、是否遗漏数量、最后答案是否真正由前面步骤推出。本节从同一道题的两种 prompt 入手,说明可见轨迹怎样改变诊断能力,却不自动构成 proof。

\lecturefigure{slide-15-cot-examples.jpg}{Standard prompting 与 Chain-of-Thought prompting 对比}{Stanford 课堂视频 00:09:18}

读图:步骤提供了调试表面

Direct answer 错误时很难判断模型在哪里偏离;CoT 至少暴露了 arithmetic、symbol mapping、missing step 或 semantic misunderstanding。可见性提高了 diagnosis,却不自动提高 truthfulness,因为模型也可能先得到答案再编写理由。

错误分析比平均准确率更有用

Improving CoT slide 把错误拆成 calculator error、symbol mapping、missing step 与 incoherent reasoning 等类别。讲者强调,即使大模型获得明显 performance gain,non-negligible errors 仍然存在,因此需要工具、verifier 与更好的训练。

\lecturefigure{slide-16-cot-improvements.jpg}{Chain-of-Thought 的错误来源与改进方向}{Stanford 课堂视频 00:09:42}

读图:错误类别对应不同修复层

Calculator error 可交给 interpreter;symbol mapping 需要更稳定的变量绑定;missing step 可用 decomposition 或 search;incoherent CoT 需要 verifier、consistency 或过程监督。把所有错误都归因于“模型不够大”会错过低成本修复。

Reasoning trace 不是 proof

一条流畅 CoT 可能包含无关步骤、隐含跳跃或后验合理化。高风险任务要验证 executable constraints、引用证据或环境结果,而不是用自然语言长度代替正确性。

怎样让小模型也使用 CoT

课堂指出,早期 CoT 对约百亿到百亿以上规模更有效,小模型常出现 missing step 与 semantic understanding 错误。研究方向包括用大模型生成 traces 做 fine-tuning、distillation、更精简的 reasoning format 和专门 verifier。

\lecturefigure{slide-17-cot-smaller-models.jpg}{面向小模型的 Chain-of-Thought 研究方向}{Stanford 课堂视频 00:10:18}

读图:小模型问题可能是表示容量也可能是监督格式

若 trace 太长或包含噪声,小模型会先学到表面模板;若任务需要无法表示的 latent state,单纯蒸馏也不足。应分别评估 final answer、step validity、trace length 与 compute,避免把“大模型 trace”视为天然最优教材。

从特定领域走向更一般的 reasoning format

Generalization slide 质疑 CoT 的固定格式与领域依赖:它在多步数学问题上突出,但并非所有任务都适合线性自然语言步骤。更一般的方法需要允许不同 state representation、branching、external calls 和 stopping rules。

\lecturefigure{slide-18-cot-generalization.jpg}{Chain-of-Thought 的格式刚性与领域泛化问题}{Stanford 课堂视频 00:11:03}

读图:推理表示应匹配任务结构

线性文本适合顺序分解;规划任务可能需要树或图;精确算术适合程序;感知任务可能需要视觉 state。Generalization 不是强迫所有任务输出同一种长解释,而是选择能被验证和执行的 intermediate representation。

Tree of Thoughts:从一条轨迹到状态搜索

Tree of Thoughts 让模型生成多个候选 thought,评估下一步,必要时 look ahead 或 backtrack。它把推理从一次 autoregressive sample 改造成 search procedure,因此获得更高 flexibility,也付出更多 inference calls 与 evaluator dependence。

\lecturefigure{slide-19-tree-of-thoughts.jpg}{Tree of Thoughts 的分支评估与回溯}{Stanford 课堂视频 00:12:03}

读图:节点是中间状态,边是推理动作

同一 input 产生多个 candidate states,evaluator 给分后保留部分分支;失败分支可回退。图中最关键的不是树形外观,而是 generation、evaluation、selection 三个角色被分开,允许显式控制搜索。

若每层扩展 \(b\) 个候选、深度为 \(d\),完整搜索最多访问

\[ 1+b+b^2+\cdots+b^d=\frac{b^{d+1}-1}{b-1} \]

个节点。\(b\) 是 branching factor,\(d\) 是 reasoning depth。ToT 必须用 beam、heuristic 或 pruning 控制指数开销;evaluator 错误也会提前剪掉正确分支。

Socratic Questioning:递归分解与回收答案

Socratic Questioning 用大模型提出 subproblems,递归求解后再向上组合。它与 ToT 都允许 backtracking,但教学重点更接近 divide-and-conquer:先确认子问题是否可解,再把局部答案汇总为原问题解。

\lecturefigure{slide-20-socratic-questioning.jpg}{Socratic Questioning 的递归子问题分解}{Stanford 课堂视频 00:12:33}

读图:decomposition quality 决定上限

若子问题不完备、彼此重叠或丢失约束,即使每个局部答案正确也无法得到全局答案。系统应检查 coverage、dependency 和 recomposition,而不是只检查每个 leaf 是否看似合理。

带验证与回溯的结构化推理流程
def solve(problem, depth):
    if depth == 0 or is_atomic(problem):
        return answer_and_verify(problem)
    subproblems = propose_decomposition(problem)
    partial = [solve(item, depth - 1) for item in subproblems]
    candidate = compose(problem, partial)
    if verify(candidate, problem):
        return candidate
    return revise_decomposition(problem, partial)

PAL:语言模型规划,解释器计算

Program-Aided Language Models 让模型生成程序,把精确 arithmetic 和 symbolic execution 交给 Python 等 interpreter。LLM 负责把自然语言转成可执行结构,计算机负责确定性运行;这比要求模型在 token space 内模拟全部算术更可靠。

\lecturefigure{slide-21-pal.jpg}{PAL 用程序作为中间表示并调用解释器}{Stanford 课堂视频 00:13:09}

读图:把神经推理与符号执行分工

Prompt 中展示问题、program 与 answer;模型输出 code,interpreter 运行得到结果。优势是 arithmetic 可验证、trace 可执行;风险是 code generation 可能误解语义、调用危险 API 或在 sandbox 外产生副作用。

Program of Thoughts:更一般的程序化 scratchpad

Program of Thoughts 同样让模型生成 program,但强调把 computation 与 language reasoning 交错组织。对复杂数学题,程序保存变量、循环和函数关系,避免长自然语言链中的算术漂移。本节承接 PAL 的 interpreter 分工,进一步关注程序化 scratchpad 如何保存长程状态与组合结构。

\lecturefigure{slide-22-program-of-thoughts.jpg}{Program of Thoughts 的程序生成与执行流程}{Stanford 课堂视频 00:13:51}

读图:程序正确不等于问题理解正确

Interpreter 只保证给定程序按语义执行;如果模型把问题映射成错误公式,程序会稳定地产生错误答案。因此 pipeline 至少需要 syntax check、unit test、constraint check 与 result sanity check。

可把 program-guided reasoning 写成

\[ P\sim p_\theta(P\mid x),\qquad y=\mathcal{I}(P), \]

其中 \(P\) 是模型生成程序,\(\mathcal{I}\) 是受控解释器,\(y\) 是执行结果。可靠性取决于 semantic parsing \(p_\theta\) 与 execution sandbox \(\mathcal{I}\) 两部分,而不是只取决于 final answer accuracy。

Faith and Fate:把 compositionality 写成计算图

课堂最后展示 computation graph 工作,强调结构化中间表示可以把复杂问题拆成可检查节点。图中的 graph 不一定优于所有文本方法,但它提供 dependency、reuse 和 local verification,适合组合性任务。

\lecturefigure{slide-23-faith-and-fate.jpg}{Faith and Fate 工作中的 compositional computation graph}{Stanford 课堂视频 00:14:33}

读图:图结构让依赖显式化

节点表示中间子计算,边表示依赖;若最终答案错,可以沿 graph 定位错误节点。与线性 CoT 相比,graph 更容易复用共享子结果,也更适合并行执行;代价是 graph construction 与 node semantics 本身需要学习或规则。

本章小结

Intermediate-guided methods 的共同点是让中间状态可见、可搜索或可执行。CoT 提供线性文本,ToT/Socratic 提供 search/decomposition,PAL/PoT 提供程序执行,computation graph 提供依赖结构;可靠性取决于 verifier、interpreter 和反馈,而不是轨迹长度。

BabyLM:用数据约束反问规模崇拜

第三个单元把视角从 inference 转回 pretraining。BabyLM Challenge 不追求最大模型,而是限制在近似儿童语言暴露量的数据预算内,比较哪些 architecture、objective 和 curriculum 能更高效学习。它既是 sample-efficiency benchmark,也是对研究资源集中和人类语言学习机制的反思。

Challenge 的核心约束

标题页标记从 reasoning methods 转向 data efficiency。课堂背景是大模型训练成本持续上升、个人与大学实验室难以参与 frontier pretraining,因此通过固定小数据预算重新打开可比较研究空间。

\lecturefigure{slide-24-babylm-challenge.jpg}{BabyLM Challenge 以小数据预算研究高效语言学习}{Stanford 课堂视频 00:15:15}

读图:约束本身改变研究问题

普通 scaling benchmark 问“更多 data/params 能到多高”;BabyLM 问“在 data cap 下怎样用得更好”。这会奖励 inductive bias、objective、tokenization、curriculum 和 architecture,而不只奖励获取更多网页与算力。

什么是 developmentally plausible data budget

课堂把 BabyLM 描述为:训练较小语言模型,使用接近儿童成长期间可接触的语言数据量。Slide 对比 Chinchilla 级别万亿词与儿童每年约数百万词的数量差距,目标是在显著更少数据下保持语法、语义和推理能力。本节先解释这一数量级约束,再说明它为何只是 developmentally inspired,而不是完整儿童学习模型。

\lecturefigure{slide-25-what-is-babylm.jpg}{BabyLM 对比大模型语料量与儿童语言暴露量}{Stanford 课堂视频 00:15:48}

读图:数据量对比是数量级启发

儿童词汇暴露估计依赖年龄、家庭与统计方法;LLM token 也不等于人类听到的 word。这个对比用于强调现代预训练样本效率很低,不应用来声称文本模型和儿童拥有相同感知、互动或学习目标。

样本效率应连同预算报告

若模型在任务集上的平均性能为 \(S\),训练 token 数为 \(N\),可用

\[ \eta=\frac{S-S_0}{\log(1+N)} \]

作粗略 efficiency 视角,其中 \(S_0\) 是随机或小模型基线。\(\eta\) 不是 BabyLM 官方指标,只说明比较时必须同时报告 performance 与 data budget,而不能只看绝对分数。

为什么值得做 BabyLM

Why BabyLM slide 列出效率、开放新用例、interpretability、alignment、university access、认知科学和人类语言学习。它把小模型研究从“做不起大模型的替代品”转成独立科学问题:什么数据与结构能产生高效 generalization。

\lecturefigure{slide-26-why-babylm.jpg}{BabyLM 的效率、可及性与跨学科动机}{Stanford 课堂视频 00:17:00}

读图:七个理由分属工程与科学两类

工程侧关注训练成本、部署与大学预算;科学侧关注可解释性、alignment、cognitive science 和 child language acquisition。小模型更容易做 controlled ablation,但参数少不自动意味着可解释或安全。

\teachervoice{讲者强调,大模型研究越来越受限于拥有数百上千 GPU 和数百万美元的机构。BabyLM 的价值之一,是让大学和个人重新能够训练完整模型、比较假设,而不只调用闭源 API。}

数据组成与儿童类比的边界

最终 data slide 展示 developmentally plausible pretraining mixture,包括 CHILDES child-directed speech、OpenSubtitles、儿童书籍、BNC speech、Wikipedia 与 Simple Wikipedia 等来源。不同数据源提供对话、故事、日常语法和百科知识,但仍是离线文本集合。

\lecturefigure{slide-27-babylm-data.jpg}{BabyLM 的 developmentally inspired pretraining data mixture}{Stanford 课堂视频 00:19:09}

读图:mixture 在模拟输入类型而非完整发展环境

Child-directed speech 提供互动语言风格,subtitles 提供对话,books 提供叙事,Wikipedia 提供事实与长句。真正儿童还拥有视觉、行动、共同注意、纠正与社会反馈;文本 mixture 只能约束语言输入量,不能复现 embodied learning。

Developmentally plausible 不等于 cognitively equivalent

模型接受全量语料的训练 objective、epoch 和顺序与儿童持续学习不同;它也缺少身体和社会目标。BabyLM 能检验 sample-efficient language modeling,但不能单独证明人类语言习得理论。

\teachervoice{讲者希望认知科学与 NLP 双向交流:人类高效学习可以启发模型,受控小模型实验也可能反过来检验语言学习假设。这里的价值是可比较实验平台,而不是把儿童简化为 next-token predictor。}

本章小结

BabyLM 用 sub-100M-word 级别预算研究 sample efficiency,推动 architecture、objective、curriculum 与数据 composition 比较,并降低研究门槛。儿童类比提供数量与类型启发,但不包含完整感知、互动和发展机制。

从语言模型到 Agent System

课堂在 19 分钟处切换到 Agent。这个转折不是再介绍一个模型架构,而是把前半场的 reasoning procedure 放进持续运行的系统:模型要接收目标、拆解任务、调用工具、观察结果、保存状态并决定是否继续。读后半场时应始终区分 \term{foundation model} 与 \term{agent system};前者提供语言与推理能力,后者才负责行动闭环。

Agent 议程:从“为什么”到“怎样控制”

开场页列出 agent architecture、actions、computer interaction、long-term memory、personalization、multi-agent communication 和 future directions。它给出的教学顺序很重要:先说明为什么一次模型调用不足,再讨论行动接口,最后才进入并行协作与安全治理。

\lecturefigure{slide-28-agent-introduction.jpg}{Agent 半场的课程议程}{Stanford 课堂视频 00:19:51}

读图:七个主题共同构成系统生命周期

Architecture 决定组件边界,action interface 决定能做什么,memory 与 personalization 决定跨会话状态,multi-agent 决定怎样扩展吞吐和专长,future directions 则处理 reliability、permissions 与 sandboxing。只做其中一个模块,仍不能得到可长期委托的 agent。

\teachervoice{Div 先追问“为什么不只训练一个更大的语言模型”。他的回答不是模型能力不重要,而是单次调用没有 chaining、recursion、persistent state 和 environment feedback;真正任务需要系统,不只是 monolith。}

为什么需要 Agent:自然语言只是入口

Building AI Agents slide 提出一个 2023 年课堂 thesis:人通过自然语言表达意图,AI 操作软件与机器。这个愿景减少用户逐个点击界面的负担,但“100 倍速度”与“五年内发生”属于讲者预测,不是课程已经验证的事实。工程上更稳健的表述是:natural-language interface 可以降低任务表达成本,是否提高效率取决于成功率、确认次数和失败恢复成本。

\lecturefigure{slide-29-building-ai-agents.jpg}{Building AI Agents:自然语言到机器操作的愿景}{Stanford 课堂视频 00:20:30}

Agent 的闭环定义

令目标为 \(g\)、内部状态为 \(s_t\)、环境观察为 \(o_t\),agent 在第 \(t\) 步执行

\[ p_t=\operatorname{Plan}(g,s_t,o_t),\qquad a_t=\operatorname{Act}(p_t),\qquad s_{t+1}=\operatorname{Update}(s_t,o_{t+1}). \]

\(p_t\) 是计划,\(a_t\) 是带权限的动作,\(o_{t+1}\) 是环境反馈。若系统只生成 \(p_t\) 而不执行、观察和更新,它更接近 assistant 或 planner,而不是完整 agent loop。

界面自动化不会自动消除成本

Agent 可以减少人工点击,却引入推理延迟、token 成本、错误动作、网站变化、账号权限和审计需求。评价时应比较 end-to-end task success 与总人工介入,而不是只展示一段顺利录像。

Agent Stack:模型只是其中一个组件

架构页把 model 放在中央,周围连接 memory、planning、tools、reflection 与 environment。前半场的 Chain-of-Thought 和 Tree of Thoughts 在这里成为 planning 方法;calculator、calendar 和 code interpreter 成为 tools;短期与长期状态进入 memory;执行后的检查进入 reflection。

\lecturefigure{slide-30-agent-stack.jpg}{包含 memory、planning、tools 与 reflection 的 Agent Stack}{Stanford 课堂视频 00:22:24}

术语消化:Agent Stack 的六个组件

组件 解决的问题 与本讲的关系
Model 理解目标、生成候选计划 是 neural compute unit,不独占系统状态
Planning 把目标转成有依赖关系的步骤 可使用 CoT、ToT、decomposition
Memory 保存当前上下文和跨任务事实 区分 context 与 persistent store
Tools 执行精确或外部操作 calculator、browser、code interpreter、apps
Reflection 检查结果并触发修订 需要 verifier 或可观察的环境信号
Environment 返回真实状态变化 决定计划是否与现实保持一致

\teachervoice{课堂把构建 agent 类比为构建 computer:LLM 像 CPU,但还要有 RAM、长期存储、I/O、网络、界面和用户配置。这个类比的教学价值,是阻止我们把模型 benchmark 直接等同于系统能力。}

MultiOn:课堂原型而非普遍保证

MultiOn 页介绍讲者当时构建的 browser agent,并用“能够通过自然语言操作互联网”来动机化后续 demo。该页应作为 2023 年课堂原型的来源元数据来读:它说明 demo 来自什么系统,不代表所有网站、账号和任务都具有相同可靠性。本节先建立证据分层,下一章再逐帧分析原型实际展示了什么。

\lecturefigure{slide-31-multion-api.jpg}{MultiOn browser-agent 原型介绍}{Stanford 课堂视频 00:23:03}

四层证据边界

  1. 课堂画面:录像确实显示了某次流程的若干状态;
  2. 讲者陈述:例如“零人工干预”“拥有购买权限”,是课堂 capability claim;
  3. 独立验证:需要可重复任务集、失败日志、版本与评测协议;
  4. 部署结论:还需安全、权限、恢复和合规证据。

讲义只把前两层归因给课堂,不把它们自动升级为第三、四层。

本章小结

Agent 不是“会调用工具的大模型”这一句定义能够概括的对象,而是 model、planning、memory、tools、reflection、environment 与 policy 共同组成的闭环。接下来的 live demos 用具体状态展示行动潜力,也暴露不可逆动作和环境约束为何必须进入设计。

Live Demos 与行动边界

课堂用订机票、移动端操作、驾驶测试和 Action API 展示 agent 的可见行动能力。高质量阅读不能只复述“它做到了”,而要逐步问:目标如何输入、环境返回了什么、何处发生状态改变、哪些步骤需要确认、失败时怎样停止或恢复。

订机票 Demo:从请求到 itinerary

第一组五张画面记录一次 browser-agent flight-booking 流程。起始页先给出任务语境,随后开发界面发出请求,浏览器进入搜索结果、checkout,最后显示 itinerary。连续状态说明 agent 能跨多个网页维持任务,但录像没有给出重复试验次数、失败分布或所有后台调用。

\lecturefigure{slide-32-flight-demo-start.jpg}{订机票 demo 的起始状态}{Stanford 课堂视频 00:23:30}

读图:先确认任务边界而不是先看动画速度

起始画面只证明演示准备进入航班任务。读者应记录起点账号、目标城市、日期、航空公司偏好和支付权限是否预先配置;这些 hidden state 会显著影响任务难度,也决定结果能否复现。

\lecturefigure{slide-33-flight-demo-code.jpg}{通过开发界面向 Agent 发出订票请求}{Stanford 课堂视频 00:23:36}

读图:指令必须转成可执行约束

自然语言请求通常包含硬约束与软偏好。系统应把日期、机场、人数和预算标成 hard constraints,把 United、出发时段或座位偏好标成 soft preferences;若二者冲突,不能静默牺牲硬约束。

\lecturefigure{slide-34-flight-demo-results.jpg}{Agent 浏览航班搜索结果}{Stanford 课堂视频 00:24:33}

读图:搜索结果页是选择问题而非完成状态

这一帧表明环境已经返回候选航班。Agent 仍需比较价格、转机、时区、行李规则和偏好,并保存“为何选择某项”的 audit trail。页面出现不等于候选已满足用户目标。

\lecturefigure{slide-35-flight-demo-checkout.jpg}{Agent 进入 checkout 阶段}{Stanford 课堂视频 00:24:51}

Checkout 是权限边界

搜索与填写表单通常可撤销,最终购买可能产生费用和取消成本。进入 checkout 后应展示结构化摘要,并在执行 purchase 前要求显式确认;预存信用卡不能被解释为对任意交易的长期授权。

\lecturefigure{slide-36-flight-demo-itinerary.jpg}{课堂录像中的最终 itinerary 状态}{Stanford 课堂视频 00:25:15}

读图:最终页面仍需要 postcondition 检查

系统应核对乘客、日期、机场、航班号、总价与 confirmation number,并把结果写入可查询记录。只有 UI 显示 itinerary 但没有核对关键字段,仍可能出现“流程完成、任务错误”的假成功。

\teachervoice{讲者称 demo 已个性化到他的 United 偏好、账号和支付方式,并强调 agent 有 purchasing power。课堂最有价值的信号不是炫技,而是它直接把 personalization、credential access 与 irreversible action 绑定在一起。}

带确认门的订票状态机
state = collect_constraints(request, user_profile)
candidates = search_flights(state)
choice = rank_and_explain(candidates, state)
draft = fill_checkout(choice)
assert validate(draft, state.hard_constraints)
approval = ask_user_confirmation(draft.summary)
if approval:
    receipt = execute_purchase(draft)
    verify_postconditions(receipt, state)
else:
    stop_without_charge()

移动端 Demo:环境约束会中断计划

第二组画面把同一自然语言控制思路放到手机。platform 首页、消息请求、web search、food result 与 delivery-area failure 组成一条更有教学价值的轨迹,因为最后一帧明确显示环境限制,而不是剪成完全成功的宣传片。本节因此把“失败如何暴露环境约束”作为主线,而不只统计跨了多少应用。

\lecturefigure{slide-37-mobile-platform.jpg}{MultiOn 移动端平台入口}{Stanford 课堂视频 00:25:21}

读图:移动端是新的 I/O 表面

Agent 要处理小屏 UI、系统权限、通知、app 切换和网络状态。自然语言入口统一了意图表达,却没有统一底层应用状态;每个 app 仍可能拥有不同登录、地理位置和确认规则。

\lecturefigure{slide-38-mobile-message.jpg}{通过消息式界面表达任务}{Stanford 课堂视频 00:25:39}

读图:消息是目标,不是完整规范

一条简短请求常省略预算、份量、地址和替代选项。系统要么从可信 profile 中读取,要么追问;不能用语言模型猜测填补会产生费用或隐私后果的字段。

\lecturefigure{slide-39-mobile-web-search.jpg}{移动端 Agent 发起 web search}{Stanford 课堂视频 00:26:03}

读图:跨应用执行需要共享任务状态

从消息跳到搜索时,目标、约束和来源必须保持一致。若各工具只接收自由文本,信息在多次改写中容易漂移;结构化 task state 能让搜索、筛选与下单共享同一组字段。

\lecturefigure{slide-40-mobile-food-result.jpg}{Agent 找到 food ordering 结果}{Stanford 课堂视频 00:26:21}

读图:候选可见仍不等于可交付

餐厅或商品页只说明搜索成功。真正 postcondition 包括配送地址在范围内、商品可售、费用可接受和预计时间满足要求。Agent benchmark 应把这些环境约束纳入 success definition。

\lecturefigure{slide-41-mobile-delivery-limit.jpg}{配送区域限制导致任务受阻}{Stanford 课堂视频 00:26:30}

失败必须成为显式状态

Delivery-area constraint 不是让模型“再想久一点”就能消失的推理错误。正确行为是报告阻塞原因、给出可行替代项并等待用户选择,而不是循环点击、隐瞒失败或擅自更改地址。

\teachervoice{这组 demo 最值得保留的是失败帧:环境告诉 agent 当前计划不可行。它提前预示了后面 plan divergence 的主题——没有真实反馈,语言上连贯的计划会越来越远离可执行世界。}

Driving-test Claim 与 human-like interface

课堂随后展示一个 MP4 占位页,讲者称 agent 可完成在线 driving test。由于录像中没有呈现完整题目、答案、评分和重复实验,讲义把它记录为 capability claim,而不把它当作独立验证结果。下一页再从“数字手、眼和人类式接口”解释为何研究者希望 agent 直接使用现有软件。

\lecturefigure{slide-42-driving-test.jpg}{课堂提及的 online driving-test demo}{Stanford 课堂视频 00:26:36}

Claim 不能替代 evaluation

要验证 driving-test 能力,至少需要公开题集或封闭测试协议、题目泄漏检查、随机化、多次运行与分项错误分析。一个视频文件图标无法支持通过率、泛化或安全结论。

\lecturefigure{slide-43-human-like-agents.jpg}{Why human-like AI agents:复用为人设计的数字环境}{Stanford 课堂视频 00:28:27}

读图:human-like 指接口兼容,不等于认知等价

数字环境已有键盘、鼠标、视觉布局和自然语言文档。让 agent 使用这些接口可以复用现有软件,避免为每个网站先开发 API;代价是视觉歧义、点击脆弱性、隐藏状态和更大的攻击面。它描述的是 I/O compatibility,不是说 agent 像人一样理解世界。

五级 Autonomy:按风险逐步放权

Autonomy slide 借用自动驾驶分级直觉,把 agent 从人类全程控制逐步推向高自治。具体图中文字较小,教学重点不应是背诵等级名称,而是每一级改变了谁提出计划、谁执行动作、谁监控以及谁承担恢复责任。

\lecturefigure{slide-44-autonomy-levels.jpg}{课堂展示的五级 Agent Autonomy 设想}{Stanford 课堂视频 00:28:45}

按行动风险设计 autonomy

级别 系统角色 推荐控制
L1 只建议,用户执行 展示依据与可编辑步骤
L2 执行低风险可撤销动作 每批动作可预览、可取消
L3 处理多步任务,关键点确认 金钱、外发消息、账号变更前设 gate
L4 在限定域内自治 预算、域名、时间和权限上限
L5 广域高度自治 课堂愿景;现实部署仍需外部监督与 kill switch

若动作 \(a\) 的潜在损失为 \(L(a)\)、错误概率为 \(q(a)\)、可恢复系数为 \(r(a)\in[0,1]\),可用

\[ R(a)=q(a)L(a)(1-r(a)) \]

作为粗略风险排序。\(R(a)\) 越高,越应缩小权限、增加确认或禁止自动执行;该公式是讲义的工程抽象,不是课堂给出的标准。

\teachervoice{讲者把 autonomy 与 self-driving 的分级过程类比,并承认 full autonomy 仍有大量问题。稳健路线不是先宣称“全自动”,而是把可撤销动作与不可逆动作分层,逐步扩大经过验证的自治域。}

API 与 direct interaction 的取舍

Computer Interaction slide 对比两条路线:通过应用提供的 API 操作,或让 agent 直接使用 keyboard、mouse 与屏幕。API 通常结构化、可验证且权限明确;direct interaction 覆盖面更广,却更依赖 UI 稳定性和视觉定位。

\lecturefigure{slide-45-computer-interaction.jpg}{Agent computer interaction 的两条路线}{Stanford 课堂视频 00:31:06}

术语消化:API 与直接操作

路线 优点 主要风险
API interaction 参数与返回值结构化,易做 schema validation、重试和最小权限 覆盖受限,需要服务方支持,API 可能变化
Keyboard/mouse 可复用几乎所有人类界面,原型部署快 坐标脆弱、隐藏弹窗、视觉误识别、prompt injection 与误点击
Hybrid 优先 API,缺失时退回 UI,并共享 task state 路由与一致性更复杂,必须标记当前执行通道

\teachervoice{课堂明确给出 trade-off:API 更 safe、controllable,direct interaction 更 general。讲义把它转成工程原则——通用性不是免费收益,接口越自由,环境验证与权限隔离越重要。}

Action API:把自然语言变成受控动作

最后一组五张画面演示 Action API 的 overview、代码调用、聊天界面、控制过程和结果。它试图提供一个自然语言层,使开发者不必为每个 UI 动作手写专用自动化;但 API 名称中的 “Action” 不应遮蔽控制流:请求仍需解析、执行、观察、验证和停止。本节按这条控制链逐帧阅读,避免把统一入口误写成统一可靠性。

\lecturefigure{slide-46-action-api-overview.jpg}{MultiOn Action API 的课堂介绍}{Stanford 课堂视频 00:32:18}

读图:统一入口不等于统一语义

Action API 可以统一调用形式,但底层网站、应用和权限仍不同。可靠实现需要把自然语言转成 typed intent,并保留目标域、允许动作、最大步数和成功条件。

\lecturefigure{slide-47-action-api-code.jpg}{开发者通过代码调用 Action API}{Stanford 课堂视频 00:32:21}

读图:SDK 调用只是控制平面的起点

代码侧至少应记录 request id、policy、budget 与 callback;执行侧返回 structured observations,而不是只回一段“完成了”。这样调用者才能区分运行中、需要确认、失败和已验证完成。

\lecturefigure{slide-48-action-api-chat.jpg}{Action API 与聊天式任务输入}{Stanford 课堂视频 00:32:33}

读图:聊天层负责澄清歧义

当请求缺少对象、时间、预算或收件人时,chat interface 应主动询问。把所有自然语言都直接下发给执行器,会把 conversational ambiguity 转成真实世界错误。

\lecturefigure{slide-49-action-api-control.jpg}{Agent 接管应用界面执行动作}{Stanford 课堂视频 00:32:42}

控制界面时要防止观测与动作错位

页面滚动、弹窗或异步加载会让旧坐标失效。每个动作前应重新观察目标元素,动作后检查预期状态变化;若 observation 不匹配,应停止而不是沿用过期计划。

\lecturefigure{slide-50-action-api-result.jpg}{Action API demo 的结果状态}{Stanford 课堂视频 00:33:06}

读图:Result 必须绑定 success predicate

结果画面只有在满足预先声明的 predicate 时才算成功,例如“目标消息已发送给正确收件人且内容一致”。视觉上出现目标 app 或文字,并不足以证明后端状态已经提交。

Action API 的 observe-act-verify 控制器
for step in range(max_steps):
    observation = observe_environment()
    decision = policy.plan(task, observation, permissions)
    if decision.requires_confirmation:
        decision = confirm_with_user(decision)
    result = execute(decision.action)
    if satisfies_success_predicate(result, task):
        return verified_success(result)
    if result.is_blocked or result.risk_exceeded:
        return safe_stop(result)
return timeout_without_claiming_success()

本章小结

Live demo 能展示 end-to-end 可能性,却不能单独给出普遍成功率。订票流程揭示不可逆购买,移动端失败揭示环境约束,autonomy 分级揭示放权必须按风险推进,Action API 则说明统一自然语言入口仍需要 typed state、confirmation gate 和 postcondition verification。

Neural Compute、Memory 与 Personalization

完成行动演示后,课堂回到架构层,解释模型在系统中的位置以及 agent 怎样跨步骤、跨会话保存信息。这里最容易混淆的是 context、persistent memory 与 user profile:三者都向模型提供信息,但生命周期、可信度和隐私义务不同。

Model as Neural Compute Unit

Neural Compute Unit slide 把 Transformer 画成输入输出之间的计算核心,并用 CPU analogy 强调它可以被更大系统调用。类比有助于理解 modularity,但 CPU 执行确定指令,语言模型生成概率分布;因此 agent 还需要外部规则和 verifier 约束不确定输出。

\lecturefigure{slide-51-neural-compute-unit.jpg}{AI model 作为 neural compute unit 的课堂类比}{Stanford 课堂视频 00:35:15}

读图:输入输出箭头之外还缺什么

图中 model 接收 instructions 与 context,返回 response。真实 agent 还需 scheduler 决定何时调用、memory layer 选择哪些上下文、tool layer 执行动作、policy layer 检查权限、verifier 判断结果。模型是 compute unit,不是完整 operating system。

\teachervoice{讲者反复使用 CPU/chip 类比:一个强模型只是强大的计算单元,围绕它的 abstraction、memory、interface 和 internet access 才让系统可用。这个观点贯穿后面的 LLM OS 图。}

Context 与 Long-term Memory

Long-term Memory slide 把 memory 分成工作记忆与持久存储。Context window 类似当前任务的短期工作区,受 token budget 限制;persistent store 保存跨会话事实、过去动作或文档索引,需要检索、更新、删除和 provenance 管理。

\lecturefigure{slide-52-long-term-memory.jpg}{Agent 的工作记忆与长期记忆问题}{Stanford 课堂视频 00:35:33}

Retrieval memory 的基本流程

对记忆条目 \(m_i\) 计算 embedding \(e_i\),查询 \(q\) 的向量为 \(e_q\),可按

\[ \operatorname{score}(m_i\mid q) =\alpha\,\cos(e_q,e_i) +\beta\,\operatorname{recency}(m_i) +\gamma\,\operatorname{trust}(m_i) \]

排序。相似度回答“相关吗”,recency 处理过期信息,trust 记录来源可靠性。检索结果仍需进入 context 后由模型使用,向量库本身不会保证事实正确。

Context 不是持久记忆,模型权重也不是用户数据库

上下文窗口会在请求结束后消失或被截断,持久记忆则需要显式存储。把用户秘密写入提示、日志或无删除机制的向量库,会制造数据生命周期风险。模型权重中的训练知识也不能承担可精确更正的个人记录功能。

\teachervoice{课堂用直观说法区分:context 是模型当下能看到的 short-term memory,数据库或其他 store 才是 long-term memory。讲者还指出长任务会迅速遇到 context limit,因此 memory management 是系统问题。}

Personalization:显式偏好、隐式行为与反馈

Personalization slide 提出 user agent 可学习 preferences,并用过往 actions 改进后续行为。显式偏好来自用户直接设置,例如首选航空公司;隐式偏好来自点击、选择和修改记录。后者噪声更大,也更容易越过用户预期。本节从信号来源出发,说明偏好如何进入决策,以及为什么必须允许用户查看、纠正和删除。

\lecturefigure{slide-53-personalization.jpg}{从历史行动与反馈学习个性化偏好}{Stanford 课堂视频 00:37:39}

术语消化:三类个性化信号

信号 示例 使用原则
Explicit “只选直飞”“不要自动购买” 作为高优先级约束,可查看和编辑
Implicit 多次选择某航空公司或鞋款 只作 soft preference,避免从一次行为过度推断
Feedback 接受、纠正、撤销或投诉 记录具体任务语境,区分偏好变化与系统错误

若推荐候选 \(x\) 的基础任务效用为 \(U_{task}(x)\),个性化偏好得分为 \(U_{pref}(x)\),风险为 \(C_{risk}(x)\),可以写成

\[ U(x)=U_{task}(x)+\lambda U_{pref}(x)-\mu C_{risk}(x). \]

\(\lambda\) 不应大到覆盖 hard constraints,\(\mu\) 应随金钱、隐私和不可逆性提高。Personalization 的目标是减少重复说明,不是替用户重写目标。

\teachervoice{讲者举买鞋与机票偏好的例子,并设想从 human feedback 持续学习。讲义补上必要边界:用户点击可能只是当时妥协,不能永久固化为偏好;agent 应允许查看、纠正和遗忘。}

Challenges:持续学习伴随隐私与控制问题

Challenges slide 汇总 collecting user preferences、active-learning preferences、learning from interactions、on-the-fly adaptation 与 privacy。它说明 personalization 不是单纯提高推荐准确率,而是数据采集、在线更新和用户控制的综合系统问题。

\lecturefigure{slide-54-agent-challenges.jpg}{Long-term personalization 的核心挑战}{Stanford 课堂视频 00:39:54}

个性化系统的四个失败面

  1. 错误记忆:一次误操作被长期保存;
  2. 越权推断:从行为推断敏感属性或跨场景复用;
  3. 陈旧偏好:用户变化后系统仍按旧 profile 行动;
  4. 不可逆自动化:模型把 soft preference 直接变成购买或外发动作。

缓解措施包括 provenance、过期策略、用户可见编辑、purpose limitation 与高风险 confirmation。

\teachervoice{讲者在展望 personalization 时主动提出 privacy concerns,并把 autonomous irreversible actions 视为危险点。课堂并没有把“知道用户更多”当作无条件目标,而是把它和权限、控制一起讨论。}

本章小结

Neural compute unit 类比明确了模型只是计算核心;context 提供短期工作区,persistent store 提供跨会话状态,personalization 把显式偏好、隐式行为和反馈转成可控约束。越长期的记忆越需要 provenance、更新、删除、权限与确认机制。

Multi-Agent Systems:并行不等于自动更聪明

课堂从单 agent 转向多 agent,主要动机是 parallel execution、task decomposition 与 specialization。这个转向类似从单线程到多线程:可以降低 wall-clock latency、扩大处理规模,但也引入通信、同步、共享状态与错误聚合问题。

从单 Agent 到 Autonomous AI System

Multi-Agent System slide 用一个上层 agent 与多个下层 agent 表示任务分派。图形很简洁,却包含关键架构选择:谁拥有全局目标、谁能创建子任务、worker 是否共享 memory、结果由谁验证,以及失败后是局部重试还是全局重规划。本节先把这些隐含选择显式化,再讨论并行化真正能节省什么。

\lecturefigure{slide-55-multi-agent-system.jpg}{Manager 与多个 worker 构成的 Multi-Agent System}{Stanford 课堂视频 00:43:00}

读图:树形结构隐含控制面与执行面

Manager 属于 control plane,负责 decomposition、routing、budget 和 aggregation;workers 属于 execution plane,调用各自工具完成 bounded tasks。若每个 worker 都能无限创建新 worker,系统会失去资源上限和责任边界。

\teachervoice{讲者说,即使单 agent 达到很高成功率,它一次也只能顺序做一件事;多 agent 的直接收益首先是 parallelization,而不是凭空提高推理质量。}

为什么 Multi-Agent:并行、规模与专长

Why Multi-Agent slide 列出 parallelization unlock、task specialization、collaboration 和 agent-to-agent communication。以 Craigslist 家具搜索为例,多个 worker 可以并行联系候选,再由 manager 聚合;另一个例子是 spreadsheet、Slack 与 browser agent 各自负责熟悉的工具域。

\lecturefigure{slide-56-why-multi-agent.jpg}{Multi-Agent 的并行化、专长与协作动机}{Stanford 课堂视频 00:45:39}

并行收益与可靠性代价

\(n\) 个独立子任务串行时间为 \(\sum_i T_i\),理想并行时间接近

\[ T_{parallel}\approx \max_i T_i+T_{route}+T_{sync}+T_{aggregate}. \]

通信与聚合开销过大时,并行不一定更快。若任务要求所有 \(n\) 个结果都正确且单项成功率为 \(p\),独立近似下端到端成功率为 \(p^n\);子任务越多,验证与局部重试越重要。

Specialization 也会产生接口债务

专用 agent 可以减少 prompt 与工具复杂度,但 manager 必须知道各 worker 的能力、输入 schema、权限和失败模式。没有明确 contract 的“专家群聊”容易出现重复工作、责任漂移和互相相信错误结果。

Communication Protocol:消息要携带状态

Communication overview slide 画出 user、manager 与 worker agents。课堂把 communication 称为最大挑战,并设想标准 protocol 表达 request、final response、success/failure、retry 与 security。协议的价值不只是格式统一,而是让任务状态可机读、可审计。

\lecturefigure{slide-57-agent-communication-overview.jpg}{User、manager 与 worker 之间的通信结构}{Stanford 课堂视频 00:47:30}

Agent message 的最小字段

一条可靠消息至少应包含 task_idparent_id、目标、输入来源、允许工具、deadline、budget、expected output schema、status 与 evidence。自由文本可解释意图,但不能替代 machine-checkable contract。

\teachervoice{讲者把 agent communication 与人类组织中的 miscommunication 类比,并预期会出现标准协议来表达成功、失败、重试和安全信息。重点是减少信息丢失,不是让 agents 说得更像人。}

Manager–Worker:成功回报与显式重做

Task slide 展示 manager 把任务分给 agents,并接收状态更新;下一页展示 worker 返回错误结果后,manager 发送 re-do。两页共同说明 multi-agent reliability 依赖 state transition,而不是一次性广播任务后等待任意自然语言回复。

\lecturefigure{slide-58-agent-communication-task.jpg}{Manager 分派任务并接收 worker 状态}{Stanford 课堂视频 00:49:00}

读图:Manager 必须维护 authoritative task state

每个子任务需要 queued、running、blocked、failed、verified 等状态。Worker 的“done”只是声明,manager 还要检查 output schema 与 evidence;否则一个错误 completion 会污染后续 aggregation。

\lecturefigure{slide-59-agent-communication-redo.jpg}{错误任务触发 manager 的 re-do 指令}{Stanford 课堂视频 00:49:51}

读图:重试应改变条件而不是机械重复

有效 re-do 应附带 failure reason、修正约束、剩余预算和最大次数。若输入、工具和策略都不变,无限 retry 只会放大成本;超过阈值后应升级给用户或切换 worker。

带验证和有限重试的 manager–worker 协议
def run_subtask(task, workers, retry_limit=2):
    attempt = 0
    feedback = None
    while attempt <= retry_limit:
        worker = route(task, workers, feedback)
        report = worker.execute(task, feedback)
        verdict = verify_schema_evidence_and_constraints(report, task)
        if verdict.ok:
            return mark_verified(report)
        feedback = verdict.failure_reason
        attempt += 1
    return escalate_to_manager_or_user(task, feedback)

\teachervoice{课堂用 very concrete 的 re-do message 说明:多 agent 不是把多个模型同时启动就结束,manager 必须知道 worker 是否做错,并把纠正信息重新注入流程。同步与通信本身就是核心能力。}

本章小结

Multi-agent 的主要收益来自 parallelization、task decomposition 与 specialization;其主要代价来自 routing、communication、synchronization、aggregation 和 compound failure。Manager--worker 系统必须使用结构化状态、evidence-based verification、有限重试与升级路径。

Reliability 与 Generalized AI Systems

最后十分钟把乐观 demo 收束为系统问题:agents 会循环、难以测试、可能失去监督,也会在缺少反馈时产生 plan divergence。课堂随后借 LLM OS 和 generalized AI system 图,尝试把 chat、rules、task engine、router、apps、local index 与 reflection 放进统一架构。

Key Issues:可靠性、循环、评测与停止能力

Key Issues slide 列出 reliability、looping、testing/benchmarking,以及 reset/deployment/observability 一类尚未成熟的问题。最关键的工程态度是:agent failure 不是单一错误率,而是一个动作如何改变后续 observation 和 decision 的动态过程。

\lecturefigure{slide-60-key-agent-issues.jpg}{Autonomous Agents 的关键可靠性问题}{Stanford 课堂视频 00:50:30}

读图:四类问题需要不同证据

Reliability 需要任务成功率与错误分类;looping 需要 step limit 与重复状态检测;testing 需要可重放环境和 hidden test;oversight 需要 trace、kill switch 与责任人。只用最终回答 benchmark 无法覆盖真实行动系统。

Agent Evaluation 的分层指标

层级 示例指标 不能忽略的失败
Step action validity、tool error 点击错对象、参数越界
Trajectory progress、loop rate、budget 反复执行、状态漂移
Task verified success、human intervention 看似完成但 postcondition 错
Safety unauthorized action、recovery 越权、泄露、不可逆损失

\teachervoice{讲者强调必须能 stop agent;如果系统持续循环或执行错误动作,人类需要 reset、oversight 或 kill mechanism。自治不是移除监督,而是把监督从逐步操作改成边界和异常控制。}

Plan Divergence:没有反馈的计划会离开现实

Plan Divergence slide 用黑色 ideal plan 与红色 agent trajectory 表示偏离。误差一开始可能很小,但若系统只根据自己生成的文本继续规划,不读取网页状态、compiler error 或用户修正,偏差会累积并形成新的错误前提。本节回到 feedback loop,说明怎样用外部可验证信号把 trajectory 拉回任务目标。

\lecturefigure{slide-61-plan-divergence.jpg}{缺乏环境反馈时的 Plan Divergence}{Stanford 课堂视频 00:53:09}

把 Agent 看成反馈控制系统

令期望状态为 \(x_t^*\),实际环境状态为 \(x_t\),误差为 \(e_t=x_t^*-x_t\)。无反馈 open-loop 规划只执行预生成动作;closed-loop agent 在每步读取 observation,并用

\[ a_t=\pi(g,x_t,e_t),\qquad x_{t+1}=F(x_t,a_t) \]

修正后续动作。关键不是公式复杂,而是 \(x_t\) 必须来自环境证据,不能由模型想象。

自我反思不是环境验证的替代品

让同一个模型阅读自己的计划,可能改善明显矛盾,却无法知道网页是否提交、代码是否编译或库存是否变化。优先使用 compiler、tests、API response、DOM state、receipt 等 external verifier;语言 critique 只能作为补充。

\teachervoice{课堂以 coding agent 为正例:compiler 或 IDE 能返回明确错误,使 agent 知道“你错了”。讲者把早期 AutoGPT-style 系统的 divergence 归因于缺少可靠 feedback;这比单纯增加思考轮次更接近根因。}

LLM OS:围绕模型建立操作层

Karpathy LLM OS slide 把 LLM 放在中央,周围连接 conversational interface、tools、browser、storage、vision 与其他 I/O。它不是一个已经标准化的操作系统,而是 architecture metaphor:模型像 compute kernel,系统层负责上下文、资源、路由和安全。

\lecturefigure{slide-62-llm-os.jpg}{Karpathy LLM OS 的课堂架构图}{Stanford 课堂视频 00:53:33}

读图:OS 类比对应哪些职责

Chat interface 类似 user shell;context/memory 类似 working set 与 storage;router 类似 scheduler;tools/apps 类似 devices 与 services;permissions/sandbox 类似 protection boundary;reflection/verifier 类似 error handling。类比用于发现缺失组件,不代表 LLM 具备传统 OS 的确定性与隔离保证。

\teachervoice{讲者说,人类没有一直把 CPU 当作“电脑本身”,同样也不应一直把 chatbot 当作 AI 的最终形态。系统需要把 model 包在规则、任务引擎、存储和工具之外,才能承担更复杂工作。}

Generalized AI System:chat、rules、routing 与 reflection

Generalized AI Systems slide 展示更完整的数据流:用户通过 chat interface 输入,系统结合 rules 创建 task,经 task engine 与 router 分发到 apps/tools 或 local index,再把结果送回 reflection 与用户。读图时应从控制顺序而不是组件名称出发。

\lecturefigure{slide-63-generalized-ai-systems.jpg}{Building Generalized AI Systems 的课堂草图}{Stanford 课堂视频 00:58:51}

读图:一条安全任务路径

输入先经过规则检查和目标澄清,task engine 生成 bounded plan,router 选择 browser、app、tool 或 local index;各执行器返回 evidence,reflection 检查是否满足 success predicate。若不满足,系统在预算内修订;若触及权限或风险边界,则交还用户。

Rules 必须在执行前约束计划

若禁止事项只写在最终回复模板里,agent 仍可能已经完成越权动作。规则要参与 plan validation、tool authorization 和 argument checking;任何违反不可变原则的候选计划都应在执行前被拒绝。

\teachervoice{课堂提出“inherent rules”:系统生成的计划若违反原则,应自动 invalidated。随后 manager/router 决定访问 browser、apps、tools 或 local files,reflection 再判断任务是否正确完成。}

Future Needs:error correction、permissions 与 sandboxing

最后一页列出 error correction、security/user permissions、sandboxing 与高风险部署。它把整堂 Agent 讨论落到最现实的验收条件:不仅要能完成顺利路径,还要能捕获错误、限制访问、隔离执行,并保护 business、financial 和其他不可逆操作。

\lecturefigure{slide-64-future-needs.jpg}{未来 Agent 需要的纠错、安全与隔离机制}{Stanford 课堂视频 01:00:06}

部署前的最小安全闭环

  1. Least privilege:每个 tool 只获得完成当前任务所需权限;
  2. Sandbox:代码、文件和浏览操作在受限环境执行;
  3. Confirmation gate:付款、删除、发布、发送和账号变更前确认;
  4. Audit trail:保存目标、计划、动作、观察、授权与结果;
  5. Recovery:支持取消、补偿事务、版本回滚和人工接管;
  6. Evaluation:在 adversarial 与长时任务中测试越权、注入和 divergence。

\teachervoice{讲者最后用非常具体的例子解释 permissions:agent 可以访问 DoorDash,但未必能访问 bank account;还要防止删除电脑内容,并对商业、金融和不可逆风险设置保护。这些不是未来附加功能,而是可部署 agent 的组成部分。}

本章小结

Agent reliability 必须在 trajectory 与 environment loop 上评测。Plan divergence 说明 external feedback 的必要性;LLM OS 与 generalized-system 图说明 chat、rules、task engine、router、tools、memory、reflection 和 permissions 应被设计为明确组件;future-needs 页则把 error correction、sandboxing 和 irreversible-action safeguards 设为部署门槛。

总结与延伸

这堂课用四个主题回答“Beyond LLMs”意味着什么。Emergent abilities 提醒我们区分真实能力变化与 metric artifact;Intermediate-Guided Reasoning 把一次生成扩展为 chain、tree、decomposition 或 program execution;BabyLM 用受限数据预算追问 sample efficiency;Agents 则把模型放进能行动、记忆、协作和纠错的系统。

统一框架:能力来自模型、过程与闭环

前后半场可以统一为三层:model 提供概率化表示与生成,inference procedure 组织 intermediate states,system loop 把结果接入 environment。规模更大不自动带来忠实推理,推理轨迹更长不自动带来正确行动,工具更多也不自动带来可靠系统。每一层都需要独立指标和失败分析。

本讲的八条可执行结论

  1. 报告 emergence 时同时检查 metric、prompt、task distribution 与连续替代指标;
  2. 为 reasoning method 区分 final-answer accuracy、step validity 与 compute cost;
  3. 精确计算优先交给 interpreter,并验证程序与问题语义的一致性;
  4. 比较小模型时同时报告 data budget、architecture、objective 与 curriculum;
  5. 把 foundation model 与 agent system 分开评测;
  6. 给每个真实动作定义 permissions、success predicate 与 confirmation gate;
  7. Multi-agent 使用结构化 task state、有限重试和 evidence aggregation;
  8. 长时运行必须依赖 external feedback、audit、sandbox 与 recovery。

如何验证一个 Agent Claim

面对“agent 能订票、通过考试、操作任意软件”之类陈述,可按五步检查:先固定任务与版本,再公开初始状态和权限;随后运行多次并保存完整 trajectories;用环境 postcondition 而非模型自评判定成功;最后报告失败类别、人工介入、成本和不可逆事件。这样才能把 demo 转成可比较的 evidence。

不要把 2023 年课堂愿景写成 2026 年产品事实

本讲记录的是 2023-11-28 的课程内容。MultiOn、AutoGPT、Action API 与 LLM OS 均在特定历史语境中出现;讲义保留其教学价值,但不据此断言今天的产品能力、公司状态或行业标准。

拓展阅读与最终小结

\enlargethispage{5\baselineskip}

建议沿三条路线继续:第一,阅读 emergent abilities 与 metric-choice 争论,比较离散 exact-match 和连续损失;第二,阅读 Chain-of-Thought、Tree of Thoughts、PAL、Program of Thoughts 与 BabyLM Challenge,理解推理过程和样本效率;第三,阅读 Lilian Weng 的 LLM-powered autonomous agents 综述,并结合现代 agent evaluation、computer-use safety 与 sandbox 设计重新审视课堂架构。阅读时应优先论文、官方项目页和可复现实验,不以产品 demo 代替证据。

真正的“Beyond LLMs”不是抛弃 LLM,而是不再把一次文本生成当作能力终点。更可信的系统会选择合适的 intermediate representation,用工具获得可验证结果,用 memory 保存有 provenance 的状态,用 multi-agent 并行 bounded tasks,并在 permissions、feedback、reflection、sandboxing 与 human oversight 下执行现实动作。