几周后,我注意到一些规律:代码冗余越来越多,实现方向偏离了最初的设想,AI 在不同会话之间丢失上下文导致返工不断增加。蜜月期结束了。我需要一套结构化的方法,但又不想引入那些拖慢开发速度的重型流程。
这段探索之旅让我先后尝试了 Kiro 、Spec Kit 、OpenSpec 等工具,最终促使我开发了 LeanSpec——一个轻量级的规格驱动开发( Spec-Driven Development ,SDD )框架。今天发布的 v0.2.7 版本,是三周内的第十个版本。这篇文章分享我为什么要做 LeanSpec 、它有什么不同,以及如何快速上手。
Vibe Coding 的隐性成本
📝 Vibe Coding 的陷阱
AI 编程助手的生产力惊人——直到它们开始出问题。缺乏结构化的上下文,AI 会生成看似合理但前后矛盾的代码,导致技术债务在每个会话中不断累积。
如果你深度使用过 AI 编程工具,大概率遇到过这些问题:
[td]症状[/td]
[td]根本原因[/td]
[td]影响[/td]
代码冗余
AI 不记得之前的实现
重复逻辑散落在各处
意图偏移
上下文在会话间丢失
功能与你的设想渐行渐远
返工增多
缺少持久的单一信息源
反复解释相同的背景
架构不一致
缺乏结构化指导
组件之间无法顺畅协作
业界的解决方案是 规格驱动开发( Spec-Driven Development ,SDD )——先写规格文档,再写代码,为 AI (和人类)提供持久的上下文。但当我考察现有工具时,发现了一个空白地带。
ℹ️ 延伸阅读
刚接触 SDD ?可以先阅读我的基础文章 规格驱动开发:复杂功能的系统化方法 了解方法论基础,或者看 2025 年 SDD 工具全景 了解业界工具的全面对比。想不安装任何工具就体验方法论?试试 不用工具实践 SDD 教程。
为什么要做 LeanSpec
我在 SDD 领域的探索揭示了三类工具,每类都有不适合我的地方:
厂商锁定:Kiro (亚马逊的 SDD IDE )集成度很高,但要求放弃现有工作流。我喜欢自己的工具组合,换 IDE 不在考虑范围内。
认知负担过重:Spec Kit 提供了完整的结构,但其繁复的格式带来了很大的认知负担。即使有 AI 辅助撰写,理解和维护这些规格文档仍然耗费大量心智资源,对于独立开发者和小团队来说过于沉重。
缺少项目管理:OpenSpec 最接近我理想中的样子——轻量且灵活——但缺乏跨项目管理几十个规格的能力。
我想要的是:一套方法论,而不只是一个工具。就像敏捷开发一样——一组人人可以采纳的原则,配合不碍事的轻量工具。
于是我做了 LeanSpec 。然后用 LeanSpec 来开发 LeanSpec 。
第一性原理:设计基石
LeanSpec 不只是工具链,它建立在五条第一性原理( First Principles )之上,指导每一个设计决策:

上下文经济( Context Economy ):规格必须装进工作记忆——无论人还是 AI 。目标 300 行以内。如果 10 分钟读不完,就太长了。
信噪比最大化( Signal-to-Noise ):每一行都要服务于决策。没有样板文件,没有填充内容,没有为了形式的形式。
意图优先于实现( Intent Over Implementation ):记录 为什么,而不只是 怎么做。实现细节会变,意图不会。
弥合鸿沟( Bridge the Gap ):规格同时服务于人和 AI 。任何一方看不懂,这份规格就是失败的。
渐进披露( Progressive Disclosure ):从简单开始,只在感到痛点时才增加结构。不做预设的复杂。
这些原则不只是文档——LeanSpec 的 validate 命令会自动检查规格是否符合它们。
核心功能
Web UI 可视化管理
我最兴奋的功能:lean-spec ui 启动完整的 Web 界面,让你可视化地管理规格。
# 启动 Web UI
npx lean-spec ui
UI 提供看板视图、规格详情页(支持 Mermaid 图表渲染)和依赖关系可视化——全在浏览器里完成。适合规划会议或审查项目状态。


