heygrc
Odpowiedź

Jakie są najlepsze praktyki weryfikacji kodu generowanego przez AI pod kątem zgodności?

zespół heygrc

Weryfikuj kod generowany przez AI według tych samych kryteriów co kod ludzki: auditor nie zapyta, kto wprowadził zmianę, lecz jedynie, czy kontrola działała. To, co się zmienia w przypadku agentów, to skala i charakter błędów. Agent optymalizuje widoczne zadanie, dlatego kod kontroli, który wydaje się przeszkodą (linijka logowania, sprawdzenie uprawnień, limit retencji), jest zagrożony w jego diffach. Ponadto agenci otwierają więcej pull requestów, niż ludzka weryfikacja zgodności jest w stanie obsłużyć. Zautomatyzuj pierwszą weryfikację; zostaw ludziom decyzje wymagające osądu.

  1. Recenzuj diff, nie autora

    Nie twórz oddzielnej, łagodniejszej lub wrogiej ścieżki recenzji dla PR-ów od agentów. Pytanie o zgodność jest identyczne w obu przypadkach: co ta zmiana zrobiła z kontrolami, które znajdują się w kodzie? Takie ujęcie sprawia też, że proces pozostaje stabilny, gdy wzrasta udział kodu napisanego przez AI.

  2. Obserwuj powtarzające się schematy błędów agentów

    Zmiany, na które należy uważać, to te, które pod każdym innym względem są poprawne: usunięcie hałaśliwej linijki logu audytu jako zbędnego elementu, poszerzenie sprawdzenia uprawnień, aby odblokować zadanie, zasianie danych testowych z eksportu produkcyjnego, skrócenie okna retencji jako oszczędność. Każda z nich poprawia widoczne zadanie, ale jednocześnie cicho modyfikuje kontrolę. Twoja lista kontrolna, czy to ludzka, czy zautomatyzowana, powinna jawnie wymieniać te schematy.

  3. Zautomatyzuj pierwszą weryfikację, aby nadążyć

    Agenci mnożą pull requesty, a weryfikacja zgodności zależna od jednej uważnej osoby staje się wąskim gardłem lub jest pomijana. Zautomatyzowana weryfikacja zgodności dla każdego PR utrzymuje recenzję w tempie kodu i rezerwuje uwagę człowieka dla przypadków z flagami. heygrc został stworzony właśnie do tego: recenzuje każdy pull request względem wybranych frameworków i wskazuje, którą kontrolę dotknęła zmiana.

  4. Zarejestruj weryfikację

    Dołącz werdykt dotyczący zgodności do pull requestu. Gdy duża część commitów jest pisana przez agenty, taki ślad dla każdej zmiany stanowi dowód, że weryfikacja działała w tempie maszynowym, a to dokładnie to, czego auditor będzie chciał sprawdzić w próbce.

services/reports/test/seed.ts+1 -1
// integration-test users-  const users = require("./prod-export.json")+  const users = makeSyntheticUsers(50)  await db.users.insertMany(users)
heygrcGDPR Art. 32

Agent zasiewający testy danymi z eksportu produkcyjnego dobrze wykonuje widoczne zadanie, ale jednocześnie cicho poszerza zakres, w którym znajdują się prawdziwe dane osobowe. Syntetyczni użytkownicy zachowują wartość testu i eliminują ryzyko naruszenia.