章节 19 / 29 · 课程总览 · 起始 1:32:03

章节主旨

拆解 Karpathy 的 Auto-Research 开源框架:一个”提出假设→执行改动→评估→保留或丢弃→写日志”的自动循环,把 AI 从被指挥的 agent 推进到自主做实验的研究员。本章演示如何 clone 该 repo、用它优化网站 Lighthouse 分数,并给出适配任意场景的三要素判据。

核心论点

  1. Auto-Research 的本质是一个自我改进循环——假设、执行、评估、记日志,好的保留、坏的丢弃,长期沉淀成一份研究日志。(→ 详解1)
  2. 框架落到三个文件:program.md(循环指令)、train.py(被优化对象)、prepare.py(AI 研究专用、对普通场景无关)。(→ 详解2)
  3. 任何有客观指标的目标都能套用:本章 demo 用它把一个 portfolio 站的 Lighthouse 分数在本地 loop 里反复优化。(→ 详解3)
  4. 这是 AI 编码光谱的第三跳:vibe coding → agentic engineering → independent research,人类介入递减,最终退到”principal investigator”位置。(→ 详解4)
  5. 能不能用 Auto-Research,取决于三要素:一个可优化的指标、一个改动该指标的手段、一套评估办法;缺一不可。(→ 详解5)

知识点详解

1. Auto-Research 的起源与循环 1:32:28

是什么。 Karpathy(前 Tesla AI 负责人、OpenAI 创始成员)问自己:我做研究的这些活能不能自动化?他把流程逐步拆开,发现它几乎总是同一个 loop。

循环长这样。 先提一个假设(如”改 X/Y/Z 系统会更快”),然后真去执行改动,再评估结果。评估好就回到起点提下一个假设;评估坏就丢弃、什么都不改、重来。

关键是那份研究日志。 每一步都往一个文档追加记录——这条 work 了、那条没 work 及原因。日积月累就长成一份庞大的 Research Log,记满了”试过什么、什么有用、什么没用”。

2. 框架的三个文件 1:33:31

三文件结构。 整个框架由 prepare.pytrain.pyprogram.md 组成。prepare.py 在 AI 研究里管固定常量、下训练数据、训 tokenizer,对我们优化网站/业务这类场景没用。

核心是 program.md 1:34:03。你在这里用自然语言告诉 agent 该做什么:改这个文件、每改一次打印分数小结并追加到日志。它就照这个 loop 一遍遍跑下去。

train.py 是被优化对象。 在 AI 研究里它是带各层的模型;在本章 demo 里它就是网站本身。你在 prompt 里规定”能改什么、不能改什么”,指定一个日志文件,然后 fire off 让它自己跑。

获取方式。github.com/karpathy/auto-research clone repo,复制链接后在编辑器里让 Claude Code 克隆进当前文件夹(注意指定子目录,别灌进 root)。

3. Demo:用它优化 Lighthouse 分数 1:36:44

目标指标。 先让 agent 建个单页 portfolio 站,再挂上 Auto-Research 去优化 Google Lighthouse 分数——覆盖 LCP、FCP、TBT 和总 performance score。

本地 loop + 实时看板。 指令里同时要一个 live dashboard 1:36:58,好现场盯着它跑。它会读完框架文件、搭好 dashboard,把网站在多个 experiment 里反复微调(如 minify CSS),分数一点点上下浮动,跑够多 loop 后能积累出可观提升。

运行方式可切换。 默认占用主线程边写边改;也可让它转后台,或用 Anthropic agent SDK + API key 在独立 loop 里跑。

4. AI 编码的三阶段光谱 1:37:39

第一阶段 vibe coding(2024–2025):人写 prompt,AI 写代码,人 review。人的角色被压缩成”写提示、做小改动”。

第二阶段 Agentic Engineering:不再对着单个 AI,而是编排多个 agent 同时干活、回传结果,人做导演(director)——评估并给微调建议。这是本课”高阶”部分的主战场。

第三阶段 independent research 1:38:26:连方向都交给 agent,人只设目标(“我要达成 X,你能改 Y/Z,评估标准是这个”),agent 全自主跑。此时人像实验室的 principal investigator,把实验外包给一堆 RA。三阶段是一条人类介入递减的连续谱;大厂(Anthropic、OpenAI)据推测早已在内部这么优化自家产品。

5. Auto-Research 三要素判据 1:42:04

要素一:一个想优化的指标。 必须客观、标准化、无争议——如 Lighthouse 分数,Google 定义好了,没有扯皮空间。

要素二:改动该指标的手段 1:42:29。你得有办法影响那个能改变指标的结果。对 Lighthouse 而言,直接手段就是改网站代码。

要素三:评估办法。 本章 transcript 在此处截断,但对照详解1的 loop,第三要素即”客观测量/评估该指标的方法”——没有评估,循环无法判断保留还是丢弃。

配套纪律。 无效的 run 直接丢弃 1:41:26;可加硬约束收窄改动空间,如要求截图与初版 pixel perfect 1:41:39,逼它别动视觉、只优化性能。

术语

  • Auto-Research:Karpathy 开源的自我改进循环框架,自动”假设-执行-评估-记录”迭代优化某指标。
  • Research Log:循环每步追加的日志文档,长期沉淀所有试过的改动及成败。
  • program.md:框架核心文件,用自然语言写死 agent 每轮该做什么、往哪记日志。
  • Lighthouse:Google 的网页性能评分工具(LCP/FCP/TBT 等),客观标准化,常作优化指标。
  • Agentic Engineering:编排多 agent 协作、人做导演的工程范式,AI 编码光谱的中间阶段。
  • Principal Investigator 模式:人只设目标与评估标准,把执行外包给自主 agent 的协作姿态。

自检问题

  1. Auto-Research 的核心 loop 有哪几步?评估失败时怎么处理? 答案:提假设→执行改动→评估;评估好则保留并进入下一假设,评估坏则丢弃、不改任何东西、重来;全程往 research log 追加记录。见详解1 1:32:28
  2. 框架三文件各是什么?为什么 prepare.py 对优化网站没用? 答案:program.md(循环指令)、train.py(被优化对象,如网站)、prepare.py(下训练数据/训 tokenizer,只服务 AI 研究)。优化网站场景不涉及训练,故 prepare.py 无关。见详解2 1:33:31
  3. 判断一个目标能否套用 Auto-Research,需要满足哪三要素? 答案:①一个客观可优化的指标(如 Lighthouse 分数);②一个能改动该指标的手段(如改代码);③一套评估办法。见详解5 1:42:04
  4. AI 编码光谱的三阶段中,人类角色如何变化? 答案:vibe coding 人是写手(写 prompt+review)→ agentic engineering 人是导演(编排 agent、给微调建议)→ independent research 人是 principal investigator(只设目标与评估,agent 全自主)。介入递减。见详解4 1:37:39