Yunit 12 / 12

AI Coding Tools at Workflow Integration

Mga nadagdag:

  • Kakayahang i-map ang pagkumpleto ng editor, chat assistant, ahente ng CLI at mga kategorya ng automation ng CI sa mga gawain
  • Kakayahang ayusin ang antas ng awtonomiya ayon sa panganib at ilapat ang 'plano muna' na disiplina sa mga ahente ng CLI
  • Kakayahang baguhin ang paggamit ng AI sa isang team system batay sa isang validated tool, verification gate, transparency at accountability

Sa ngayon, natutunan namin na gumamit ng AI sa mga indibidwal na gawain (coding, pagsusuri, pagsubok, pag-debug). Sa panghuling unit na ito, pinagsama-sama namin ang mga piraso: pagkilala sa iba't ibang AI coding tool, pagtutugma ng tamang tool sa tamang trabaho, at pag-embed ng mga ito nang ligtas sa iyong pang-araw-araw na daloy ng development—mula sa editor hanggang version control, mula sa CI/CD pipeline hanggang sa pamamahala ng team. Ang layunin ay gawing pare-pareho at naa-audit na sistema ng pagtatrabaho ang magulo na "magtanong sa AI paminsan-minsan."

Sinasaklaw namin ang mga uri ng sasakyan na may mga neutral na kategorya (mabilis na nagbabago ang mga partikular na pangalan ng produkto; kung ano ang ginagawa ng kategorya ang mahalaga). Ang bawat kategorya ay may "sweet spot" at profile ng panganib; Ang mastery ay ang pag-alam kung gaano karaming awtonomiya ang ibibigay sa aling gawain.

Mga Kategorya ng AI Coding Tools

1. Pagkumpleto ng in-editor. Mga plugin na nagmumungkahi ng mga linya/block habang nagta-type ka sa iyong IDE (ang development environment kung saan ka nagsusulat ng code). Sweet spot: in-stream na bilis, boilerplate code. Panganib: makitid na konteksto, tinatanggap ang mungkahi nang hindi nag-iisip.

2. Chat/side panel assistant. Interface ng chat na naka-embed sa IDE na may visibility sa bahagi ng iyong codebase. Sweet spot: paglalarawan, refactor, pagsubok, pagsusuri ng bug. Panganib: limitado sa kontekstong ibibigay mo, nangangailangan ng pag-verify.

3. Mga ahente ng CLI (mga kasangkapan sa ahente). Ang mga tool na tumatakbo mula sa command line, maaaring magbasa at magbago ng maraming file, magpatakbo ng mga command, at magsagawa ng mga multi-step na gawain nang mag-isa. Sweet spot: maraming pagbabago sa file, paulit-ulit na gawain, "idagdag ang property na ito" na uri ng mga trabaho. Panganib: mataas na awtonomiya = mataas na epekto; Kung hahayaang walang check, nagdudulot ito ng malawak at mahirap i-verify na mga pagbabago.

4. Line/automation integration. Mga bot ng CI (Continuous Integration) na nag-iiwan ng mga awtomatikong komento sa pagsusuri sa mga PR, nagmumungkahi ng mga pagsubok, o gumagawa ng mga changelog. Sweet spot: unang salaan nang walang pagkapagod, pare-pareho. Panganib: ingay, maling kumpiyansa.

Hint: Habang tumataas ang awtonomiya, dapat ding tumaas ang kontrol. Dahil ang pagkumpleto ng editor ay maliit at madalian, ito ay hindi gaanong pinangangasiwaan; Ang multi-file modification ng isang ahente ng CLI ay dapat suriin tulad ng, kung hindi man mas maingat, kaysa sa isang PR ng tao.

