DAY 32 / PHASE 3 · FRONTIER

AI Coding 的下一个五年

SWE-bench 局限 · Time Horizon · 能力重定价 · Agent-Ready Codebase

2026-06-15 · BigCat

别预测模型,预测你自己的工程杠杆怎么变。

// WHY THIS MATTERS

谈「AI Coding 的未来」最容易滑进两个坑:「程序员要失业了」的恐慌,和「不过是更好的自动补全」的傲慢。两者都在赌模型曲线——而那不是你能控制的变量。这一期换个视角,不预测模型多强,只问四个能落到工程动作的问题:(1)为什么 2026 年连 OpenAI 都弃用了 SWE-bench Verified,榜单分数不能当你的选型依据;(2)真正指数增长的指标是 task time horizon(任务时长)而非「智商」,它怎么决定你把多长的任务托管给 agent;(3)哪些工程能力在贬值、哪些在升值;(4)怎么现在就把 codebase 改造成 agent-ready,把五年后的杠杆变成今天的复利动作。结论先放这里:决定你五年后产出的不是用哪个模型,是你的环境对 agent 的可验证性。

// 01

别拿 SWE-bench 分数做选型:一个 benchmark 的死亡

论断:coding benchmark 的半衰期正在坍缩;2026 年 SWE-bench Verified 被官方弃用,证明公开榜单对你个人的选型几乎零信息量。

背景与原理

SWE-bench(Jimenez et al., ICLR 2024)是过去两年 coding agent 的事实标尺:从真实 GitHub issue 抽 bug,让 agent 改代码、跑仓库自带测试判对错。后来 OpenAI 联合做了 SWE-bench Verified——人工筛过的 500 题子集。但 2026 年 2 月 OpenAI 发文停止报告 Verified 分数,理由值得每个工程师记住,因为它们是 benchmark 的通病:

更隐蔽的:同一个模型换一套 scaffold(harness),SWE-bench 分数能差十几个百分点——榜单测的是「模型 + harness」的组合,不是模型本身。Scale AI 的 SWE-bench Pro 用法律上不可被训练的私有代码库做 held-out 集对抗污染,但它仍不是你的分布。结论:公开 benchmark 是厂商的军备竞赛指标,不是你的采购合同。

实战示例

唯一可信的 coding eval 是你自己的、私有的、跟你真实工作同分布的。十分钟就能起一个雏形——从你已合并的 PR 里抽:

# 从自己的 git 历史造 held-out coding eval(私有 = 抗污染)
# 挑 5 个「已知正解 + 有测试」的历史改动,回滚到改动前的 commit
for pr in ["#412 修复时区 off-by-one", "#455 加分页", ...]:
    checkout(pr.base_commit)              # 倒回改动前
    run_agent(task=pr.issue_title)        # 让被测 agent 重做
    passed = run(pr.test_files)           # 用当时真实的测试当 oracle
    log(model, harness, passed, tokens, wall_time)
# 关键:评 model+harness 组合,且 5 题不外泄、定期换新

跑两三个候选模型 / IDE 各一遍,你得到的是带成本和耗时的、对你工作有效的对比——比任何排行榜都值钱。注意把这 5 题当机密,一旦它进了任何公开渠道就被污染作废。

失败模式:把公开 benchmark 直接当回归集,按榜单换模型。下一代模型榜单涨 5pp,你在生产里却感觉变笨——因为它在你的 construct(跨文件、弱测试、隐性约束)上根本没涨,甚至因为输出风格变了,旧 harness 的 diff parser 还漏了它。
进阶资源 · OpenAI Why we no longer evaluate SWE-bench Verified, openai.com/index/why-we-no-longer-evaluate-swe-bench-verified · SWE-bench Pro, arXiv:2509.16941 · SWE-bench 原始论文, arXiv:2310.06770
// 02

在涨的是「任务时长」不是「智商」:按 Time Horizon 分配自主度

论断:真正指数增长的指标是 task time horizon——agent 能独立搞定的任务时长,约每 7 个月翻倍。它比 MMLU 更该决定你把多长的活交给 agent。