第一性原理校验
LeanSpec 不只存储规格,还会对照第一性原理进行校验:
# 校验规格是否符合第一性原理
lean-spec validate
# 输出示例:
# specs/045-user-auth/README.md
# ⚠️ warning Spec exceeds 300 lines (342) context-economy
# ⚠️ warning Missing overview section structure
#
# ✖ 2 warnings in 1 spec
这能保持规格精简有意义,防止重型 SDD 工具常见的规格膨胀问题。
智能搜索与项目管理
查找相关规格不应该需要记住精确名称:
# 跨所有规格的语义搜索
lean-spec search "authentication flow"
# 高级查询
lean-spec search "status:in-progress tag:api"
lean-spec search "created:>2025-11-01"
看板视图让项目状态一目了然:
lean-spec board
# 📋 LeanSpec Board
# ─────────────────────────────────────
# 📅 Planned (12) 🚧 In Progress (3) ✅ Complete (47)
# ─────────────────────────────────────
MCP Server:AI 集成
LeanSpec 内置 MCP ( Model Context Protocol )服务器,让 AI 助手可以直接与你的规格交互:
{
"mcpServers": {
"leanspec": {
"command": "npx",
"args": ["@leanspec/mcp"]
}
}
}
支持 Claude Code 、Cursor 、GitHub Copilot 等 MCP 兼容工具。AI 代理可以搜索规格、读取上下文、更新状态——全部通过编程接口完成。
示例项目快速上手
刚接触 SDD ?从一个完整的示例开始:
# 生成一个完整的教程项目
npx lean-spec init --example dark-theme
提供三个示例:dark-theme、dashboard-widgets 和 api-refactor——分别演示不同的 SDD 模式。
开发历程:用 LeanSpec 开发 LeanSpec
这个项目最有意思的地方在于:初版发布后,LeanSpec 完全使用 LeanSpec 自身来开发。
[td]里程碑[/td]
[td]日期[/td]
[td]说明[/td]
第一行代码
2025 年 10 月 23 日
从基础的规格增删改查开始
v0.1.0 (首次发布)
2025 年 11 月 2 日
从零到发布仅用 10 天
v0.2.0 (生产就绪)
2025 年 11 月 10 日
第一性原理校验,完整 CLI
v0.2.7 (当前版本)
2025 年 11 月 26 日
24 天内发布 10 个版本
在 LeanSpec 项目内部,已经创建了超过 120 个规格——涵盖功能实现、架构决策、复盘反思,甚至营销策略。反馈循环非常紧凑:发现痛点 → 写规格 → 实现 → 用真实场景验证。
我还把 LeanSpec 应用到了其他项目:
在所有项目中,规律都是一致的:规格提供了跨会话存续的上下文,AI 能持续对齐我的意图,我花在反复解释上的时间大幅减少。
LeanSpec 的独特之处
如果你读过我的 SDD 工具分析,就知道我评估过这个领域的六个主要工具。LeanSpec 的定位是这样的:
[td]维度[/td]
[td]重型工具[/td]
[td]LeanSpec[/td]
学习曲线
数天到数周
几分钟
规格开销
大量前期工作
边写边补
Token 成本
通常 >2,000
目标 LeanSpec 的 "Lean" 有多重含义:
快速上手
5 分钟内试用 LeanSpec:
# 全局安装
npm install -g lean-spec
# 在项目中初始化
lean-spec init
# 创建第一个规格
lean-spec create user-authentication
# 启动 Web UI
lean-spec ui
或者试试示例项目:
npx lean-spec init --example dark-theme
已经在用 Spec Kit 或 OpenSpec ? 参考 迁移指南——迁移过程很顺畅。
未来规划
LeanSpec 仍在活跃迭代中。当前开发重点包括:
我做 LeanSpec 是为了解决自己的问题——Vibe Coding 带来的代码质量下降、AI 会话间的上下文丢失、重型 SDD 工具的认知负担。如果你也面临类似的挑战,希望它对你同样有帮助。
链接:
有问题、反馈或功能建议?欢迎提 issue 或发起 讨论。每一条我都会看。
📝 本文同步发布于我的个人技术博客 marvinzhang.dev
🔗 完整文章链接: https://marvinzhang.dev/zh/blog/introducing-leanspec
💬 欢迎访问我的博客了解更多技术文章!

