Spec-First Engineering (Rozwój AI oparty na RFC)
Metodologia rozwoju z wykorzystaniem AI, w której 80% wysiłku programisty jest skierowane na stworzenie krystalicznie czystej specyfikacji technicznej (PRD/RFC) przed wygenerowaniem pierwszej linii kodu.
1. Przegląd koncepcji i problem systemowy
Główną pułapką dla początkujących w vibe codingu jest pośpiech. Programista otwiera agentowe IDE i natychmiast wpisuje do czatu: "Zrób mi stronę koszyka zakupowego z kodami promocyjnymi". Agent generuje 1000 linii kodu w ciągu 15 sekund, ale:
- Wykorzystano przestarzały hook zamiast nowoczesnego menedżera stanu projektu.
- Kody promocyjne są obliczane po stronie klienta zamiast na backendzie (luka bezpieczeństwa).
- Nazwy typów się dublują, a lokalizacja została całkowicie pominięta.
Spec-First Engineering to złota zasada produktywnego programowania z AI: nigdy nie dotykaj kodu bez zatwierdzonego planu. Inżynier występuje w roli głównego architekta, który tworzy wyczerpujący kontrakt (implementation_plan.md), uzgadnia przypadki brzegowe i dopiero wtedy wydaje polecenie agentowi do wygenerowania kodu.
2. Taksonomia architektury i model mentalny
┌─────────────────────────────────────────────────────────────┐
│ CYKL INŻYNIERSKI OPARTY NA SPECIFIKACJI │
├─────────────────────────────────────────────────────────────┤
│ 1. Eksploracja intencji (Zbadanie zamierzeń) │
│ • Burza mózgów, wywiad pod kątem przypadków brzegowych │
│ ("Grill-Me") │
│ • Określenie Anti-Goals (czego NIE powinno być) │
├─────────────────────────────────────────────────────────────┤
│ 2. Tworzenie formalnego artefaktu specyfikacji │
│ • Typy i kontrakty danych (interfejsy TypeScript / Zod) │
│ • Mapa mutacji plików ([NEW], [MODIFY], [DELETE]) │
│ • Kryteria weryfikacji (automatyczne komendy testowe) │
├─────────────────────────────────────────────────────────────┤
│ 3. Bramka ludzka i zatwierdzenie przez peerów │
│ • Inżynier recenzuje plan, wprowadza korekty │
├─────────────────────────────────────────────────────────────┤
│ 4. Deterministyczna autonomiczna egzekucja │
│ • Agent wykonuje plan krok po kroku bez odstępstw │
└─────────────────────────────────────────────────────────────┘
3. Praktyczne scenariusze inżynierskie w środowisku produkcyjnym
01. Przesłuchanie modelu przed implementacją feature'a (wzorzec Grill-Me)
Przed napisaniem planu programista wydaje instrukcję: "Chcę dodać system płatności Stripe. Zadaj mi 5 dociekliwych pytań dotyczących obsługi webhooków, powtarzających się płatności oraz bezpieczeństwa, zanim zaczniesz pisać plan". Pozwala to wykryć ukryte problemy na etapie pomysłu, a nie w środowisku produkcyjnym.
02. Ochrona przed erozją architektury
Jeśli projektem zarządza zespół trzech inżynierów korzystających z agentów, wszystkie zmiany najpierw przechodzą przez PR do folderu docs/specs/. Zespół widzi intencję jeszcze przed tym, jak model stworzy 50 nowych komponentów.
4. Pułapki, typowe błędy i bezpieczeństwo
- Analysis Paralysis (Nadmierna biurokracja): Pisanie 20-stronicowego planu dla zmiany koloru przycisku to marnowanie czasu. Dla trywialnych poprawek obowiązuje zasada bezpośredniej edycji. Specyfikacja jest wymagana dla zadań obejmujących więcej niż 2 pliki lub logikę biznesową.
- Dryf planu podczas wykonania (Spec Drift): Jeśli podczas kodowania agent odkryje nowy szczegół i samowolnie zmieni architekturę bez aktualizacji specyfikacji, system traci sterowność. Wymagaj od agenta aktualizacji planu przy każdej nieprzewidzianej trudności.
5. Strategiczny wniosek dla inżyniera roku 2026
W świecie, gdzie generowanie kodu kosztuje zero centów, najcenniejszą umiejętnością inżynierską staje się nie szybkość pisania tekstu, lecz głębokość i precyzja formułowania specyfikacji technicznej. Kto włada specyfikacją – ten kontroluje system.
FAQ: Spec-First Engineering (Rozwój AI oparty na RFC)
Powiązane pojęcia
Spec-Driven Development (SDD)
Wiodąca metodologia inżynierii oprogramowania w erze AI, w której tworzenie, uzgadnianie i zatwierdzanie ustrukturyzowanej specyfikacji czytelnej dla maszyn jest obowiązkowym krokiem poprzedzającym generowanie kodu.
Zadania atomowe (Atomowa dekompozycja zadań)
Praktyka inżynieryjna polegająca na rozbijaniu rozległych wymagań systemowych na minimalne, samodzielne i deterministyczne jednostki pracy, co minimalizuje obciążenie poznawcze człowieka oraz ryzyko degradacji kontekstu w modelach LLM.
Kontekstowa kuracja i higiena reguł
Praktyka inżynieryjna polegająca na projektowaniu, regularnym audycie i czyszczeniu plików konfiguracyjnych zachowań agenta (.cursorrules, .clinerules, AGENTS.md) w celu zapobiegania degradacji uwagi modelu.
Dług techniczny AI (dług techniczny kodu generatywnego)
Eksponencjalne narastanie entropii architektonicznej, ukrytych defektów oraz niepodtrzymywalnych zależności w bazie kodu wskutek nadmiernie szybkiego dodawania wygenerowanego kodu bez systematycznego refaktoryzowania.