Clipping 微信公众号

300 亿 Token,30 万行代码,30万字烧出来的Harness实践,我开源了

by 李泽宇的AI实验室 原文 ↗
Created: 2026-04-29

公众号名称:榴莲的AI实验室

作者名称:李泽宇的AI实验室

发布时间:2026-04-14 17:53

三月份,我消耗了大约 300 亿 token

大部分用 AI 写代码的人,一个月的 token 消耗量在几亿到几十亿。我是几十倍到上百倍。

这 300 亿 token 花在了一件事上:让 AI 持续性地、按排期地、在一个真实项目上跑了一整个月。 一个人配合 AI,三周半的快速开发期,产生了近 60 万行代码和文档改动。代码仓库 30 万行改动,文档仓库 30 万行改动。到今天,项目的源码量大约 20 万行,五百多次提交,413 篇 walkthrough 记录,441 个任务计划目录。

我一行代码没看,文档也很少看。

coding-agent-harness skill已开源,任何项目加载此skill都可以安装这套骨架,仓库:https://github.com/FairladyZ625/coding-agent-harness,MIT协议,喜欢的话,欢迎STAR🌟


300 亿 token 买不来正确性

让 AI 写代码,到今天已经不算太难了。Codex、Claude Code、Gemini CLI,给一个足够清晰的上下文,它就能产出可用的代码。

真正难的是:当任务要持续几天、几周、让他自己不监管的上百轮迭代的时候,怎么保证它不跑偏。

第一轮迭代里给 agent 的指令,到第十轮可能已经过时了。同时开三四个 worktree 跑不同的 feature,每个 worktree 里的 agent 都在独立演化。改了 A 功能之后 B 功能有没有被悄悄破坏,你不跑一遍根本不知道。

行业里管解决这类问题的工程体系叫 Harness Engineering。OpenAI、Anthropic、LangChain 都在 2026 年初密集发表了相关实践。我们也在做同样的事,只不过有一个有意思的递归:我们这个项目本身就是一个 Context Harness 平台,而我们开发它的方法,也是一套完整的 Harness 工程体系。用 Harness 做 Harness。


踩过的坑

上下文越多,AI 表现越差

这个坑我前面详细聊过,3000 行的 CLAUDE.md 删到 148 行的故事。上下文不是越多越好,是越准越好。 把所有规则塞进一个文件,agent 反而在不相关的约束之间打转。

没看过那篇的可以回去翻一下:

FairladyZ,公众号:榴莲的AI实验室3000 行的 CLAUDE.md,我删到只剩 148 行

在长程项目上这个问题被放大了十倍。不只是一个文件的问题,而是整个信息环境的设计问题,什么时候给 agent 看什么、不看什么、看多深,成为了最重要的事。

回归测试靠人肉,迟早崩

早期每次改完东西,我就手动跑一遍看看有没有坏。代码量一上来,这种方式直接崩了,根本记不住所有该检查的点。更麻烦的是,有些 bug 是潜伏的,不会在你手测的那几个路径里暴露出来。

我们有一个 Discord 插件,负责把 Slash 命令桥接到后端。有一次改了后端的任务状态机逻辑,单元测试全过了,本地跑起来也没问题。但到了真实 Discord 环境下,插件的 live-status 更新链路断了,因为状态机的事件格式变了,插件那边没有同步更新。这种跨层的、只在真实环境下才暴露的问题,单元测试根本覆盖不到。

后来我们搞了一套叫 Evidence Depth(证据深度) 的分层体系。每条回归面都标注了它的证据到了哪一层:

一眼就能看到哪些地方的信心是实的,哪些还是虚的。

目前我们有 9 条 Active Fixed Regression Gates,每条都有固定的命令行入口,一条命令就能跑。还有 Cadence Ledger,定义了什么情况下自动触发哪些回归面。改了 plugin command surface,就自动跑 plugin live + slash diagnosis + browser query 三条组合门。不用人记住,系统自己知道该跑什么。

到今天,已经跑了 大量Shared Regression Batch,表现稳定。

严肃项目不要用便宜模型

和直觉相反的是,开发 Agora 的过程中,我们几乎全程使用顶级模型,Opus 4.6、GPT 5.4、Gemini 3.1 Pro。以前我们尝试过简单任务用便宜模型,发现 返工成本远高于模型本身的差价

便宜模型写出来的代码,表面上能跑,但架构决策经常是错的。你让它做一个需要理解三层解耦原则的重构,它会给你一个”能编译但违反核心约束”的方案。花在发现问题、回滚、重新指导上的时间和 token,比直接用顶级模型一次做对要贵得多。

在严肃项目开发中,模型质量不是省钱的地方。 300 亿 token 听起来很多,但如果用便宜模型跑出一堆需要返工的代码,成本只会更高。


一个 Feature 的完整生命周期

直接讲我们开发一个 feature 的完整流程。

Brainstorming

每个非平凡的 feature 都从讨论开始。先把需求想清楚,动机、边界、跟现有架构怎么衔接。产出是一个设计讨论记录,落盘到 docs/03-ARCHITECTURE/

