惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
Google DeepMind News
Google DeepMind News
C
Cybersecurity and Infrastructure Security Agency CISA
T
Tenable Blog
T
The Exploit Database - CXSecurity.com
Latest news
Latest news
G
GRAHAM CLULEY
Project Zero
Project Zero
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Webroot Blog
Webroot Blog
Help Net Security
Help Net Security
TaoSecurity Blog
TaoSecurity Blog
Hacker News: Ask HN
Hacker News: Ask HN
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
N
News and Events Feed by Topic
Cisco Talos Blog
Cisco Talos Blog
T
Tor Project blog
The Hacker News
The Hacker News
The Last Watchdog
The Last Watchdog
C
CXSECURITY Database RSS Feed - CXSecurity.com
V2EX - 技术
V2EX - 技术
S
Secure Thoughts
AWS News Blog
AWS News Blog
W
WeLiveSecurity
云风的 BLOG
云风的 BLOG
V
V2EX
Last Week in AI
Last Week in AI
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
Google Developers Blog
P
Palo Alto Networks Blog
A
Arctic Wolf
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
M
MIT News - Artificial intelligence
V
Visual Studio Blog
C
CERT Recently Published Vulnerability Notes
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Threatpost
Simon Willison's Weblog
Simon Willison's Weblog
PCI Perspectives
PCI Perspectives
量子位
K
Kaspersky official blog
腾讯CDC
Schneier on Security
Schneier on Security
F
Full Disclosure
S
Schneier on Security

鸟窝

鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 鸟窝 LLM 究竟是如何工作的? Go 实验特性详解 amd64 微架构级别对 Go 程序性能提升多少? Loop Engineering 实践:一次批量实现 8 个 issue,完成夔牛工具的开发 Loop Engineering 实践:我把 RDMA 开发库移植到 Go 语言,花费 239 块钱 傻瓜式RDMA高性能网络开发:从零跑到 400 Gb每秒 百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形 百度网络监控工具开源第三弹:lidar — 不只是 pingmesh 别只盯着gopacket了,看看这个强大的网络库 大厂的内部工具居然开源了! 一窥百度物理网络秒级监控定位的秘密 如何构建你自己的 Agent 运行时 寻找你代码中的臭味:一个让 AI 帮你嗅出架构腐化的开源 Skill 套壳不丢人!我用Go+AI搓了一个Agent统一编排框架,ClaudeCode-Codex-Pi全被我包了 告别死锁和陈旧语法、告别性能瓶颈:三个开源 Skill,新手Gopher 秒变 Go 语言大神 SPEC和PRD的区别 SPEC和方案设计有什么区别 从需求到上线,让 AI 管理你的整个研发流程! antigravity-cli 使用 CLIProxyAPI, 让最新的 Codex 能够支持国内的各大模型 Clawpatch + codex-review:AI 代码审查工具链的正确打开方式 拆解Manus:沙盒架构深度解析 40+ Claude Code Tips: From Basics to Advanced Ralph 实验:构建 SQLite UI 了解 Manus Sandbox - 您的云计算机 Notex:一个开源 NotebookLM 替代方案的实现 拆解Manus:真正有用的深度报告的生成 Claude Code 使用 我给每个模型服务商『捐』了10块钱,只为了... Go之禅 - 基于Rob Pike思想的Go语言哲学 Codex CLI vs Gemini CLI vs Claude Code:谁是最佳选择? goskills:Claude Skills 功能强大,为我所用 一行代码使用 Claude Skill 和 deepseek langchain + MCP:如虎添翼 Linux 中网络包的一生 godotenv 库介绍 Codex CLI vs Gemini CLI vs Claude Code: Which is the Best? 使用Linux 30年了,我都不知道 ping 8.8 还能这么用? 从 AI 哪里挣钱? Go sync 包近两年发展综述 deepseek-v3.2-exp的闪电索引器
鸟窝
by smallnest · 2026-06-28 · via 鸟窝