背景与原理

METR 在 2025 年的研究(Measuring AI Ability to Complete Long Tasks, arXiv 2503.14499)提出一个更有工程意义的度量:50% 时间视界——人类要花多久的任务,模型能以 50% 成功率完成。他们用 170 个任务 + 800 份人类基线标定,发现这个时长过去六年一直指数上升,约每 7 个月翻一倍。更关键的是增长的来源:不是 raw reasoning 变强,而是可靠性、从错误中恢复、工具使用变好——正是这些让 agent 能撑过更长的链条而不崩。

工程含义:自主度不是开关,是一条连续曲线,横轴是「这任务人类要花多久」。别问「这活该不该交给 AI」,问「它值多少 human-time、可不可验证」,再据此选授权档位。50% 成功率意味着另一半会失败——越长的任务越需要可验证的护栏,而非盲信。

任务的 human-time 推荐授权档位 ( 随曲线右移而升级 ) ──────────────────────────────────────────────────────────── 秒 ~ 几分钟 │ ████░░░░░ 全自动 · 事后扫一眼 diff 几分钟 ~ 1 小时 │ ██████░░░ Plan → 批准 → 执行 → Review gate 1 小时 ~ 半天 │ ████████░ 人切分成可验证子任务,逐段托管 半天以上 │ █████████ 人主导架构,agent 填实现 + 强测试兜底 ──────────────────────────────────────────────────────────── 曲线每 ~7 个月右移一格:今天要盯的,明年可能能放手 ( 但 oracle 不能撤 )

实战示例

把它变成路由规则:给每个委托任务先估一个 human-time 标签,再决定自主度,而不是凭「听起来难不难」拍脑袋。

def route(task):
    h = estimate_human_minutes(task)        # 你自己来估,5 / 30 / 180...
    verifiable = has_tests(task) or reversible(task)
    if h <= 5:                 return "auto"            # 全自动,扫一眼
    if h <= 60 and verifiable: return "plan+review"     # 先看计划再放行
    return "human-split"      # 人先拆成可验证子任务
失败模式:把「50% 时间视界涨到 1 小时」误读成「1 小时内的任务可以放心托管」。50% 是抛硬币——没有 oracle(测试 / 可逆性 / review)兜底就全自动跑长任务,等于在赌。曲线右移降低的是监督频率,从不取消验证
进阶资源 · METR Measuring AI Ability to Complete Long Tasks, metr.org/blog/2025-03-19 · 论文, arXiv:2503.14499
// 03

能力的重新定价:哪些在贬值,哪些在升值

论断:当「生产代码」趋近免费,瓶颈从写代码移到「定义正确 + 大规模验证」;护城河从写得快变成判断得准。

背景与原理

这是这一期最反直觉、也最该今天就行动的一点。当 code generation 的边际成本趋近于零,价值就从生产端移到两端:上游的 specification(把模糊需求变成精确、可执行的意图)和下游的 verification(在海量 AI 产出里判断对错)。Day 25 讲过 verification 已是 agentic IDE 的真正瓶颈——放大到职业尺度,就是一次能力重定价:

反直觉的推论:靠「手速」拉开身位的初级优势被抹平,靠「taste / 判断」的资深溢价反而上升。Karpathy 的 Software 3.0(2025)里,人的角色从「写指令」变成「在 partial autonomy 里把关」——你的稀缺性不在产出速度,在那个收 generation、做裁决的瓶颈位

实战示例

做一次诚实的时间审计,倒逼自己往升值区迁移:

# 连续一周,给每段工作打一个标签,周末算占比
PROD  = 手写实现 / 样板 / 查 API / 单点调试        # ← 贬值区,目标占比↓
SPEC  = 写需求 / 定义验收标准 / 写 eval / 拆任务    # ← 升值区
VERIFY= review AI 产出 / 读代码 / 设计测试与护栏     # ← 升值区