Hakbang sa Hakbang: Pag-embed ng AI sa Workflow

  1. Imapa ang gawain sa tool. Maliit na in-stream na karagdagan → pagkumpleto; maintindihan/refactor/test → chat; multi-file, paulit-ulit na trabaho → ahente ng CLI; tuloy-tuloy na unang filter → pagsasama ng CI.
  2. Piliin ang antas ng awtonomiya. Gaano kalaki ang kalayaan ng ahente? Read-only na mungkahi o file modification + command execution? Ayusin para sa panganib.
  3. Alagaan ang konteksto. Permanenteng ipasok ang mga panuntunan ng proyekto (estilo, arkitektura, "hindi dapat") sa tool; Gumamit ng file ng pagtuturo ng proyekto sa halip na ipaliwanag ito nang paulit-ulit.
  4. Panatilihin ang verification gate. Ang pagbabago sa AI ay parang pagbabago ng tao: dumaan ito sa compilation, pagsubok, pagsusuri, at (kung kritikal) pag-apruba ng eksperto. Ang pagbubukas ng AI ng PR ay hindi lumalampas sa pag-apruba.
  5. Sukatin at ayusin. Panoorin kung ano ang talagang nagpapabilis, kung saan tumataas ang pasanin sa pagwawasto; Putulin ang mga gamit na hindi gumagana.

Tatlong Mini Case

Case 1 — Pinangasiwaan ng ahente ng CLI ang multifile rename. Papalitan ng pangalan ng isang team ang isang konsepto na kumalat sa 60 file. Ibinigay nila ang gawain sa isang ahente ng CLI, unang humingi ng plano, inaprubahan ang plano, pagkatapos ay ginawa ang pagbabago at pinatakbo ang buong test suite. Hindi nakuha ng ahente 3 ang isang edge case sa file; Nahuli ito ng mga pagsubok, naayos ito. Ang trabaho, na inabot ng humigit-kumulang 3 oras nang manu-mano, ay natapos sa loob ng 50 minuto na may pangangasiwa.

Kaso 2 — Na-backfire ang walang check na awtonomiya. Sinabi ng isa pang developer sa isang ahente na "pagbutihin ang module na ito" at inilabas ito; Binago ng ahente ang 18 na file at nagdagdag ng dalawang dependency. Napakalawak ng pagbabago kaya hindi na ito masuri at kinailangang bawiin. Aralin: bigyan ang mga ahente ng makitid na saklaw, malinaw na pamantayan sa pagtanggap, at disiplina sa unang plano-sa huli.

Case 3 — CI review bot ang naging unang filter. Isang team ang bumuo ng bot na nag-iiwan ng mga awtomatikong komento sa pagsusuri ng AI sa mga PR. Sa sandaling nahuli ng bot ang mga null check omissions at mga isyu sa istilo, nagawa ng mga tagasuri ng tao na ilaan ang kanilang oras sa lohika ng negosyo. Gayunpaman, nilinaw ng team na hindi nagbigay ng "pag-apruba" ang bot: kailangan pa rin ng kahit isang pag-apruba ng tao. Para mabawasan ang ingay, ini-tune nila ang bangka para mag-iwan lamang ng high/medium intensity na ingay.

Apat na Nakokopyang Template

"Magplano muna" disiplina para sa ahente ng CLI:

Gawain: {{clear, narrow task}}Acceptance criteria: {{measurable result}}Constraint: work only on {{the following directory/files}}; pagdaragdag ng bagong dependency. Magpakita muna ng planong WALANG PAGBABAGO: aling mga file, ano ang magbabago, aling mga pagsubok ang tatakbo. Hintayin kong APPROVE ang plano. Pagkatapos ay ilapat ito nang sunud-sunod, nagpapatakbo ng mga pagsubok sa bawat hakbang.

File ng pagtuturo ng proyekto (patuloy na konteksto sa mga tool):

Mga patuloy na panuntunan para sa mga tool ng AI sa proyektong ito:- Wika/bersyon: {{...}}. Estilo: {{...}}.- Arkitektural na paghihigpit: {{e.g. direksyon sa pagitan ng mga layer}}.- HINDI KAILANMAN: pag-embed ng mga lihim, gamit ang data ng produksyon, {{mga ipinagbabawal na aklatan}}.- Dapat masubukan ang bawat pagbabago; Pagbabago ng pampublikong lagda ng API nang HINDI nagtatanong. - Kapag may pagdududa, huminto at magtanong.