目录 [−]

  1. 14.1 improve 是什么
  2. 14.2 核心思想:能力与成本的分离
  3. 14.3 五阶段流水线:Recon → Audit → Vet → Prioritize → Plan
    1. 14.3.1 Recon:画地图
    2. 14.3.2 Audit:九类并行扫描
    3. 14.3.3 Vet:剔除误报
    4. 14.3.4 Prioritize:按杠杆率排序
    5. 14.3.5 Plan:写执行手册
  4. 14.4 命令全景
    1. 14.4.1 execute 的设计
    2. 14.4.2 实战:一个开发者的一小时
  5. 14.5 安全边界
  6. 14.6 与全书方法论的对接
  7. 14.7 本章小结

"The plan is the product."
计划才是产品。

——shadcn/improve README

shadcn 是谁,不用多介绍。他创建的 shadcn/ui 是 GitHub 上 Star 数最高的 React 组件库之一,11 万+,几乎凭一己之力改变了前端组件库的交付范式——不是"装一个 npm 包",是"把源码拷进你的项目,你拥有它,你改它,你对它负责"。这种对控制权和所有权的执念,是他所有作品的设计 DNA。

2026 年 6 月,他在这个 DNA 上又加了一层——开源了一个叫 improve 的 Agent Skill。一周之内,5000+ star。

improve 做的事情,说穿了就是一句话:用最贵的模型读代码库、找问题、写执行计划,用最便宜的模型照着计划敲代码。它自己不碰源码,产出只有一种东西——计划。

这个分工背后是一笔所有用 AI 写代码的人都在付、但很少认真算过的账。用 Opus 读代码库、找 bug、排优先级,值。用 Opus 敲每一行代码、跑每一个测试、写每一句 commit message,不值。但现在的 AI 编程工具不管这些——你给它们什么模型,它们就全程用什么模型。预算好的团队手动切模型——研究阶段用 Opus,实现了切 Sonnet,跑测试了再切 Haiku。切来切去,时间都花在模型下拉菜单上了。

improve 把这个手动切换内建成了自动分工:强模型只负责判断。执行扔给最便宜的、够用的模型。

第 13 章讲 GSD Core 用阶段循环、子智能体和持久化工件对抗上下文腐化。GSD 的回答是"给每个 Agent 一份干净的上下文"。本章讲同一个问题的另一个切面:不是管上下文,管成本。GSD 默认质量优先,谁干活无所谓。但真金白银的 API 账单不这么想。improve 的回答是:强模型做判断,弱模型做执行——把账单和质量一起管了。

14.1 improve 是什么

安装一行:

1
npx skills add shadcn/improve

MIT 开源,遵循 Agent Skills 格式(agentskills.io),Claude Code、Cursor、Codex、OpenCode 装完就能调。

但它跟前面章节讲的技能有一个根本区别。Mattpocock 的 /diagnose 帮你修 bug。gstack 的 /review 帮你查代码。Goal Workflow 的 /goal 帮你实现功能。improve 反着来。你让它"帮我实现这个",它说不。你让它"帮我修这个 bug",它说不。它只做一件事:读你的代码库,找出该做什么,写成一份计划。

README 里有两句话定义了它的全部边界。第一句:"你是一个高级顾问,不是实现者。"第二句:"计划才是产品——它的质量决定了执行者能不能成功。"理解 improve 所有设计决策的钥匙就是这两句话。它不是执行工具,是决策工具。交付物不是代码,是决策。

这带来一个权力反转。大多数 AI 编程工具把写代码当作正事,写计划是可有可无的前置步骤。improve 反过来:计划是一等公民,代码只是计划的衍生品。一份好计划应该自包含到什么程度?你把它交给一个完全不了解这个项目的人,或者 Agent,他能照着做完,不用你坐在旁边解释。需要你解释,计划没写好。

14.2 核心思想:能力与成本的分离

improve 的经济账一句话:高杠杆的思考给贵模型,高重复的执行给便宜模型。

听起来像废话,谁不知道贵的模型好?但 improve 做的不是"用贵的 = 更好"这种粗糙选择。它分了工:

工作 性质 需要的智能 交给
读懂整个代码库 一次性、高杠杆 跨文件推理、架构判断、安全直觉 Opus/GPT-4 级别
判断什么值得做 一次性、高杠杆 权衡、优先级、成本估计 Opus/GPT-4 级别
写规格和计划 一次性、高杠杆 精确表达、边界定义、验证设计 Opus/GPT-4 级别
照着计划写代码 重复、低杠杆 按指令执行、跑测试、报结果 Haiku/GPT-4o-mini 级别

这个分工和第 12 章的 maker-checker 分离、第 13 章的瘦编排者模式有同一个源头:不同性质的活交给不同的 Agent。但分工轴不同。GSD 按阶段分(研究员 vs 执行器 vs 验证者),improve 按智能密度分。读代码、做判断、写规格,这些活智能密集,强模型贵得值。敲代码、跑测试、报结果,智能稀疏,弱模型够了。

improve 的 README 用一句话概括了这个经济逻辑:昂贵的、天花板高的模型做智能会累积的那部分——理解、判断、写规格;便宜的模型做执行。翻译过来就是:让最贵的模型做它最擅长的事,然后让便宜的照着做。

这里藏着一个关键前提,也是 improve 最深的洞见:执行的质量上限是计划的质量。弱模型拿烂计划产出烂代码。拿好计划——内联了文件路径、代码摘录、验证命令、STOP 条件——产出接近强模型。弱模型的瓶颈不是不会写代码,是没有上下文。自包含的计划刚好补上。

说白了,improve 干的事就是把强模型对代码库的理解蒸馏到一份 markdown 里,这份文件变成弱模型的上下文。强模型烧一次 token,弱模型烧很多次。只要计划好,每次执行都复用那一次深度分析。总账是省的。

14.3 五阶段流水线:Recon → Audit → Vet → Prioritize → Plan

improve 的工作流五步,每步明确的输入、输出和质量标准。

1
2
3
4
5
6
7
Recon → Audit → Vet → Prioritize → Plan
│ │ │ │ │
│ │ │ │ └── 为每个选中发现写可执行计划
│ │ │ └── 按杠杆率排成优先级表
│ │ └── 重读源码剔除误报
│ └── 并行子智能体扫九大类
└── 画仓库地图

14.3.1 Recon:画地图

Recon 不分析,只测绘。规划前回答几个最基本的问题:

  • 技术栈。语言、框架、包管理器、构建系统。读 package.jsonCargo.tomlgo.mod,不猜。
  • 目录结构src/ 还是 app/?monorepo 还是单包?测试放哪?配置放哪?
  • 构建/测试/Lint 命令。精确到能粘贴进终端的程度。npm test 还是 pytest?有没有覆盖率阈值?
  • 代码约定。命名风格、文件组织模式、已有的 lint 规则。
  • 意图文档。如果项目里有 CONTEXT.md(第 13 章)、STRATEGY.md(第 15 章)、ADR 目录、PRD 文件,Recon 优先吸收。别人花 token 讨论出来的决定,不要重新花 token 再讨论一遍。

Recon 的输出是一份代码库地图,后续所有阶段共享。它自己不产生发现,但所有发现依赖它。一个审计员不知道项目是 monorepo,可能把"每个子包有自己的 tsconfig.json"标记为冗余。实际上是设计决定。

14.3.2 Audit:九类并行扫描

整个流水线最烧 token 的阶段,也是强模型最值钱的地方。

improve 派出多个子智能体,每个扫一个维度,并行跑:

维度 关心什么
正确性 逻辑错误、边界条件、空值处理、竞态条件
安全 OWASP Top 10、注入、敏感信息泄露、不安全的依赖
性能 不必要的分配、N+1 查询、阻塞 I/O、内存泄漏
测试覆盖 缺测试、脆弱的测试、不可测的代码结构
技术债 重复代码、死代码、过度抽象、违反约定的模式
依赖与迁移 过时的依赖、未解决的迁移、版本漂移
开发者体验 类型安全缺失、构建慢、开发环境摩擦
文档 缺失或过时的文档、误导性的注释
方向 缺失的功能、架构演进机会、roadmap 对齐

每个维度的子智能体独立工作,和第 13 章 GSD 的并行 mapper 同一个模式。并行跑,总时间等于最慢的那一个。

