AI do starego kodu: czego wymagać od wykonawcy
Porównanie refaktoru z pomocą AI ze starą wersją nie wykryje błędu przeniesionego z oryginału. W syntetycznym przykładzie z 12 października 2026 refaktor zgadzał się z oryginałem na 240 008 wejściach, także na 6 z celowo wpisanym błędem progu dostawy; ujawnił je dopiero osobny test reguł sklepu.
Robert Marczyński6 min czytania3 źródła
Krótka odpowiedź: zlecając użycie AI do starego kodu, poproś o dwa osobne sprawdzenia, czyli zgodność z obecną wersją i zgodność z regułami firmy. W syntetycznym przykładzie z 12 października 2026 refaktor dał takie same wyniki jak oryginał dla 240 008 wejść, także dla 6 z celowo wpisanym błędem progu dostawy. Ten błąd wykazał dopiero test zgodności z regułami, a usunęła go osobna poprawka. Udostępniam kod, wyniki i kartę odbioru, którą można przekazać wykonawcy.
Jeżeli autor firmowego systemu odszedł, a zespół obawia się zmienić naliczanie rabatu czy obsługę zamówienia, pierwszym zleceniem powinno być wyjaśnienie konkretnego fragmentu. Od zrozumienia kodu zaczął też Linus Torvalds, gdy biblioteka jądra okazała się dla niego zbyt zawiła. Warunek odbioru trzeba ustalić, zanim wykonawca zacznie zmieniać program.
Co zrobił Linus Torvalds z pomocą LLM
W opisie tagu assoc-array-fixes z 11 października 2026 Linus Torvalds podał, że użył narzędzi LLM do zrozumienia trudnego kodu biblioteki assoc_array. Nils Ollrogge wcześniej zgłosił błąd i zaproponował poprawkę. Przy pomocy LLM Torvalds podzielił część dużych funkcji na mniejsze, czytelniejsze.
Następnie kod sprawdzono zestawem testów (test harness) uruchamianym w przestrzeni użytkownika, czyli poza jądrem. Według opisu testy potwierdziły zgłoszony błąd i ujawniły trzy kolejne. Wszystkie sięgały pierwszego dodania biblioteki w 2013 roku. Źródło mówi o LLM bez nazwy modelu, a każdy z 15 commitów tej gałęzi ma tylko dopisek „Assisted-by: LLM”.
Dziesięć commitów porządkuje kod i ma adnotację „No functional change”, czyli bez zmiany działania. Cztery poprawki błędów są osobnymi commitami. Opis każdej podaje test, który wykrył błąd: losowe wstawienia i usunięcia kluczy, wstawianie kluczy tekstowych w ustalonym porządku, podział skrótów na każdym poziomie i kolejno wymuszane błędy przydziału pamięci. Porównanie ze starą wersją nie pokazałoby tych błędów, bo stara wersja też je miała.
Dla firmy wyciągam z tego kolejność pracy: najpierw zrozumieć i uporządkować fragment, potem sprawdzić jego zachowanie. Porządki i poprawki trzymałbym w osobnych zmianach, tak jak w tej gałęzi. Historia Linuksa nie mówi, ile godzin taka praca oszczędzi w twoim systemie. Dane z Harvardu o tym, jak agenci kodujący wpływają na ukończoną pracę w firmach, omawiam w odpowiedzi ile kosztuje agent AI do kodowania.
Jak użyć AI do starego kodu w firmie
Zacząłbym od jednego modułu z jasno opisanym wynikiem, na przykład wyliczenia ceny zamówienia. Wykonawca powinien dostarczyć mapę wejść, reguł, zależności i skutków ubocznych. Wyjaśnienie AI traktowałbym jako propozycję do sprawdzenia z kodem i osobą odpowiedzialną za proces.
Przy rabatach pytania są konkretne: czy promocje się łączą, kiedy następuje zaokrąglenie i od jakiej kwoty liczymy darmową dostawę? Odpowiedzi powinny pochodzić również od właściciela procesu. Odczytanie obecnego kodu może utrwalić pomyłkę poprzedniego autora.
Następnie zamroziłbym przykłady z oczekiwanymi wynikami, zwłaszcza na granicach kwot i statusów. W pierwszej zmianie wykonawca porządkuje funkcje bez zmiany zachowania. W następnej naprawia uzgodniony błąd albo dodaje regułę. Dwa oddzielne zestawy zmian pozwalają ocenić, skąd bierze się różnica na fakturze lub ekranie zamówienia.
Dostęp do repozytorium nie musi oznaczać dostępu do produkcyjnej bazy i haseł. Przygotowanie kopii testowej, uprawnień oraz sposobu cofnięcia zmiany należy do zakresu zlecenia. Szerszą kontrolę środowiska opisuję w liście izolacji agenta AI.
Własny przykład: zgodny refaktor zachowuje błąd
W demonstracji z 12 października 2026 porównałem trzy wersje syntetycznego kalkulatora: oryginał, refaktor bez zmiany działania i osobną naprawę. Kod, reguły, przypadki i refaktor przygotował agent AI. Błąd był wpisany celowo i znany przed uruchomieniem; nie przedstawiam go jako odkrycia AI ani przypadku klienta.
Fikcyjny sklep daje VIP-om 15% rabatu, a klientom z kuponem 10%. Stosuje większy rabat, zaokrąglony do grosza. Dostawa kurierem kosztuje 14,99 zł i staje się darmowa od 200 zł wartości towaru po rabacie. W oryginale warunek błędnie wymagał kwoty większej niż 200 zł. Refaktor, zgodnie z założeniem, zachował ten warunek i wydzielił walidację, rabat oraz dostawę do osobnych funkcji.
Wymagania, przypadki i osobny program liczący wynik z reguł zapisano i zamrożono sumami SHA-256 przed napisaniem refaktoru i pierwszym uruchomieniem testów. Ten wzorzec realizuje tę samą regułę zaokrąglania arytmetyką dziesiętną; sprawdzane moduły używają liczb całkowitych. Napisał go jednak ten sam agent, więc nie zastępuje niezależnego zatwierdzenia zasad przez firmę.
| Sprawdzenie z 12.10.2026 | Oryginał | Refaktor | Osobna naprawa |
|---|---|---|---|
| Rozbieżności z regułami na 240 008 wejściach | 6 | 6 | 0 |
| Różnice wobec oryginału na tych wejściach | 0 | 0 | 6 |
| Poprawnie odrzucone nieprawidłowe wejścia | 12 z 12 | 12 z 12 | 12 z 12 |
Przegląd obejmował każdą całkowitą kwotę od 0 do 30 000 groszy w ośmiu kombinacjach poziomu klienta, kuponu i dostawy, czyli 30 001 × 8 wejść. Sześć rozbieżności to sześć wejść ujawniających ten sam błąd progu. Przykładowo zamówienie bez rabatu za 200 zł miało błędnie doliczoną dostawę. Po poprawce jego suma spadła z 214,99 zł do wymaganych 200 zł.
Test wykrył też trzy inne celowo wadliwe warianty: sumowanie rabatów, próg liczony przed rabatem i zaokrąglanie połówek do parzystej. To sprawdzenie, czy test reaguje na wybrane błędy. Wynik nie dowodzi poprawności całego systemu, oszczędności czasu ani przewagi jednego modelu. Przykład pomija bazę danych, równoczesne zamówienia, zwroty i integracje.
Czego wymagać przy odbiorze zmiany
Odebrałbym pracę dopiero po uzgodnieniu reguł i sprawdzeniu wyników na przypadkach firmy. Zielony raport zgodności ze starą wersją jest jednym z dowodów. Potrzebne są jeszcze wyjaśnienie zamierzonych różnic i możliwość powrotu do poprzedniego działania.
| Materiał od wykonawcy | Co sprawdza zamawiający |
|---|---|
| Opis reguł i wyjątków | Czy osoba odpowiedzialna za proces go zatwierdziła |
| Przypadki zapisane przed zmianą | Czy obejmują progi, wyjątki i znane awarie |
| Osobny refaktor i osobna naprawa | Czy wiadomo, które wyniki mają się zmienić i dlaczego |
| Raport z wynikami dla poszczególnych przypadków | Czy można odtworzyć wynik poza komputerem wykonawcy |
| Plan wdrożenia, obserwacji i cofnięcia | Kto reaguje na rozbieżność i jak przywraca działanie |
W karcie odbioru zmiany zostawiłem pola na właściciela reguł, wersję kodu, wynik, odstępstwa i decyzję o wdrożeniu. Tak określiłbym zakres programowania z AI w odziedziczonym systemie. Czas analizy, poprawek i kontroli trzeba zmierzyć osobno, jeżeli celem jest ocena efektu wdrożenia AI.
Pakiet do pobrania zawiera trzy wersje kodu, reguły, dane, wyniki i weryfikator. Instrukcja odtworzenia podaje komendę uruchomienia w Pythonie bez dodatkowych bibliotek i API. Sumy SHA-256 pozwalają sprawdzić, czy używasz tych samych plików. Pakiet jest przykładem sposobu kontroli; reguły i przypadki dla własnego systemu trzeba ustalić z firmą.
Najczęstsze pytania
- Czy można użyć AI do starego kodu bez dokumentacji?
- Można zacząć od odtworzenia opisu działania: wejść, wyników, zależności i miejsc zapisu danych. Wyjaśnienie AI trzeba porównać z kodem i rzeczywistymi przypadkami firmy. Brak dokumentacji nie daje podstaw, by potraktować obecne zachowanie jako poprawne wymagania. Osoba odpowiedzialna za proces powinna zatwierdzić reguły przed zmianą. Pierwsze zadanie dla wykonawcy ograniczyłbym do jednego modułu i mierzalnego warunku odbioru.
- Czy zgodność testów po refaktorze oznacza, że kod jest poprawny?
- Zgodność ze starą wersją potwierdza zachowanie na sprawdzonych wejściach. Stara wersja może zawierać błąd. W syntetycznej demonstracji z 12 października 2026 refaktor dał takie same wyniki jak oryginał dla 240 008 wejść, w tym 6 sprzecznych z zapisanymi regułami przez celowo wpisany błąd progu dostawy. Dlatego osobno sprawdzam zgodność z dotychczasowym kodem i zgodność z wymaganiami zatwierdzonymi przez właściciela procesu.
- Czy Linus Torvalds używa AI przy kodzie Linuksa?
- Tak, co najmniej w jednym opisanym przez niego przypadku. W opisie tagu assoc-array-fixes z 11 października 2026 Torvalds napisał, że kod biblioteki assoc_array był dla niego zbyt zawiły, więc użył narzędzi LLM, żeby go zrozumieć i podzielić duże funkcje. Każdy z 15 commitów tej gałęzi ma dopisek „Assisted-by: LLM”, bez nazwy modelu. Testy poza jądrem potwierdziły zgłoszony błąd i znalazły trzy kolejne, obecne od 2013 roku.
Źródła
Dane zewnętrzne przywołane w tekście mają tu swoje źródła.
- Repozytorium Linusa Torvaldsa: tag assoc-array-fixes z 11.10.2026, odczyt 12.10: pomoc LLM w podziale funkcji, test harness i cztery błędy obecne od 2013 roku; tag d09c91d022a36e6a471db39577f6da81c705e56b (nowa karta)
- Repozytorium Linusa Torvaldsa: 15 commitów tagu assoc-array-fixes ponad b2d929a1c2a8, odczyt 13.10.2026: każdy z dopiskiem Assisted-by: LLM, 10 z adnotacją No functional change, 4 poprawki z Fixes: 3cb989501c26 (David Howells, 24.09.2013) i opisem testu w przestrzeni użytkownika, zgłoszenie Nilsa Ollrogge w 65a9b4df5a2c (nowa karta)
- Własna demonstracja syntetyczna z 12.10.2026: zgodność zachowania, rozbieżności względem reguł, kontrole negatywne; błąd wpisany celowo, bez benchmarku modeli (nowa karta)
Udostępnij
Powiązane
- Projektowanie i kodowanie oprogramowania z AINajwiększy zysk z AI w wytwarzaniu oprogramowania pojawia się tam, gdzie problem jest już zrozumiany i pozostaje przełożyć…
- Jak zmierzyć, czy wdrożenie AI się opłaciło?Efekt wdrożenia AI sprawdzisz, porównując ten sam proces przed zmianą i po niej, razem z kontrolą i poprawkami.
- Agent AI wyszedł z piaskownicy. Lista kontrolna izolacji dla firmyAgenci AI opisani we wrześniu 2026 dostawali więcej dostępu, niż zakładał operator: Gemini wszedł do systemów trzech firm…
- Ile kosztuje agent AI dla firmy?Agent AI kosztuje w polskich wycenach z 2026 roku 8–20 tys. zł za konfigurację i 15–45 tys. zł netto z integracjami, a do tego…
Masz konkretny proces do omówienia?
Napisz, jaki to proces i ile razy w miesiącu się powtarza. Odpowiem, czy nadaje się do automatyzacji, również wtedy, gdy odpowiedź brzmi „nie warto”.
Albo prosto na adres: not-a-bot@
Wolisz zadzwonić? +48 787 912 168