Desisyon sa pagmamapa ng task-tool:

Tinukoy ko ang sumusunod na gawain: {{task}}. Anong klase ng mga tool ang dapat kong gawin nito sa: (a) pagkumpleto ng editor, (b) chat assistant,(c) CLI agent, (d) CI automation? Isulat ang iyong katwiran, panganib at inirerekomendang antas ng awtonomiya (mungkahi lamang / baguhin ang file / utos na tumakbo).

CI review bot code of conduct:

Mag-iwan lamang ng HIGH at MEDIUM severity findings bilang mga komento sa PR review. Ang bawat paghahanap: kategorya, kalubhaan, iminungkahing pagwawasto. Kolektahin ang mga tala sa antas ng kagustuhan sa estilo sa isang hiwalay, iisang buod na komento. HINDI KA PUMAYAG; kailangan ng pahintulot ng tao.

Mahinang prompt / Malakas na prompt

Mahina: (sa ahente ng CLI) "Gawing mas mahusay ang module ng pagbabayad."
Strong: (To CLI agent) "Only run under src/payments/. Task: Extract the recursive validation logic from the refund() function into a single helper; behavior and signatures does not change. First present the plan and wait for my approval; then execute and run the tests/payments/ package. Add new dependency."

Ang malakas na bersyon ay nagpapaliit sa saklaw, nagtatakda ng mga pamantayan sa pagtanggap at mga hadlang, at nagpapataw ng disiplina na "unahin ang plano." Ang mga hindi malinaw na hinihiling na "gumawa ng mas mahusay" ay ang ugat na sanhi ng malawak at hindi nakokontrol na mga pagbabago.

klase ng sasakyan

Kung ano ang galing niya

awtonomiya

timbang ng inspeksyon

Pagkumpleto ng editor

Maliit na in-stream na karagdagan

mababa

Banayad (instant reading)

katulong sa chat

Unawain, subukan, refactor

daluyan

Katamtaman (pag-verify ng output)

ahente ng CLI

Multi-file, recursive

mataas

Mabigat (plano + buong pagsusuri)

Pag-aautomat ng CI

Patuloy na unang filter

daluyan

Katamtaman (panuntunan + pag-apruba ng tao)

Pamamahala ng Koponan: Mula sa Indibidwal na Kasanayan hanggang sa Nakabahaging Sistema

Ang paggamit ng AI nang maayos sa isang indibidwal na batayan ay isang simula; Ang tunay na kapanahunan ay isang pare-parehong sistema sa antas ng pangkat. Ang system na ito ay batay sa ilang mga haligi: listahan ng mga inaprubahang tool (kung aling mga tool ang maaaring gamitin sa kung anong data — mula sa unit 10), verification gates (ang pagbabago ng AI ay dumadaan sa parehong build/test/review gates — mula sa unit 11), transparency (nagsasaad na ang isang pagbabago ay pinapagana ng AI ay nagbibigay ng traceability kung kinakailangan), at kalinawan ng responsibilidad (ang taong pumirma at mananagot ay malinaw). Nililimitahan ng balangkas na ito ang panganib habang pinapanatili ang bilis at tinitiyak na ang mga bagong miyembro ng koponan ay nagtatrabaho nang may parehong disiplina.

Pag-iingat: Kung mas mataas ang awtonomiya ng isang tool—lalo na ang mga ahente ng CLI na maaaring magbago ng mga file, magpatakbo ng mga command—mas mahigpit itong nililimitahan mula sa pag-access sa kapaligiran ng produksyon, kumpidensyal na data, at mahirap na ibalik na mga operasyon. Itali ang mga mapanirang utos (permanenteng pagtanggal, pag-deploy) sa pag-apruba ng tao.

Mga karaniwang pagkakamali

  • Ang gawain ay nangangahulugang hindi pagkakatugma. Sinusubukang gawin ang isang multi-file na trabaho na may pagkumpleto ng editor o isang maliit na attachment na may mabigat na ahente.
  • Pagpapalaya sa ahente. Ang mga gawain ng ahente na ibinigay na may makitid na saklaw at walang "plano muna" ay gumagawa ng mga hindi napagsusuri na pagbabago.
  • Pagluwag sa mga verification gate para sa AI. "Ginawa ito ng AI, mabilis tayong magpatuloy" ay ang pinaka-mapanganib na pagbubukod; Ang mga pintuan ay pareho para sa lahat.
  • Manu-manong pagbibigay ng konteksto sa bawat oras. Ang hindi pagsusulat ng mga panuntunan ng proyekto sa isang permanenteng file ng pagtuturo ay nagdudulot ng hindi pagkakapare-pareho at pagdoble.
  • Napagkamalan ang pag-apruba ng CI bot para sa pag-apruba ng tao. Ang bot ay isang filter; Ang responsableng pag-apruba ng tao ay sapilitan.

Sa buod

Ang mga tool sa AI coding ay nahahati sa apat na pangunahing kategorya: pagkumpleto ng editor, katulong sa chat, mga ahente ng CLI, at automation ng CI. Ang mastery ay tumutugma sa gawain sa tamang tool at tamang antas ng awtonomiya; Habang tumataas ang awtonomiya, tumataas din ang kontrol. Magbigay ng mga tool sa patuloy na konteksto ng proyekto, magpataw ng disiplina na "magplano muna" sa mga multi-file na ahente, at ipasa ang pagbabago sa AI sa parehong mga verification gate bilang pagbabago ng tao. Indibidwal na kasanayan; Ibahin ito sa isang team system na binuo sa isang aprubadong listahan ng tool, verification gate, transparency at kalinawan ng responsibilidad. Ang AI ay isang end-to-end speed multiplier; Ang taong pumipirma at nagbibigay ng account ay palaging isang karampatang tao.

Gawain ng aplikasyon

Maglista ng tatlong totoong gawain na gagawin mo sa susunod na linggo. Gamitin ang template na “task-to-vehicle matching decision” para sa bawat isa para bigyang-katwiran kung aling klase ng sasakyan at kung anong antas ng awtonomiya ang pipiliin mo. Pagkatapos ay magpatakbo ng isang makitid na gawain para sa isang ahente ng CLI (o chat assistant) na may disiplina na "unahin ang plano": aprubahan ang plano, ipatupad ito, patakbuhin ang mga pagsubok, at suriin ang pagbabago tulad ng isang PR ng tao. Panghuli, mag-draft ng 5-puntong “panuntunan sa paggamit ng AI” para sa iyong team (mga inaprubahang tool, panuntunan sa data, verification gate, limitasyon sa awtonomiya, pananagutan).

checklist

  • [ ] Maaari kong makilala ang pagitan ng mga kategorya ng AI coding tool at ang sweet spot ng bawat isa.
  • [ ] Minama ko ang gawain sa tamang klase ng sasakyan at naaangkop na antas ng awtonomiya.
  • [ ] Nagbibigay ako ng permanenteng konteksto ng proyekto (file ng pagtuturo) sa mga tool.
  • [ ] Naglalapat ako ng makitid na saklaw at disiplinang "magplano muna" sa mga ahente ng CLI.
  • [ ] Ipinapasa ko ang mga pagbabago sa AI sa parehong mga verification gate gaya ng mga pagbabago ng tao.
  • [ ] Nagsusulong ako para sa isang napatunayang tool, panuntunan ng data, transparency at balangkas ng pananagutan sa antas ng pangkat.

Pagsusulit sa Module

1. Ano ang aktwal na ginagawa ng pangunahing modelo ng malaking wika ng isang coding assistant kapag gumagawa ito ng code?

  • A) Sa pattern na hinuhulaan ang pinaka-malamang na pagpapatuloy batay sa ibinigay na konteksto ✔
  • B) Ginagarantiya ang tamang resulta sa pamamagitan ng aktwal na pag-compile at pagpapatakbo ng code
  • C) Ini-scan nito ang code sa buong internet nang live at kinokopya ang pinakatumpak.
  • D) Nauunawaan ang lohika ng code tulad ng isang inhinyero ng tao at naiintindihan ang intensyon

