Kitengo 2 / 12

Kuandika hati na Kukamilisha Kiotomatiki

Faida:

  • Uwezo wa kupanga modi ya gumzo ili kurekebisha aina ya kazi na ukamilishaji wa ndani
  • Uwezo wa kuandika vidokezo vya uzalishaji vyenye nguvu ambavyo ni pamoja na mikataba ya pembejeo/pato, kesi za makali na vikwazo vya mtindo.
  • Uwezo wa kuhalalisha msimbo unaozalishwa na utegemezi wowote mpya uliopendekezwa kabla ya kuunganishwa

Sehemu ya kwanza ya msanidi programu kuwasiliana na AI mara nyingi hukamilishwa kiotomatiki - kipengele kinachopendekeza mstari unaofuata unapoandika - au kusema "andika chaguo hilo" kwenye dirisha la gumzo. Wote wanatumia injini moja lakini wanahitaji taaluma tofauti. Katika kitengo hiki, tunabadilisha uzalishaji wa msimbo kutoka kwa "kuiandika" bila mpangilio hadi hatua ya uhandisi ambayo matokeo yake yanaweza kutabirika na kuthibitishwa.

Kusudi ni kubadilisha AI kutoka kwa zana inayoharakisha mashine yako ya kuchapa hadi kwa mwanafunzi anayefanya kazi ndani ya vizuizi ulivyoweka. Mwanafunzi anayeongozwa vyema anaokoa wakati; Mwanafunzi asiye na mwongozo hutoa fujo ambayo unapaswa kusafisha baadaye.

Njia Mbili za Utumiaji: Kukamilika kwa Mstari na Gumzo

Ukamilishaji wa ndani hutumika unapoandika kihariri chako; Unaandika saini ya chaguo la kukokotoa au mstari wa maoni na inapendekeza mengine. Ni nzuri kwa kasi, lakini ina muktadha mwembamba: inaona nambari tu katika eneo la karibu. Ndio maana inafanya kazi vizuri unapoandika nia yako wazi katika maoni. Kwa mfano, //thibitisha barua pepe ya mtumiaji, tupa ValidationError ikiwa maoni batili yataboresha pendekezo lililo hapa chini kwa kiasi kikubwa.

Modi ya gumzo ni ya kazi kubwa na zilizopangwa: "Ongeza kurasa kwenye darasa hili", "Nyoa kiolesura cha huduma hiyo". Hapa una anasa ya kutoa jukumu, muktadha na umbizo. Kanuni ya jumla ni: kukamilika kwa kazi ndogo na zinazozunguka, mazungumzo kwa kazi zinazohitaji kufikiri na muundo.

Kidokezo: Usikubali kwa upofu pendekezo la kukamilisha kwa "Tab". Soma mstari uliopendekezwa kwa sekunde; Jina tofauti lisilo sahihi au hali iliyogeuzwa mara nyingi huvuja kutoka hapa.

Hatua za Kutafsiri Kusudi kuwa Msimbo

  1. Bainisha mkataba. Ingizo, pato na tabia ya hitilafu ya kitendakazi ni nini? Kama vile "Pata barua pepe, rekebisha ikiwa ni halali, tupa makosa ikiwa si sahihi".
  2. Taja vikwazo. Je, hutumii utegemezi wa nje? Mwongozo wa mtindo maalum? Je, kuna kikomo cha utendaji?
  3. Toa mfano. Jozi ya pembejeo-pato (“ali@x.com → halali, ali@ → hitilafu”) husogeza uelewaji wa dhamira kutoka kwa utabiri hadi usahihi.
  4. Uliza vipande vidogo. Kazi moja, jukumu moja. Kisha nenda kwa inayofuata.
  5. Soma na endesha nambari iliyotengenezwa. Kukusanya + jaribio la haraka la mwongozo ndiyo hatua ya bei nafuu zaidi ya uhakikisho.

Kesi Tatu Ndogo

