ChatGPT, Bard, dhe modele të tjera të shquara të gjuhës së madhe (LLMs) kanë dominuar lajmet tona gjatë vitit të fundit. Dhe me të drejtë kështu. Këto teknologji emocionuese na ofrojnë një vështrim në të ardhmen, fuqinë dhe mundësitë e IA.
Ndërsa pjesa më e madhe e ngazëllimit publik është përqendruar rreth krijimit të tekstit, imazheve dhe videove, këto mjete mund të përdoren për shumë disiplina të tjera, si automatizimi i softuerit.
Ky artikull do të veprojë si një zhytje e thellë në atë se si inxhinieria e shpejtë mund të na ndihmojë me automatizimin e softuerit. Megjithatë, porti ynë i parë i thirrjes duhet të jetë një ekzaminim i vetë inxhinierisë së shpejtë.
Çfarë është inxhinieria e shpejtë?
Modelet e mëdha gjuhësore si ChatGPT prodhojnë dalje në bazë të nxitësve apo fjalive që ne u japim atyre. Megjithatë, rezultatet ndryshojnë shumë në varësi të fjalëve ose udhëzimeve që përdorim. Kur futim udhëzime të paqarta dhe të pasakta, dalja mund të mos godasë shenjën.
Inxhinieria e shpejtë i referohet dizajnit të konsideruar të inputeve që ndihmojnë në nxjerrjen e përmbajtjeve më të sakta, më të sakta dhe në fund të përdorshme nga këto sisteme emocionuese IA.
Sistemet e Modelit të Madh të Gjuhës (LLM) përdorin përpunimin e gjuhës natyrore (NLP) për të interpretuar deklaratat që u japim. Makinat i shndërrojnë këto pyetje ose udhëzime (pra, nxit) në kod dhe i drejtojnë ato nëpër depon e tyre të gjerë të të dhënave për të prodhuar përmbajtje në çfarëdo formati që specifikojmë (p.sh., tekst, imazhe, kod).
ChatGPT u trajnua në mbi
570 GB të dhëna
. Materiali i trajnimit përbëhet nga libra, artikuj, tekste web, e kështu me radhë. Me fjalë të tjera, këto grupe të dhënash përmbajnë një sasi të paimagjinueshme njohurish.
Edhe pse mund ta kuptojmë procesin, një pjesë e madhe e asaj që ndodh nën kapakun e këtyre sistemeve ndodh jashtë shikimit tonë. Sigurisht, ne kontrollojmë hyrjet dhe daljet, dhe trajnojmë sistemin, por pikërisht mënyra se si funksionojnë dhe marrin vendimet këto algoritme është ende diçka e mistershme. Sipas fjalëve të Sam Bowman, një profesor i IA në Universitetin e Nju Jorkut, “E ndërtuam, e stërvitëm, por nuk e dimë se çfarë po bën.”
Inxhinieria e shpejtë na ndihmon të menaxhojmë këtë kaos duke përdorur daljet që prodhojnë rezultate të parashikueshme dhe të përdorshme. Ato na ofrojnë një shteg për të zhbllokuar sasitë e mëdha të njohurive brenda këtyre aplikacioneve. Disiplina po shfaqet si një karrierë e re
, me kurset që dalin kudo, ndërsa bizneset punojnë se si mund ta shfrytëzojnë këtë teknologji të fuqishme.
Si mund të nxitet ndihma inxhinierike
Me automatizimin e softuerit?
Automatizimi i softuerit dhe LLM-të kanë shumë gjëra të përbashkëta. Ata të dy ofrojnë një pamje të një të ardhmeje ku makinat do të rrisin kreativitetin njerëzor për të krijuar vende pune më të shpejta dhe më produktive.
Ka disa fusha emocionuese ku të dyja këto teknologji mund të konvergjojnë. Ja tre mënyra se si mund të përdorim inxhinierinë e shpejtë në automatizimin e softuerit.
#1. Gjenerimi i kodit
Kodi i shkrimit është një nga aplikacionet më premtuese të Modeleve të Gjuhëve të Mëdha. AI LLMs janë në foshnjërinë e tyre. Vitet e ardhshme duhet ta shohin këtë teknologji të përmirësohet pasi më shumë burime shtohen si në informatikë, ashtu edhe në trajnim.
Në afat të gjatë, këto përparime mund të shihnin IA të shkruante programe të tëra me ndërhyrje të kufizuara ose aspak njerëzore. Megjithatë, tani për tani, LLM-të kanë disa kufizime. Cilësia e daljes së kodimit LLM varet kryesisht nga cilësia e inputit. Plehrat brenda, plehrat jashtë, siç thonë ata.
Sigurisht, nuk është vetëm inxhinieria e shpejtë e efektshme që vepron si një pengesë rrugore. Siç sugjerohet në ChatGPT dhe modelet e gjuhëve të mëdha në akademi: Mundësi dhe sfida (Meyer, 2023), “Aktualisht, ChatGPT ka më shumë gjasa të jetë i suksesshëm në shkrimin e saktë të blloqeve më të vogla të kodit, ndërsa besueshmëria e tij në shkrimin e programeve më të mëdha/më komplekse (p.sh., një paketë softuerike) është e diskutueshme.”
Për më tepër, në një artikull të kohëve të fundit në revistën Nature, disa informaticienë paralajmëruan se duhet t’i afrohemi brezit të kodeve me LLM-të me njëfarë kujdesi. Një tjetër letër bashkëkohore,
Large Language Models and Simple, Stupid Bugs
(Jesse, 2023), demonstruan se si një LLM popullor, Codex, i cili përdoret nga shitësi Copilot, prodhon “SStuBs të njohur, tekstualisht deri në 2x sa ka të ngjarë se sa dihet, kod tekstualisht korrekt.”
Ndërkohë që këto probleme nuk mund të shpërfillen, ka ende shumë ngazëllim justifikues se si këto programe mund të ndihmojnë në demokratizimin e zhvillimit të softuerit duke mbështetur ekipet teknike dhe jo-teknike.
Ndoshta gjëja më mbresëlënëse për t’u marrë në konsideratë është se mjete si ChatGPT mund të prodhojnë kod funksional shumë shpejt. Me nxitjen e duhur, inxhinierët mund të zvogëlojnë kohën që duhet për të programuar disa lloje të kodit, duke siguruar një cikël më të shpejtë të jetës së zhvillimit të softuerit.
Në fund të vitit 2022, shpërndarësi popullor i programimit
Stack Overflow ndaloi të gjeneruara nga AI
Përgjigjet në forumin e saj. Ata përmendën normën e lartë të gabimit dhe pasaktësitë e lidhura me aplikimin. Megjithatë, teknologjia është në një fazë të lindjes; Për më tepër, pakënaqësia ndaj prodhimit të prodhuar nga IA i detyrohet po aq inxhinierisë së dobët të shpejtë sa edhe vetë teknologjisë.
Pavarësisht nga dyshimet për teknologjinë, një
pjesë e kohëve të fundit nga McKinsey
Thekson ndikimin që inxhinieria e shpejtë ka tashmë në botën e programimit. Firma konsulente e Gjendja e IA-së në vitin 2023: Viti i shkëputjes së IA-së gjeneruese Ndanë dy prirje interesante. Së pari, 7% e organizatave që kanë investuar në IA po punësojnë inxhinierë të shpejtë. Së dyti, kompanitë që po përdorin IA kanë reduktuar rolet e inxhinierisë softuerike lidhur me IA nga 38% në 28%.
Një mënyrë për të interpretuar këto prirje është se bizneset janë të rehatshme me këtë kurth dhe gati për të dorëzuar automatizimin e softuerit në makinat e tyre. Edhe pse këto shifra mund t’i trembin inxhinierët ekzistues, sondazhi i McKinsey sugjeron se «vetëm 8 për qind thonë se madhësia e fuqisë punëtore do të ulet me më shumë se një të pestën». Në përgjithësi, inxhinierët ndoshta do të duhet të rishikohen për të përfituar nga prirja drejt automatizimit të softuerit të gjeneruar nga IA.
Një aplikacion i dukshëm për automatizimin e softuerit të gjeneruar nga IA përfshin krijimin e bots automatizimi. Megjithatë, ndërsa inxhinieria e shpejtë është një ndërfaqe gjoja miqësore për përdoruesit falë fokusit të saj në bisedë, mbetet për t’u parë nëse mund të zëvendësojë zgjidhjet ekzistuese.
Në shumë mënyra, softuerët si ZAPTEST tashmë kanë demokratizuar tregun e automatizimit të softuerëve. Mjetet pa kod janë këtu tani që lejojnë ekipet joteknike të ndërtojnë bots RPA të cilësisë së lartë . Ndërsa softuerët si ChatGPT mund të ndërtojnë bots, zbatimi dhe mirëmbajtja mund të provohen të ndërlikuara për këdo që nuk është inxhinier softuerik dhe madje edhe për ata që janë.
Regjistrimi i ndërveprimeve njeri-kompjuter nga GUI-ja juaj dhe shndërrimi i këtyre lëvizjeve në kod është shumë më i përshtatshëm për përdoruesit sesa përdorimi i ftesave. Kur shoqërohet me potencialin e LLM-së për të prodhuar kod të paqëndrueshëm dhe të mbushur me gabime, është e drejtë të thuhet se softueri RPA nuk shkon askund për të ardhmen e parashikueshme.
#2. Konvertimi i të dhënave të pastrukturuara
Të dhënat e pastrukturuara nuk janë kostumi i fortë i Automatizimit të Proceseve Robotike. Teknologjia nuk u ndërtua për të trajtuar gjëra të tilla si emailet, fotografitë, audiot dhe më shumë. Mjetet RPA kanë nevojë për modele të paracaktuara të të dhënave me struktura të organizuara.
Një pjesë e madhe e të dhënave të pastrukturuara përfshijnë tekstin e gjuhës natyrore. Modele të mëdha gjuhësore janë ndërtuar për të “kuptuar” këtë informacion dhe për të nxjerrë kuptimin semantik prej tyre. Si e tillë, kjo krijon një mundësi të konsiderueshme për ekipet që duan të interpretojnë këto tekste dhe t’i shndërrojnë ato në një format të pëlqyeshëm për mjetet RPA.
Shumë ekipe kanë përdorur përpunimin e gjuhës natyrore (NLP) për vite me radhë për t’i ndihmuar ata me analizën e ndjenjave. Ky proces, i njohur edhe si minierat e opinionit, ndihmon organizatat të qëndrojnë në krye të ndjenjave dhe qëndrimeve të konsumatorit ndaj markave. Në shumicën e rasteve, këto mjete përdoren për të zbuluar ndjenjat pozitive, negative dhe neutrale brenda tekstit. Megjithatë, teknologjia është në gjendje të zbulojë edhe më shumë granulare emocionale.
Ndërkohë që në treg ka disa mjete që ofrojnë këtë funksionalitet, LLM’s ofron një shteg për përdorim më të larmishëm përtej kuptimit të mënyrës se si ndihen njerëzit për një produkt apo shërbim. Për shembull, analitika e të dhënave ka shpërthyer në popullaritet në vitet e fundit. Big Data u jep kompanive një avantazh duke i lejuar ato të nxjerrin njohuri dhe mirëkuptime që ndihmojnë në marrjen e vendimeve të nxitura nga të dhënat.
Mjetet e automatizimit të proceseve robotike mund të ndihmojnë në mbledhjen e të dhënave. Megjithatë, siç e përmendëm më sipër, ata luftojnë me lloje të veçanta informacioni. Megjithatë, kur shoqërohet me mjete IA që përdorin Modelet e Gjuhëve të Mëdha, RPA mund të mbledhë sasi të mëdha të dhënash dhe t’i përdorë ato për të gjeneruar informacionin që kërkohet për mjetet e Inteligjencës së Biznesit (BI).
Një nga aspektet më emocionuese të Generative IA është aftësia e saj për të pasur kuptim të inputeve të të dhënave. Me inxhinierinë e duhur të shpejtë, ekipet mund t’i shndërrojnë këto të dhëna në një format që punon për mjetet e tyre RPA.
RPA mund të ndihmojë për t’i bërë workflow-et e Big Data më efikase. Për fillim, ju mund ta përdorni atë për të ndihmuar si në hyrjen ashtu edhe në nxjerrjen e të dhënave. Megjithatë, ndoshta rastet më të vlefshme dhe intriguese të përdorimit përfshijnë përdorimin e mjeteve RPA për transformimin, pastrimin, dhe ngarkimin e të dhënave ose sigurimin e migrimit të të dhënave shkon shpejt, në mënyrë efikase, dhe të saktë.
Një tjetër pikë e rëndësishme është qeverisja e të dhënave. Automatizimi i kërkesave të të dhënave ndihmon organizatat të qëndrojnë në përputhje dhe i mban të dhënat jashtë vëmendjes së punëtorëve manualë.
#3. Automatizimi i testeve
Test Automation ka marrë hov në qarqet e zhvillimit të softuerit sepse ofron një mënyrë më të shpejtë për të verifikuar softuerin. Testimi dhe sigurimi i cilësisë kanë qenë tradicionalisht procese të shtrenjta dhe që kërkojnë kohë; Automatizimi i testeve ofron një zgjidhje për të dyja këto sfida.
Një nga gjërat e para që mund të bëjë inxhinieria e shpejtë është përmirësimi i cilësisë së rasteve të testeve. Me nxitjet e duhura, këto makineri mund të analizojnë rastet e testimit dhe të identifikojnë çështjet dhe ilaçet. Ky proces mund të zgjerojë fushëveprimin e rasteve të testeve dhe të çojë në teste më të plota.
Për shembull, ju mund të ushqeni një kod të madh të modelit të gjuhës në të njëjtën mënyrë si ju mund të një recensues njerëzor. Këto makineri mund të kalojnë shpejt përmes kodit dhe të pikasin gabimet, bugs, dhe madje të identifikojnë çështjet e performancës. Ndoshta më intriguese, LLM-të ofrojnë gjithashtu mundësinë e plotësimit të kodit të rasteve të provës nga thjesht snippets, duke përshpejtuar krijimin e rasteve të testit.
Inxhinieria e shpejtë synon të trajtojë shumë nga çështjet që kanë nxitur shfaqjen e qasjes Agile/DevOps në zhvillimin e softuerit. Inxhinierët duan teste të efektshme dhe lehtësisht të përsëritshme që mund të pikasin problemet para se të vendosen aplikacionet. Ideja këtu është se duke liruar kohën, zhvilluesit e softuerit mund të përqendrohen në detyra më kreative dhe më të nxitura nga vlera.
Siç përshkruhet në një shkrim klasik,
Borxhi Teknik në Automatizimin e Testeve
(K. Wiklund, 2012), ekipet e zhvillimit të softuerit mund të hasin probleme nëse kalojnë shumë kohë në testimin manual dhe verifikimin e softuerit të tyre. Kostot fillestare të zgjidhjeve të automatizimit të testeve, mungesa e përvojës së automatizimit, madje edhe një preferencë për metodat e vjetra mund të kontribuojnë në këto ngadalësime.
Një nga aspektet më interesante të zhvillimit të softuerit Agile përfshin
Behavior-Driven Development (BDD).
Koncepti i referohet zhvillimit të softuerit me sjelljet e pritura të përdoruesve. Ndërsa zbatimi i kësaj qasjeje mund të kursejë qartë kohë, shumë ekipe luftojnë për të sjellë në jetë këtë automatizim. Megjithatë, LLM-të mund të japin një zgjidhje.
Disa nga simptomat më të zakonshme të borxhit teknik përfshijnë dokumentacionin e dobët dhe mungesën e testimit të fuqishëm. Këto janë probleme që LLM-të e sotme mund të ndihmojnë në zgjidhjen. Megjithatë, simptoma të tjera të dukshme, të tilla si refactoring, janë tepër komplekse për IA gjeneruese aktuale, dhe mund të mos rezultojë në kursim të kohës.
Mendimet e fundit
Aplikacionet gjeneruese të IA kanë një potencial të pamasë. Megjithatë, ndërfaqja miqësore dhe biseduese mund të jetë mashtruese. Shumë njerëz besojnë se është e thjeshtë të gjenerosh dalje cilësore nga këto makineri. Megjithatë, inxhinieria e shpejtë e shkëlqyer është më e ndërlikuar se ç’mund të prisni.
Inxhinieria e shpejtë efektive kërkon shumë prova dhe gabime. Gjithashtu, ka nevojë për shumë paramendim në emër të inxhinierit për t’u siguruar se përgjigjet janë të dobishme. Së fundi, kontrolli dhe rikontrolli i punës është i rëndësishëm për shkak të potencialit të mirëpublikuar për gabime.
Ndërsa punët e shpejta inxhinierike mund të jenë në rritje, jo të gjithë janë të bindur. Duke shkruar në Harvard Business Review, Oguz A. Acar jep një argument magjepsës se “gjeneratat e ardhshme të sistemeve IA do të bëhen më intuitive dhe më të afta për të kuptuar gjuhën natyrore, duke reduktuar nevojën për nxitës të projektuar me përpikmëri.”
Sido që të jetë e ardhmja, Generative IA do të jetë atje në miks. Ndërsa inxhinieria e shpejtë ka shumë premtime, është e vështirë të thuash me siguri se çfarë roli të saktë do të luajë.
Interesante është se softueri i automatizimit të testeve softuerike është tashmë i mbushur me raste përdorimi dhe histori suksesi që demonstrojnë përshtatshmërinë e tij për përshpejtimin e zhvillimit të softuerit pa kompromentuar saktësinë apo verifikimin gjithëpërfshirës të aplikacioneve.
Mjete si ZAPTEST tashmë lejojnë zhvilluesit të trajtojnë çështje si koha dhe burimet e papërshtatshme, borxhi teknik, dokumentacioni, dhe testimi gjithëpërfshirës dhe RPA. Për më tepër, këto mjete janë më miqësore për përdoruesit sesa inxhinieria e shpejtë, duke i bërë ato opsione shumë më të përshtatshme për ekipet joteknike. Si kurrë më parë, potenciali i vërtetë qëndron në kryqëzimin e këtyre teknologjive emocionuese të automatizimit.