Rozwój oparty na dowodach
Brakująca dyscyplina w inżynierii wspieranej przez AI
Zespoły przyjęły narzędzia do kodowania AI, odnotowały krótkotrwałe skoki prędkości, a następnie zapłaciły podatek weryfikacyjny później w związku z debugowaniem, regresją i incydentami produkcyjnymi.
Różnica nie polega na pokoleniu. Ta luka jest dowodem. Rozwój oparty na dowodach zamienia tę lukę w powtarzalny przepływ pracy z wyraźnymi bramkami.
Pętla
Model jest prosty: zdefiniuj zamiar, udowodnij lukę, uchwyć punkt odniesienia, wdroż, udowodnij, że został spełniony, uchwyć wynik i zweryfikuj wymiary jakości przed przeglądem.
Krytycznym ograniczeniem jest kolejność. Kroki przed wdrożeniem tworzą niezawodność; kroki po wdrożeniu budują zaufanie.
| Faza | Co się stanie | Dlaczego to ma znaczenie | | --- | --- | --- | | Dokument | Napisz, co oznacza zrobione przed wdrożeniem. | Zapobiega dryfowaniu wymagań i niejasnym kryteriom sukcesu. | | Test: Niepowodzenie | Zdefiniuj i uruchom testy, które udowodnią istnienie luki. | Potwierdza, że testujesz zachowanie, a nie założenia. | | Przechwytywanie: Przed | Rejestruj wyjściowe wyniki przed dotknięciem wdrożenia. | Zapewnia niezbywalny dowód dla recenzentów i przyszłych audytów. | | Wdrażaj | Zastosuj zmianę przy wsparciu AI w ramach ograniczeń. | Wykonanie pozostaje szybkie, a poprzeczka pozostaje zdefiniowana przez człowieka. | | Test: Zaliczony | Przeprowadź ukierunkowane testy i potwierdź, że zachowanie przeszło. | Zatwierdza zmianę, rozwiązuje dokładne kryteria akceptacji. | | Przechwytywanie: Po | Zbierz równoważne artefakty powstałe po zmianie. | Umożliwia wyraźne porównanie przed i po. | | Zweryfikuj | Kontroluj bezpieczeństwo, dostępność, wydajność, dokumenty i dryf. | Łapie błędy w testach samych trybów. | | Recenzja | Recenzent-człowiek akceptuje lub odrzuca na podstawie dowodów. | Odpowiedzialność wobec inżynierów, a nie monity. |
:::graphic name: ImplementationLoopDiagram caption: Pętla implementacyjna: ograniczenia zdefiniowane przez człowieka, wykonanie wspomagane sztuczną inteligencją. :::
| Faza | Co sie dzieje | Dlaczego to wazne |
|---|---|---|
| Document | Napisz, co oznacza zrobione przed wdrożeniem. | Zapobiega dryfowaniu wymagań i niejasnym kryteriom sukcesu. |
| Próba: porażka | Zdefiniuj i uruchom testy, które udowodnią istnienie luki. | Potwierdza, że testujesz zachowanie, a nie założenia. |
| Przechwytywanie: Przed | Rejestruj wyjściowe wyniki przed dotknięciem wdrożenia. | Zapewnia niezbywalny dowód dla recenzentów i przyszłych audytów. |
| Implement | Zastosuj zmianę przy wsparciu AI w ramach ograniczeń. | Wykonanie pozostaje szybkie, a poprzeczka pozostaje zdefiniowana przez człowieka. |
| Test: zaliczony | Przeprowadź ukierunkowane testy i potwierdź, że zachowanie przeszło. | Zatwierdza zmianę, rozwiązuje dokładne kryteria akceptacji. |
| Przechwytywanie: Po | Zbierz równoważne artefakty powstałe po zmianie. | Umożliwia wyraźne porównanie przed i po. |
| Verify | Kontroluj bezpieczeństwo, dostępność, wydajność, dokumenty i dryf. | Łapie błędy w testach samych trybów. |
| Review | Recenzent-człowiek akceptuje lub odrzuca na podstawie dowodów. | Odpowiedzialność wobec inżynierów, a nie monity. |
Zanim dowody okażą się nieodwracalne w praktyce
Zespoły mogą teoretycznie odtworzyć stan bazowy po rozpoczęciu wdrażania, ale prawie nikt tego nie robi. Tempo przesuwa się w stronę umocnienia do przodu.
Dlatego brak dowodów wcześniejszych jest traktowany jako warunek resetowania w zdyscyplinowanych pętlach.
::: nazwa graficzna: Podpis MaturityLadder: Model dojrzałości: inżynieria ad hoc do inżynierii zweryfikowanej przez audyt. :::
Audyt: dziesiec wymiarow
| Wymiar | Co wykrywa |
|---|---|
| Build | Kompilacja, lint i integralność pakietu |
| Telemetry | Wycieki danych osobowych i niebezpieczne ładunki rejestrujące |
| Accessibility | Punkty orientacyjne, przepływ klawiatury, hierarchia nagłówków |
| Security | Tajemnice, ryzyko zastrzyku, wady zależności |
| Performance | Ścieżki N+1, nieograniczone pętle, wycieki pamięci |
| Documentation | Dryf specyfikacji i implementacji |
| Zasięg testowy | Zmiany zachowania bez dopasowania testów |
| ZROBIĆ Dług | Pominięte działania następcze i nierozwiązane elementy zastępcze |
| Obsługa błędów | Przełknięte błędy i wyciekły elementy wewnętrzne |
| Szczegółowość AI | Zbędne komentarze i niepotrzebne abstrakcje |
Audyt: dziesięć wymiarów
| Wymiar | Co łapie | | --- | --- | | Zbuduj | Kompilacja, lint i integralność pakietu | | Telemetria | Wycieki danych osobowych i niebezpieczne ładunki rejestrujące | | Dostępność | Punkty orientacyjne, przepływ klawiatury, hierarchia nagłówków | | Bezpieczeństwo | Sekrety, ryzyko zastrzyku, wady zależności | | Wydajność | Ścieżki N+1, nieograniczone pętle, wycieki pamięci | | Dokumentacja | Dryf specyfikacji i implementacji | | Zakres testu | Zmiany zachowania bez pasujących testów | | DO ZROBIENIA Dług | Pominięte działania następcze i nierozwiązane symbole zastępcze | | Obsługa błędów | Przełknięte błędy i ujawnione elementy wewnętrzne | | Szczegółowość AI | Zbędne komentarze i niepotrzebne abstrakcje |
:::graphic name: AuditRadarChart podpis: Pozycja audytu przed i po kontrolach opartych na dowodach. :::
Przyklady dowodow wedlug domeny
| Domena | Dowod przed | Dowod po |
|---|---|---|
| Punkt końcowy interfejsu API | odpowiedź curl o złym statusie | odpowiedź curl z oczekiwanym statusem i schematem |
| Migracja bazy danych | Zapytanie przed migracją | Zapytanie pokazujące nowe kolumny i wypełnione wartości |
| Infrastructure | Bieżące wyjście planu | Żądany plan i zastosowanie wyników |
| Performance | Wartość bazowa testu porównawczego | Delta testu porównawczego po optymalizacji |
| Łatka bezpieczeństwa | Znalezienie skanera | Raport o czystym skanerze |
Ciężar dowodu w żądaniach ściągnięcia
Zrodla
- Kenta Becka (2025) Kodowanie rozszerzone: poza wibracjami
- ThoughtWorks (2025) Rozwój oparty na testach wspomagany sztuczną inteligencją
- METR (2025) Narzędzia AI spowalniają doświadczonych programistów o 19%.
- Addy Osmani (2026) AI pisze kod szybciej. Twoim zadaniem jest nadal udowodnienie, że to działa.
- Microsoft.NET (2026) Dziesięć miesięcy z agentem kodującym Copilot w środowisku dotnet/runtime