三个月,两万美元,零行人类写的代码。这篇不夸他牛,只拆他那张账单——里面有几条你今天就能抄。
✿ ✿ ✿
开篇
今天上午我把这个仓库的贡献者列表拉了一遍,返回长这样:
ai-teammate 1247 github-actions[bot] 323 vabhzw17eg2qu4m9-bit 302 IstiN 105 ← 仓库作者本人 YuryBY 4 uladzimir-klyshevich-epam 1 dependabot[bot] 1提交最多的那个账号叫 ai-teammate。1247 次。项目作者本人排第四,105 次。
仓库是 IstiN/flutter_agent_harness,MIT 协议,Dart 写的,7 月 13 日建的,昨天还在推。作者叫 Uladzimir Klyshevich,白俄人。他昨天发了一篇帖子,标题是《我们烧了 400 亿 token(约 2 万美元)造了个 harness。我是不是疯了?》。
贡献榜上人类排第四
✿ ✿ ✿
这四百亿到底花在哪了
先说清楚 harness 是什么。你用 Claude Code 或者 Codex CLI 的时候,真正干活的是模型,但决定"怎么把活拆开、工具怎么调、上下文怎么压、失败了怎么重来"的那一层壳,就是 harness。模型是发动机,harness 是整台车。
他想要一个能在手机、浏览器、桌面、终端上跑同一套逻辑的 harness。于是他没写代码,他写规则,然后让 agent 去写。
账单他拆得很细,这是最值钱的部分:
cached read 约 24B token $0.15/M ≈ $3,600 fresh input 约 14B token $0.60/M ≈ $8,400 output 约 2B token $2.50/M ≈ $5,000 ───────── 合计 约 $17,000–20,000盯着这三行多看两眼,能看出一件很反直觉的事:
cache read 占了六成的 token 用量,只花掉不到两成的钱;output 只占 5% 的用量,却吃掉四分之一的账单。
换句话说,让 agent 多读、少写,是成本结构上最划算的事。你给它塞十万字的上下文不太心疼,但让它吐一万字的代码就开始烧钱了。这条结论对任何人都成立,跟你用哪个工具没关系。
还有一条:他用的不是旗舰模型。Kimi K3、GLM-5.3、GLM-5.3-Flash,按任务路由——哪个便宜且干得动就用哪个。整整三个月,他没为"用最强的模型"付过溢价。
作为对照,他把同样的范围拿去问外包团队报价:跨平台 harness、CLI、手机 app、网页版、浏览器扩展、Outlook 插件、CI 自动化——回复是 6 到 12 个月,30 万美元起。
账单三行里的反直觉
✿ ✿ ✿
最贵的一项不是写代码
这是我觉得整篇帖子里最该被抄走的一段。
他说账单里那 2 万美元,只有一半花在"造东西"上。另一半花在证明东西能用。
按 API 价,这套质量环每周大约烧 2500 美元——比很多团队花在开发本身上的钱还多。
这个质量环长什么样:每一次提交,CI 里都有 agent 跑自动审查,带硬复杂度门禁(他用的是 crap4dart)。写得一团糟的代码,PR 直接过不去。没有 QA 部门,没有发布经理,main 分支一直是绿的——不是"自从上次事故以来是绿的",是一直绿。
说实话,这一段才是把"vibe coding"和"玩具"分开的那条线。
大多数人用 agent 写代码的失败方式都一样:让它写得飞快,然后没人验。三天之后你面对一坨两万行的东西,不知道哪行是对的,回滚也回滚不干净。他的解法很笨但很有效——把验证这件事本身也交给 agent,并且愿意为它付比开发更贵的钱。
结果是这个 harness 现在自己造自己。上周六,他那条流水线一天连发了五个版本,v0.1.423 到 v0.1.427,全程没人插手。
质量环比开发本身更贵
✿ ✿ ✿
几个可以直接抄的设计
抛开"一个人干出个 harness"这种叙事,他这套东西里有三个设计我觉得值得单拎出来讲,因为它们解决的是每个用 agent 写代码的人都会撞上的问题。
一、记忆放进 git,而不是放进上下文。
他的长期记忆就是一堆纯 Markdown:一个 MEMORY.md 加若干笔记文件,扔在一个能被 git 追踪的目录里。删除不是真删,是往一个只追加的墓碑账本里写一笔,这样多分支合并的时候不会打架。
好处很直白:clone 仓库就等于继承了这个项目学到的全部东西——约定、决策、踩过又填平的坑。换模型、换机器、上下文被压缩,记忆都还在,因为它从一开始就没待在上下文里。
二、session 是可以 fork 的树,不是一条线。
每个会话都是只追加的 JSONL 树,每条消息、每次工具调用都能分叉、能重放。
"等一下,回到你动数据库之前"——在他这儿是一个受支持的操作,而不是一句祈祷。
他顺手提了个数:最长的一次 session 文件长到 1.4GB,现在 resume 回去大概一秒。
三、沙箱是一个 20 行的 YAML。
他管这个叫 cube:一份声明式的沙箱配置,规定这次运行能执行哪些命令、能连哪些主机、能碰哪些路径、能看见哪些环境变量、最多烧多少时间和磁盘。
规则设计得很保守:deny 永远优先,白名单空着等于全拒,配置文件写坏了直接启动报错——绝不会"配置有问题所以放开跑"。底层在 macOS 上用 sandbox-exec,Linux 上用 unshare + ulimit。
所以"这个 agent 只能读这个仓库、只能连 api.github.com 的 443 端口,别的什么都不行",是一个文件,不是一句承诺。
三个可以直接抄的设计
✿ ✿ ✿
顺便,还有个反差
同一天,9 月 21 日,AWS 开源了自家的 Strands harness,Apache 2.0。
官方说法是:在六个 benchmark 上,用同样的 Claude 或 GPT 模型,它比 Claude Code、Codex 这些省 28% 的 token 成本;配 Fable 5 的时候比 Claude Code 省 77%,Terminal Bench 2.1 分数还更高一点。
省在哪它也写得明白:工具返回结果超过约 1500 token 就截断,上下文用到 85% 就触发摘要。
两件事放一起看挺有意思。一边是云厂商拿工程团队去抠 28%,一边是一个人烧 2 万美元硬造一套。方向不同,但撞上的是同一堵墙——现在决定 agent 好不好用、贵不贵的,越来越不是模型,是模型外面那层壳。
顺带说个扎心的数字:这个烧了 400 亿 token 的仓库,今天的 star 数是 17。
两条路撞上同一堵墙
— — —
✿ ✿ ✿
写在最后
他自己在帖子结尾写了一句:"把它弄坏了记得告诉我,这会变成下一篇帖子的素材。"
这种态度比那 400 亿 token 值钱。
三条今天就能用的:
- 01看一眼你自己的 token 账单构成。
如果 output 占比高得离谱,说明你在让 agent 大段大段地重写,而不是精准地改。让它多读、少写。 - 02给"验证"单独留预算。
不管是 CI 里加一道 agent 审查,还是一条复杂度门禁——只要你没有"过不去就不许合"的硬关卡,写得越快,塌得越快。 - 03把项目知识写进文件,别指望留在上下文里。
一个 MEMORY.md跟着仓库走,比任何长上下文都可靠。
三条今天就能用的
最后一件事,他那个仓库现在有 23 个 open issue。他在帖子里说,提 issue 的人就算这个项目的产品经理。
花两分钟去翻一翻那份 issue 列表——比读十篇"AI 编程的未来"有用得多。