每条发现带四样东西:file:line 证据,不写"可能有注入风险"写 src/auth/login.ts:42;影响评估,如果不管会怎样;预估工作量,S/M/L/XL;置信度。

有一个重要选择:子智能体默认过度上报。宁可多报 100 个最后被筛掉的疑似问题,不能漏一个真的。假阳性浪费的是 Vet 阶段的 token,假阴性浪费的是将来的线上事故。token 比事故便宜。

14.3.3 Vet:剔除误报

Audit 产出发现,Vet 做质量控制。

做法很暴力:顾问角色重新读每一个被引用的源码位置,逐条核实"真的有问题吗?"

第 12 章说过 maker-checker 分离,写代码和查代码的不能用同一个 Agent,自己给自己打分太客气。Audit 也一样:发现者对自己的发现有确认偏差。子智能体找到一个问题的时候,已经带着"这里有问题"的假设读了那段代码。让它再读一遍,大概率还是觉得有问题。

Vet 用一个独立的 Agent 重新读,带着"这条可能是错的"的假设。被踢掉的发现记进误报清单,下次审计直接跳过。这个记仇机制很重要。没有它,每次审计都重新报同样的假阳性,你很快就学会忽略所有发现。

14.3.4 Prioritize:按杠杆率排序

Vet 之后一批确认的发现。全做不现实。Prioritize 排优先级。

基础公式:

1
杠杆率 = 影响 ÷ 工作量

影响和工作量都有不确定性,改进后:

1
加权杠杆率 = (影响 × 影响置信度) ÷ (工作量 × 工作量置信度)

一个影响极高但置信度低的发现("可能"有严重安全漏洞),和一个影响中等但置信度高的发现("确定"有个性能瓶颈),后者的加权杠杆率可能更高。公式把"把握有多大"算进去了。

输出是一张表,不是指令。Prioritize 不说"你应该做前三个",那是人做的决定。但它把信息排清楚,你花最少的时间就能选。

14.3.5 Plan:写执行手册

最后一步,对你选中的每个发现写一份可执行计划。存在 plans/ 目录,一个发现一个文件,纯 markdown,人读得了,Agent 也读得了。

计划有索引文件,记录顺序和依赖。计划 C 依赖计划 A 完成后的文件结构,依赖图会标出来。

五步走完就是"计划即产品"的完整闭环:Audit 告诉你有什么值得做,Vet 确认真的值得,Prioritize 告诉你先做哪个,Plan 告诉执行者怎么干。

14.4 命令全景

improve 的命令设计有个原则:从最常用的路径出发,用标志而不是子命令表达变化。默认无参数走完整流水线,大多数时候这就是你要的。其他命令是变体。

命令 做什么 什么时候用
/improve 完整流水线 日常改进
/improve quick 只扫热点,返回最优先的发现 快速体检
/improve deep 穷尽扫描每个包、每个维度 上线前、接手新项目
/improve security 只做安全审计 合规、安全评审前
/improve perf 只做性能审计 优化轮
/improve tests 只做测试覆盖 补测试前摸底
/improve bugs 只做正确性审计 Bug bash 前
/improve branch 只审计当前分支变更 PR 前自查
/improve next 功能建议、roadmap 方向 下轮规划
/improve plan <描述> 跳过审计,直接为一件事写计划 需求已明确
/improve execute <计划> 隔离 worktree 派廉价执行器,完事审查 diff 执行已批准的计划
/improve review-plan <文件> 强模型评审已有计划 计划评审
/improve reconcile 刷新 backlog,验证完成、解除阻塞、退役过时的 定期维护

--issues 时,improve 同时把计划发成 GitHub Issue,每个计划一个 Issue,带标签和依赖引用。计划从 plans/ 目录走出来,进入团队工作流,可以被 assign、comment、close。

14.4.1 execute 的设计

