SpecScore vs CodeSpeak
对于"规范应当用来做什么"的两种答案。CodeSpeak 把规范当作源代码——由 LLM 编译它,你维护规范而非代码。 SpecScore 把规范当作一份持久、开放的契约—— 你保留你的代码,任何代理(或不用代理)都能读取、lint 并追溯它。
两者的共同点。
CodeSpeak 的优势。
CodeSpeak是一个由 LLM 驱动的编程系统,能把结构化英文规范编译成代码。
大胆的论点,论证可信
"维护规范,而非代码"是一次真正的重新定义,而非增量式的小修小补。 它出自 Kotlin 语言的设计者,值得认真对待:如果规范才是源码, 那么生成的代码就成了一个实现细节。
代码到规范的接管
codespeak takeover 读取现有源码并产出一份 捕获其行为的规范——为存量代码提供低摩擦的入口匝道, 据报道规范对代码的压缩比约为 5–10×。
从代理会话中恢复意图
CodeSpeak 的 Intent Studio 从先前的代理会话中提取需求—— 收割你已经表达过的意图,而不是让你从一张白纸开始撰写 规范。
功能对比。
两者下的是不同的赌注,所以这张表对比的是理念与机制,而非胜负。
| 能力 | CodeSpeak | SpecScore |
|---|---|---|
| 事实来源 | 规范(编译输入) | 规范是契约;代码是交付物 |
| 生成的代码 | 由 LLM 产出,非手工维护 | 你和你的代理编写并拥有代码 |
| 规范格式 | 纯英文,由 CodeSpeak 定义 | 开放的 Markdown + YAML 标准,已发布 schema |
| 规范 → 代码 | 核心功能(专有 LLM 编译器) | 不在范围内 — 由任意代理实现 |
| 脱离厂商仍可用 | 规范需经 CodeSpeak 编译 | 可以 — 规范适用于任意代理,或不用代理 |
| 规范 linting | 无文档说明 | 内容质量 — 模糊动词、缺失验收标准、悬空引用 |
| 代码到规范的可追溯性 | 通过重新生成 | specscore: 注解 + Verifies: 尾注 |
| 确定性 | LLM 编译(非确定性) | 确定性的 CLI 查询;代码照常编写 |
| 代码 → 规范 | codespeak takeover | survey + 撰写 |
| 开放性 | 专有系统 | 开放 — CC BY 4.0 格式,MIT / Apache-2.0 工具 |
| 阶段 | Alpha 预览 | 已发布 |
SpecScore 的不同之处。
你保留你的代码
CodeSpeak 生成并重新生成实现;代码是一种输出,而非一项资产。 SpecScore 把代码留在它该在的地方——在你手中、用你的语言、 可逐行审查。规范在不带走代码的前提下,增添清晰度 和可追溯性。
你的规范是可移植的
一份 CodeSpeak 规范之所以有价值,是因为 CodeSpeak 编译它。一份 SpecScore 规范本身就有价值——它是结构良好的 Markdown,任何 代理都能读取,而且即便完全没有安装任何 SpecScore 工具,它依然有用。 用任意工具采用它,或不用工具。随时离开。
歧义在产生代价之前被捕获
使用 LLM 编译器时,一份有歧义的规范会在构建时变成错误的代码。 SpecScore 的 lint 会在代理据此行动之前, 浮现出模糊动词、缺失的验收标准和悬空引用。
$ specscore lint checkout/apply-discount.md ✗ R3 no acceptance criteria ✗ verb "handle gracefully" — unmeasurable
确定性与可追溯性
CodeSpeak 对"哪些代码实现了这个?"的回答是"全部,重新生成"。 SpecScore 的回答是一个具体的文件和行号,通过specscore code refs 和 Verifies: 提交 尾注——确定性、可审计、可 diff。
结构化的工件图谱
CodeSpeak 的单元是一份散文形式的规范文件。SpecScore 拥有类型化的 层级结构——Idea 晋升为 Feature,Feature 携带带 ID 的 Requirement 和 Acceptance Criteria,Plan 引用 AC,Task 引用 Plan—— 所有这些都可机器导航。
构建路径中没有厂商
SpecScore 是单个 Go 二进制文件。Lint 在 CI 和 pre-commit 钩子中运行, 无需账户、无需服务调用、构建中没有 LLM 往返。
何时使用哪个。
以下场景适合使用 CodeSpeak……
- 你想停止维护代码,让规范成为源码。
- 你乐于为那份杠杆而依赖某厂商的编译器。
- 你想把一个现有代码库压缩成一份短得多的规范。
以下场景适合使用 SpecScore……
- 你想要比任何单一工具都更长久的规范——在构造上即可移植。
- 你想保留你的代码,用你的语言,可审查、可拥有。
- 你需要规范质量的强制执行——lint 尽早捕获歧义。
- 你需要确定性的代码到规范可追溯性。
- 你想要构建路径中没有厂商、没有 LLM 往返。
两种不同的赌注。
CodeSpeak 押注于编译器:把规范交给它,并信任它产出 并复现代码。SpecScore 押注于格式:让规范保持开放 且可移植,让代码归你所有,并让任何代理基于它工作。
一方以可移植性换取杠杆。另一方让你保持自由——而且可 lint。
反馈
本对比基于公开可用的文档和源代码。发现不准确或过时的信息?请 提交勘误 issue. 希望我们将 SpecScore 与其他工具进行对比?请 提交请求.