개요
"영어로 프롬프트 쓰지 말고, 정형화된 스펙으로 AI한테 지시하자."
Kotlin을 만든 Andrey Breslav가 새로운 프로그래밍 언어 CodeSpeak를 공개했다. CodeSpeak는 LLM(대규모 언어 모델)을 컴파일러처럼 사용하는 차세대 프로그래밍 언어다. 개발자가 영어
로 스펙을 작성하면, LLM이 이를 Python, JavaScript, Go, TypeScript 등의 전통적인 코드로 변환한다. 단순한 프롬프트 도구가 아니라, 모듈화와 재사용이 가능한 정식 프로그래밍 언어를 지향한다.

Andrey Breslav — Kotlin에서 CodeSpeak까지
Andrey Breslav는 2010년부터 2020년까지 JetBrains에서 Kotlin을 설계하고 이끌었다. 700만 명 이상의 개발자가 사용하는 언어를 만든 인물이 이번에는 AI 시대의 프로그래밍 언어에 도전한 것이다.
그의 출발점은 명확하다. AI가 코드 생성 능력을 갖추게 된 지금, 인간이 보일러플레이트 코드를 읽고 쓰는 데 시간을 허비할 이유가 없다는 것이다. 하지만 동시에, AI가 더 강력해질수록 인간이 소프트웨어 개발 과정을 통제하는 것이 더 중요해진다고 강조한다.
CodeSpeak는 이 두 가지 문제를 동시에 해결하려는 시도다 — AI에게 코드를 맡기되, 인간은 스펙을 통해 의도를 명확히 통제한다.
CodeSpeak의 핵심 아이디어
스펙을 유지하라, 코드가 아니라 (Maintain specs, not code)
CodeSpeak의 철학은 단순하다. 개발자는 무엇(What)을 기술하고, 어떻게(How)는 LLM이 처리한다.
기존 AI 코딩 도구들은 코드를 직접 수정하거나 자동완성하는 방식이다. 반면 CodeSpeak는 스펙 파일(.cs.md)이라는 마크다운 기반 명세를 작성하면, 이를 컴파일하여 전통적인 언어의 코드를 생성한다.
- 스펙 파일은 버전 관리(Git)에 포함된다
- 스펙의 diff가 코드의 diff로 변환된다
- 기존 코드베이스와 혼합 사용이 가능하다 (Mixed-mode)
프롬프트가 아니다, 언어다
CodeSpeak는 자유형 프롬프트와 다르다. 모듈, 함수, 의존성을 구조화하여 기술하는 정형화된 스펙 언어다. 프롬프팅처럼 모호하지 않고, 전통 코드처럼 장황하지도 않다. Breslav는 이를 두고 "형식 언어도 아니고, 단순 프롬프팅도 아닌 새로운 지점"이라고 설명한다.
실제로 어떻게 사용하는가
설치와 프로젝트 초기화
# 설치
uv tool install codespeak-cli
# 프로젝트 초기화
codespeak init
# 빌드 (스펙 → 코드 생성)
codespeak build
초기화하면 다음과 같은 구조가 생성된다.
my-project/
├── .codespeak/ # 내부 상태 관리
├── codespeak.json # 프로젝트 설정
└── spec/
└── main.cs.md # 스펙 파일 (여기에 작성)
스펙 작성 방식
스펙 파일은 마크다운(.cs.md) 형식이다. 프로젝트의 목적, UX 요구사항, 기술 스택을 구조화하여 기술한다.
# Funny Geese App
화면에 거위 이모지(🪿)가 바운스하며 돌아다니는 애플리케이션.
## UX
- 빈 공간을 클릭하면 새 거위가 랜덤 방향으로 날아간다
- 거위를 클릭하면 점점 커진다
- 너무 커지면 팡 애니메이션과 함께 사라진다
## Technology
- HTML5 Canvas 사용
- 프레임워크 없이 순수 JavaScript로 구현
이 스펙으로 codespeak build를 실행하면, LLM이 완전한 JavaScript 코드를 생성한다.
기존 프로젝트에 적용하기 (Takeover)
이미 존재하는 코드를 CodeSpeak로 전환할 수도 있다.
# 기존 파일을 스펙으로 변환
codespeak takeover src/converter.py
# 스펙 수정 후 다시 빌드
codespeak build
takeover 명령은 기존 코드를 분석하여 자동으로 스펙 파일을 생성한다. 이후 스펙만 수정하면 코드가 자동으로 업데이트된다.
오픈소스 프로젝트 적용 결과
CodeSpeak 팀은 실제 오픈소스 프로젝트에 적용하여 검증 결과를 공개했다.

BeautifulSoup4 인코딩 모듈
- 기존 코드: 826줄
- CodeSpeak 스펙: 141줄
- 압축률: 5.9배
- 기존 테스트 전부 통과
yt-dlp WebVTT 지원 모듈
- 기존 코드: 255줄
- CodeSpeak 스펙: 38줄
- 압축률: 6.7배
- 1,278/1,279 테스트 통과
Faker 이탈리아 SSN 생성기
- 기존 코드: 165줄
- CodeSpeak 스펙: 21줄
- 압축률: 7.9배
MarkItDown EML 변환기
- 기존 코드: 139줄
- CodeSpeak 스펙: 14줄
- 압축률: 9.9배
- 추가 기능(Cc, Bcc, 날짜, 첨부파일) 구현 및 테스트 자동 생성
특히 MarkItDown 사례가 인상적이다. Microsoft의 문서 변환 도구에서 누락된 이메일 헤더 필드를 추가하는 작업이었는데, 약 23줄의 스펙 수정으로 약 221줄의 Python 코드가 생성되었다 — 약 10배의 확장 비율이다.
바이브 코딩과 무엇이 다른가

