ByteNoteByteNote

字节笔记本

2026年6月19日

把最贵的模型用来「不写代码」:聊聊 shadcn 刚开源的 improve

API中转
¥120

很多人迷信最强的模型——能上 Opus 就绝不用便宜档,好像档位越高,代码就越靠谱。

但好钢得用在刀刃上。

想想你平时是怎么写代码的:挂上顶配模型,让它从读懂需求、定方案,一路写到打样板、跑测试、把报红的地方改绿。前面那几步是真在动脑子,后面一长串,基本是照着既定思路敲的力气活。一条链路从头到尾都摁着最贵的模型,等于拿好钢去剁骨头——刀是好刀,只是全使在了不值钱的地方。

shadcn 上周扔出来一个东西,主张正好反过来:最强的模型,专门用来不写代码。

这个项目叫 improve,一个 Agent Skill,几天时间冲到 4.3k star。它干的事一句话能说清——让你最贵的模型去审你的代码库、判断什么值得做、把改造方案写成一份份规格说明,然后把「动手」这件最不值钱的事,丢给便宜模型去做。

它自己一行业务代码都不改。用它的话说:计划即产品。

text
你          →  /improve                  (贵模型,出主意)
plans/      →  001-fix-n-plus-one.md     (自洽的规格)
另一个 agent →  实现、测试、上线           (便宜模型,干活)

它聪明在哪

写过 AI 编码工作流的人都踩过同一个坑:让大模型「列个计划」,列得头头是道,换个上下文一执行就崩。因为那份计划默认了一堆「我们刚才聊过」的隐藏前提,而真正干活的那个 agent 从没听过这场对话。

improve 的整套设计,都是冲着这个坑去的。

审计阶段,它把任务拆成九个并行子 agent 跑:正确性、安全、性能、测试覆盖、技术债、依赖与迁移、开发体验、文档,外加一个「方向」——也就是这项目接下来该往哪走。每一条发现都必须挂上 文件:行号 的证据、影响、工作量、置信度。

最关键的是审计完之后那一步:复核。子 agent 天生爱多报,所以主 advisor 会把每一条引用的位置,自己再读一遍,然后才给你看。误报丢掉,引用错的纠正,被否掉的还要记下来——比如它跑 shadcn/ui 时,把 https_proxy 环境变量当成 SSRF 报了上来,复核时一句「这是每个 CLI 都遵守的代理惯例,不是问题」给毙了,并写进记录,保证下次不再冒出来。

这一步才是分水岭。市面上多数「AI 审计」就败在没人替子 agent 兜底。

那份计划,是写给最弱的执行者看的

improve 写出来的 plan,有个明确假设:读它的可能是一个从没见过这场会话、参数还小得多的模型。所以三条铁律撑着它:

自洽。 所有上下文内联——确切路径、当前代码片段、仓库自己的约定加一个范例文件、验证过的命令。不准出现「如上所述」。

验证闸门。 每一步结尾都带一条命令和它该输出的结果。完成标准是机器可判的,执行者永远不用自己猜「我到底成没成」。

硬边界。 明确的「不在范围内」清单,加上 STOP 条件——「如果出现 X,停下,上报」,而不是让小模型在现实对不上计划时即兴发挥。

每份计划还盖了它生成时对应的 git commit,执行前先做一次机械的漂移检查。这些细节堆在一起,才让「便宜模型也能干」这句话立得住。

说白了,它把执行这件事,变成了一场开卷考试。该动脑子的部分——读懂代码、判断取舍、定下方案——在出卷子的时候就考完了。留给执行者的卷面上,路径、代码、命令、判分标准全印好了,它不需要多聪明,照着抄、对答案就行。这才是「便宜模型也能干」的真正原因:难的那部分,贵模型已经替它考过了。

闭环:它不只是甩个文档给你

计划不是写完就完。

execute 会在一个隔离的 git worktree 里拉起便宜执行者,把计划交给它,然后像 tech lead 一样审结果:逐条重跑完成标准、检查有没有越界、对着意图读 diff。最后给判决——通过(合不合并你自己定)、打回重做(最多两轮)、或者直接拦下来去改计划。

reconcile 负责清理积压:已完成的核实还成不成立,卡住的重写绕开障碍,飘了的刷新,被别处顺手修掉的退役。

--issues 则把计划直接发成 GitHub issue,任何 agent 或人都能在活儿已经在的地方接手。

还有几条它死守的红线:从不碰源码,从不跑会改动工作区的命令,从不复现密钥的值——只告诉你位置和类型,然后劝你轮换。你让它直接实现?它会拒绝,把计划甩给你,或者问要不要 execute。

这份克制,本身就是产品的一部分。

算一笔经济帐:贵的只花在刀刃上

把这套拆法翻译成钱,逻辑立刻就清楚了。

一个真实项目里,token 的大头从来不在「想清楚要改什么」,而在「反复改、反复试、反复重写」那一摞执行动作上。可偏偏「想清楚」才是智慧复利的地方,「敲出来」基本是力气活。

improve 做的,就是把贵模型只摁在前一半上。审计加写规格,token 量不大,但每一个都花在刀刃上;真正吃 token 的执行环节,整个甩给便宜档。

便宜档现在便宜到什么程度?DeepSeek V4 Flash 这一档,大约 0.14 / 0.28 美元每百万 token,按各家定价站点的口径,比 Opus 4.8 那一档便宜 35 到 100 倍。同样一摞「敲代码、跑测试、改到过」的力气活,顶配模型干是一个价,换便宜档干,账单直接砍掉一到两个数量级。

性价比的窍门就在这:别拿顶配的钱,去买那些根本不需要顶配的动作。打样板、按 checklist 跑命令、把 diff 调到测试变绿——这些活换谁干结果都一样,凭什么付贵的钱。

速度是顺手白捡的。便宜档往往也是快档,延迟低、吞吐高;再加上审计时九路子 agent 并行、执行时在隔离 worktree 里跑,墙上时钟的体感,比「一个顶配模型从头串到尾」快出一截。

接着上面那个比喻:贵模型负责把卷子和标准答案都出好,便宜模型负责又快又省地把它做完——还有人在旁边判卷。一场考试的钱,这么花才不冤。

它真正捅破的那层窗户纸

如果你只把 improve 当成「又一个 AI 编码工具」,那就看小了。

它把一种正在成形的分工,第一次拼成了完整闭环:判断层执行层分开,各用各的模型档位。X 上有人评论得很直白——平时拿聪明模型规划,然后甩给便宜的 Composer 干粗活。这句话之所以一堆人点头,是因为大家其实早就这么干了,只是手动、零散、没工具收口。

shadcn 做的,是把这套手搓流程标准化成一个 skill。

值不值得现在就上手?有两个前提得认清。一是 execute 要求宿主 agent 能在隔离 worktree 里拉子 agent,你的环境不支持就只能手动接计划。二是整套链条的天花板,全压在计划质量上——规格写垮了,再便宜的执行者也只会更快地把你带沟里。

但方向是对的。模型分档越拉越开,「什么活配什么档」会越来越像一道工程题,而不是一句口号。improve 算是把这道题的解,先写下来了一版。

分享: