비교

SpecScore vs CodeSpeak

"스펙은 무엇을 위한 것인가"에 대한 두 가지 답. CodeSpeak은 스펙을소스 코드로 취급합니다 — LLM이 그것을 컴파일하고, 당신은 코드 대신 스펙을 유지합니다. SpecScore는 스펙을 지속적이고 개방적인 계약으로 취급합니다 — 당신은 코드를 그대로 유지하고, 어떤 에이전트든(또는 아무것도 없이) 그것을 읽고, lint하고, 추적할 수 있습니다.

공통점.

  • 둘 다 사양을 소프트웨어 개발의 중심에 둡니다.
  • 둘 다 AI 보조 세계를 위해 만들어졌습니다 — 구현보다 먼저 의도를.
  • 둘 다 스펙을 바꿔 소프트웨어를 더 쉽게 변경할 수 있게 하는 것을 목표로 합니다.

CodeSpeak이 잘하는 것.

CodeSpeak은 구조화된 영어 스펙을 코드로 컴파일하는 LLM 기반 프로그래밍 시스템입니다.

대담한 명제, 설득력 있게 논증됨

"코드가 아니라 스펙을 유지하라"는 점진적 조정이 아니라 진정한 재구성입니다. Kotlin 언어 설계자에게서 나온 것이며, 진지하게 받아들일 가치가 있습니다: 스펙이 소스라면, 생성된 코드는 구현 세부사항이 됩니다.

코드-스펙 인수

codespeak takeover는 기존 소스를 읽고 그 동작을 포착하는 스펙을 생성합니다 — 브라운필드 코드를 위한 마찰이 적은 진입로이며, 보고된 스펙-코드 압축률은 약 5–10배입니다.

에이전트 세션에서 의도 복구

CodeSpeak의 Intent Studio는 이전 에이전트 세션에서 요구사항을 추출합니다 — 빈 페이지에서 스펙을 작성하라고 요청하는 대신, 당신이 이미 표현한 의도를 수확합니다.

기능 비교.

둘은 서로 다른 베팅을 하므로, 표는 승자가 아니라 철학과 메커니즘을 비교합니다.

기능CodeSpeakSpecScore
진실의 원천스펙 (컴파일 입력)스펙은 계약이고, 코드는 산출물
생성된 코드LLM이 생성, 수작업으로 유지하지 않음당신과 에이전트가 코드를 작성하고 소유
스펙 형식일반 영어, CodeSpeak이 정의개방형 Markdown + YAML 표준, 공개된 스키마
스펙 → 코드핵심 기능 (독점 LLM 컴파일러)범위 밖 — 어떤 에이전트든 구현
벤더 없이 작동스펙은 CodeSpeak을 통해 컴파일됨예 — 스펙은 어떤 에이전트든, 또는 아무것도 없이 작동
스펙 linting문서화되지 않음콘텐츠 품질 — 모호한 동사, 누락된 인수 기준, 끊어진 참조
코드-스펙 추적성재생성을 통해specscore: 어노테이션 + Verifies: 트레일러
결정성LLM 컴파일 (비결정적)결정적인 CLI 쿼리; 코드는 정상적으로 작성
코드 → 스펙codespeak takeoversurvey + 작성
개방성독점 시스템개방형 — 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" — unmeasurable

결정성과 추적성

"어떤 코드가 이것을 구현하는가?"에 대한 CodeSpeak의 답은 "전부, 재생성됨"입니다. SpecScore의 답은 특정 파일과 라인입니다 —specscore code refs와 Verifies: 커밋 트레일러를 통해 — 결정적이고, 감사 가능하며, diff 가능합니다.

구조화된 아티팩트 그래프

CodeSpeak의 단위는 산문으로 된 스펙 파일입니다. SpecScore는 타입이 지정된 계층 구조를 가집니다 — 아이디어가 기능으로 승격되고, 기능은 ID가 있는 요구사항과 인수 기준을 담고, 플랜은 인수 기준을 참조하고, 태스크는 플랜을 참조합니다 — 모두 기계로 탐색 가능합니다.

빌드 경로에 벤더 없음

SpecScore는 단일 Go 바이너리입니다. Lint는 CI와 pre-commit 훅에서 실행되며, 계정도, 서비스 호출도, 빌드 중 LLM 왕복도 없습니다.

언제 어떤 것을 사용할까.

CodeSpeak을 선택하세요…

  • 코드 유지를 멈추고 스펙이 소스가 되게 하고 싶은 경우.
  • 그 레버리지를 위해 벤더의 컴파일러에 의존하는 것이 편안한 경우.
  • 기존 코드베이스를 훨씬 짧은 스펙으로 압축하고 싶은 경우.

SpecScore를 사용하세요…

  • 어떤 단일 도구보다 오래 살아남는 스펙을 원하는 경우 — 구조상 이식 가능.
  • 코드를 당신의 언어로, 리뷰 가능하고 소유한 상태로 유지하고 싶은 경우.
  • 스펙 품질 강제가 필요한 경우 — lint가 모호함을 일찍 잡아냅니다.
  • 결정적인 코드-스펙 추적성이 필요한 경우.
  • 빌드 경로에 벤더도, LLM 왕복도 없기를 원하는 경우.

두 가지 다른 베팅.

CodeSpeak은 컴파일러에 대한 베팅입니다: 스펙을 건네면, 코드를 생성하고 재생성하리라 믿는 것이죠. SpecScore는 형식에 대한 베팅입니다: 스펙을 개방적이고 이식 가능하게 유지하고, 코드를 당신의 것으로 유지하며, 어떤 에이전트든 그것을 대상으로 작업하게 합니다.

하나는 레버리지를 위해 이식성을 거래합니다. 다른 하나는 당신을 자유롭게 — 그리고 lint 가능하게 — 유지합니다.

피드백

통과하는 스펙.

번역 오류를 발견했거나 이 페이지를 개선할 아이디어가 있나요? 알려주세요.