"바이브 코딩(Vibe Coding)"이라는 용어가 유행하고 있다. AI에게 자연어로 지시해서 코드를 뽑아내는 방식이다. CodeSpeak는 이와 명확히 다른 포지션을 취한다.
바이브 코딩의 특징
- 프로토타입에 적합
- 솔로 개발자 중심
- 비정형 프롬프트 사용
- 결과물의 일관성 보장 어려움
- 빠른 반복에 최적화
CodeSpeak의 특징
- 프로덕션 시스템 대상
- 팀 단위 협업 설계
- 정형화된 스펙 언어
- 버전 관리 가능한 스펙
- 장기 유지보수에 최적화
Breslav의 표현을 빌리면, CodeSpeak는 "바이브 코딩이 아니라, 영어를 이해하는 더 높은 수준의 프로그래밍 언어"다. 핵심 차이는 재현성과 팀 협업에 있다. 스펙은 코드 리뷰가 가능하고, Git으로 이력을 관리하며, 팀원 누구나 의도를 파악할 수 있다.
커뮤니티 반응과 쟁점
Hacker News 등 개발자 커뮤니티에서는 활발한 논의가 이어지고 있다.
긍정적 반응
- 문서와 구현의 통합: 스펙이 곧 문서이자 코드의 원천이 되는 구조에 호감
- 점진적 재생성: 전체가 아닌 diff 기반 업데이트로 실용적
- 팀 협업 강화: 의도가 명시적으로 기록되어 코드 리뷰가 수월
주요 우려
- 비결정성(Non-determinism): 같은 스펙으로 두 번 빌드해도 다른 코드가 나올 수 있다
- 스펙 완전성의 역설: 충분히 상세한 스펙은 코드만큼 작성이 어렵지 않은가?
- 컨텍스트 드리프트: 스펙과 실제 구현이 시간이 지나면서 어긋날 가능성
이러한 우려는 타당하다. 하지만 CodeSpeak 팀은 증분 빌드(diff 기반)와 테스트 자동 실행으로 이 문제들을 완화하고 있다고 설명한다.
누구를 위한 도구인가
CodeSpeak는 모든 개발자를 위한 도구가 아니다. 명확한 타깃이 있다.
- 프로덕션 코드를 관리하는 팀: 장기 유지보수가 필요한 시스템
- 보일러플레이트가 많은 프로젝트: 변환기, 파서, 데이터 처리 파이프라인
- 문서화와 구현 사이의 간극에 시달리는 조직
- AI 코딩을 도입하되 통제권을 유지하고 싶은 엔지니어링 리더
반면, 빠른 프로토타이핑이나 1인 사이드 프로젝트에는 기존 AI 코딩 도구가 더 적합할 수 있다.
시작하기
현재 CodeSpeak는 Alpha Preview (v0.1.0) 상태다. 사용하려면 Claude API 키(BYOK 모델)가 필요하다.
# 설치
uv tool install codespeak-cli
# 새 프로젝트 시작
mkdir my-project && cd my-project
codespeak init
# 스펙 작성
# spec/main.cs.md 파일을 편집
# 빌드
codespeak build
기존 프로젝트에 부분 적용하고 싶다면 Mixed-mode를 사용할 수 있다. 수동 코드와 CodeSpeak 생성 코드가 같은 프로젝트에 공존할 수 있어서, 점진적 도입이 가능하다.
마무리
CodeSpeak는 AI 코딩의 다음 단계에 대한 하나의 실험이다. "프롬프트를 잘 쓰는 것"에서 한 발 나아가, 정형화된 스펙 언어로 AI를 제어하겠다는 아이디어다.
아직 알파 단계이고, 비결정성이나 스펙 완전성 문제 등 해결해야 할 과제가 있다. 하지만 Kotlin을 성공시킨 언어 디자이너가 "코드 826줄을 스펙 141줄로" 압축하는 실증 결과를 들고 나왔다는 점은 주목할 만하다.
바이브 코딩이 프로토타입의 시대를 열었다면, CodeSpeak는 프로덕션 AI 코딩의 시대를 열려는 시도다.
참고 자료
- CodeSpeak 공식 사이트
- CodeSpeak Takeover 블로그
- CodeSpeak Quick Start 튜토리얼
- Pragmatic Engineer - The programming language after Kotlin
- ByteIota - CodeSpeak: Kotlin Creator's Plain-English Language
- Hacker News 토론
이 글은 Claude Code를 활용하여 작성되었습니다.
'IT일반' 카테고리의 다른 글
| Spec Driven Development: AI 시대, 코드보다 스펙이 먼저다 (1) | 2026.03.18 |
|---|---|
| Trino 완벽 가이드: 분산 SQL 쿼리 엔진의 모든 것 (0) | 2026.03.17 |
| 리워드 캠페인부터 추천 마케팅까지, 고객이 알아서 홍보하게 만드는 법 (0) | 2026.03.10 |
| GPT-SoVITS 심층 분석 가이드: 1분 음성으로 고품질 TTS 모델 만들기 (0) | 2026.03.08 |
| Maven과 Nexus 완벽 가이드: 아키텍처부터 실전 사용법까지 (0) | 2026.03.08 |