Paglilinaw: Hindi 'naiintindihan' ng LLM ang code tulad ng isang tao; Binubuo nito ang pinakamalamang na pagpapatuloy sa ibinigay na konteksto, batay sa mga pattern na natutunan nito mula sa napakalaking pool ng text at code. Samakatuwid, ang kalidad ng output ay direktang nakasalalay sa kalidad ng konteksto at pagtuturo na iyong ibinibigay, at ang bawat output ay dapat na mapatunayan.

2. Ano ang tawag mo dito kapag ang AI ay nakakumbinsi na gumawa ng isang hindi umiiral na function o library, at ano ang tanging tunay na antidote?

  • A) Ito ay tinatawag na compilation error; Ang antidote ay mas malakas na kagamitan
  • B) Ito ay tinatawag na hallucination; Ang antidote ay upang i-verify ang code at bawat API na ginamit ✔
  • C) Ito ay tinatawag na regression; Ang antidote ay i-restart ang modelo
  • D) Ito ay tinatawag na context overflow; Ang antidote ay upang paikliin ang prompt

Paglalarawan: Ito ay tinatawag na hallucination at nagiging sanhi ng isa sa mga pinakamahal na bug sa software. Ang tanging tunay na antidote ay ang pag-verify: pagkumpirma na ang bawat function, API, at package na ginamit ay aktwal na umiiral at gumagana ang code. Ang tiwala na tono ng modelo ay hindi katibayan ng katumpakan.

3. Aling diskarte ang higit na nagpapabuti sa kalidad at pagkakapare-pareho ng output kapag bumubuo ng code gamit ang AI?

  • A) Ilalabas ang modelo sa pamamagitan ng pagsasabi ng 'isulat mo ito sa akin' nang hindi nagbibigay ng anumang konteksto
  • B) Pagsusulat ng pinakamahaba at magarbong prompt na posible
  • C) Tukuyin at magbigay ng mga halimbawa ng input/output contract, edge cases, bersyon at istilo ✔
  • D) Direktang pagsasama-sama ng nabuong code nang hindi ito binabasa

Paliwanag: Ang pagtukoy sa mga uri ng input/output ng function (kontrata), edge case, language/version at style constraint at pagbibigay ng halimbawa sa modelo ay nagbibigay-daan sa paglipat mula sa hula tungo sa precision. Ang mga kahilingang 'write me this' na walang konteksto ay gumagawa ng code na iba-iba sa bawat oras at madalas na nilalampasan ang mga edge case.

4. Kapag nag-explore ng foreign codebase gamit ang AI, maaaring 'validateAndSave' ang pangalan ng isang function ngunit maaaring mali ang AI digest. Ano ang tamang diskarte?

  • A) Buong pagtitiwala sa buod ng AI dahil ang pangalan ay maliwanag
  • B) Direktang pagpapalit ng function nang hindi ito binabasa
  • C) Pagpapasya sa pamamagitan lamang ng pagtingin sa pangalan ng function
  • D) Tratuhin ang paglalarawan ng AI bilang isang hypothesis at i-verify ang mga kritikal na claim nang linya sa linya sa code ✔

Paliwanag: Maaaring tingnan ng AI ang pangalan sa code at sabihin sa iyo 'kung ano ang hitsura nito', ngunit sa katotohanan ay maaaring iba ang lohika (o baligtad pa nga). Kaya ang paliwanag ng AI ay isang hypothesis; Ang mga kritikal na paghahabol, lalo na ang mga may kinalaman sa seguridad, awtoridad o daloy ng pera, ay dapat na biswal na ma-verify sa mga nauugnay na linya.