/improve execute 是唯一碰代码的命令,唯一偏离"improve 不碰源码"的地方。但它很克制:

  1. 在隔离的 git worktree 里开全新上下文。
  2. 派一个廉价执行 Agent,只给它目标和计划文件。
  3. 执行 Agent 按计划写代码、跑验证门禁、报告结果。
  4. 执行完后,improve 用强模型审查 diff,确认改动严格符合计划,没多干,没漏验证。

有一个人的决策点:审查通过后 diff 摆在你面前,你决定合不合。improve 不替你 commit,不开 PR,不 merge。它把执行自动化了,接受权在你手里。和第 11 章 kanbots 的"晋升永远是手动操作"同一个道理:代码最终要有人对它负责。

14.4.2 实战:一个开发者的一小时

原理和命令都讲完了。下面走一遍真的——假设你维护一个 TypeScript monorepo,packages/ 下十几个子包,pnpm + vitest + tsup。你想看看代码库里藏着什么债。

第 1 步:装 improve。

1
$ npx skills add shadcn/improve

几秒装完。不需要配置,不需要 API key,不需要连什么外部服务。它就是一个技能文件加一组指令,装进你已有的 Agent。

第 2 步:跑一次全面审计。

1
$ /improve

Agent 开始干活了。先吐出来的是 Recon 摘要——它读了 package.jsontsconfig.json.github/workflows/ci.ymlpnpm-workspace.yaml,把技术栈和构建命令摸清楚了。你扫一眼,没问题,等它继续。

接下来几分钟终端持续滚动。九个子智能体在并行跑,每个盯一个维度。你会看到进度提示:[Audit] correctness... done.[Audit] security... done.[Audit] performance... running...。总时间差不多等于最慢的那个维度,通常两三分钟。

第 3 步:看 Vet 结果。

Audit 跑完,improve 自动切到 Vet。它把 Audit 报的每一条发现重新读一遍源码,验证是不是真的。停下来的输出是这样的:

1
2
3
4
5
6
7
[Vet] 32 findings → 23 confirmed, 6 rejected, 3 merged

Rejected (false positives):
✗ SEC-03: https_proxy in src/fetch.ts:10 flagged as SSRF
→ By-design: standard proxy convention. Added to veto log.
✗ TYPE-01: strict:false in tsconfig.json flagged as missing type safety
→ Monorepo root config. Sub-packages each enable strict independently.

被踢掉的写进了 plans/.veto-log.md。下次审计这两个位置直接跳过。你注意到 23 个确认发现里有些你看一眼就知道是边角料——变量命名可以更好、注释可以补一补。快速往下翻,找那些你也不知道存在的问题。

第 4 步:看 Prioritize 排序表。

Vet 结束,Prioritize 把 23 条发现排成了一张表。前面几行是这样的:

# 发现 分类 位置 影响 工作量 杠杆率
1 migrate-icons.ts:168 图标迁移循环内全量扫描,O(n²) 性能 perf-04 S 很高
2 getShadowConfig 逻辑在 search.tsview.ts 里分别实现,已有偏离 技术债 debt-02 M
3 CI 只跑 packages/corepackages/cli 零覆盖 测试 test-01 M
4 colorUtils.ts:34 暴露了内部函数 parseAlpha,公开 API 已覆盖 技术债 debt-07 S
... ... ... ... ... ... ...

你在这张表前面花了五分钟。不是看每条发现是什么——而是判断哪条值得现在修。发现 #1 工作量 S 杠杆率很高,闭着眼勾。发现 #2 你之前隐约感觉两处代码有重复但没细查过,improve 证实了而且偏离已经在发生,勾。发现 #3 是真实问题但需要写一整组 CI 测试,今天不想干这个,标记一下以后回来。发现 #4 和后面的十几条要么影响太低、要么你现在有别的事,不勾。

第 5 步:看生成的 Plan。

你勾了 #1 和 #2。improve 为每条生成一个 markdown 计划文件。你打开 plans/001-fix-icon-migration-o-n2.md

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
---
id: PLAN-001
title: 修复 migrate-icons.ts 的 O(n²) 图标迁移
category: performance
effort: S
based_on_commit: e4f8a2c
---

## 现状
`packages/cli/src/migrate-icons.ts:168` 对每个待迁移的图标文件
在整个文件系统里做正则搜索,循环嵌套,文件多时 O(n²):