Kesi ya 1 - Uzalishaji unaoendeshwa na maoni huongeza usahihi. Msanidi programu aliomba kwanza kitendakazi cha uchanganuzi wa tarehe na mwili tupu na akapata matokeo sahihi katika raundi 3. Katika jaribio la pili, nilipofafanua kazi na maoni ya mstari 4 (fomati zilizokubaliwa, sheria ya eneo la wakati, hali ya makosa) na kuiomba, msimbo uliofanya kazi katika mzunguko wa kwanza ulikuja. Mfano sawa, siku hiyo hiyo; tofauti ilikuwa tu uwazi wa dhamira.

Kesi 2 - Kutobainisha toleo ni ghali. Timu moja ilitatizika kutumia API ya urejeshaji wa urithi ikichukua nafasi ya fs.promises katika msimbo uliotolewa wa Node.js. Wakati laini "Tumia Node 20, ESM, async/await" ilipoongezwa kwa haraka, uzalishaji ulifuata mradi mara ya kwanza; Wastani wa dakika 12 zilizotumiwa kusahihisha uliwekwa upya.

Kesi ya 3 - Faida halisi katika nambari ya bodi ya boiler. Huduma ndogo ilihitaji DTO 6 mpya (Kitu cha Uhamishaji Data - darasa rahisi la data ambalo hubeba data kati ya safu) na sheria zake za uthibitishaji. Kilichotumika kuwa takriban dakika 90 za kazi ya mikono kilipunguzwa hadi dakika 35 kilipotolewa na kukaguliwa na AI; Kwa kuwa marudio ya msimbo ni ya juu na muundo uko wazi, AI ilifanya kazi katika eneo lake la ufanisi zaidi hapa.

Violezo Vinne Vinakiliwa

Uzalishaji wa kazi kulingana na mkataba:

Jukumu: Wewe ni msanidi wa {{lugha}} mwenye bidii.Kandarasi ya kazi:- Jina: {{jina}}- Ingizo: {{aina na maana yake}}- Pato: {{aina na maana}}- Hali ya hitilafu: {{kile kinachorushwa/kurudishwa lini}}Vikwazo: {{hakuna tegemezi za nje / mtindo / utendaji>_1} {}} {{output_1}}- {{entry_2}} -> {{error_2}}Toa sahihi + mpango mfupi kwanza, kisha uweke msimbo. Kuandika vipimo, kazi tu.

Ili kulinganisha mtindo uliopo (badilisha kwa msingi wa nambari):

Chini ni mfano wa kazi kutoka kwa mradi wetu; Jifunze kutaja, kushughulikia makosa na mtindo wa kutoa maoni hapa. Andika chaguo la kukokotoa la {{new_task}} kwa mtindo SAME. Mfano: {{current_code}}

Kutoka kwa mifupa hadi kujaza (stub → utekelezaji):

Jaza kiunzi kilicho hapa chini kulingana na TODO kwenye maoni. BADILISHA saini na aina ya kurejesha. Usifanye kazi ya msaidizi ambayo haipo; ikiwa ni lazima, nijulishe "msaidizi huyu anahitajika". {{skelet_kod}}

Ulinganisho wa programu mbadala:

Toa utekelezaji 2 tofauti wa {{task}}: (a) kutanguliza usomaji, (b) kutanguliza utendaji. Andika sentensi 1 "wakati inapofaa" chini ya kila sentensi.

Agizo dhaifu / Ukumbusho thabiti

Dhaifu: "Niandikie kipengele cha uthibitishaji wa barua pepe."
Inayo nguvu: "TypeScript 5, maktaba ya kawaida pekee. Andika isValidEmail(input: string): boolean. Punguza nafasi, ifanye iwe isiyojali, a@b.co ni halali, a@, @b.co, mfuatano tupu ni batili. Ikiwa utatumia regex, usiwe changamano kupita kiasi; ongeza mistari 2 ya maoni."

Toleo la nguvu; Hurejesha lugha, toleo, sahihi, visanduku vya ukingo na kizuizi cha mtindo. Kwa hivyo, nambari iliyotengenezwa inafanya kazi na inafaa katika mradi wako.

Mbinu

Wakati wa kutumia

Tahadhari

Kukamilika kwa mstari

Uingizaji mdogo katika mtiririko

Usikubali pendekezo bila kulisoma

Uzalishaji wa msingi wa mkataba katika gumzo

Kitendaji/darasa jipya

Toa mfano na kesi ya makali