5. Ano ang pinakamalaking panganib sa pagsasabing 'Tingnan ito ng AI, malinaw na' sa pagsusuri ng code na tinulungan ng AI?

  • A) AI ay maaaring gumawa ng mga maling negatibo; Ang mga totoong hindi nasagot na pagkakamali ay lumilikha ng maling kumpiyansa ✔
  • B) Masyadong mabagal ang pagsusuri ng AI kaya nag-aaksaya ng oras
  • C) Hindi naiintindihan ng team dahil English lang ang komento ng AI
  • D) Hindi nagtatagpo ang PR dahil palaging nag-over-interpret ang AI

Paliwanag: Ang AI ay gumagawa ng parehong maling positibo (pag-flag ng problema kung saan wala ito) at maling negatibo (nawawala ang totoong bug). Ang mga maling negatibo ay tahimik; Ang pinaka-mapanganib na mga pagkakamali ay ang mga hindi nabanggit sa pagsusuri sa lahat. Kaya ang AI ay isang unang filter, hindi pag-apruba; Ang desisyon na magsama ay pag-aari ng isang may pananagutan na tao.

6. Ano ang pinaka mapanlinlang na bitag na nangyayari kapag binigay mo lang sa AI ang code at mga pagsubok sa pag-print?

  • A) Palaging nagsusulat ang AI ng napakaraming pagsubok at pinalobo ang codebase
  • B) Sinusuri ng AI ang kasalukuyang (marahil mali) na gawi ng code bilang 'tama' at inaayos ang bug ✔
  • C) Awtomatikong tinatanggal ng AI ang code kapag nagsusulat ng mga pagsubok
  • D) Nagsusulat ang AI ng mga pagsubok hindi lamang para sa masayang landas ngunit palaging para sa edge case

Paliwanag: Ang AI ay may posibilidad na tumingin sa code at magsulat ng mga pahayag na sumusubok sa kasalukuyang gawi. Kung mali ang code sa simula, inaayos ng AI ang maling gawi na ito bilang 'tama'. Samakatuwid, ang mga inaasahan ng pagsusulit ay dapat na nakasulat ayon sa kinakailangang tuntunin (pagtutukoy), hindi ayon sa kasalukuyang output ng code.

7. Ano ang pinakatumutukoy sa katumpakan ng mga hypotheses kapag nagde-debug ng bug gamit ang AI?

  • A) Gaano magalang ang pagkakasulat ng prompt.
  • B) Ilang beses muling tinanong ang tanong
  • C) Kalidad ng ebidensya na ibinigay sa modelo: buong mensahe ng error, stack trace, input at inaasahang gawi ✔
  • D) Anong tema ng kulay ang nakasulat sa code?

Paliwanag: Hindi nakikita ng AI ang error sa paraang ginagawa mo; Siya lang ang nakakaalam ng ebidensya na binigay mo sa kanya. Dahil sa buong mensahe ng error, stack trace, pag-trigger ng input, at inaasahang pag-uugali, ang modelo ay nagsasaad ng mga tunay na posibilidad; Kung walang ebidensya, ito ay gumagawa ng hula (hallucination) at hahantong sa iyo sa maling landas.

8. Ano ang pinakamahalagang hakbang bago magbigay ng mga log ng produksyon sa AI para sa pagsusuri?

  • A) I-paste ang log bilang ay, sumasaklaw sa buong araw
  • B) I-convert muna ang log sa uppercase
  • C) Pag-aayos ng mga linya ng log sa pagkakasunud-sunod ng alpabeto
  • D) Pagtatakpan ng personal na data at mga lihim at pagbibigay lamang ng may-katuturang window ✔

Paglalarawan: Ang mga raw na log ng produksyon ay naglalaman ng IP, email, session ID, token at kung minsan ay bukas na lihim. Ang paglalagay sa kanila sa isang AI tool nang hindi tinatakpan ang mga ito ay isang seryosong paglabag sa privacy. Bilang karagdagan, ang log ay dapat na i-filter sa isang makitid na window ng oras; Ngunit ang unang pangangailangan ay linisin ang sensitibong data.

