---
title: '19 搭建 Auto-Research'
video_id: UPtmKh1vMN8
part: 19
---

> 章节 19 / 29 · [[00-总览|课程总览]] · 起始 [1:32:03](https://youtu.be/UPtmKh1vMN8?t=5523)


## 章节主旨

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

## 核心论点

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

## 知识点详解

### 1. Auto-Research 的起源与循环 [1:32:28](https://youtu.be/UPtmKh1vMN8?t=5548)

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

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

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

### 2. 框架的三个文件 [1:33:31](https://youtu.be/UPtmKh1vMN8?t=5611)

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

**核心是 program.md** [1:34:03](https://youtu.be/UPtmKh1vMN8?t=5643)。你在这里用自然语言告诉 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](https://youtu.be/UPtmKh1vMN8?t=5804)

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

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

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

### 4. AI 编码的三阶段光谱 [1:37:39](https://youtu.be/UPtmKh1vMN8?t=5859)

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

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

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

### 5. Auto-Research 三要素判据 [1:42:04](https://youtu.be/UPtmKh1vMN8?t=6124)

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

**要素二:改动该指标的手段** [1:42:29](https://youtu.be/UPtmKh1vMN8?t=6149)。你得有办法影响那个能改变指标的结果。对 Lighthouse 而言,直接手段就是改网站代码。

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

**配套纪律。** 无效的 run 直接丢弃 [1:41:26](https://youtu.be/UPtmKh1vMN8?t=6086);可加硬约束收窄改动空间,如要求截图与初版 pixel perfect [1:41:39](https://youtu.be/UPtmKh1vMN8?t=6099),逼它别动视觉、只优化性能。

## 术语

- 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](https://youtu.be/UPtmKh1vMN8?t=5548)。
2. 框架三文件各是什么?为什么 `prepare.py` 对优化网站没用?
   **答案**:`program.md`(循环指令)、`train.py`(被优化对象,如网站)、`prepare.py`(下训练数据/训 tokenizer,只服务 AI 研究)。优化网站场景不涉及训练,故 prepare.py 无关。见详解2 [1:33:31](https://youtu.be/UPtmKh1vMN8?t=5611)。
3. 判断一个目标能否套用 Auto-Research,需要满足哪三要素?
   **答案**:①一个客观可优化的指标(如 Lighthouse 分数);②一个能改动该指标的手段(如改代码);③一套评估办法。见详解5 [1:42:04](https://youtu.be/UPtmKh1vMN8?t=6124)。
4. AI 编码光谱的三阶段中,人类角色如何变化?
   **答案**:vibe coding 人是写手(写 prompt+review)→ agentic engineering 人是导演(编排 agent、给微调建议)→ independent research 人是 principal investigator(只设目标与评估,agent 全自主)。介入递减。见详解4 [1:37:39](https://youtu.be/UPtmKh1vMN8?t=5859)。