shadcn/improve:让最强模型当架构师,便宜模型当码农

shadcn/improve:让最强模型当架构师,便宜模型当码农

前两天刷 GitHub Trending,看到一个项目两天涨了 1400+ star,作者是 shadcn------对,就是那个做 shadcn/ui 的大佬。点进去看了下,思路挺有意思的。

这是个什么东西

简单说,improve 是一个 Agent Skill,它的核心逻辑就一句话:用你最贵的模型做最值钱的事,用便宜的模型做体力活。

具体怎么玩呢?你把 improve 装到 Claude Code 或者 Cursor 里,然后:

  1. 跑 /improve,它会扫描整个代码库,从正确性、安全性、性能、测试覆盖率、技术债、依赖迁移、开发体验、文档、方向建议九个维度做审计
  2. 审计完给你一张表,列出所有发现的问题,按性价比排序(影响力 ÷ 工作量,再乘以置信度)
  3. 你挑几个想修的,它帮你写执行计划------存到 plans/ 目录下
  4. 把计划丢给便宜模型执行,或者让它自己调度:/improve execute 001

整个流程里,improve 自己一行代码都不改。它只做两件事:审计 + 写计划。

为什么我觉得这个思路很妙

最近大家都在讨论 AI 编程的成本问题。Claude Opus 写代码确实厉害,但烧 token 跟烧钱似的。DeepSeek、Qwen 这些便宜模型写简单代码没问题,但让它理解一个几万行的项目、判断哪里该重构、怎么写不会引入新 bug------说实话,差点意思。

improve 的做法就是把"理解"和"执行"拆开:

  • 理解代码库、判断优先级、写方案 → 最强模型干(贵但值)
  • 照着方案写代码、跑测试、修 lint → 便宜模型干(便宜且够用)

这个分工跟人类团队一模一样------架构师做设计,初级程序员写代码。只不过现在这个"架构师"是 Claude Opus,"初级程序员"是 DeepSeek。

实际效果怎么样

improve 的 README 里给了一个真实案例。作者拿它跑了 shadcn/ui 的代码库,审计结果长这样:

scss 复制代码
| # | Finding                                        | Category  | Effort | Confidence |
|---|------------------------------------------------|-----------|--------|------------|
| 1 | shadow-config duplicated in search.ts/view.ts, | tech-debt | M      | HIGH       |
|   | copies already drifted (TODO at search.ts:31)  |           |        |            |
| 2 | O(n²) icon migration (migrate-icons.ts:168)    | perf      | S      | HIGH       |

它发现了 search.ts 和 view.ts 里各有一份重复的 shadow config 逻辑,而且两份代码已经产生了分歧------search.ts 用 createConfig({style: "new-york"}) 做种子,view.ts 用的是裸的 configWithDefaults({})。代码里甚至有个 TODO 注释写着"我们知道这里重复了但没空修"。

然后它产出了一份执行计划(放在 plans/001-extract-shadow-config-resolution.md),里面包含:

  • 当前代码的精确摘录(带行号)
  • 每一步要改什么文件、怎么改
  • 每一步的验证命令和预期输出
  • STOP 条件(什么情况下停下来别继续)
  • 明确的 scope 边界(哪些文件不能碰)

这份计划写得有多细呢?连 git 分支名、commit message 格式都给你定好了。任何一个便宜模型拿到这份计划,闭着眼睛都能执行。

更狠的是,它还标记了几个"假阳性"------子 agent 报告了问题,但 improve 自己重新读了代码后判断这不是问题,直接拒绝,还记录了拒绝原因:

csharp 复制代码
- [SEC-01] https_proxy env var "SSRF": by-design --- standard proxy convention,
  every CLI honors it. Not a finding.

这个"自己审自己"的环节挺关键的。子 agent 会过度报告(宁可错杀不可放过),但 improve 在展示给你之前会亲自验证每一个发现------错误的纠正,假阳性直接丢掉。这比那些"AI 审计工具"一股脑丢给你 200 个问题的做法靠谱多了。

执行计划为什么能"可执行"

improve 写的计划有个特点:它是写给最弱的执行者看的。

什么意思呢?执行这份计划的模型可能从来没见过 improve 的上下文,可能是个很小的模型。所以计划必须做到三点:

自包含。 所有上下文都内联在计划里------精确的文件路径、当前代码摘录、仓库规范、验证命令。不存在"如上所述"这种引用。

可验证。 每一步结束都有验证命令和预期输出。完成标准是机器可检查的,执行者不需要自己判断"我是不是做对了"。

硬边界。 明确的 out-of-scope 列表和 STOP 条件------"如果 X 发生,停下来报告"。不让小模型在遇到意外情况时自由发挥。

这个设计思路其实很工程化。本质上就是把"不确定性"关在审计阶段,执行阶段变成纯机械操作。

怎么装

一条命令:

bash 复制代码
npx skills add shadcn/improve