# 多数资深工程师会发现 PROD 仍占 50%+——这正是可迁移的红利
# 行动:每周把 5% 的 PROD 时间,主动换成 SPEC / VERIFY
失败模式:继续把精进投在贬值区——背更多 API、练更快的快捷键、卷打字速度。这是在和 AI 的核心优势正面对撞。同样危险的是放弃 review 能力(「反正 AI 写的」)——一旦你读不懂 AI 的产出,你就从把关人退化成了纯粹的按钮工。
进阶资源 · Karpathy Software Is Changing (Again) / Software 3.0, latent.space/p/s3 · Anthropic Building Effective Agents, anthropic.com/engineering/building-effective-agents
// 04

把 Codebase 改造成 Agent-Ready:为五年后投资的复利动作

论断:决定你五年后 AI 杠杆的,不是用哪个模型,是你的代码库和工作流对 agent 的可读性与可验证性。

背景与原理

agent 的吞吐量受限于 feedback loop 质量,而非模型多聪明。Karpathy 在 Software 3.0 里点明:agent 要干活,需要 docs、memory、tests 和清晰的反馈回路。换句话说——模型再强,也卡在没有 verification oracle 的环境里跑不动。所以「等更强的模型」是伪策略;真正的复利来自改造环境,这些动作今天就降低你的成本,五年后变成 agent 的 runway:

实战示例

一份最小的 agent-readiness 骨架——今天就能 commit 进任何 repo:

# AGENTS.md  —— 把 tacit knowledge 写成 agent 的运行手册
## 构建与测试
- 安装: `pnpm i`   跑全部测试: `pnpm test`   单测: `pnpm test <file>`
- 提交前必须绿: `pnpm lint && pnpm test`

## 架构边界(别跨)
- `core/` 不许 import `web/`;所有 IO 走 `adapters/`

## 已知坑(verification oracle)
- 时区一律用 UTC 存储;钱用整数分,禁用 float
- 改 `schema.sql` 必须同步加 migration + 回归测试

# Agent-readiness 自检:缺一项,你的「更强模型」就少一截 runway
# [ ] 测试能在 1 条命令内跑完且 <2min   [ ] 关键路径有测试覆盖
# [ ] 危险操作可逆 / 有沙箱           [ ] 约定写进了 AGENTS.md
失败模式:把希望全押在「下一代模型」上而不动环境。模型从 50 分涨到 90 分,可你的 repo 没有快测试、没有文档、改一行要手动验证十分钟——agent 依然只能小步挪,因为它每一步都得停下来等你确认。环境的债,模型还不了。
进阶资源 · Karpathy Software 3.0 中关于 agent infra(docs/memory/tests/feedback)的部分, latent.space/p/s3 · Anthropic Building Effective Agents, anthropic.com/engineering/building-effective-agents

// 综合实战 · 给自己做一次「AI 杠杆审计」

把这四点串成一个周末动作。目标不是预测未来,是测出你当前的杠杆缺口,再补最短的那块板。

  1. 建私有 eval(§1):从 git 历史抽 5 个「有正解 + 有测试」的改动,做成 held-out 集,跑你现在在用的 2 个模型/IDE,记下准确率 + token + 耗时。这是你唯一可信的选型依据。
  2. 标 time horizon(§2):把上周做过的 10 个任务按 human-time 排序,对照授权阶梯,看你是不是在「短任务还在手动、长任务却盲信」——两头都常错配。
  3. 时间审计(§3):算 PROD vs SPEC/VERIFY 占比。若 PROD > 50%,挑一件本周的实现活,强迫自己只写 spec + review,让 agent 写实现。
  4. 补 agent-readiness(§4):给你最常改的那个 repo 加一份 AGENTS.md + 跑通「一条命令跑测试」。这是给五年后的自己存的复利。

做完你会发现:「AI Coding 的未来」对你不是一个预测题,是四个今天就能动的工程缺口。模型曲线交给厂商,杠杆曲线握在自己手里。

// ENGLISH GLOSSARY