// migrate-icons.ts:165-175
for (const file of iconFiles) {
const pattern = new RegExp(escapeRegex(file.oldName), 'g')
for (const target of allProjectFiles) { // 内层全量扫描
...
}
}

## 目标
将内层循环替换为一次性构建的全局替换映射,单次遍历所有文件。

## 修改范围
- packages/cli/src/migrate-icons.ts,约 165-200 行
- 新增 packages/cli/src/__tests__/migrate-icons.test.ts

## 验证
1. pnpm --filter @shadcn/cli typecheck —— 零错误
2. pnpm --filter @shadcn/cli test -- --grep "migrate" —— 全过
3. pnpm --filter @shadcn/cli lint —— 零警告

## STOP 条件
- migrate-icons.ts 在 commit e4f8a2c 之后有改动,停,报告
- 改动涉及 packages/cli/src/ 下超过 2 个文件,停,报告
- 任一验证步骤连续失败 2 次,停,报告

你扫了一眼。路径对。命令对。STOP 条件合理。份量够一个人(或一个 Haiku)30 分钟内干完。你把这份文件也扔给旁边新来的同事看了一眼,他点点头——项目他完全不了解,但这份计划他看得懂要改哪里、怎么验证、什么情况该停。

第 6 步:执行计划。

你决定先修 #1。

1
$ /improve execute plans/001-fix-icon-migration-o-n2.md

improve 在隔离 worktree 里切出一个干净分支,派 Haiku 干活。你的终端开始滚动:

1
2
3
4
5
6
7
8
9
10
11
12
[Execute] Worktree created at .worktrees/improve-001/
[Execute] Executor: Haiku (cheapest available)
[Execute] Reading plan... applying changes...
[Verify] pnpm typecheck... PASS
[Verify] pnpm test --grep "migrate"... 3 passed, 0 failed
[Verify] pnpm lint... PASS
[Review] Diff review by Opus... PASS
→ Changes strictly match plan scope
→ No unplanned modifications detected
→ All verification gates passed

Diff ready for review. Accept? [y/N]

第 7 步:审 diff,合入。

你打开 diff 看了一眼。改了一个文件,新建了一个测试文件,改动范围刚好在 165-200 行,测试覆盖了 3 个边界情况。没有顺手改别的。你敲了 y。commit 落地,worktree 自动清理。

第 2 个计划 plans/002-extract-shadow-config.md 你决定下午再跑。一样的流程——/improve execute,等两分钟,审一眼 diff,合。

一个小时下来你做了什么。

你打了两次 /improve execute。看了两张表(Prioritize 排序表、diff)。在 Prioritize 表前花了五分钟想"现在修哪个"。其余所有事——读代码库、找问题、验证真伪、排优先级、写执行手册、切 worktree、跑验证门禁、审查产出——全是 Agent 干的。强模型干了一次性的、判断密集的活(审计、核实、排优先级、写计划、审查 diff),弱模型干了重复的、跟随指令的活(敲代码、跑测试)。你的时间是花在了只有你能做的两件事上:决定什么值得修,确认修得对不对。

14.5 安全边界

improve 有几条硬边界,写在指令里,不是建议。

不修改源码。 审计和计划阶段只读。分析代码、记录位置、写计划,写操作只在 plans/ 目录。这个边界让它能在任何代码库上安全跑,无论是个人项目还是生产环境核心服务。

不改动工作树。 审计在当前 checkout 上读,计划写到 plans/。不切分支,不 stash,不改任何工作状态。跑完一次 improve,git status 唯一的变化是 plans/ 下多了几个 untracked 文件。

不复现 secret 值。 审计发现硬编码密钥(这也是安全审计的一项),只记录文件路径、行号和密钥类型,比如 src/config.ts:15 — AWS_ACCESS_KEY_ID,不把密钥值拷进计划。计划引用行号,执行者读源文件,密钥值不会在 markdown 里到处复制。

拒绝"帮我实现"。 对它说"帮我实现这个计划",标准回答:我不实现任何东西。要执行计划用 /improve execute。要改进计划,描述你的疑虑。别让我即兴写代码。