9. Ano ang dapat gawin kung sinabi ng AI na dalawang pangyayari ang nangyari 'sabay-sabay' sa pagsusuri ng log at idineklara ang isa bilang ugat na sanhi?

  • A) Pagwawalang-bahala sa ugnayan bilang sanhi at pag-verify ng claim gamit ang mga sukatan at code ✔
  • B) Ang pagtanggap sa dahilan bilang tiyak dahil ang AI ay nagtatatag ng isang relasyon sa oras
  • C) Agad na muling simulan ang unang akusado na sangkap
  • D) Ang ganap na pagtanggal ng mga log at pagkolekta ng mga ito muli

Paliwanag: Ang pinakakaraniwang pitfall sa pagsusuri ng log ay nakakalito na ugnayan sa sanhi. Ang relasyon sa oras na itinatag ng AI ay isang palatandaan, hindi ebidensya. Ang tunay na pananahilan ay nangangailangan ng timing, mekanismo, at, kung maaari, repeatability; Dapat na ma-validate ang claim gamit ang mga sukatan at code.

10. Ano ang non-negotiable golden rule kapag refactoring gamit ang AI at ano ang nagse-secure nito?

  • A) Ang code ay dapat na mas maikli; Ang bilang ng mga linya ay ginagarantiyahan ito
  • B) Walang pagbabago sa pag-uugali; ang mga pagsubok na kumukuha ng kasalukuyang gawi ay tinitiyak ito ✔
  • C) Ang code ay naglalaman ng higit pang mga komento; Ginagarantiya ito ng AI
  • D) Muling pagsusulat ng buong file nang sabay-sabay; ginagarantiyahan ito ng ahente

Paliwanag: Ang refactoring ay pagpapabuti ng panloob na istruktura ng code nang hindi binabago ang panlabas na gawi nito; Ang ginintuang tuntunin ay ang pag-uugali ay nananatiling pare-pareho. Ano ang nagtitiyak na ito ay pagsubok: isang testnet na kumukuha ng kasalukuyang gawi bago ito baguhin ay i-set up at patakbuhin pagkatapos ng bawat hakbang. Ang refactoring nang walang testnet ay isang sugal.

11. Ano ang layer sa paggawa ng dokumentasyon na hindi alam ng AI at mapanganib na gawin?

  • A) Paano patakbuhin ang mga hakbang sa pag-install
  • B) Listahan ng parameter ng isang function
  • C) Ang pagbibigay-katwiran sa 'bakit' ang isang desisyon sa disenyo ay ginawa sa ganoong paraan ✔
  • D) Anong wika ang nakasulat sa code?

Paglalarawan: Maaaring i-extract ng AI ang layer na 'ano/paano' (ano ang ginagawa ng function, paano ito setup) mula sa code; ngunit hindi nito malalaman ang layer na 'bakit' (ang katwiran ng disenyo para sa isang desisyon, ang dahilan para sa halaga ng limitasyon). Ang isang gawa-gawang 'dahilan' ay mas mapanganib kaysa walang katwiran; Dapat idagdag ng may-ari ng code ang layer na ito.

12. Ano ang dapat gawin ng isang developer kung gusto niyang mag-paste ng configuration file na naglalaman ng live na API key sa isang hindi naaprubahang AI tool habang nireresolba ang isang apurahang bug?

  • A) Para sa bilis, i-paste ang file bilang ay at pagkatapos ay tanggalin ang chat
  • B) Magdagdag ng 'kumpidensyal' na tala sa dulo ng file at ipadala ito
  • C) Iwanan ang susi at palitan lamang ang pangalan ng file
  • D) Mag-alis/magtakpan ng mga lihim at magbigay lamang ng kinakailangang hindi sensitibong konteksto ✔

Pagbubunyag: Ang mga lihim, personal na data at mga kumpidensyal na asset ay hindi dapat ilagay sa hindi naaprubahang paraan; Ang pangangailangan ng madaliang pagkilos ay hindi sinuspinde ang pulang linyang ito. Ang tamang diskarte ay i-extract/i-mask muna ang mga lihim at ibigay lamang ang kinakailangan, hindi sensitibong konteksto. Kung ang isang lihim ay tumutulo pa rin, ang unang bagay na dapat gawin ay agad na buksan ang susi na iyon.

