Qligħ:
- Kapaċità li tispjega kif assistent tal-kodifikazzjoni jaħdem bħala mudell tal-lingwa u l-kunċetti ta’ token, tieqa tal-kuntest, alluċinazzjoni
- Kapaċità li tiddistingwi kompiti tas-softwer fejn l-AI hija b'saħħitha u dgħajfa b'mappa mentali
- Kapaċità li tapplika ċ-ċiklu bażiku tax-xogħol ta 'tipproponi-produċi-verifika għall-kompiti tagħhom stess
Jum ta 'żviluppatur ta' softwer rari jintefqu "tikteb kodiċi mill-bidu." Ħin reali; Qari tal-kodiċi miktub minn xi ħadd ieħor, tipprova tirriproduċi bug, skannjar tal-log (linji ta 'log prodotti mill-applikazzjoni waqt li tkun qed taħdem), kitba ta' testijiet, kitba ta 'PR (pull request - talba ta' amalgamazzjoni fejn tiġi sottomessa bidla tal-kodiċi għal reviżjoni tat-tim) spjegazzjoni u aġġornament tad-dokumentazzjoni. L-intelliġenza artifiċjali (AI) hija multiplikatur tal-veloċità li jista 'jmiss kważi dawn l-impjiegi kollha li ma jidhrux. Iżda l-ewwel kundizzjoni biex tużah b'mod sikur hija li tifhem b'mod korrett x'inhu u dak li mhuwiex.
F'din l-unità, l-ewwel nispjegaw it-teknoloġija sottostanti ta 'assistent tal-kodifikazzjoni b'lingwaġġ sempliċi; imbagħad noħolqu mappa mentali tas-saħħiet u d-dgħufijiet tal-mudell; Fl-aħħar nett, nistabbilixxu d-dixxiplina bażika tax-xogħol li se nużaw matul il-modulu kollu: tipproponi, tipproduċi, tivverifika. Dawn it-tliet passi huma s-sinsla tal-ħdax-il unità li jmiss.
Nota: Dan il-modulu huwa taħriġ ġenerali. F'softwer kritiku għas-sigurtà (ipproċessar tal-ħlas, kura tas-saħħa, awtentikazzjoni, infrastruttura kritika) l-output tal-AI mhuwiex sostitut għar-reviżjoni u l-approvazzjoni minn inġinier kwalifikat. AI hija assistent; Il-firmatarju huwa l-inġinier.
X'jagħmel Attwalment Assistent tal-Kodifikazzjoni?
Il-biċċa l-kbira tal-assistenti tal-kodifikazzjoni huma mibnija fuq mudell ta’ lingwa kbira (LLM—AI mħarrġa fuq ammonti kbar ta’ test u kodiċi li tbassar il-“biċċa l-kbira”) li jmiss. Il-mudell ma "jifhimx" il-kodiċi bħal bniedem; Jiġġenera l-kontinwazzjoni l-aktar probabbli tal-kuntest li tagħtih, ibbażat fuq il-mudelli li titgħallem minn ġabra kbira ta 'eżempji. Dan il-mekkaniżmu li jidher sempliċi jagħti riżultati sorprendentement profiċjenti fil-prattika - minħabba li l-biċċa l-kbira tas-softwer jikkonsisti f'mudelli ripetuti: talba HTTP, loop, kontroll null, mudell tat-test.
Tliet termini huma kritiċi hawnhekk. Token huwa l-iżgħar unità li l-mudell jipproċessa billi jaqsam it-test; Huwa bejn wieħed u ieħor ftit ittri jew parti minn kelma. It-tieqa tal-kuntest hija l-ammont ta 'tokens li l-mudell jista' "jara" f'daqqa; Il-kodiċi, il-messaġġ ta' żball u l-istruzzjoni tiegħek għandhom jidħlu f'din it-tieqa. Pront huwa l-istruzzjonijiet u l-kuntest kollha li tagħti lill-mudell. Il-kwalità tal-output li tikseb tiddependi direttament fuq dawn it-tnejn: il-kuntest aħjar u l-istruzzjonijiet aktar ċari li tagħti l-mudell, l-aħjar riżultat se tikseb. Input ħażin jipproduċi output ħażin, anki jekk huwa mudell intelliġenti - ir-regola klassika tas-softwer "żibel ġewwa, żibel barra" tapplika wkoll għall-AI.
Qawwiet u Dgħufijiet Mappa
Biex tidderieġi l-AI lejn l-impjiegi t-tajba, huwa meħtieġ li tkun taf fejn tiddi u fejn tfixkel. Il-memorja ta' din il-mappa se ġġiegħlek tistaqsi ma' kull missjoni li jmiss, "Għandi niskuntratta dan ix-xogħol lill-AI jew nagħmilha jien?" Jippermettilek twieġeb il-mistoqsija f'sekondi.
Is-saħħiet tiegħu huma: Il-ġenerazzjoni ta 'kodiċi boilerplate, it-traduzzjoni minn lingwa għal oħra, il-kitba ta' espressjoni regolari (regex), id-deskrizzjoni ta 'funzjoni, il-ħolqien ta' skeletru ta 'test, l-interpretazzjoni ta' messaġġ ta 'żball, l-abbozzar ta' dokumentazzjoni, is-suġġeriment ta 'ismijiet ta' varjabbli/funzjonijiet, u refactorings minuri (titjib tal-istruttura tal-kodiċi mingħajr ma tinbidel l-imġiba tiegħu).
Nuqqasijiet: Li tkun taf ir-regoli tan-negozju speċifiċi għall-kumpanija tiegħek, tiftakar il-bażi tal-kodiċi kollha tiegħek, fil-fatt taħdem u tivverifika l-kodiċi, tkun taf l-aħħar verżjonijiet tal-librerija żgur, tiskopri vulnerabbiltajiet tas-sigurtà b'garanzija mija fil-mija. L-iktar ħaġa perikoluża hija l-alluċinazzjoni: il-mudell jivvinta funzjoni, librerija jew API ineżistenti (interface li tippermetti l-iskambju tad-dejta bejn l-applikazzjonijiet) f'lingwa konvinċenti ħafna. Dan ir-riskju fil-fatt jista 'jinbidel għall-vantaġġ tiegħek, peress li l-kodiċi, b'differenza mit-test sempliċi, jista' jiġi ttestjat biex tara jekk "taħdimx" - sempliċement taqbeż il-pass tal-verifika.
Tip ta' missjoni
Ir-rwol tal-AI
ir-rwol tal-bniedem
Ipproduċi boilerplate/skeletru
jipproduċi abbozz
Adatta, reviżjonijiet
Deskrizzjoni tal-kodiċi
Jagħti sommarju malajr
Jivverifika l-parti kritika fil-kodiċi
testijiet tal-kitba
Każ jissuġġerixxi
Jikkonferma l-kopertura u l-eżattezza
Loġika kritika għas-sigurtà
idea utli
Id-deċiżjoni u r-responsabbiltà huma għal kollox tal-bnedmin.
Użu tal-API/librerija
Jiġġenera kampjun
Jivverifika l-eżistenza u l-verżjoni
deċiżjoni arkitettonika
Tipi ta 'għażliet
Jagħżel u jiddefendi l-għarfien tal-kuntest
Pass pass: Ċiklu ta 'Ħidma Bażiku
- Iċċara l-kompitu. Jekk ma tistax tikteb dak li trid f’sentenza waħda, lanqas il-mudell. Aktar ma l-inċertezza tidħol kmieni fl-input, iktar tikber fl-output.
- Agħti l-kuntest. Żid il-kodiċi rilevanti, il-messaġġ ta 'żball sħiħ, il-verżjoni tal-lingwa/qafas u r-restrizzjonijiet fil-pront. Tgħidx "iffissa dan", għid "Python 3.11, FastAPI 0.110; din il-funzjoni tagħti żball 500, tisplodi meta l-korp tat-talba jkun vojt".
- Rwol ta' impożizzjoni u format. Qafas bħal "Int żviluppatur Go anzjan; agħti biss il-kodiċi u raġunament b'żewġ sentenzi" jiffoka l-output.
- Staqsi għaż-żgħar. Aqsamha fi passi aktar milli talba waħda ġgant; Ivverifika kull pass separatament. Bidliet kbar huma riskjużi minħabba li huma diffiċli biex jiġu vverifikati u suxxettibbli għall-ħabi tal-iżbalji.
- Ivverifika. Mexxiha, ittestjaha, aqrah viżwalment. Il-kodiċi AI mhux ivverifikat huwa "skeċċ", mhux "soluzzjoni". Dan huwa l-aktar pass mhux negozjabbli taċ-ċiklu.
Tliet Każijiet Mini
Każ 1 — L-iffrankar ta' ħin huwa reali iżda modest. Meta tim skeletonizza endpoints CRUD ġodda (Oħloq-Aqra-Aġġorna-Ħassar) b'AI, il-ħin tal-ewwel abbozz niżel minn madwar 40 minuta għal 8 minuti. Madankollu, bir-reviżjoni u l-ittestjar, il-ħin totali kien ta '25 minuta; għalhekk il-qligħ reali huwa minn 40 għal 25, madwar 38%. Din ir-rata, imkejla minflok l-aspettattiva ta '"aħna aċċellerati 10 darbiet", hija gwadann sostenibbli.
Każ 2 — L-alluċinazzjoni tiswa ħafna flus. Żviluppatur uża s-sejħa requests.get_json() issuġġerita mill-AI mingħajr validazzjoni; Ma kien hemm l-ebda metodu bħal dan (preċiżament response.json()). Intilfu 20 minuta meta l-kodiċi ma kkompilax. Sempliċi "dan il-metodu verament jeżisti?" verifika reset it-telf.
Każ 3 — Kuntest tajjeb jirdoppja l-output. Għall-istess bug, żviluppatur wieħed sempliċement kiteb "Qed inġib żball" u l-ieħor żied it-traċċa sħiħa tal-munzell, il-verżjoni u l-kampjun tad-dħul. Dan tal-aħħar kiseb is-soluzzjoni korretta mal-ewwel prova; L-ewwel wieħed qatta’ tliet dawriet. Id-differenza ma kinitx fil-mudell, iżda fl-input.
Erba' Mudelli Kopjabbli
Pront għall-istartjar b'għan ġenerali u b'saħħtu:
Rwol: Inti żviluppatur b'esperjenza ta' {{lingwa}}.Kompitu: {{what_want}}Kuntest:- Qafas/verżjoni: {{framework_and_version}}- Limitazzjonijiet: {{rendiment, stil, regoli ta' dipendenza}} Regoli:- Tużax librerija/funzjoni ineżistenti; Jekk m'intix ċert, immarkaha bħala "verifika". - L-ewwel, agħti pjan qasir, imbagħad il-kodiċi, imbagħad 2 sentenzi ta 'ġustifikazzjoni. - Jipproduċi kodiċi li jista 'jkun ittestjat u li jaħdem.
Biex tiffiltra l-inċertezza lura fil-mudell:
Qabel issolvi l-kompitu hawn taħt, elenka TAL-ALMIN 3 punti li ssib neqsin jew mhux ċari bħala mistoqsijiet. Tikteb kodiċi qabel ma nwieġeb.Kompitu: {{kompitu}}
Biex l-output jiġi kkontrollat minnu nnifsu:
Int ipproduċijt il-kodiċi li ġej. Issa ibdel ir-rwol tiegħek u kkritika dan il-kodiċi:- Elenka 3 każijiet (każijiet edge) li jistgħu ma jaħdmux.- Hemm xi APIs/funzjonijiet li stajt għamilt? Immarka.- Agħti l-verżjoni korretta. Kodiċi:{{code}}
Biex tqassam deċiżjoni f'għażliet:
Issuġġerixxi 2-3 approċċi ta' soluzzjoni għal {{problema}}. Għal kull wieħed: deskrizzjoni qasira, plus/minus, meta tagħżel. Agħti f'forma tabulari. MA tagħżel għalija; sempliċement iċċara l-għażla.
Pront dgħajjef / Pront qawwi
Dgħajjef: "Waħħal il-bug f'dan il-kodiċi." (Liema żball? Liema lingwa? X'inhi l-imġieba mistennija?)
Qawwija: "Python 3.11 / FastAPI 0.110. L-endpoint li ġej jirritorna 500 b'KeyError meta l-korp tat-talba jiġi vojt; Irrid li jirritorna 400 u messaġġ sinifikanti fuq korp vojt. L-ewwel spjega r-raġuni, imbagħad agħti l-funzjoni kkoreġuta, imbagħad ikteb test għal dan ix-xenarju. [kodiċi] "
Verżjoni qawwija; Jagħti l-lingwa, il-verżjoni, l-iżball attwali, l-imġiba mistennija u l-format tal-output. Il-mudell m'għadux għalfejn ibassar.
Żbalji komuni
- Fidu mingħajr verifika. L-iżball l-aktar komuni u l-aktar għali. Tgħidx "solvuta" sakemm il-kodiċi jiġi kkompilat u ttestjat.
- Tistaqsi mistoqsijiet mingħajr kuntest. It-tweġiba mingħajr verżjoni, test ta 'żball u restrizzjonijiet hija ġenerika u ħafna drabi żbaljata.
- Talba waħda enormi. Li ma tkunx tista 'titlob u tirrevedi produzzjoni ta' 300 linja f'daqqa tagħmel l-iżbalji inviżibbli.
- Jiżbalja l-kunfidenza tal-mudell fih innifsu bħala prova. L-AI tista' tgħid xi ħaġa ħażina b'fiduċja; It-ton mhuwiex indikatur tal-eżattezza.
- B'mod każwali twaħħal is-sigriet tal-kumpanija. Ċwievet privati, dejta tal-klijenti jew kodiċi tas-sors privat m'għandhomx jiddaħħlu f'għodod mhux approvati (se nidħlu f'dan is-suġġett f'unità 10).
Tip: Ittratta kull output AI bħala "dan huwa abbozz." Dan il-vizzju mentali wieħed jitfi ħafna mir-riskji li se tara matul il-modulu.
Fil-qosor
Assistent tal-kodifikazzjoni huwa mudell tal-lingwa li jbassar il-framment l-aktar probabbli li jmiss; Ma jifhimx il-kodiċi, jipproduċi mudelli. Huwa għalhekk li huwa b'saħħtu f'impjiegi ripetittivi u formuli; Għandu jintuża b'kawtela għal xogħol li jeħtieġ verifika li hija speċifika għall-kuntest tiegħek. L-akbar riskju huwa l-alluċinazzjoni, u l-uniku antidotu huwa l-verifika. Id-dixxiplina li se nsegwu matul il-modulu kollu hija ċara: iċċara l-kompitu, agħti kuntest, staqsi għal żgħir, ivvalida kull riżultat.
Kompitu ta' applikazzjoni
Ikteb tliet kompiti tas-softwer li għamilt fl-aħħar ġimgħa (eż. soluzzjoni ta’ bug, test, aġġornament README). Ħares lejn il-"mappa tas-saħħiet u d-dgħufijiet" għal kull wieħed u ddeskrivi f'sentenza waħda x'irwol tiegħek u tal-AI kieku kellek l-AI tagħmel dan. Imbagħad agħti waħda minn dawn il-kompiti lill-AI bil-mudell "bidu fil-pront" hawn fuq u mexxi u vverifika l-output; Innota kemm ffrankajt minuti u kemm kellek tirranġa żbalji.
lista ta' kontroll
- [ ] Irrealizzajt li LLM jipproduċi mudelli, mhux "jifhem" kodiċi.
- [ ] Kapaċi nispjega l-kunċetti ta' token, context window u prompt f'sentenza waħda.
- [ ] Kapaċi niddistingwi bejn tipi ta' kompiti fejn l-AI hija b'saħħitha u dgħajfa.
- [ ] Naf x'inhi alluċinazzjoni u l-uniku antidotu huwa l-verifika.
- [ ] Adattajt iċ-ċiklu "tipproponi, tipproduċi, tivverifika" għall-kompitu tiegħi stess.
- [ ] Kapaċi nuri d-differenza bejn pront qawwi u pront dgħajjef f’eżempju konkret.