Pojem spec-driven development, zkráceně SDD, se vyplatí znát. Není určen jen zkušeným programátorům. Právě naopak. Je určený komukoliv, kdo touží přenést myšlenku na software. Ne že by se dříve nepsaly specifikace před započetím softwarového projektu. Rozdíl je v tom, že dřív někdo ty specifikace následně musel vzít a naprogramovat. Dnes nemusí. Provede to AI agent nebo parta AI agentů. Situace v moderních AI nástrojích je tak optimistická, že se dokonce začíná používat pojem intent-driven development. Tedy doslova záměrem řízené programování. Něco si přej. Ale nauč se to řádně artikulovat. Kodifikované softwarové znalosti tedy ustupují zcela do pozadí. Pro rozsáhlé projekty jsou samozřejmě tacitní znalosti, nebo chceme-li architektonické znalosti, stále za potřebí. Avšak jednoduché webové stránky nebo webové aplikace zvládne s pomocí AI vytvořit a rozběhnout běžný uživatel.
Na výše uvedeném tweetu je zajímavá, že jeho autor byl ještě tři měsíce před tím dost skeptický k agentnímu programování. Pro agentní programování použil doslova označení "břečka":
To nám říká, že právě v těchto měsících se softwarový obor otřásá v základech nejsilněji za celou svou dobu. Bez nadsázky. A my můžeme být u toho. Pojďme si vložit malý medailonek k autorovi obou výroků, protože Andrej Karpathy spolu s Tomášem Mikolovem tvoří nesmazatelnou československou stopu v moderním pojetí umělé inteligence.
Andrej Karpathy
Andrej Karpathy patří k nejviditelnějším osobnostem současné AI. Narodil se v Bratislavě tehdejšího Československa, studoval na University of Toronto, University of British Columbia a doktorát získal na Stanfordu pod vedením Fei-Fei Li. Profesně se zapsal jako člen zakládajícího týmu OpenAI, později vedl AI a počítačové vidění pro Autopilot v Tesle a dnes stojí za vzdělávacím projektem Eureka Labs.
Jeho význam neleží jen v samotném výzkumu. Andrej dlouhodobě funguje i jako jeden z nejlepších popularizátorů hlubokého učení. Na Stanfordu pomáhal vybudovat kurz CS231n, který se stal jedním z nejznámějších vstupů do moderního deep learningu. Pro české a slovenské publikum je zajímavý i symbolicky. Zprostoru bývalého Československa vzešla osobnost, která se přímo podílela na formování OpenAI i na praktickém nasazení neuronových sítí v automobilovém průmyslu.
Spec-driven development je vlastně reakce na dvě slepé uličky posledních let. První je klasický vibe coding přístup. Promt a odpověď. Akce a reakce. Dokola. Člověk do promtu hází zadání a následně doufá, že mu agent postupně vyrobí použitelný software. Nutno podotknout, že se dost často i dočká. Ti zodpovědnější si vedle promt inženýringu uvědomovali i neméně zásadní context inženýring. Celkově vzato se však o nějakém seriozním softwarové inženýringu mluvit nedalo.
Druhou slepou uličkou je opačný pól. Zkostnatělý korporátní proces, kde píšeme hromadu dokumentace, ale kód si stejně žije po svém. Moderní Spec-driven development to obrací. Specifikace není příloha k projektu, ale kompletní stavební plán. Spec-driven development vnáší do vývoje efektivní disciplínu.
Greenfield vs brownfield
Dobré je si také říct, že ne vždy pracujeme s greenfieldem. Tedy projektem na zelené louce. Spec-driven development se totiž hodí také pro brownfieldy. Tedy existující kód (codebase), který mohla vzniknout jakkoliv. K té zpracujeme odpovídající specifikaci ex-post a refaktorizace a další vývoj už může probíhat přes spec-driven development.
Jakýkoliv greenfield projekt se časem logicky stává brownfieldem. Specifikace ale může být živá v průběhu celého životního cyklu aplikace.
Spec Kit, OpenSpec, BMAD, GSD
Implementovat spec-driven / intent-driven development se rozhodlo několik projektů. Pojďme si vyjmenovat nejznámější z nich.
Spec Kit je projekt společnosti GitHub. Vznikl v roce 2024 v rámci snahy standardizovat práci s AI generováním kódu v prostředí GitHubu. Koncepčně navazuje na dlouhou tradici formálních softwarových specifikací, které se používají minimálně od 70. let, například v metodikách strukturované analýzy nebo později v dokumentech SRS (Software Requirements Specification). GitHub projekt publikoval jako otevřenou sadu šablon a workflow na GitHubu.
https://github.com/github/spec-kit
OpenSpec je komunitní projekt kolem webu openspec.dev. Vznikl jako lehká alternativa k robustnějším metodikám používaným při práci s AI asistenty. Myšlenkově navazuje na tradici návrhových dokumentů používaných v open source projektech, například RFC proces známý z vývoje internetu nebo návrhové dokumenty používané v projektech jako Python nebo Rust.
https://openspec.dev
BMAD (Breakthrough Method of Agile AI Driven Development) je projekt komunity sdružené kolem organizace BMAD Code Organization na GitHubu. Framework vznikl jako pokus přenést strukturu agilních týmů do prostředí AI nástrojů. Inspiraci otevřeně čerpá z metodik agilního vývoje, zejména ze Scrumu. Historicky připomíná starší snahy o formalizaci softwarového procesu pomocí CASE nástrojů, které byly populární zejména v 80. a 90. letech.
https://github.com/bmad-code-org/BMAD-METHOD
GSD (Get Shit Done) je open source projekt publikovaný na GitHubu organizací GSD Build. Vznikl jako reakce části vývojářské komunity na rostoucí množství procesních frameworků kolem AI programování. Filozofie projektu navazuje na hackerskou kulturu rychlého prototypování a na praktiky raných open source projektů z 90. let, kde se návrh často rodil přímo v kódu a v diskusích kolem repozitáře.
https://github.com/gsd-build/get-shit-done
Pokud někoho napadne, že SSD zní jako bezva věc, ale rád by měl vývojový proces více pod kontrolou, pak není sám. Pro takový determinismus Mitchell Hashimoto nedávno použil termín "harness engineering. Zdá se, že se termín uchytil a minimálně v OpenAI jej berou vážně.
Jak začít
Jednoduše. Oslovit AI agenta, například GPT 5.4, aby pro nás napsal specifikaci, např. podle Spec Kit. Jakmile budou obě strany spokojeny, tedy my i agent, můžeme takovou dokumentaci umístit do git repozitáře a nechat některý z nástrojů (Claude Code Desktop, Codex App) využívající pokročilé modely (Opus 4.6, GPT 5.3-Codex, GPT 5.4), aby pro nás aplikaci implementoval. Zatímco my si zajdeme na ☕️