Pelnas:
- Galimybė susieti redaktoriaus užbaigimo, pokalbių asistento, CLI agento ir CI automatizavimo kategorijas su užduotimis
- Gebėjimas koreguoti autonomijos lygį pagal riziką ir taikyti „pirmiausia planuoti“ discipliną CLI agentams
- Gebėjimas dirbtinio intelekto naudojimą paversti komandos sistema, pagrįsta patvirtintu įrankiu, patvirtinimo vartais, skaidrumu ir atskaitomybe
Iki šiol išmokome naudoti AI atliekant atskiras užduotis (kodavimas, peržiūra, testavimas, derinimas). Šiame paskutiniame skyriuje mes sujungiame dalis: susipažinsime su skirtingais AI kodavimo įrankiais, priderinsime tinkamą įrankį prie tinkamo darbo ir saugiai įtrauksime juos į kasdienį kūrimo srautą – nuo redaktoriaus iki versijos valdymo, nuo CI / CD konvejerio iki komandos valdymo. Tikslas yra netvarkingą įprotį „karts nuo karto paklausti AI“ paversti nuoseklia ir tikrinama darbo sistema.
Transporto priemonių tipus apimame su neutraliomis kategorijomis (konkrečių produktų pavadinimai greitai keičiasi; svarbu, ką daro kategorija). Kiekviena kategorija turi "sweet spot" ir rizikos profilį; Meistriškumas yra žinojimas, kiek savarankiškumo suteikti kuriai užduočiai.
AI kodavimo įrankių kategorijos
1. Redaktorius užbaigimas. Papildiniai, siūlantys eilutes / blokus, kai įvesite savo IDE (kūrimo aplinką, kurioje rašote kodą). „Sweet spot“: srauto greitis, standartinis kodas. Rizika: siauras kontekstas, pasiūlymo priėmimas negalvojant.
2. Pokalbių / šoninio skydelio asistentas. Pokalbių sąsaja, įterpta į IDE ir matoma jūsų kodų bazės dalyje. Sweet spot: aprašymas, refaktorius, testavimas, klaidų analizė. Rizika: tik jūsų pateiktame kontekste, reikia patikrinti.
3. CLI agentai (agento įrankiai). Įrankiai, paleidžiami iš komandinės eilutės, gali nuskaityti ir modifikuoti kelis failus, paleisti komandas ir savarankiškai vykdyti kelių etapų užduotis. Sweet spot: kelių failų pakeitimai, pasikartojančios užduotys, „pridėti šią nuosavybę“ tipo darbai. Rizika: didelis savarankiškumas = didelis poveikis; Jei nepažymėsite, bus atlikti platūs ir sunkiai patikrinami pakeitimai.
4. Linijos / automatikos integravimas. CI (Continuous Integration) robotai, kurie automatiškai peržiūri PR komentarus, siūlo testus arba rengia pakeitimų žurnalus. Sweet spot: pirmasis koštuvas be nuovargio, konsistencija. Rizika: triukšmas, klaidingas pasitikėjimas.
Patarimas: didėjant savarankiškumui, turėtų padidėti ir kontrolė. Kadangi redaktoriaus užbaigimas yra mažas ir akimirksniu, jis yra lengvai prižiūrimas; CLI agento kelių failų modifikacija turėtų būti išnagrinėta taip pat, jei ne atidžiau, nei žmogaus PR.
Žingsnis po žingsnio: AI įterpimas į darbo eigą
- Susiekite užduotį su įrankiu. Mažas pridėjimas sraute → užbaigimas; suprasti/refaktorizuoti/išbandyti → kalbėtis; kelių failų, pasikartojantis darbas → CLI agentas; nuolatinis pirmasis filtras → CI integravimas.
- Pasirinkite autonomijos lygį. Kiek laisvės turi agentas? Tik skaitomas pasiūlymas arba failo modifikavimas + komandos vykdymas? Prisitaikykite prie rizikos.
- Puoselėkite kontekstą. Į įrankį nuolat įvesti projekto taisykles (stilius, architektūra, „nereikia“); Naudokite projekto instrukcijų failą, o ne paaiškinkite jį vėl ir vėl.
- Tvarkykite patikrinimo vartus. Dirbtinio intelekto pokyčiai yra kaip žmogaus pokyčiai: jie sudaromi, testuojami, peržiūrimi ir (jei tai svarbu) ekspertų patvirtinimu. AI atidarymo PR neapeina patvirtinimo.
- Išmatuokite ir sureguliuokite. Stebėkite, kas iš tikrųjų įsibėgėja, kur didėja korekcijos našta; Iškirpkite neveikiančius naudojimo būdus.
Trys mini dėklai
1 atvejis – CLI agentas tvarkė kelių failų pervardijimą. Viena komanda pervadintų koncepciją, paskirstytą 60 failų. Jie davė užduotį CLI agentui, pirmiausia paprašė plano, patvirtino planą, tada atliko pakeitimą ir paleido visą bandymų rinkinį. 3 agentas nepastebėjo bylos krašto; Bandymai jį užfiksavo, sutvarkė. Darbas, užtrukęs maždaug 3 valandas rankiniu būdu, buvo atliktas per 50 minučių su priežiūra.
2 atvejis – nekontroliuojama autonomija atsiliepė. Kitas kūrėjas liepė agentui „patobulinti šį modulį“ ir jį išleido; Agentas pakeitė 18 failų ir pridėjo dvi priklausomybes. Pakeitimas buvo toks platus, kad jo nebuvo galima peržiūrėti ir jį reikėjo atšaukti. Pamoka: suteikite agentams siaurą taikymo sritį, aiškius priėmimo kriterijus ir discipliną „pirmas planuok vėliau“.
3 atvejis – CI peržiūros robotas tapo pirmuoju filtru. Viena komanda sukūrė robotą, kuris palieka automatinius AI peržiūros komentarus apie PR. Kai robotas pastebėjo nulinio patikrinimo praleidimus ir stiliaus problemas, žmonės apžvalgininkai galėjo skirti savo laiką verslo logikai. Tačiau komanda aiškiai pasakė, kad robotas nepateikė „patvirtinimo“: vis tiek reikia bent vieno žmogaus patvirtinimo. Norėdami sumažinti triukšmą, jie sureguliavo valtį taip, kad liktų tik didelio / vidutinio intensyvumo triukšmas.
Keturi kopijuojami šablonai
„Pirmiausia planuokite“ discipliną CLI agentui:
Užduotis: {{aiški, siaura užduotis}}Priėmimo kriterijai: {{matuojamas rezultatas}}Apribojimas: dirbkite tik su {{šiame kataloge/failais}}; pridedant naują priklausomybę.Pirmiausia pateikite planą BE PAKEITIMŲ: kurie failai, kas keisis, kokius testus paleisti. Palaukite, kol patvirtinsiu planą. Tada taikykite jį žingsnis po žingsnio, atlikdami testus kiekviename žingsnyje.
Projekto instrukcijos failas (nuolatinis įrankių kontekstas):
Nuolatinės šio projekto AI įrankių taisyklės: Kalba / versija: {{...}}. Stilius: {{...}}.- Architektūrinis apribojimas: {{pvz. kryptis tarp sluoksnių}}.- NIEKADA: paslapčių įterpimas, gamybos duomenų naudojimas, {{uždraustos bibliotekos}}.- Kiekvienas pakeitimas turi būti išbandomas; Viešo API parašo keitimas BE klausimo. – Kai abejojate, sustokite ir paklauskite.
Užduočių įrankio planavimo sprendimas:
Aš apibrėžiu šią užduotį: {{užduotis}}. Kokios klasės įrankiais turėčiau tai padaryti su: (a) redaktoriaus užbaigimu, (b) pokalbių asistentu, (c) CLI agentu, (d) CI automatizavimu? Parašykite savo pagrindimą, riziką ir rekomenduojamą savarankiškumo lygį (tik pasiūlymas / pakeiskite failą / vykdykite komandą).
CI peržiūros roboto elgesio kodeksas:
PR apžvalgoje kaip komentarus palikite tik AUKŠTO ir VIDUTINIO sunkumo išvadas. Kiekviena išvada: kategorija, sunkumas, siūloma korekcija. Surinkite pastabas stiliaus pasirinkimo lygiu į atskirą, vieną suvestinės komentarą. Jūs NESUTINKATE; reikalingas žmogaus sutikimas.
Silpnas raginimas / Stiprus raginimas
Silpnas: (CLI agentui) „Patobulinkite mokėjimo modulį“.
Stiprus: (CLI agentui) "Paleisti tik pagal src/payments/. Užduotis: Išskleiskite rekursyvaus patvirtinimo logiką iš refund() funkcijos į vieną pagalbininką; elgesys ir parašai nesikeičia. Pirmiausia pateikite planą ir laukite mano patvirtinimo; tada paleiskite ir paleiskite testus/payments/ paketą. Pridėkite naują priklausomybę."
Stiprioji versija susiaurina taikymo sritį, nustato priėmimo kriterijus ir apribojimus bei primeta discipliną „pirmiausia planuoti“. Neaiškūs „padaryti geriau“ reikalavimai yra pagrindinė didžiulių ir nekontroliuojamų pokyčių priežastis.
transporto priemonės klasė
Ką jis geriausiai moka
autonomija
patikrinimo svoris
Redaktorius baigtas
Mažas priedas sraute
žemas
Lengvas (momentinis skaitymas)
pokalbių asistentas
Suprask, išbandyk, reaguok
vidutinis
Vidutinė (išvesties patvirtinimas)
CLI agentas
Kelių failų, rekursyvus
aukštas
Sunkus (planas + visa apžvalga)
CI automatika
Nepertraukiamas pirmasis filtras
vidutinis
Vidutinė (taisyklė + žmogaus patvirtinimas)
Komandos valdymas: nuo individualių įgūdžių iki bendros sistemos
Geras dirbtinio intelekto naudojimas individualiai yra pradžia; tikroji branda yra nuosekli sistema komandos lygiu. Ši sistema remiasi keliais ramsčiais: patvirtintų įrankių sąrašu (kurie įrankiai gali būti naudojami su kokiais duomenimis – iš 10 bloko), patikros vartai (AI pakeitimas vyksta per tuos pačius kūrimo/bandymo/peržiūros vartus – nuo 11 bloko), skaidrumas (nurodymas, kad pakeitimas yra pagrįstas dirbtiniu intelektu, prireikus užtikrina atsekimą) ir atsakomybės aiškumas (asmuo, kuris pasirašo ir yra atsakingas). Ši sistema apriboja riziką išlaikant greitį ir užtikrina, kad nauji komandos nariai dirbtų pagal tą pačią discipliną.
Įspėjimas: kuo didesnis įrankio, ypač CLI agentų, galinčių keisti failus, vykdyti komandas, savarankiškumas, tuo griežčiau apribojama galimybė pasiekti gamybos aplinką, konfidencialius duomenis ir sunkiai grąžinamas operacijas. Destruktyvios komandos (visam laikui ištrynimas, įdiegimas) susiekite su žmogaus patvirtinimu.
Dažnos klaidos
- Užduotis reiškia nesuderinamumą. Bandymas atlikti kelių failų darbą užbaigus redaktorių arba nedidelį priedą su sunkiuoju agentu.
- Agento atleidimas. Agento užduotys, pateiktos siaurai ir be „pirmiausia plano“, sukelia neišnagrinėtus pokyčius.
- Atlaisvinami AI patvirtinimo vartai. „AI padarė tai, greitai judėkime“ – pavojingiausia išimtis; Durys visiems vienodos.
- Kiekvieną kartą rankiniu būdu pateikiant kontekstą. Neįrašant projekto taisyklių į nuolatinį instrukcijų failą atsiranda nenuoseklumas ir dubliavimasis.
- CI roboto patvirtinimas klaidingas dėl žmogaus patvirtinimo. Botas yra filtras; Atsakingas žmogaus pritarimas yra privalomas.
Apibendrinant
AI kodavimo įrankiai skirstomi į keturias pagrindines kategorijas: redaktoriaus užbaigimas, pokalbių asistentas, CLI agentai ir CI automatizavimas. Meistriškumas – tai užduoties suderinimas su tinkamu įrankiu ir tinkamu savarankiškumo lygiu; Didėjant savarankiškumui, didėja ir kontrolė. Suteikite įrankiams nuolatinį projekto kontekstą, primeskite kelių failų agentams „pirmiausia planuoti“ discipliną ir perveskite dirbtinio intelekto pokyčius per tuos pačius patvirtinimo vartus, kaip ir žmogaus pokyčius. Individualus įgūdis; Paverskite ją komandos sistema, paremta patvirtintu įrankių sąrašu, patikros vartais, skaidrumu ir atsakomybės aiškumu. AI yra greičio daugiklis nuo galo iki galo; Asmuo, kuris pasirašo ir pateikia sąskaitą, visada yra kompetentingas asmuo.
Taikymo užduotis
Išvardykite tris tikras užduotis, kurias atliksite kitą savaitę. Naudokite „užduoties ir transporto priemonės suderinimo sprendimo“ šabloną, kad pagrįstumėte, kurią transporto priemonės klasę ir kokį autonomijos lygį pasirinksite. Tada atlikite siaurą užduotį, skirtą CLI agentui (arba pokalbių asistentui), vadovaudamiesi disciplina „pirmiausia planuoti“: patvirtinkite planą, vykdykite jį, atlikite testus ir peržiūrėkite pakeitimus kaip žmogaus PR. Galiausiai savo komandai parenkite 5 punktų „AI naudojimo taisyklę“ (patvirtinti įrankiai, duomenų taisyklė, patvirtinimo vartai, autonomijos riba, atskaitomybė).
kontrolinis sąrašas
- [ ] Galiu atskirti dirbtinio intelekto kodavimo įrankių kategorijas ir kiekvienos iš jų mėgstamiausias vietas.
- [ ] Užduotį priskiriu prie tinkamos transporto priemonės klasės ir atitinkamo savarankiškumo lygio.
- [ ] Įrankiams suteikiu nuolatinį projekto kontekstą (instrukcijų failą).
- [ ] CLI agentams taikau siaurą sritį ir „pirmiausia planuok“ discipliną.
- [ ] Aš perduodu dirbtinio intelekto pokyčius per tuos pačius patikrinimo vartus kaip ir žmogaus pokyčius.
- [ ] Aš pasisakau už patvirtintą įrankį, duomenų taisyklę, skaidrumo ir atskaitomybės sistemą komandos lygiu.
Modulio egzaminas
1. Ką iš tikrųjų veikia pagrindinis kodavimo asistento didelės kalbos modelis, kai jis gamina kodą?
- A) sistemingai numato labiausiai tikėtiną tęsinį pagal pateiktą kontekstą ✔
- B) Garantuoja teisingą rezultatą faktiškai sukompiliuojant ir paleisdamas kodą
- C) Jis nuskaito kodą visame internete ir nukopijuoja tiksliausią.
- D) Supranta kodo logiką kaip žmogus inžinierius ir supranta ketinimą
Paaiškinimas: LLM „nesupranta“ kodo kaip žmogus; Jis generuoja labiausiai tikėtiną tam tikro konteksto tęsinį, remdamasis modeliais, kuriuos išmoksta iš labai didelio teksto ir kodo. Todėl išvesties kokybė tiesiogiai priklauso nuo konteksto ir jūsų pateiktų nurodymų kokybės, todėl kiekviena išvestis turi būti patvirtinta.
2. Kaip jūs vadinate tai, kai dirbtinis intelektas įtikinamai sugalvoja neegzistuojančią funkciją ar biblioteką ir kas yra vienintelis tikras priešnuodis?
- A) Tai vadinama kompiliavimo klaida; Priešnuodis – stipresnė įranga
- B) Tai vadinama haliucinacija; Priešnuodis yra patikrinti kodą ir kiekvieną naudojamą API ✔
- C) Tai vadinama regresija; Priešnuodis – iš naujo paleisti modelį
- D) Tai vadinama konteksto perpildymu; Priešnuodis – sutrumpinti raginimą
Aprašymas: tai vadinama haliucinacijomis ir sukelia vieną brangiausių programinės įrangos klaidų. Vienintelis tikras priešnuodis yra patikrinimas: patvirtinimas, kad kiekviena naudojama funkcija, API ir paketas iš tikrųjų egzistuoja ir kad kodas veikia. Pasitikintis modelio tonu nėra tikslumo įrodymas.
3. Kuris metodas labiausiai pagerina išvesties kokybę ir nuoseklumą generuojant kodą naudojant AI?
- A) Modelio išleidimas sakydamas „parašyk tai man“ nepateikdamas jokio konteksto
- B) Parašykite kuo ilgesnį ir įmantresnį raginimą
- C) Nurodykite ir pateikite įvesties/išvesties sutarties pavyzdžius, kraštutinius atvejus, versiją ir stilių ✔
- D) Sugeneruoto kodo sujungimas tiesiogiai jo neskaitant
Paaiškinimas: Nustačius funkcijos įvesties/išvesties tipus (sutartis), kraštutinius atvejus, kalbos/versijos ir stiliaus apribojimus bei pateikiant modelio pavyzdį, galima pereiti nuo numatymo prie tikslumo. Be konteksto užklausos „parašyk man tai“ sukuria kodą, kuris kiekvieną kartą skiriasi ir dažnai apeina kraštutinius atvejus.
4. Tiriant svetimą kodų bazę su AI, funkcijos pavadinimas gali būti „validateAndSave“, bet AI santrauka gali būti neteisinga. Koks yra teisingas požiūris?
- A) Visiškas pasitikėjimas AI santrauka, nes pavadinimas yra savaime suprantamas
- B) Funkcijos keitimas tiesiogiai jos neskaitant
- C) Apsispręskite tik pažiūrėję į funkcijos pavadinimą
- D) AI aprašą traktuokite kaip hipotezę ir kodo eilutę po eilutės patikrinkite kritinius teiginius ✔
Paaiškinimas: AI gali pažvelgti į pavadinimą kode ir pasakyti, „kaip atrodo, ką jis daro“, tačiau iš tikrųjų logika gali būti kitokia (arba net atvirkščiai). Taigi AI paaiškinimas yra hipotezė; Kritiniai teiginiai, ypač susiję su saugumu, autoritetu ar pinigų srautu, turi būti vizualiai patikrinti atitinkamose eilutėse.
5. Koks didžiausias pavojus kyla sakant „AI pažiūrėjo, viskas aišku“ atliekant AI padedamą kodo peržiūrą?
- A) AI gali pateikti klaidingai neigiamus rezultatus; Tikros praleistos klaidos sukuria klaidingą pasitikėjimą ✔
- B) AI peržiūra per lėta, todėl gaištamas laikas
- C) Komanda nesupranta, nes AI komentuoja tik anglų kalba
- D) PR nesutampa, nes AI visada per daug interpretuoja
Paaiškinimas: AI pateikia ir klaidingus teigiamus (pažymi problemą ten, kur jos nėra), ir klaidingus neigiamus (neatsižvelgiant į tikrąją klaidą). Klaidingi negatyvai nutyli; Pavojingiausios klaidos yra tos, kurios apžvalgoje išvis nepaminėtos. Taigi AI yra pirmasis filtras, o ne patvirtinimas; Sprendimą sujungti turi atsakingas asmuo.
6. Kokie yra patys klastingiausi spąstai, kurie atsiranda, kai tiesiog suteikiate AI kodą ir spausdinate testus?
- A) AI visada rašo per daug testų ir išplečia kodų bazę
- B) AI patikrina dabartinį (galbūt neteisingą) kodo elgesį kaip „teisingą“ ir ištaiso klaidą ✔
- C) AI automatiškai ištrina kodą rašydamas testus
- D) AI rašo testus ne tik laimingam keliui, bet visada ir kraštutiniam atvejui
Paaiškinimas: AI linkęs žiūrėti į kodą ir rašyti teiginius, kurie tikrina esamą elgesį. Jei kodas neteisingas nuo pat pradžių, AI ištaiso šį neteisingą elgesį kaip „teisingą“. Todėl testo lūkesčius reikėtų rašyti pagal reikiamą taisyklę (specifikaciją), o ne pagal esamą kodo išvestį.
7. Kas labiausiai nulemia hipotezių tikslumą derinant klaidą su AI?
- A) Kaip mandagiai parašytas raginimas.
- B) Kiek kartų klausimas buvo užduotas dar kartą
- C) Modeliui pateiktų įrodymų kokybė: visas klaidos pranešimas, dėklo sekimas, įvestis ir numatoma elgsena ✔
- D) Kokios spalvos tema parašytas kodas?
Paaiškinimas: AI nemato klaidos taip, kaip jūs matote; Jis žino tik jūsų pateiktus įrodymus. Atsižvelgiant į visą klaidos pranešimą, dėklo sekimą, suaktyvinimo įvestį ir numatomą elgesį, modelis išvardija realias galimybes; Jei nėra įrodymų, tai daro spėjimą (haliucinaciją) ir nukreipia jus į klaidingą kelią.
8. Koks yra svarbiausias žingsnis prieš pateikiant gamybos žurnalus AI analizei?
- A) Įklijuoti rąstą taip, kaip yra, apimant visą dieną
- B) Pirmiausia konvertuokite žurnalą į didžiąsias raides
- C) Rąsto eilučių išdėstymas abėcėlės tvarka
- D) Asmens duomenų ir paslapčių maskavimas ir tik atitinkamo lango pateikimas ✔
Aprašymas: neapdorotuose gamybos žurnaluose yra IP, el. pašto adresas, seanso ID, prieigos raktas ir kartais atvira paslaptis. Įklijuoti juos į AI įrankį jų neužmaskuojant yra rimtas privatumo pažeidimas. Be to, žurnalas turi būti filtruojamas iki siauro laiko lango; Tačiau pirmiausia reikia išvalyti neskelbtinus duomenis.
9. Ką daryti, jei PG žurnalo analizėje teigia, kad du įvykiai įvyko „vienu metu“, o vieną paskelbia pagrindine priežastimi?
- A) Koreliacijos kaip priežastinio ryšio neatsižvelgimas ir teiginio patikrinimas naudojant metriką ir kodą ✔
- B) Priežasties pripažinimas galutine, nes AI nustato laiko ryšį
- C) Nedelsiant iš naujo paleisti pirmąjį kaltinamąjį komponentą
- D) Visiškai ištrinti žurnalus ir vėl juos surinkti
Paaiškinimas: Dažniausia žurnalo analizės klaida yra koreliacijos ir priežastinio ryšio painiojimas. AI nustatytas laiko santykis yra užuomina, o ne įrodymas. Tikrasis priežastinis ryšys reikalauja laiko, mechanizmo ir, jei įmanoma, pakartojamumo; Paraiška turi būti patvirtinta naudojant metriką ir kodą.
10. Kokia yra neginčijama auksinė taisyklė atnaujinant dirbtinį intelektą ir kas ją užtikrina?
- A) kodas turėtų būti trumpesnis; Eilučių skaičius tai garantuoja
- B) elgesys nepasikeitė; tai užtikrina esamą elgesį fiksuojantys testai ✔
- C) Kode yra daugiau komentarų; AI tai garantuoja
- D) viso failo perrašymas vienu metu; agentas tai garantuoja
Paaiškinimas: pertvarkymas – tai vidinės kodo struktūros tobulinimas, nekeičiant jo išorinės elgsenos; Auksinė taisyklė – elgesys išlieka pastovus. Tai užtikrina testavimas: testų tinklas, fiksuojantis esamą elgseną prieš jį keičiant, yra nustatytas ir paleistas po kiekvieno veiksmo. Refaktorizavimas be testneto yra azartas.
11. Koks yra dokumentacijos kūrimo sluoksnis, kurio dirbtinis intelektas nežino ir yra pavojingas?
- A) Kaip atlikti diegimo veiksmus
- B) Funkcijos parametrų sąrašas
- C) „Kodėl“ dizaino sprendimas buvo priimtas tokiu būdu ✔
- D) Kokia kalba parašytas kodas?
Aprašymas: AI iš kodo gali išgauti sluoksnį „kas/kaip“ (ką veikia funkcija, kaip ji nustatoma); tačiau ji negali žinoti „kodėl“ sluoksnio (projektinio sprendimo pagrindimo, ribinės vertės priežasties). Išgalvota „priežastis“ yra pavojingesnė nei nepateisinimas; Kodo savininkas turi pridėti šį sluoksnį.
12. Ką turėtų daryti kūrėjas, jei nori įklijuoti konfigūracijos failą, kuriame yra tiesioginis API raktas, į nepatvirtintą AI įrankį, sprendžiant skubią klaidą?
- A) Norėdami pagreitinti, įklijuokite failą tokį, koks yra, tada ištrinkite pokalbį
- B) Failo pabaigoje pridėkite „konfidencialų“ pastabą ir išsiųskite
- C) Palikite raktą ir pakeiskite tik failo pavadinimą
- D) Pašalinkite / užmaskuokite paslaptis ir pateikite tik būtiną neskelbtiną kontekstą ✔
Atskleidimas: paslaptys, asmens duomenys ir konfidencialus turtas niekada neturėtų būti įvedami į nepatvirtintus būdus; Skuba nesustabdo šios raudonos linijos. Teisingas požiūris yra pirmiausia išgauti / užmaskuoti paslaptis ir pateikti tik būtiną, nejautrią kontekstą. Jei paslaptis vis tiek nuteka, pirmiausia reikia nedelsiant pasukti tą raktą.
13. Dirbtinio intelekto sukurtas kodas praeina testavimą ir veikia gamyboje. Ar tai įrodo, kad kodas yra saugus?
- A) Ne; „veikia“ nereiškia saugaus, saugumui reikalingas atskiras autentifikavimo lygis ✔
- B) Taip; Testą išlaikęs kodas pagal apibrėžimą yra saugus
- C) Taip; Paleidus jį gamyboje, pašalinami visi pažeidžiamumai
- D) Ne; bet saugumas svarbus tik tuo atveju, jei kodas yra lėtas
Paaiškinimas: „darbas“ nėra tas pats, kas „saugus“. Net jei kode yra pažeidžiamumas, pvz., SQL injekcija, jis gali išlaikyti testavimą ir veikti sklandžiai; Pažeidžiamumas atskleidžiamas tik tada, kai užpuolikas jį randa. Todėl, be tikslumo, į saugumą orientuota peržiūra ir nuskaitymai, tokie kaip SAST, turėtų būti atliekami kaip atskiras sluoksnis.
14. Kokia yra saugiausia disciplina, kai kelių failų užduotis suteikiama CLI agentui (autonominis įrankis, galintis keisti failus ir vykdyti komandas)?
- A) Pasakykite agentui „patobulinkite šį modulį“ ir suteikite visišką laisvę
- B) Suteikti siaurą taikymo sritį ir priimtinumo kriterijus, pirmiausia paprašyti plano, jį patvirtinti, žingsnis po žingsnio jį įgyvendinti ir atlikti testus ✔
- C) Tiesiogiai sujungti visus agento pakeitimus jų neperžiūrėjus
- D) Suteikti agentui neribotą prieigą prie gamybos aplinkos ir konfidencialių duomenų
Paaiškinimas: Didėjant savarankiškumui, turėtų padidėti ir kontrolė. Suteikti agentui siaurą taikymo sritį ir aiškius priėmimo kriterijus, pirmiausia paprašyti plano be pakeitimų, patvirtinti planą, tada žingsnis po žingsnio jį įgyvendinti ir kiekviename žingsnyje atlikti testus; Tai užkerta kelią pakeitimams, kurie yra platūs, neperžiūrimi ir kuriuos reikia atšaukti.
15. Kas yra atsakingas dėl dirbtinio intelekto sugeneruoto kodo saugumui svarbioje programinėje įrangoje (pvz., mokėjimas ar autentifikavimas)?
- A) Kadangi kodas gaunamas iš AI, jis yra transporto priemonės teikėje
- B) Jei dirbtinis intelektas yra pakankamai išvystytas, niekas to neturi; nereikia tikrinti
- C) komanda / inžinierius, kuris tiria, surenka ir platina kodą; AI nepakeičia sutikimo ✔
- D) Tik asmuo, kuris rašo raginimą, o ne tie, kurie jį peržiūri
Aprašymas: AI yra greičio daugiklis ir planų generatorius; negali prisiimti atsakomybės. Atsakomybė už visas klaidas, pažeidžiamumą ar pažeidimus, atsirandančius dėl gamybinio kodo, tenka komandai, kuri peržiūri, surenka ir platina tą kodą. Saugumui svarbiose srityse dirbtinio intelekto išvestis jokiomis aplinkybėmis nepakeičia kvalifikuoto inžinieriaus peržiūros ir patvirtinimo.