Planning with Files

讨论完之后,在 docs/09-PLANNING/TASKS/ 下建一个独立的任务目录,至少包含三个文件:task_plan.md(计划)、findings.md(发现)、progress.md(进度)。agent 在长时间执行过程中,每个阶段前读计划,每个阶段后更新状态。这三个文件就是它不偏离目标的锚点。

SSoT 排期

核心文档。任务计划写完后,回写到 Agora-实施排期-Agora-TS.md,这是整个 TS 实现的单一事实源。开始任何非平凡任务前先读这个文件,完成后必须回写。SSoT 和 planning 双向绑定。

Worktree 并行开发

所有非平凡代码任务,默认先开独立的 git worktree,再开始写代码。我可以同时开七八个 worktree 跑不同的 feature,每个 worktree 里的 agent 在自己的分支上独立工作,互不干扰。

为什么并行开发不会乱?因为每个 worktree 有自己的 planning 目录、自己的 progress 文件、自己的分支。agent 只看自己那份计划,不会被别的 worktree 的上下文污染。merge 回主干的时候,Cadence Ledger 自动触发对应的回归面,改了什么就跑什么。

Walkthrough 收口

每个 wave 完成后,必须写一篇 walkthrough,做了什么、怎么验证的、residual 是什么。413 篇 walkthrough,就是 413 次这样的收口。

Worktree 清理

merge 完成后,对应的 worktree 删除。不允许长期堆积。


几十万行文档,我大部分没看过

这套流程跑下来,产生了一个很有意思的现象:项目里有 3966 个文档文件,几十万行的文字,我大部分没看过。

441 个任务计划目录,我没看过。413 篇 walkthrough,我没看过。12 个 reference 标准文件,我写完之后就没再打开过。

我看的是什么?排期表、架构设计文档、和 agent 执行过程中的 output。 方向对不对,结果行不行,中间过程全部交给 agent 自己管理。

很多人会觉得文档是写给人看的。在这个项目里,文档是写给 Agent 看的

人的 attention 是有限的。20 万行源码、3966 个文档文件,没有人能全部看完。但 agent 可以。

你的工作是设计好这个信息环境,让 agent 在里面自主导航,而你只需要看方向和结果。

这跟技术总监管团队是一个道理。技术总监会要求开发者写很多,但他不会去看每个人的技术方案写了什么,不会去看每行代码改了什么。

他管的是流程和方向。


一个正在浮现的共识

做这个项目的过程中,我们一直在边做边看行业里其他人在做什么。边做、边看、边吸收、边成长。

2 月底 3 月初我们开始往这个方向做的时候,OpenAI 刚发了 Harness Engineering 那篇文章,我们甚至还没看过。但做着做着,回头看别人的文章,发现思路是相似的。

OpenAI 的核心结论之一是 AGENTS.md 应该当目录用、repository knowledge 作为 system of record、用 linter 强制执行架构约束。Anthropic 发了 Long-running Agents 的方案,Initializer Agent 搭环境、Coding Agent 增量推进、Feature List JSON 追踪进度、每个 session 留 clean state。LangChain 做了 Trace Analyzer + Self-Verify 循环。Inngest 提出”Harness not Framework”的事件驱动架构。

这些方案各有侧重,但底层逻辑都在收敛:agent 需要的是一套工程化的支撑体系。

很多团队都在同时探索类似的东西。Harness Engineering 正在从各家各户的经验之谈,收敛成一套行业共识。


这套方法论我们已经开源,作为一个Skill

我们开源的是 方法论和抽象能力,让它对任何项目都有通用价值:

  • AGENTS.md 设计模式,宪章 + 索引 + Task-Type Reading Matrix

  • Regression SSoT 治理规范,回归控制塔、Evidence Depth、Shared Batch

  • Planning Loop + Walkthrough 强制流程

  • Worktree 并行开发规范

  • Cadence Ledger

  • Reference 标准体系,12 个独立标准文件的按需加载架构

这些东西不绑定我的项目,不绑定任何特定的 agent runtime。Claude Code、Codex、Gemini CLI、CrewAI 或者自研系统,都可以直接套用。

而且这只是一套 base harness——骨架。你完全可以在上面叠加自己习惯的工作流。比如 Garry Tan(YC CEO)的 gstack,比如 everything-claude-code,比如最出名的Superpowers。

这些工具跟我们的 harness 不冲突。我们的 base harness 管的是项目级的治理框架——文档怎么组织、任务怎么排期、回归怎么跑、worktree 怎么并行。而 gstack 管的是执行层的专业分工——代码审查、安全审计、UI 质检。everything-claude-code 管的是 agent 自身的性能和记忆优化。

base harness 是地基,上面盖什么楼随你。 你可以只拿骨架用,也可以叠加上面任何一种或几种工作流。下一篇,聊 Agora 本身,用这套 harness 做出来的东西到底是什么,以及”用 Harness 做 Harness”这件事本身意味着什么。


参考链接:


cover_image

原创 李泽宇的AI实验室 榴莲的AI实验室

修改于

输入关键词开始搜索