13. Ang isang code na binuo ng AI ay pumasa sa pagsubok at tumatakbo sa produksyon. Ito ba ay nagpapatunay na ang code ay ligtas?

  • A) Hindi; Ang 'gumagana' ay hindi nangangahulugang secure, ang seguridad ay nangangailangan ng hiwalay na layer ng pagpapatunay ✔
  • B) Oo; Ang code na pumasa sa pagsubok ay ligtas ayon sa kahulugan
  • C) Oo; Ang pagpapatakbo nito sa produksyon ay nag-aalis ng lahat ng mga kahinaan
  • D) Hindi; ngunit mahalaga lamang ang seguridad kung mabagal ang code

Paglilinaw: Ang 'Pagtatrabaho' ay hindi katulad ng 'secure'. Kahit na ang code ay naglalaman ng isang kahinaan tulad ng SQL injection, maaari itong pumasa sa pagsubok at tumakbo nang maayos; Ang kahinaan ay makikita lamang kapag nahanap ito ng isang umaatake. Samakatuwid, bilang karagdagan sa katumpakan, ang pagsusuri at pag-scan na nakatuon sa seguridad tulad ng SAST ay dapat gawin bilang isang hiwalay na layer.

14. Ano ang pinakaligtas na disiplina kapag nagbibigay ng isang multi-file na gawain sa isang CLI agent (autonomous tool na maaaring magbago ng mga file at magpatakbo ng mga command)?

  • A) Pagsasabi sa ahente na 'pagbutihin ang modyul na ito' at pagbibigay ng buong kalayaan
  • B) Pagbibigay ng makitid na saklaw at pamantayan sa pagtanggap, humihingi muna ng plano, pag-apruba nito, pagpapatupad nito nang sunud-sunod, at pagpapatakbo ng mga pagsusulit ✔
  • C) Direktang pagsamahin ang lahat ng mga pagbabago ng ahente nang hindi sinusuri ang mga ito
  • D) Ang pagbibigay sa ahente ng walang limitasyong pag-access sa kapaligiran ng produksyon at kumpidensyal na data

Paliwanag: Habang tumataas ang awtonomiya, dapat ding tumaas ang kontrol. Ang pagbibigay sa ahente ng isang makitid na saklaw at malinaw na pamantayan sa pagtanggap, humihingi muna ng isang plano nang walang pagbabago, pag-apruba sa plano, pagkatapos ay ipinatupad ito nang sunud-sunod at nagpapatakbo ng mga pagsubok sa bawat hakbang; Pinipigilan nito ang mga pagbabagong malawak, hindi nasusuri, at kailangang ibalik.

15. Sino ang may pananagutan na nagmumula sa AI-generated code sa security-critical software (hal. pagbabayad o authentication)?

  • A) Dahil ang code ay nagmula sa AI, ito ay nasa provider ng sasakyan
  • B) Kung ang AI ay sapat na binuo, walang sinuman ang mayroon; hindi na kailangang i-verify
  • C) Ang pangkat/engineer na nagsusuri, nagtitipon at namamahagi ng code; Hindi pinapalitan ng AI ang pahintulot ✔
  • D) Tanging ang taong sumulat ng prompt, hindi ang mga nagre-review nito

Paglalarawan: Ang AI ay isang speed multiplier at blueprint generator; hindi maaaring umako ng responsibilidad. Ang pananagutan para sa anumang mga pagkakamali, kahinaan o mga paglabag na nagmumula sa code sa produksyon ay nakasalalay sa pangkat na nagsusuri, nagbubuo at namamahagi ng code na iyon. Sa mga lugar na kritikal sa kaligtasan, ang output ng AI ay hindi kapalit para sa pagsusuri at pag-apruba ng isang kwalipikadong engineer sa anumang sitwasyon.