Uzalishaji kwa sampuli ya mtindo

Inaongeza kwa msimbo uliopo

Chagua sampuli ya msimbo wa sasa

kujaza mifupa

Sahihi imerekebishwa, mwili hauna kitu

Kubadilisha saini

Kurudiwa kwa Msimbo na Mtego wa Kutegemea

AI mara nyingi hupendekeza maktaba mpya ili kurahisisha kazi yake. Wakati mwingine hii ni sahihi, wakati mwingine inaongeza utegemezi usio wa lazima kwa mradi wako au kupendekeza kifurushi ambacho hakipo (hallucination). Sheria: unathibitisha kila utegemezi mpya. Usiiongeze kwenye mradi bila kuthibitisha kuwa kifurushi kipo, kinatunzwa, na kina leseni inayofaa. Mara nyingi msaidizi tayari katika mradi ni bora kuliko mfuko mpya.

Tahadhari: Kagua mistari ya uingizaji iliyopendekezwa na AI. Jina la kifurushi ambalo halipo (ambalo linaweza pia kufanana na vifurushi ghushi vinavyoitwa "typo-squatting") huvunja mkusanyiko na kuhatarisha usalama.

Makosa ya kawaida

  • Kuwa na saini iliyoamuliwa na mfano. Usiporekebisha aina za pembejeo/pato, saini tofauti huja na kila toleo la uzalishaji na ujumuishaji huwa mgumu.
  • Bila kutaja kesi za makali. Ingizo tupu, null, nambari hasi, thamani kubwa sana - ikiwa hutabainisha haya, mtindo unaandika "njia ya furaha", kuruka kingo.
  • Kuchanganya pendekezo bila kujaribu. Nambari inayoonekana kufanya kazi haimaanishi kuwa inafanya kazi.
  • Kukubali utegemezi usio wa lazima. Kuongeza maktaba nzima kwa mjengo mmoja hutengeneza deni la kiufundi.
  • Mtindo kutofautiana. Kutaja tofauti na kushughulikia makosa kutoka kwa mradi wote hufanya msingi wa nambari kuwa mbaya.

Kwa muhtasari

Uzalishaji wa msimbo una nguvu unapotafsiri nia kuwa mkataba wazi. Tumia ukamilishaji wa ndani kwa kazi ndogo, za mtiririko, na kwa kazi zinazoanzisha muundo katika mazungumzo. Unabainisha aina za pembejeo/pato, visanduku vya makali, toleo na mtindo; Toa mfano wa mfano; thibitisha kila utegemezi mpya; na kukimbia na kusoma kila kipande kilichotolewa. AI inalipa vizuri zaidi katika kanuni za fomula, zinazorudiwa - iendeshe hapo hapo, ndani ya mipaka uliyoweka.

Jukumu la maombi

Chagua kitendakazi kidogo kutoka kwa mradi wako ambao unahitaji kuandika. Kwanza ichapishe kwa AI ukitumia kiolezo cha "kizalishaji cha utendakazi kinachotegemea mkataba", ukitoa aina za pembejeo/toleo, vikeshi viwili vya makali, na kizuizi cha mtindo. Kusanya msimbo uliozalishwa na ujaribu na pembejeo mbili tofauti. Kisha uulize kazi sawa tena, wakati huu "niandikie hii" bila muktadha wowote, na ulinganishe matokeo mawili mstari kwa mstari: ni kesi gani za makali zilikosekana, ni masahihisho mangapi yalihitajika?

orodha ya ukaguzi

  • [ ] Ninajua mahali pa kutumia modi ya gumzo na ukamilishaji wa ndani.
  • [ ] Ninabainisha mkataba wa ingizo/pato na visa vya makali katika utendakazi wa uzalishaji.
  • [ ] Nimekuwa na mazoea ya kuongeza lugha na maelezo ya toleo kwenye dodoso.
  • [ ] Ninakusanya na kujaribu kila kipande kilichotolewa kabla ya kukiunganisha.
  • [ ] Ninathibitisha kila utegemezi mpya ambao AI inapendekeza kwa kuthibitisha uwepo na umuhimu wake.
  • [ ] Ninaangalia kuwa nambari iliyotengenezwa inalingana na mtindo wa mradi.