这四条的意义不只在安全。它们定义了一种信任模型:improve 能在任何代码库上放心跑,因为它能造成的最坏结果是 plans/ 下多几个 markdown 文件。这种只读的安全性,是它和"让我帮你重构整个项目"那类 Agent 最根本的区别。

14.6 与全书方法论的对接

improve 单看是一个技能,放进全书的方法论地图,补了几个空白。

和第 3 章 SDD。 improve 的"计划即产品"是规格驱动的极致版:规格不是开发的输入,规格就是交付物。OpenSpec 和 Spec-Kit 把规格当人和 AI 的合约,improve 把这份合约写到弱模型能照做的粒度。同根,improve 走得更远。

和第 8 章 Goal Workflow 互补。 /improve plan 类似 /prd-to-spec,都是模糊需求到精确方案。方向不同:Goal Workflow 从人的需求往下游走("我想要这个"),improve 从已有代码往上游走("这个代码库还缺什么")。/improve execute 类似 /goal,都是规格变代码,但 improve 显式分离了计划模型和执行模型。两个流程能拼起来:improve 审计产出一批 plan,Goal Workflow 的 /goal 逐个实现,/review-it 审查,/ship-it 交付。

和第 12 章 Loop Engineering 上下游。 improve 可以当 Loop 里的"审计-排序"环节。Loop 定时触发 improve 做审计,产出排序后的计划,自动化层挑高杠杆率的派给执行循环。知识生产(improve)和执行调度(Loop)分开,各自用最合适的模型。

和第 13 章 GSD Core 分工。 GSD 管全阶段循环(Discuss → Plan → Execute → Verify → Ship),improve 只管前半段(审计和计划),执行留给别的工具。不冲突,一条链上的不同环节。GSD 管怎么做一个功能,improve 管该做哪些功能。一个负责过程可靠,一个负责方向正确。

和第 15 章 Compound Engineering。 improve 的 plans/ 目录是一个在累积的知识库。每次审计的误报清单让下一次更准,已完成计划的记录让 reconcile 能自动检测漂移。Recon 阶段读取的意图文档也在持续更新,审计随项目演进变精准。这和 Compound Engineering 的核心主张一样:每次工作让下次更容易。

和第 33 章 /review-it 互补。 improve 是事前主动审计,还没动手先想清楚。review-it 是事后审查,做完了回来检查。两个方向都重要,结合起来就是一个完整的质量闭环:improve 告诉你该做什么、怎么写,/goal 实现,/review-it 验货。

14.7 本章小结

improve 把一个简单的经济逻辑做成了一个完整的工作流:贵的模型做判断,便宜的做执行。但它真正贡献的不是省钱,是重新定义了什么东西值得用最强模型。

Recon → Audit → Vet → Prioritize → Plan,五步流水加九类并行审计加加权杠杆率排序。它是一条"该做什么"的生产线,输出不是代码,是决策。写得够细的决策,细到一个人或一个弱模型能照着做到底。

"计划即产品"背后是一整套工程纪律:自包含上下文、机器可校验的验证门禁、硬 STOP 条件、Git Commit 戳、漂移检查。这些纪律回答一个问题:你不亲自写代码,怎么确保写的人不会搞砸?答案是把判断力蒸馏进计划,不只告诉它做什么,告诉它怎么判断做得对不对。

shadcn 把这个项目开源不到一周 5000+ star。社区的热情不是因为新技术,并行子智能体、验证门禁、worktree 隔离这些前面都讲过了。热的是它的主张:AI 编程的成本不必是刚性的。你不用为了质量把 Opus 用在每一行代码上。让 Opus 做它最擅长的,理解、判断、规划,执行外包给便宜的。在 AI API 按 token 计费的现实里,这个主张比任何架构模式都更直接地改变了你的开发成本。

最后,improve 最值得记的,不是它的命令和流水线。计划不是代码的附属品。计划是独立的、可积累的、随项目演进的知识资产。写好计划,今天能执行,下周能执行,换了三个 Agent 之后还能执行。