首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Vibe Coding 时 AI 写代码不守规矩,开源神器来了

Vibe Coding 时 AI 写代码不守规矩,开源神器来了

作者头像
Ai学习的老章
发布2026-05-26 20:26:31
发布2026-05-26 20:26:31
60
举报

顶级大佬把 .claude 目录里的 Skills 全开源了

2个 MCP 组合起来,给 Claude Code 装上"最强大脑",战斗力直接翻倍

今天再聊一个相邻话题——怎么让 AI 不要 vibe coding,老老实实按规矩干活

用过 Claude Code、Codex、Cursor 的应该都被坑过:聊得挺嗨,一上手代码各种跑偏,需求埋在聊天记录里,回头你自己都不知道当初让它做什么了

GitHub 最近大火的 OpenSpec 让我眼前一亮,思路很简单——写代码前,先和 AI 把 spec 谈拢

Vibe Coding vs Spec-Driven
Vibe Coding vs Spec-Driven

Vibe Coding vs Spec-Driven

先聊聊 Spec-Driven Development 这条路上都有谁

在介绍 OpenSpec 之前,先把这个赛道捋一下,免得你看完一头雾水

"Spec-Driven Development"(规格驱动开发)是 AI 编码圈的一股新风,核心思想就一句话——别让 AI 凭聊天记录瞎猜,先把要做什么写成规格,再让它照着干

目前主流玩家有这么几个:

项目

出品方

形态

风格

Spec Kit

GitHub 官方

Python CLI,/speckit.* slash 命令

重,强阶段门禁,文档堆得很厚

Kiro

AWS

独立 IDE

强大但锁死 Claude 模型,得用人家的 IDE

Superpowers

obra(独立开发者)

Claude Code/Codex 等 harness 的插件包

一整套方法论 + 20+ skills,自动触发

OpenSpec

Fission-AI

npm 包 + slash 命令

轻,artifact 驱动,自由迭代

BMad-Method

社区

多 sub-agent 编排

9 个专职子智能体,零依赖

简单粗暴地分:

顺便解释下 harness 是个啥——这词最近在 Claude Code 圈很火,指承载 AI agent 的"骨架/壳子",比如 Claude Code、Codex CLI、Cursor 这些都是 harness。Superpowers 之类的方法论本质上就是给这些 harness 套件叠 buff

Spec-Driven 赛道四大玩家
Spec-Driven 赛道四大玩家

Spec-Driven 赛道四大玩家,有时可以搭配使用

OpenSpec

一句话:OpenSpec 是一个轻量级的 spec 层,让你在写代码前先和 AI 对齐"要做什么"

它的哲学写得很直白:

代码语言:javascript
复制
→ fluid not rigid          流动而非僵化
→ iterative not waterfall  迭代而非瀑布
→ easy not complex         简单而非复杂
→ built for brownfield     为存量项目而生,而非只服务新项目
→ scalable                 从个人项目到企业都能用

最关键的一句话:"built for brownfield not just greenfield"——也就是说,它不是只能在新项目里玩,老项目改造也用得上,这点我觉得最实在,毕竟咱们手里更多的是历史包袱重的项目

每次你要加一个新功能,OpenSpec 会让 AI 生成四个 artifact:

文件

作用

proposal.md

为什么做、要改什么

specs/

需求和场景(Given/When/Then)

design.md

技术方案

tasks.md

实施清单

这四份东西在一个独立的 change 文件夹里,做完归档,下一个功能继续

OpenSpec 四件套
OpenSpec 四件套

OpenSpec 四件套

安装

要求 Node.js 20.19.0 以上,全局安装:

代码语言:javascript
复制
npm install -g @fission-ai/openspec@latest

然后到你的项目目录初始化:

代码语言:javascript
复制
cd your-project
openspec init

初始化会做两件事:

  1. 在项目根目录创建 openspec/ 文件夹存放规格
  2. .claude/skills/(或对应 harness 的目录)注册 skill,让 AI 助手自动识别 /opsx:* 命令

使用:一个完整工作流

OpenSpec 的核心命令就三个:proposeapplyarchive

OPSX 工作流
OPSX 工作流

OPSX 工作流

第一步:提案

告诉你的 AI 助手你要做什么:

代码语言:javascript
复制
You: /opsx:propose add-dark-mode

