Confronti

SpecScore vs CodeSpeak

Due risposte a "a cosa dovrebbero servire le specifiche". CodeSpeak tratta la specifica comecodice sorgente — un LLM la compila, e tu mantieni la specifica anziché il codice. SpecScore tratta la specifica come un contratto aperto e durevole — mantieni il tuo codice, e qualsiasi agente (o nessuno) può leggerla, verificarla tramite lint e tracciarla.

Cosa hanno in comune.

  • Entrambi mettono la specifica al centro dello sviluppo software.
  • Entrambi sono progettati per un mondo assistito dall'IA — l'intenzione prima dell'implementazione.
  • Entrambi mirano a rendere il software più facile da modificare cambiando la specifica.

Cosa fa bene CodeSpeak.

CodeSpeakè un sistema di programmazione guidato da LLM che compila specifiche in inglese strutturato in codice.

Una tesi audace, sostenuta con credibilità

"Mantieni la specifica, non il codice" è un ripensamento autentico, non una modifica incrementale. Proviene dal progettista del linguaggio Kotlin, e merita di essere presa sul serio: se la specifica è la sorgente, il codice generato diventa un dettaglio implementativo.

Adozione progressiva da codice a specifica

codespeak takeover analizza il codice sorgente esistente e produce una specifica che ne cattura il comportamento — una via d'accesso a basso attrito per il codice legacy, con una compressione da specifica a codice stimata attorno a 5–10×.

Recupero dell'intento dalle sessioni degli agenti

L'Intent Studio di CodeSpeak estrae requisiti dalle sessioni precedenti degli agenti — raccogliendo l'intenzione che hai già espresso invece di chiederti di scrivere una specifica da una pagina bianca.

Confronto delle funzionalità.

Entrambi fanno scommesse diverse, quindi la tabella confronta filosofia e meccanica, non vincitori.

FunzionalitàCodeSpeakSpecScore
Fonte della veritàLa specifica (input di compilazione)La specifica è il contratto; il codice è il prodotto
Codice generatoProdotto da un LLM, non mantenuto a manoTu e i tuoi agenti scrivete e possedete il codice
Formato della specificaInglese semplice, definito da CodeSpeakStandard aperto Markdown + YAML, schema pubblicato
Specifica → codiceFunzionalità centrale (compilatore LLM proprietario)Fuori scopo — qualsiasi agente implementa
Funziona senza il fornitoreLe specifiche si compilano tramite CodeSpeakSì — le specifiche funzionano con qualsiasi agente, o nessuno
Linting delle specificheNon documentatoQualità dei contenuti — verbi vaghi, AC mancanti, riferimenti orfani
Tracciabilità codice-a-specificaTramite rigenerazioneAnnotazioni specscore: + trailer Verifies:
DeterminismoCompilazione LLM (non deterministica)Interrogazioni CLI deterministiche; codice scritto normalmente
Codice → specificacodespeak takeoversurvey + stesura
AperturaSistema proprietarioAperto — formato CC BY 4.0, strumenti MIT / Apache-2.0
StatoAnteprima alfaIn produzione

In cosa differisce SpecScore.

Mantieni il tuo codice

CodeSpeak genera e rigenera l'implementazione; il codice è un output, non una risorsa durevole. SpecScore lascia il codice dove deve stare — nelle tue mani, nel tuo linguaggio, revisionabile riga per riga. La specifica aggiunge chiarezza e tracciabilità senza toglierti il codice.

Le tue specifiche sono portabili

Una specifica CodeSpeak è utile perché CodeSpeak la compila. Una specifica SpecScore è utile di per sé — è Markdown ben strutturato che qualsiasi agente può leggere, e rimane utile senza alcun tooling SpecScore installato. Adottala con qualsiasi strumento, o nessuno. Cambia quando vuoi.

L'ambiguità viene rilevata prima che costi

Con un compilatore LLM, una specifica ambigua diventa codice errato in fase di build. Il comando lint di SpecScore evidenzia verbi vaghi, criteri di accettazione mancanti e riferimenti orfani prima che un agente agisca su di essi.

$ specscore lint checkout/apply-discount.md
  ✗ R3  no acceptance criteria
  ✗ verb  "handle gracefully" — non misurabile

Determinismo e tracciabilità

La risposta di CodeSpeak a "quale codice implementa questo?" è "tutto, rigenerato." La risposta di SpecScore è un file e una riga precisi, tramitespecscore code refs e trailer di commit Verifies:— deterministico, verificabile, tracciabile nei diff.

Un grafo di artefatti strutturato

L'unità di CodeSpeak è un file di specifica in prosa. SpecScore ha una gerarchia tipizzata — le Idee vengono promosse a Feature, le Feature contengono Requisiti e Criteri di Accettazione con ID univoci, i Plan referenziano AC, i Task referenziano Plan — tutto navigabile via software.

Nessun fornitore nel percorso di build

SpecScore è un singolo binario Go. Il lint viene eseguito in CI e negli hook di pre-commit senza bisogno di account, chiamate di rete o roundtrip verso un LLM durante la build.

Quando usare l'uno o l'altro.

Scegli CodeSpeak se…

  • Vuoi smettere di mantenere codice e lasciare che la specifica sia la sorgente.
  • Ti va bene dipendere dal compilatore di un fornitore per questo scopo.
  • Vuoi comprimere una codebase esistente in una specifica molto più sintetica.

Usa SpecScore se…

  • Vuoi specifiche che sopravvivano a qualsiasi singolo strumento — portabili per progettazione.
  • Vuoi mantenere il tuo codice, nel tuo linguaggio, revisionabile e di tua proprietà.
  • Ti serve verificare la qualità delle specifiche — il lint rileva l'ambiguità per tempo.
  • Hai bisogno di tracciabilità deterministica da codice a specifica.
  • Non vuoi fornitori né roundtrip verso LLM nel tuo percorso di build.

Due scommesse diverse.

CodeSpeak scommette su un compilatore: affida a lui la specifica e confida che produrrà e riprodurrà il codice. SpecScore scommette su un formato: mantieni la specifica aperta e portabile, mantieni la piena proprietà del codice e lascia che qualsiasi agente ci lavori sopra.

Uno scambia la portabilità con l'automazione. L'altro ti mantiene libero — e verificabile via lint.

Altri confronti.

Lo stesso formato, accanto ad altri strumenti di sviluppo guidato dalle specifiche:

Tutti insieme, in una pagina: migliori strumenti di sviluppo guidato dalle specifiche nel 2026.

Feedback

Specifiche che superano la prova.

Have an idea how to improve this page?