SpecScore vs CodeSpeak
「スペックは何のためにあるべきか」への2つの答え。CodeSpeak はスペックをソースコード として扱います — LLM がそれをコンパイルし、あなたは コードの代わりにスペックを保守します。SpecScore はスペックを 永続的で オープンな契約 として扱います — あなたはコードを保ち、どんなエージェント (あるいはなし)でも、それを読み・lint し・トレースできます。
共通点。
CodeSpeak の優れた点。
CodeSpeakは構造化英語のスペックをコードにコンパイルする、LLM 駆動のプログラミングシステムです。
大胆な、説得力ある主張
「コードではなくスペックを保守する」は、漸進的な微調整ではなく本物の再定義です。 これは Kotlin 言語の設計者から生まれたもので、真剣に受け止める価値があります: スペックがソースなら、生成されたコードは実装の詳細になります。
コードからスペックへの引き継ぎ
codespeak takeover は既存のソースを読み、その振る舞いを捉えるスペックを 生成します — ブラウンフィールドのコードへの摩擦の少ない入り口で、報告されている スペック対コードの圧縮率はおよそ 5〜10× です。
エージェントセッションからの意図の復元
CodeSpeak の Intent Studio は、過去のエージェントセッションから要件を抽出します — 白紙からスペックを書くよう求める代わりに、すでに表現された意図を収穫します。
機能比較。
両者は異なる賭けをしているため、この表は勝者ではなく哲学とメカニズムを比較します。
| 機能 | CodeSpeak | SpecScore |
|---|---|---|
| 真実の源 | スペック(コンパイル入力) | スペックは契約、コードは成果物 |
| 生成されたコード | LLM が生成、手で保守しない | あなたとエージェントがコードを書き、所有する |
| スペックフォーマット | 平易な英語、CodeSpeak 定義 | オープンな Markdown + YAML 標準、公開スキーマ |
| スペック → コード | 中核機能(プロプライエタリな LLM コンパイラ) | 対象外 — どんなエージェントでも実装 |
| ベンダーなしで動作 | スペックは CodeSpeak を通じてコンパイル | あり — スペックはどんなエージェントでも、あるいはなしでも動作 |
| スペック linting | ドキュメントなし | コンテンツ品質 — 曖昧な動詞、欠落した AC、未解決の参照 |
| コードからスペックへのトレーサビリティ | 再生成を通じて | specscore: アノテーション + Verifies: トレーラー |
| 決定論性 | LLM コンパイル(非決定論的) | 決定論的な CLI クエリ。コードは通常どおり記述 |
| コード → スペック | codespeak takeover | survey + 執筆 |
| オープン性 | プロプライエタリなシステム | オープン — CC BY 4.0 フォーマット、MIT / Apache-2.0 ツール |
| ステージ | アルファプレビュー | リリース済み |
SpecScore が異なる点。
コードはあなたのもの
CodeSpeak は実装を生成・再生成します。コードは出力であって、資産ではありません。 SpecScore はコードをあるべき場所に残します — あなたの手の中、あなたの言語で、 一行ずつレビュー可能に。スペックはコードを奪うことなく、明瞭さとトレーサビリティを 加えます。
スペックは可搬
CodeSpeak のスペックは、CodeSpeak がコンパイルするからこそ価値があります。SpecScore の スペックはそれ自体で価値があります — どんなエージェントも読める、よく構造化された Markdown であり、SpecScore のツールを一切インストールしなくても有用であり続けます。 どんなツールでも、あるいはなしでも導入できます。いつでも離れられます。
曖昧さはコストになる前に検出される
LLM コンパイラでは、曖昧なスペックはビルド時に誤ったコードになります。 SpecScore の lint は、曖昧な動詞、欠落した受け入れ基準、未解決の参照を、 エージェントが行動する 前に 表面化させます。
$ specscore lint checkout/apply-discount.md ✗ R3 no acceptance criteria ✗ verb "handle gracefully" — 測定不能
決定論性とトレーサビリティ
「これを実装しているコードはどれか?」への CodeSpeak の答えは「すべて、再生成される」です。 SpecScore の答えは特定のファイルと行です — specscore code refs とVerifies: コミットトレーラーを介して — 決定論的、監査可能、diff 可能です。
構造化されたアーティファクトグラフ
CodeSpeak の単位は散文のスペックファイルです。SpecScore は型付けされた階層を持ちます — アイデアはフィーチャーに昇格し、フィーチャーは ID 付きの要件と受け入れ基準を含み、 プランは AC を参照し、タスクはプランを参照します — すべて機械的にナビゲート可能です。
ビルドパスにベンダーなし
SpecScore は単一の Go バイナリです。Lint は CI や pre-commit フックで実行され、 アカウントも、サービス呼び出しも、ビルド中の LLM ラウンドトリップもありません。
使い分けの指針。
CodeSpeak を選ぶべきなのは…
- コードの保守をやめ、スペックをソースにしたい場合。
- そのレバレッジのために、ベンダーのコンパイラへの依存を許容できる場合。
- 既存のコードベースをはるかに短いスペックに圧縮したい場合。
SpecScore を使うべきなのは…
- 単一のツールより長生きするスペックが欲しい場合 — 構造上、可搬。
- コードをあなたの言語で、レビュー可能・所有可能なまま保ちたい場合。
- スペック品質の強制が必要な場合 — lint が曖昧さを早期に検出します。
- 決定論的なコードからスペックへのトレーサビリティが必要な場合。
- ビルドパスにベンダーも LLM ラウンドトリップも欲しくない場合。
2つの異なる賭け。
CodeSpeak はコンパイラへの賭けです:スペックを渡し、コードを生成・再現することを信頼します。 SpecScore はフォーマットへの賭けです:スペックをオープンで可搬に保ち、コードをあなたのものに保ち、 どんなエージェントもそれに対して作業できるようにします。
一方は可搬性をレバレッジと引き換えにします。もう一方はあなたを自由に保ちます — そして lint 可能に。
フィードバック
この比較は公開されているドキュメントとソースコードに基づいています。誤りや古い情報がありますか? 修正issueを作成. 他のツールとの比較をご希望ですか? リクエスト.