AI:  Created openspec/changes/add-dark-mode/
     ✓ proposal.md — why we're doing this, what's changing
     ✓ specs/       — requirements and scenarios
     ✓ design.md    — technical approach
     ✓ tasks.md     — implementation checklist
     Ready for implementation!

AI 会自动生成四份文档,你先看一遍,觉得理解到位了再往下走,不到位就让它改

第二步:实施

代码语言:javascript
复制
You: /opsx:apply
AI:  Implementing tasks...
     ✓ 1.1 Add theme context provider
     ✓ 1.2 Create toggle component
     ✓ 2.1 Add CSS variables
     ✓ 2.2 Wire up localStorage
     All tasks complete!

照着 tasks.md 一步一步打勾,最大的好处是进度可见,再也不会出现"AI 说做完了但我不知道做了啥"的情况

第三步:归档

代码语言:javascript
复制
You: /opsx:archive
AI:  Archived to openspec/changes/archive/2025-01-23-add-dark-mode/
     Specs updated. Ready for the next feature.

归档之后,spec 会合并到主 spec 仓库,change 文件夹按日期归档,整个项目的演进史一目了然

Spec 是怎么演进的

OpenSpec 一个有意思的地方是——它强调 spec delta(规格增量)

每次 change 不是覆盖式地重写整份规格,而是产出一个"差集",类似 git diff:

代码语言:javascript
复制
### Requirement: Session expiration

- The system SHALL expire sessions after a configured duration.
+ The system SHALL support configurable session expiration periods.

#### Scenario: Default session timeout
- GIVEN a user has authenticated
- - WHEN 24 hours pass without activity
+ - WHEN 24 hours pass without "Remember me"
- THEN invalidate the session token

+ #### Scenario: Extended session with remember me
+ - GIVEN user checks "Remember me" at login
+ - WHEN 30 days have passed
+ - THEN invalidate the session token

这个设计让 reviewer 不用翻代码就能看明白"系统在哪些维度上变了",对 code review 友好度直接拉满

项目配置

可以通过 openspec/config.yaml 注入项目上下文,让 AI 写规格时自动带上你们家的技术栈和规约:

代码语言:javascript
复制
schema: spec-driven

context:|
  Tech stack: TypeScript, React, Node.js
  API conventions: RESTful, JSON responses
  Testing: Vitest for unit tests, Playwright for e2e
  Style: ESLint with Prettier, strict TypeScript
rules:
proposal:
    -Includerollbackplan
    -Identifyaffectedteams
specs:
    -UseGiven/When/Thenformatforscenarios
design:
    -Includesequencediagramsforcomplexflows

这玩意儿被注入到每个 artifact 的 prompt 里,相当于给 AI 装了个"项目大脑"

适合谁用

我的判断:

适合:

  • 个人开发者、小团队,想给 AI 编码加一点"约束"但又不想被重流程绑架
  • 老项目改造,需要让 AI 理解上下文再动手
  • 多 harness 混用的人(今天 Claude Code,明天 Codex CLI)
  • 喜欢看到清晰的 change history、做事有痕迹

不适合:

  • 一次性脚本、demo 项目,杀鸡用牛刀
  • 团队已经在用 Spec Kit 或 Kiro,没必要换
  • 不愿意花 10 分钟学 propose/apply/archive 三个命令的(认真的,就三个)

一些不完美的地方

实事求是说几点:

  1. 依赖高质量模型——官方推荐 Codex 5.5、Opus 4.7,弱模型生成的 spec 质量堪忧,国产模型里得 Qwen3.7 Max 、DeepSeek V4 这种水平才够用
  2. 新工作流(OPSX)刚 rebuild 完,还在迭代,文档偶有跟不上的地方
  3. 中文支持有但不重点——所有 artifact 默认英文,你可以在 config 里强制中文,但官方调优主要面向英文

#OpenSpec #SpecDriven #ClaudeCode #AgentSkills #开源

制作不易,如果这篇文章觉得对你有用,可否点个关注。给我个点赞、转发。谢谢你看我的文章,我们下篇再见!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习与统计学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 先聊聊 Spec-Driven Development 这条路上都有谁
  • OpenSpec
  • 安装
  • 使用:一个完整工作流
  • Spec 是怎么演进的
  • 项目配置
  • 适合谁用
  • 一些不完美的地方
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档