SWE-bench / Verified / Pro
从真实 GitHub issue 构建的 coding agent 基准;Verified 是人工筛过的 500 题子集,2026 年因污染被弃用;Pro 用私有 held-out 集抗污染。
Contamination
测试题进入了训练数据,模型靠背诵而非能力得分,使榜单虚高。公开来源的 benchmark 通病。
Construct Gap
benchmark 测的分布与你真实工作分布的差距。高分≠在你的代码库里能干活。
Time Horizon
METR 度量:模型能以 50% 成功率完成的、以人类耗时计的任务时长。约每 7 个月翻倍。
Verification Oracle
能自动判定产出对错的机制(测试 / 类型 / 可逆性)。agent 自主度的上限由它决定。
Specification
把模糊需求变成精确、可执行意图的能力。生成趋近免费后的升值技能。
Blast Radius
一次操作出错能波及的范围。越小越能安全托管给高自主度 agent。
Agent-Ready
codebase / 工作流对 agent 的可读性与可验证性:快测试、文档、清晰边界、可逆操作。
Partial Autonomy
Karpathy 术语:人留在回路里把关,逐步把任务移交给 agent,而非全自动替换。

// 深入思考

若 time horizon 每 7 月翻倍,五年后约 500 倍,「半天任务」变成「几个月任务」。§4 的 agent-readiness 投资会不会被通用能力淹没、白做?
恰恰相反。增长的来源是可靠性与错误恢复,这两者都依赖外部反馈——模型再会自我纠错,也要先有 oracle 告诉它「错了」。能跑三个月的 agent 没有强测试兜底,等于无监督地复利错误三个月。通用能力涨的是「单步能力 × 步数」,agent-readiness 涨的是「每步的可验证性」——后者是前者的乘数,不是替代项,是少数不会被模型曲线吃掉的复利。
§1 说公开 benchmark 对个人选型零信息量,但厂商发布会人人都看 SWE-bench。若它无意义,为什么行业还在用?
因为它服务的是不同的决策。厂商需要一个统一、可比、驱动迭代的北极星——哪怕有污染,同代内的相对排序仍有信号。而你的决策是「在我的代码库、我的预算下选哪个」,公开榜单的分布、harness、成本都不是你的。类比:官方百公里油耗横向可比,却预测不了你每天堵车的真实油耗。
§3 说手速贬值、判断升值。但判断力往往来自大量亲手写代码。新人不再手写,怎么长出 review 的品味?这条代际链会断吗?
真问题,没有干净答案。品味部分来自「写过、踩过、debug 过」,而 AI 抹掉的正是这段。可能的代偿:(1) review 本身是高强度学习,大量读好/坏代码配合能解释「为什么」的 AI,未必比慢慢手写慢;(2) 像飞行员仍练手动降落,刻意保留「关掉 autocomplete 啃硬骨头」的训练区。风险真实:只会按「接受」的人品味链会断,退化成按钮工。这要求主动设计「故意吃力」的训练,而非顺省力默认路径滑下去。
§2 按 human-time 分档授权。但有的任务对人快、对 AI 难(依赖隐性上下文的一行改动),反之亦然。human-time 是好的代理变量吗?
够用但不完美的一阶近似。它可测、可比、跨任务统一。但「人机难度错位」确实存在。所以 §2 的路由加了第二维 verifiable——真正的授权是 human-time × 可验证性 的二维平面,不是单轴。human-time 给你起点,错位案例靠你的私有 eval(§1)去校准,两者配合用。
四点合起来:若人人都做 agent-readiness、都迁移到 SPEC/VERIFY,护城河不就又被抹平?新的稀缺性在哪?
稀缺性会上移,但不消失,因为它难以规模化复制。当人人都能让 agent 写代码,瓶颈变成「问对问题」和「判断什么值得做」——taste、对真实需求的理解、对二阶效应的预判,没有 benchmark、无法蒸馏、无法速成。另一方向是责任与信任:愿为 AI 产出署名担责、能设计出让一群 agent 安全协作的架构的人。历次工具普及(编译器、框架、云)都没让工程师失业,而是把稀缺性推向更高抽象层——只是这次迁移更快,慢一步代价更大。

// 延伸阅读