Zyski:
- Możliwość mapowania kategorii ukończenia edytora, asystenta czatu, agenta CLI i automatyzacji CI na zadania
- Możliwość dostosowania poziomu autonomii do ryzyka i stosowania dyscypliny „najpierw plan” wobec agentów CLI
- Możliwość przekształcenia wykorzystania AI w system zespołowy oparty na sprawdzonym narzędziu, bramce weryfikacyjnej, przejrzystości i odpowiedzialności
Dotychczas nauczyliśmy się wykorzystywać sztuczną inteligencję w poszczególnych zadaniach (kodowanie, recenzowanie, testowanie, debugowanie). W tej ostatniej części łączymy elementy w całość: poznajemy różne narzędzia do kodowania AI, dopasowujemy odpowiednie narzędzie do odpowiedniego zadania i bezpiecznie osadzamy je w codziennym przepływie programowania — od redaktora po kontrolę wersji, od potoku CI/CD po zarządzanie zespołem. Celem jest przekształcenie niechlujnego nawyku „od czasu do czasu pytaj sztuczną inteligencję” w spójny i możliwy do sprawdzenia działający system.
Typy pojazdów uwzględniamy w kategoriach neutralnych (konkretne nazwy produktów zmieniają się szybko; liczy się to, co kategoria robi). Każda kategoria ma swój „najlepszy punkt” i profil ryzyka; Mistrzostwo polega na wiedzy, ile autonomii należy przyznać danemu zadaniu.
Kategorie narzędzi kodujących AI
1. Uzupełnianie w edytorze. Wtyczki sugerujące linie/bloki podczas wpisywania w IDE (środowisko programistyczne, w którym piszesz kod). Najlepszy punkt: prędkość transmisji typu In-Stream, standardowy kod. Ryzyko: wąski kontekst, przyjęcie sugestii bez zastanowienia.
2. Asystent czatu/panelu bocznego. Interfejs czatu osadzony w IDE z wglądem w część bazy kodu. Sweet spot: opis, refaktoryzacja, testowanie, analiza błędów. Ryzyko: ograniczone do podanego przez Ciebie kontekstu, wymaga weryfikacji.
3. Agenci CLI (narzędzia agenta). Narzędzia uruchamiane z wiersza poleceń mogą samodzielnie odczytywać i modyfikować wiele plików, uruchamiać polecenia i wykonywać zadania wieloetapowe. Słodki punkt: zmiany w wielu plikach, powtarzalne zadania, zadania typu „dodaj tę właściwość”. Ryzyko: duża autonomia = duży wpływ; Pozostawiony bez kontroli powoduje szerokie i trudne do zweryfikowania zmiany.
4. Integracja linii/automatyki. Boty CI (Continious Integration), które automatycznie przeglądają komentarze do PR, sugerują testy lub tworzą dzienniki zmian. Sweet spot: pierwsze sitko bez zmęczenia, konsystencja. Ryzyko: hałas, fałszywa pewność.
Wskazówka: wraz ze wzrostem autonomii powinna także wzrosnąć kontrola. Ponieważ uzupełnianie edytora jest niewielkie i natychmiastowe, jest lekko nadzorowane; Wieloplikową modyfikację agenta CLI należy zbadać tak samo, jeśli nie dokładniej, niż ludzki PR.
Krok po kroku: osadzanie sztucznej inteligencji w przepływie pracy
- Przypisz zadanie do narzędzia. Małe dodanie In-Stream → ukończenie; zrozumieć/refaktorować/testować → czat; praca wieloplikowa, powtarzalna → agent CLI; ciągły pierwszy filtr → integracja CI.
- Wybierz poziom autonomii. Jak dużą swobodę ma agent? Sugestia tylko do odczytu lub modyfikacja pliku + wykonanie polecenia? Dostosuj do ryzyka.
- Pielęgnuj kontekst. Wprowadź na stałe do narzędzia zasady projektowe (styl, architektura, „zakaz”); Zamiast ciągle go wyjaśniać, użyj pliku instrukcji projektu.
- Utrzymuj bramki weryfikacyjne. Zmiana sztucznej inteligencji jest jak zmiana człowieka: przechodzi przez kompilację, testowanie, przegląd i (jeśli jest to krytyczne) zatwierdzenie przez eksperta. PR otwierający AI nie omija zgody.
- Zmierz i dopasuj. Obserwuj, co tak naprawdę przyspiesza, gdzie zwiększa się obciążenie korekcyjne; Wyeliminuj zastosowania, które nie działają.
Trzy mini etui
Przypadek 1 — agent CLI obsługiwał zmianę nazw wielu plików. Jeden zespół zmienił nazwę koncepcji rozmieszczonej w 60 plikach. Przekazali zadanie agentowi CLI, najpierw poprosili o plan, zatwierdzili go, następnie dokonali zmiany i przeprowadzili cały zestaw testów. Agent 3 pominął w aktach sprawę Edge; Testy to wykryły i naprawiły. Praca, która zajmowała około 3 godzin ręcznie, została ukończona w 50 minut pod nadzorem.
Przypadek 2 – Niekontrolowana autonomia przyniosła odwrotny skutek. Inny programista powiedział agentowi, aby „ulepszył ten moduł” i wypuścił go; Agent zmodyfikował 18 plików i dodał dwie zależności. Zmiana była na tyle obszerna, że nie mogła zostać rozpatrzona i musiała zostać wycofana. Lekcja: daj agentom wąski zakres, jasne kryteria akceptacji i dyscyplinę „najpierw zaplanuj, później wykonaj”.
Przypadek 3 — bot recenzujący CI stał się pierwszym filtrem. Jeden zespół zbudował bota, który pozostawia automatyczne komentarze AI do PR. Gdy bot wyłapał pominięcia kontroli zerowej i problemy ze stylem, weryfikatorzy mogli poświęcić swój czas logice biznesowej. Zespół dał jednak jasno do zrozumienia, że bot nie zapewniał „zatwierdzenia”: nadal wymagana była co najmniej jedna zgoda człowieka. Aby zredukować hałas, dostrojono łódź tak, aby pozostawiała jedynie hałas o wysokim/średnim natężeniu.
Cztery szablony do kopiowania
Dyscyplina „najpierw planuj” dla agenta CLI:
Zadanie: {{jasne, wąskie zadanie}}Kryteria akceptacji: {{wymierny wynik}}Ograniczenie: praca tylko na {{następującym katalogu/plikach}}; dodanie nowej zależności. Najpierw przedstaw plan BEZ ZMIAN: jakie pliki, co się zmieni, jakie testy uruchomić. Poczekaj, aż ZATWIERDZĘ plan. Następnie zastosuj go krok po kroku, przeprowadzając testy na każdym kroku.
Plik instrukcji projektu (stały kontekst narzędzi):
Stałe zasady dotyczące narzędzi AI w tym projekcie:- Język/wersja: {{...}}. Styl: {{...}}.- Ograniczenia architektoniczne: {{np. kierunek pomiędzy warstwami}}.- NIGDY: osadzanie sekretów, używanie danych produkcyjnych, {{zabronione biblioteki}}.- Każda zmiana musi być testowalna; Zmiana podpisu publicznego API BEZ pytania. - Jeśli masz wątpliwości, zatrzymaj się i zapytaj.
Decyzja dotycząca mapowania narzędzia zadaniowego:
Definiuję następujące zadanie: {{task}}. Jakiej klasy narzędzi powinienem to zrobić: (a) uzupełnianie edytora, (b) asystent czatu, (c) agent CLI, (d) automatyzacja CI? Napisz swoje uzasadnienie, ryzyko i zalecany poziom autonomii (tylko sugestia/zmiana pliku/uruchom polecenie).
Kodeks postępowania bota sprawdzającego CI:
W komentarzu do oceny PR należy pozostawić wyłącznie ustalenia o WYSOKIEJ i ŚREDNIEJ wadze. Każde ustalenie: kategoria, dotkliwość, sugerowana korekta. Zbierz notatki na poziomie preferencji stylu w osobny, pojedynczy komentarz podsumowujący. NIE WYRAŻASZ ZGODY; wymagana zgoda człowieka.
Słaba zachęta/silna zachęta
Słaby: (do agenta CLI) „Ulepsz moduł płatności”.
Strong: (Do agenta CLI) „Uruchamiaj tylko pod src/payments/. Zadanie: Wyodrębnij logikę rekurencyjnej walidacji z funkcji refund() do pojedynczego pomocnika; zachowanie i podpisy się nie zmieniają. Najpierw przedstaw plan i poczekaj na moją zgodę; następnie wykonaj i uruchom testy/płatności/pakiet. Dodaj nową zależność.
Wersja silna zawęża zakres, ustala kryteria akceptacji i ograniczenia oraz narzuca dyscyplinę „najpierw plan”. Niejasne żądania „lepszego działania” są przyczyną ogromnych i niekontrolowanych zmian.
klasa pojazdu
W czym jest najlepszy
autonomia
masa inspekcyjna
Ukończenie edytora
Mały dodatek typu In-Stream
niski
Światło (natychmiastowe czytanie)
asystent czatu
Zrozum, przetestuj, refaktoryzuj
średni
Średni (weryfikacja wyników)
Agent CLI
Wieloplikowe, rekurencyjne
wysoki
Ciężki (plan + pełna recenzja)
Automatyzacja CI
Ciągły pierwszy filtr
średni
Średni (reguła + akceptacja człowieka)
Zarządzanie zespołem: od umiejętności indywidualnych do wspólnego systemu
Dobrym sposobem na indywidualne wykorzystanie sztucznej inteligencji jest początek; Prawdziwa dojrzałość to spójny system na poziomie zespołu. System ten opiera się na kilku filarach: liście zatwierdzonych narzędzi (które narzędzia mogą być używane z jakimi danymi – z części 10), bramkach weryfikacyjnych (zmiana AI przechodzi przez te same bramki kompilacji/testowania/przeglądu – z części 11), przejrzystości (stwierdzenie, że zmiana jest oparta na sztucznej inteligencji, zapewnia identyfikowalność w razie potrzeby) i jasności w zakresie odpowiedzialności (osoba, która się podpisuje i jest odpowiedzialna, jest jasna). Ramy te ograniczają ryzyko przy jednoczesnym zachowaniu szybkości i zapewniają, że nowi członkowie zespołu pracują z tą samą dyscypliną.
Uwaga: Im większa autonomia narzędzia — szczególnie agentów CLI, które mogą modyfikować pliki i uruchamiać polecenia — tym bardziej ograniczają one dostęp do środowiska produkcyjnego, poufnych danych i trudnych do cofnięcia operacji. Powiąż destrukcyjne polecenia (trwałe usunięcie, rozmieszczenie) z aprobatą człowieka.
Typowe błędy
- Zadanie - oznacza niezgodność. Próbuję wykonać zadanie składające się z wielu plików z zakończeniem edytora lub małym załącznikiem z ciężkim agentem.
- Zwolnienie agenta. Zadania agenta przydzielone w wąskim zakresie i bez planu „najpierw” powodują niezbadane zmiany.
- Poluzowanie bramek weryfikacyjnych dla AI. „AI to zrobiła, działajmy szybko” to najniebezpieczniejszy wyjątek; Drzwi są takie same dla wszystkich.
- Za każdym razem ręcznie nadając kontekst. Niezapisanie zasad projektu do stałego pliku instrukcji powoduje niespójność i powielanie.
- Mylenie zgody bota CI z aprobatą człowieka. Bot jest filtrem; Zgoda odpowiedzialnego człowieka jest obowiązkowa.
Podsumowując
Narzędzia do kodowania AI dzielą się na cztery główne kategorie: uzupełnianie edytora, asystent czatu, agenci CLI i automatyzacja CI. Mistrzostwo polega na dopasowaniu zadania do odpowiedniego narzędzia i odpowiedniego poziomu autonomii; Wraz ze wzrostem autonomii wzrasta również kontrola. Zapewnij narzędziom trwały kontekst projektu, narzuć agentom wieloplikowym dyscyplinę „najpierw planuj” i przekaż zmiany w sztucznej inteligencji przez te same bramki weryfikacyjne, co zmiany dokonywane przez człowieka. Indywidualne umiejętności; Przekształć go w system zespołowy zbudowany w oparciu o zatwierdzoną listę narzędzi, bramki weryfikacyjne, przejrzystość i jasność odpowiedzialności. AI to kompleksowy mnożnik prędkości; Osoba podpisująca i przekazująca konto jest zawsze osobą kompetentną.
Zadanie aplikacji
Wymień trzy prawdziwe zadania, które wykonasz w przyszłym tygodniu. Skorzystaj z szablonu „decyzja dopasowująca zadanie do pojazdu” dla każdego z nich, aby uzasadnić, którą klasę pojazdu i jaki poziom autonomii wybierzesz. Następnie wykonaj wąskie zadanie dla agenta CLI (lub asystenta czatu) z dyscypliną „najpierw planuj”: zatwierdź plan, wprowadź go w życie, przeprowadź testy i przejrzyj zmianę jak ludzki PR. Na koniec opracuj 5-punktową „regułę wykorzystania AI” dla swojego zespołu (zatwierdzone narzędzia, reguła danych, bramka weryfikacyjna, limit autonomii, odpowiedzialność).
lista kontrolna
- [ ] Potrafię rozróżnić kategorie narzędzi do kodowania AI i najlepsze cechy każdej z nich.
- [ ] Przyporządkowuję zadanie do właściwej klasy pojazdu i odpowiedniego poziomu autonomii.
- [ ] Nadaję narzędziom stały kontekst projektu (plik instrukcji).
- [ ] W przypadku agentów CLI stosuję wąski zakres i dyscyplinę „najpierw planuj”.
- [ ] Przepuszczam zmiany AI przez te same bramki weryfikacyjne, co zmiany wprowadzane przez człowieka.
- [ ] Popieram sprawdzone narzędzie, zasadę dotyczącą danych, przejrzystość i ramy odpowiedzialności na poziomie zespołu.
Egzamin modułowy
1. Co właściwie robi podstawowy model dużego języka asystenta kodowania, gdy generuje kod?
- A) Wzorcowo przewiduje najbardziej prawdopodobną kontynuację w oparciu o dany kontekst ✔
- B) Gwarantuje poprawny wynik poprzez faktyczną kompilację i uruchomienie kodu
- C) Skanuje kod w całym Internecie na żywo i kopiuje najdokładniejszy.
- D) Rozumie logikę kodu jak inżynier i rozumie intencję
Wyjaśnienie: LLM nie „rozumie” kodu jak człowiek; Generuje najbardziej prawdopodobną kontynuację danego kontekstu w oparciu o wzorce, których uczy się z bardzo dużej puli tekstu i kodu. Dlatego jakość wyników zależy bezpośrednio od jakości kontekstu i instrukcji, które podasz, a każdy wynik musi zostać zweryfikowany.
2. Jak nazywa się to, gdy sztuczna inteligencja w przekonujący sposób wymyśla nieistniejącą funkcję lub bibliotekę i jakie jest jedyne prawdziwe antidotum?
- A) Nazywa się to błędem kompilacji; Antidotum to mocniejszy sprzęt
- B) Nazywa się to halucynacją; Antidotum polega na weryfikacji kodu i każdego użytego API ✔
- C) Nazywa się to regresją; Antidotum polega na ponownym uruchomieniu modelu
- D) Nazywa się to przepełnieniem kontekstu; Antidotum polega na skróceniu podpowiedzi
Opis: Nazywa się to halucynacją i powoduje jeden z najdroższych błędów w oprogramowaniu. Jedynym prawdziwym antidotum jest weryfikacja: potwierdzenie, że każda użyta funkcja, API i pakiet faktycznie istnieje i że kod działa. Pewny ton modelki nie jest dowodem na dokładność.
3. Które podejście najbardziej poprawia jakość i spójność wyników podczas generowania kodu za pomocą sztucznej inteligencji?
- A) Zwolnienie modelu poprzez powiedzenie „napisz mi to” bez podawania kontekstu
- B) Napisanie najdłuższego i fantazyjnego podpowiedzi
- C) Określ i podaj przykłady kontraktu wejścia/wyjścia, przypadki brzegowe, wersję i styl ✔
- D) Łączenie wygenerowanego kodu bezpośrednio, bez jego czytania
Objaśnienie: Określenie typów wejścia/wyjścia funkcji (kontrakt), przypadków brzegowych, ograniczeń języka/wersji i stylu oraz podanie przykładu modelowi umożliwia przejście od przewidywania do precyzji. Bezkontekstowe żądania „napisz mi to” generują kod, który za każdym razem jest inny i często omija przypadki brzegowe.
4. Podczas eksploracji obcej bazy kodu za pomocą sztucznej inteligencji nazwa funkcji może brzmieć „validateAndSave”, ale skrót AI może być niepoprawny. Jakie jest właściwe podejście?
- A) Pełne zaufanie do podsumowania AI, ponieważ nazwa jest oczywista
- B) Bezpośrednia zmiana funkcji bez jej czytania
- C) Podejmowanie decyzji na podstawie nazwy funkcji
- D) Potraktuj opis AI jako hipotezę i zweryfikuj krytyczne twierdzenia linia po linii w kodzie ✔
Wyjaśnienie: sztuczna inteligencja może spojrzeć na nazwę w kodzie i powiedzieć, „jak wygląda, że to robi”, ale w rzeczywistości logika może być inna (lub nawet odwrotna). Zatem wyjaśnienie AI jest hipotezą; Krytyczne roszczenia, szczególnie te dotyczące bezpieczeństwa, władzy lub przepływu pieniędzy, należy zweryfikować wizualnie na odpowiednich liniach.
5. Jakie jest największe niebezpieczeństwo, gdy podczas przeglądu kodu wspomaganego sztuczną inteligencją stwierdza się, że „AI to zobaczyła i to jasne”?
- A) sztuczna inteligencja może dawać fałszywe wyniki negatywne; Prawdziwe pominięte błędy tworzą fałszywą pewność siebie ✔
- B) Przegląd AI jest zbyt powolny, więc marnuje czas
- C) Zespół nie rozumie, ponieważ sztuczna inteligencja komentuje tylko po angielsku
- D) PR nie jest zbieżny, ponieważ sztuczna inteligencja zawsze nadinterpretuje
Wyjaśnienie: Sztuczna inteligencja generuje zarówno fałszywe alarmy (sygnalizując problem tam, gdzie go nie ma), jak i fałszywie negatywne (przeoczając prawdziwy błąd). Fałszywe negatywy milczą; Najbardziej niebezpieczne błędy to te, o których w ogóle nie wspomniano w recenzji. Zatem sztuczna inteligencja jest pierwszym filtrem, a nie aprobatą; Decyzja o połączeniu należy do osoby odpowiedzialnej.
6. Jaka jest najbardziej podstępna pułapka, która pojawia się, gdy po prostu dajesz AI kod i drukujesz testy?
- A) AI zawsze pisze zbyt wiele testów i powiększa bazę kodu
- B) AI testuje bieżące (być może błędne) zachowanie kodu jako „poprawne” i naprawia błąd ✔
- C) AI automatycznie usuwa kod podczas pisania testów
- D) AI pisze testy nie tylko dla szczęśliwej ścieżki, ale zawsze dla przypadku Edge
Objaśnienie: Sztuczna inteligencja ma tendencję do przeglądania kodu i zapisywania asercji testujących bieżące zachowanie. Jeśli kod od początku jest błędny, sztuczna inteligencja naprawi to nieprawidłowe zachowanie jako „poprawne”. Dlatego oczekiwania testu należy pisać zgodnie z wymaganą regułą (specyfikacją), a nie według aktualnego wyjścia kodu.
7. Co najbardziej decyduje o trafności hipotez podczas debugowania błędu za pomocą AI?
- A) Jak grzecznie napisano podpowiedź.
- B) Ile razy pytanie zostało zadane ponownie
- C) Jakość dowodów dostarczonych do modelu: pełny komunikat o błędzie, ślad stosu, dane wejściowe i oczekiwane zachowanie ✔
- D) W jakim kolorze jest napisany kod?
Wyjaśnienie: AI nie widzi błędu tak jak Ty; Zna tylko dowody, które mu przedstawisz. Biorąc pod uwagę pełny komunikat o błędzie, ślad stosu, dane wejściowe wyzwalające i oczekiwane zachowanie, model wylicza rzeczywiste możliwości; Jeśli nie ma dowodów, domyśla się (halucynacja) i prowadzi na złą drogę.
8. Jaki jest najważniejszy krok przed przekazaniem logów produkcyjnych AI do analizy?
- A) Wklejenie dziennika w niezmienionej postaci, obejmującego cały dzień
- B) Najpierw przekonwertuj dziennik na wielkie litery
- C) Układanie linii dziennika w kolejności alfabetycznej
- D) Maskowanie danych osobowych i tajemnic oraz podawanie tylko odpowiedniego okna ✔
Opis: Surowe dzienniki produkcyjne zawierają adres IP, adres e-mail, identyfikator sesji, token i czasami tajne informacje. Umieszczenie ich w narzędziu AI bez ich maskowania stanowi poważne naruszenie prywatności. Dodatkowo logi należy filtrować do wąskiego okna czasowego; Ale pierwszą koniecznością jest wyczyszczenie wrażliwych danych.
9. Co należy zrobić, jeśli sztuczna inteligencja w analizie logów stwierdzi, że dwa zdarzenia miały miejsce „jednocześnie” i jedno z nich uzna za pierwotną przyczynę?
- A) Pominięcie korelacji jako przyczynowości i weryfikacja twierdzenia za pomocą metryk i kodu ✔
- B) Uznanie przyczyny za ostateczną, ponieważ AI ustala relację czasową
- C) Natychmiastowe wznowienie pierwszego oskarżanego komponentu
- D) Całkowite usunięcie logów i ponowne ich zebranie
Objaśnienie: Najczęstszą pułapką analizy logarytmicznej jest mylenie korelacji z związkiem przyczynowym. Związek czasowy ustalony przez sztuczną inteligencję jest wskazówką, a nie dowodem. Prawdziwa przyczynowość wymaga czasu, mechanizmu i, jeśli to możliwe, powtarzalności; Twierdzenie należy zweryfikować za pomocą metryk i kodu.
10. Jaka jest niezbywalna złota zasada przy refaktoryzacji z wykorzystaniem AI i co ją zabezpiecza?
- A) Kod powinien być krótszy; Gwarantuje to liczba linii
- B) Brak zmian w zachowaniu; zapewniają to testy wychwytujące aktualne zachowanie ✔
- C) Kod zawiera więcej komentarzy; AI to gwarantuje
- D) Przepisanie całego pliku na raz; agent to gwarantuje
Wyjaśnienie: Refaktoryzacja poprawia wewnętrzną strukturę kodu bez zmiany jego zewnętrznego zachowania; Złota zasada jest taka, że zachowanie pozostaje stałe. Zapewnia to testowanie: sieć testowa, która przechwytuje bieżące zachowanie przed jego zmianą, jest konfigurowana i uruchamiana po każdym kroku. Refaktoryzacja bez sieci testowej to ryzyko.
11. Jaka jest warstwa w tworzeniu dokumentacji, której sztuczna inteligencja nie może znać, a nadrabianie jest niebezpieczne?
- A) Jak przeprowadzić kroki instalacji
- B) Lista parametrów funkcji
- C) Uzasadnienie „dlaczego” podjęto taką decyzję projektową ✔
- D) W jakim języku jest napisany kod?
Opis: sztuczna inteligencja może wyodrębnić z kodu warstwę „co/jak” (co robi funkcja, jak jest skonfigurowana); ale nie może poznać warstwy „dlaczego” (podstawy projektowej decyzji, przyczyny wartości dopuszczalnej). Wymyślony „powód” jest bardziej niebezpieczny niż brak uzasadnienia; Właściciel kodu musi dodać tę warstwę.
12. Co powinien zrobić programista, jeśli chce wkleić plik konfiguracyjny zawierający aktywny klucz API do niezatwierdzonego narzędzia AI podczas rozwiązywania pilnego błędu?
- A) Aby przyspieszyć, wklej plik w niezmienionej postaci, a następnie usuń czat
- B) Dodaj „poufną” notatkę na końcu pliku i wyślij ją
- C) Pozostaw klucz i zmień tylko nazwę pliku
- D) Usuń/zamaskuj tajemnice i podaj tylko niezbędny, niewrażliwy kontekst ✔
Ujawnianie: tajemnic, danych osobowych i aktywów poufnych nie należy nigdy ujawniać w niezatwierdzony sposób; Pilność nie wstrzymuje tej czerwonej linii. Prawidłowe podejście polega na tym, aby najpierw wyodrębnić/zamaskować tajemnice i podać jedynie niezbędny, niewrażliwy kontekst. Jeśli tajemnica nadal wycieka, pierwszą rzeczą, którą należy zrobić, jest natychmiastowe przekręcenie tego klucza.
13. Kod wygenerowany przez sztuczną inteligencję przechodzi testy i trafia do środowiska produkcyjnego. Czy to oznacza, że kod jest bezpieczny?
- A) Nie; „działa” nie oznacza bezpiecznie, bezpieczeństwo wymaga osobnej warstwy uwierzytelniania ✔
- B) Tak; Kod, który przejdzie test, jest z definicji bezpieczny
- C) Tak; Uruchomienie go w środowisku produkcyjnym eliminuje wszystkie luki
- D) Nie; ale bezpieczeństwo ma znaczenie tylko wtedy, gdy kod jest powolny
Wyjaśnienie: „Praca” to nie to samo, co „bezpieczność”. Nawet jeśli kod zawiera lukę, np. iniekcję SQL, może przejść testy i działać bezproblemowo; Luka zostaje ujawniona dopiero wtedy, gdy osoba atakująca ją znajdzie. Dlatego oprócz dokładności, przeglądy zorientowane na bezpieczeństwo i skany, takie jak SAST, powinny być wykonywane jako osobna warstwa.
14. Jaka jest najbezpieczniejsza dyscyplina przy powierzaniu wieloplikowego zadania agentowi CLI (autonomicznemu narzędziu, które może modyfikować pliki i uruchamiać polecenia)?
- A) Powiedzenie agentowi „ulepsz ten moduł” i danie mu pełnej swobody
- B) Podanie wąskiego zakresu i kryteriów akceptacji, najpierw prośba o plan, zatwierdzenie go, wdrożenie krok po kroku i przeprowadzenie testów ✔
- C) Bezpośrednio scalaj wszystkie zmiany agenta bez ich sprawdzania
- D) Zapewnienie agentowi nieograniczonego dostępu do środowiska produkcyjnego i poufnych danych
Wyjaśnienie: Wraz ze wzrostem autonomii powinna także wzrosnąć kontrola. Nadanie agentowi wąskiego zakresu i jasnych kryteriów akceptacji, najpierw poproszenie o plan bez zmian, zatwierdzenie planu, a następnie wdrożenie go krok po kroku i przeprowadzanie testów na każdym kroku; Zapobiega zmianom, które są szerokie, niemożliwe do sprawdzenia i wymagają wycofania.
15. Kto ponosi odpowiedzialność wynikającą z kodu wygenerowanego przez sztuczną inteligencję w oprogramowaniu o krytycznym znaczeniu dla bezpieczeństwa (np. płatności lub uwierzytelnianie)?
- A) Ponieważ kod pochodzi od AI, znajduje się on u dostawcy pojazdu
- B) Jeśli sztuczna inteligencja jest wystarczająco rozwinięta, nikt tego nie zrobił; nie ma potrzeby weryfikować
- C) Zespół/inżynier, który bada, montuje i dystrybuuje kod; AI nie zastępuje zgody ✔
- D) Tylko osoba pisząca zachętę, a nie ci, którzy ją przeglądają
Opis: AI to mnożnik prędkości i generator planów; nie może brać na siebie odpowiedzialności. Odpowiedzialność za jakiekolwiek błędy, luki lub naruszenia wynikające z kodu w fazie produkcyjnej ponosi zespół, który przegląda, montuje i dystrybuuje ten kod. W obszarach krytycznych dla bezpieczeństwa wyniki AI w żadnym wypadku nie zastępują przeglądu i zatwierdzenia przez wykwalifikowanego inżyniera.