支持所有兼容 Agent Skills 格式的工具------Claude Code、Cursor、Codex 等等。产出的计划是纯 Markdown,所以任何 agent(甚至人类)都能执行。

使用流程

第一次用的典型流程:

  1. 在项目根目录跑 /improve(想省钱就 /improve quick,只做快速扫描)
  2. 它扫描完给你一张发现表,你回复"plan 1, 3, 5"选几个想修的
  3. 计划写入 plans/ 目录,每份一个文件,附带索引和推荐顺序
  4. 把计划丢给任何 agent 执行,或者让它调度:/improve execute 001
  5. 下次回来跑 /improve reconcile,它会检查哪些完成了、哪些过时了、哪些卡住了

还有一些变体:

  • /improve security --- 专注安全审计
  • /improve perf --- 专注性能
  • /improve branch --- 只审计当前分支的改动(PR 前用)
  • /improve next --- 功能建议(基于代码库现状,不是瞎猜)
  • /improve plan <描述> --- 跳过审计,直接为一个想法写计划
  • /improve review-plan <文件> --- 审查和收紧已有计划

几个我觉得设计得好的地方

1. 只写计划,不改代码。 improve 的写入操作仅限于 plans/ 目录。执行者在隔离的 git worktree 里操作,合并不归它管。这个边界划得很清楚。

2. 从不读取密钥。 发现敏感信息时只报告位置和类型,不复制内容。审计工具读密钥是个很危险的事,它直接避免了。

3. reconcile 机制。 计划不是一锤子买卖。/improve reconcile 会刷新整个 backlog------验证已完成的、调查卡住的、清理过时的。这个"闭环"设计让计划不会变成僵尸文档。

4. 可以发 GitHub Issue。 加 --issues 参数,计划直接变成 GitHub Issue。这样不用 Agent Skills 的团队也能用。

适合谁用

  • 用 AI 编程但心疼 token 的人 --- 把贵的模型用在刀刃上
  • 维护中大型项目的团队 --- 让 AI 帮你做代码审计和重构规划
  • 想尝试 Agent Skills 工作流的人 --- 这是个很好的切入点,安装简单,产出清晰
  • 开源项目维护者 --- 用 /improve --issues 把审计结果直接变成 Issue,贡献者可以认领

不适合谁

  • 小项目(几百行代码)用这个有点杀鸡用牛刀
  • 如果你的代码库结构非常不标准,审计结果可能不太准
  • 目前只支持 Agent Skills 格式的工具,传统 IDE 用户暂时用不了

我的使用感受

我在一个中等规模的 TypeScript 项目上跑了一下 /improve quick,大概花了 2 分钟。它找到了 7 个问题,其中 3 个是真的有价值的(一个循环引用、两个未使用的依赖),2 个是风格建议(可修可不修),2 个被它自己标记为假阳性去掉了。

最有意思的是它发现了一个 try-catch 里吞掉了所有异常的问题------这段代码我写过但早忘了,它指出来我才意识到这是个隐患。

计划写得确实详细。我挑了那个循环引用问题让它出计划,产出的文档里连 import 顺序都规划好了。丢给 DeepSeek 执行,5 分钟搞定,测试全绿。

当然也不是完美的。它偶尔会把一些"看起来像问题但不是问题"的东西报出来(比如它觉得某个 any 类型是类型安全问题,但实际上那里用 any 是故意的)。不过因为它有 vet 环节,大部分假阳性在展示前就被过滤掉了。

推荐指数

⭐⭐⭐⭐(4/5)

扣一分是因为目前生态还不够成熟------依赖 Agent Skills 格式,传统工具链用户用不上。但思路本身非常棒,而且 shadcn 的代码质量有保障。

如果这个模式被更多工具支持,我觉得"审计-计划-执行"三层架构可能会成为 AI 编程的标准工作流。


项目地址:github.com/shadcn/impr...

安装:npx skills add shadcn/improve

许可证:MIT

相关推荐
2601_967980113 小时前
Hugging Face:成为机器学习界的“Github”
机器学习·hugging face·开源平台·开放科学·transformer模型
小白菜004 小时前
AI的理解
人工智能·机器学习
DFT计算杂谈5 小时前
可DIY布里渊区图像绘制编辑器
人工智能·机器学习·语言模型·矩阵·编辑器
陈随易6 小时前
Cmder 停更 17 个月,2.0 支持 Windows Terminal
前端·后端·程序员
kyriewen7 小时前
我扫了 814 个依赖,97 个还敢要 Node 10
前端·javascript·程序员
陈随易7 小时前
3000 万人在用的翻译插件,重写一遍就是一门生意
前端·后端·程序员
miofly8 小时前
Genie 4新增原生音频,实时世界模型加入声音生成
开源·github
Hilaku9 小时前
MCP 协议会成为前端 AI 工程的标准接口吗?
前端·javascript·程序员
dong_junshuai9 小时前
每天一个开源项目#155 MuJoCo:从接触求解到控制时序的物理引擎
github