Վերջին մեկ տարվա ընթացքում մեր նորությունների սնունդը գերակշռել է ՉատգՊՏ-ի, Բարդի եւ այլ հայտնի մեծալեզու մոդելների (LLMs) միջոցով։ Եվ ճիշտ այդպես: Այս հետաքրքիր տեխնոլոգիաները մեզ հնարավորություն են տալիս պատկերացում կազմել ապագայի, հզորության եւ ԱԻ-ի հնարավորությունների մասին։
Թեեւ հանրային ոգեւորության մեծ մասը կենտրոնացած է տեքստի, պատկերների եւ տեսանյութերի ստեղծման վրա, սակայն այդ գործիքները կարող են օգտագործվել շատ այլ ոլորտների համար, ինչպես օրինակ՝ ծրագրային ավտոմատացումը։
Այս հոդվածը խորությամբ կանդրադառնա այն բանի վրա, թե ինչպես կարող է ինժեներությունը օգնել մեզ համակարգչային ավտոմատացման հարցում։ Սակայն մեր առաջին կանչը պետք է լինի արագ ինժեներական հետազոտությունը։
Ի՞նչ է հուշում ճարտարագիտությունը:
ChatGPT-ի նման լեզվի մեծ մոդելները արտադրում են ելքեր՝ հիմնվելով այն հուշումների կամ նախադասությունների վրա, որոնք մենք տրամադրում ենք դրանք: Սակայն արդյունքները մեծապես տարբերվում են ՝ կախված այն բանից, թե ինչ բառեր կամ հրահանգներ ենք օգտագործում ։ Երբ մենք անորոշ եւ անճշտ հրահանգներ ենք տալիս, արդյունքը կարող է չանդրադնել նշանին։
Շտապ ճարտարագիտությունը վերաբերում է ներդրումների համար նախատեսված նախագծմանը, որն օգնում է ավելի ճշգրիտ, ճշգրիտ եւ ի վերջո այդ հետաքրքիր AI համակարգերից ստանալ ավելի ճշգրիտ, ճշգրիտ եւ ի վերջո մատչելի բովանդակություն։
Լեզվի մեծ մոդել (LLM) համակարգերը օգտագործում են բնական լեզվի մշակման (NLP) միջոցով մեր կողմից մեզ տրամադրած հայտարարությունները մեկնաբանելու համար: Մեքենաները այս հարցերը կամ հրահանգները (այսինքն՝ հուշումները) վերածում են կոդի եւ վարում են դրանք տվյալների իրենց հսկայական պահեստների միջոցով, որպեսզի բովանդակություն ստեղծեն ցանկացած ձեւաչափով, որը մենք նշում ենք (այսինքն՝ տեքստ, պատկերներ, կոդ)։
ChatGPT-ը վերապատրաստվել է ավելի քան
570 ԳԲ տվյալների վրա
. Ուսուցողական նյութը բաղկացած է գրքերից, հոդվածներից, վեբ տեքստերից եւ այլն: Այլ կերպ ասած, այդ տվյալների հավաքածուները պարունակում են աննկարագրելի քանակությամբ գիտելիքներ:
Թեեւ մենք կարող ենք հասկանալ այդ պրոցեսը, սակայն այն, ինչ տեղի է ունենում այս համակարգերի կափարիչի տակ, տեղի է ունենում մեր տեսադաշտից դուրս։ Իհարկե, մենք վերահսկում ենք ներդրումները եւ ելքերը, եւ մենք մարզում ենք համակարգը, բայց ճշգրտորեն, թե ինչպես են աշխատում այս ալգորիթմները եւ կայացնում որոշումները, դեռեւս առեղծվածային բան է: Նյու Յորքի համալսարանի AI պրոֆեսոր Սեմ Բոումանի խոսքով՝ «Կառուցեցինք, մարզեցինք, բայց չգիտենք՝ ինչ է կատարվում».
Արագ ճարտարագիտությունը օգնում է մեզ կառավարել այդ քաոսը՝ օգտագործելով այնպիսի արտադրանքներ, որոնք առաջ են բերում կանխատեսելի եւ օգտակար արդյունքներ։ Դրանք մեզ հնարավորություն են տալիս բացահայտելու այդ կիրառությունների ներսում եղած հսկայական գիտելիքները։
Կարգապահությունը հայտնվում է որպես նոր կարիերա
, եւ ամենուրեք դասընթացներ են սկսվում, երբ բիզնեսները փորձում են, թե ինչպես կարող են օգտագործել այս հզոր տեխնոլոգիան:
Ինչպես կարող է հուշել ինժեներական օգնությունը
ծրագրային ավտոմատացումով?
Ծրագրային ապահովման ավտոմատացումը եւ LLM-ները շատ ընդհանուր բան ունեն: Նրանք երկուսն էլ մի հայացք են նետում ապագային, որտեղ մեքենաները կնստացնեն մարդու ստեղծագործական ունակությունները՝ ստեղծելու ավելի արագ եւ արդյունավետ աշխատավայրեր։
Կան մի քանի հետաքրքիր ոլորտներ, որտեղ այս երկու տեխնոլոգիաները կարող են համախմբվել: Ահա երեք եղանակ, որոնք մենք կարող ենք օգտագործել ծրագրային ավտոմատացման ժամանակ։
#1. Գեներացնող կոդ
Գրային կոդը մեծ լեզվային մոդելների ամենահամոզիչ կիրառություններից մեկն է: ԱԻ ԼՄ-ները իրենց մանկության տարիներին են: Հաջորդ մի քանի տարիները պետք է տեսնեն, որ այս տեխնոլոգիան բարելավվում է, քանի որ ավելի շատ ռեսուրսներ են ավելացվում եւ՛ հաշվարկների, եւ՛ ուսուցման համար:
Ի վերջո, այս առաջընթացը կարող էր տեսնել, թե ինչպես է AI-ն գրում ամբողջ ծրագրերը սահմանափակ կամ ընդհանրապես մարդկային միջամտությամբ։ Սակայն հիմա ԼՂ-ում կան որոշակի սահմանափակումներ: ԼՂՄ կոդավորման ելքի որակը հիմնականում կախված է մուտքագրման որակից: Աղբը ներս, աղբ, ինչպես ասում են:
Իհարկե, ոչ միայն արդյունավետ արագ ինժեներական է, որ գործում է որպես ճանապարհային արգելափակում: Ինչպես առաջարկվում է ChatGPT եւ մեծ լեզվական մոդելներ ակադեմիայում. հնարավորություններ եւ մարտահրավերներ ՝ Meyer, 2023)։ «Ներկայումս ChatGPT-ը ավելի հավանական է, որ հաջողություն կունենա կոդի ավելի փոքր բլոկներ ճշգրտորեն գրելու հարցում, մինչդեռ նրա հուսալիությունը ավելի մեծ/ավելի բարդ ծրագրեր գրելու մեջ (օրինակ՝ ծրագրային փաթեթ) կասկածելի է»։
Բացի այդ, «Նեյչր» հանդեսում վերջերս լույս տեսած մի հոդվածում որոշ համակարգչային գիտնականներ զգուշացրել են, որ պետք է որոշ զգուշությամբ մոտենանք կոդերի արտադրությանը։ Եվս մեկ ժամանակակից թուղթ,
Մեծ լեզվային մոդելներ եւ պարզ, հիմար Բագներ
(Jesse, 2023), ցույց տվեցին, թե ինչպես է հայտնի LLM- ը, Codex- ը, որն օգտագործվում է վաճառող Copilot- ի կողմից, արտադրում է «հայտնի, verbatim SStuBs այնքան, որքան հավանական է, քան հայտնի, verbatim ճիշտ կոդը»:
Թեեւ այս խնդիրները հնարավոր չէ անտեսել, սակայն դեռեւս շատ արդարացի հուզմունք կա այն հարցում, թե ինչպես կարող են այս ծրագրերը օգնել ժողովրդավարացնել ծրագրերի զարգացումը՝ աջակցելով ինչպես տեխնիկական, այնպես էլ ոչ տեխնիկական թիմերին:
Թերեւս ամենագրավիչ բանը, որ պետք է հաշվի առնել, այն է, որ այնպիսի գործիքներ, ինչպիսիք են ChatGPT-ը, կարող են շատ արագ արտադրել ֆունկցիոնալ կոդը: Ճիշտ հուշումով ինժեներները կարող են կրճատել կոդի որոշակի տեսակների ծրագրավորման համար անհրաժեշտ ժամանակը՝ ապահովելով ավելի արագ ծրագրային ապահովման զարգացման կյանքի ցիկլը։
2022 թվականի վերջին հայտնի ծրագրավորման hub
Stack Overflow-ն արգելեց AI-գեներացված
պատասխանները իր ֆորումում: Նրանք մեջբերեցին դիմումի հետ կապված սխալների բարձր ցուցանիշն ու անճշտությունները։ Սակայն տեխնոլոգիան նոր փուլում է. բացի այդ, ԱԻ-ի արտադրած արտադրանքի անբավարարությունը նույնքան վատ է, որքան տեխնիկայինը:
Չնայած տեխնիկայի հետ կապված կասկածներին,
ՄաքՔինսիի վերջին ստեղծագործությունը
Ընդգծում է այն ազդեցությունը, որ հուշում է ինժեներությունը ծրագրավորման աշխարհում արդեն իսկ: Խորհրդատու ֆիրմայի AI-ի վիճակը 2023 թվականին. գեներացնող AI-ի բեկումային տարին կիսվեց երկու հետաքրքիր թրենդներով: Առաջին հերթին ԱԻ-ում ներդրումներ անող կազմակերպությունների 7%–ը աշխատանքի են հրավիրում շտապ ինժեներների։ Երկրորդ՝ այն ընկերությունները, որոնք օգտագործում են AI-ն, AI-ի հետ կապված ծրագրային ապահովման ինժեներական դերերը նվազեցրել են 38%-ից մինչեւ 28%:
Այս տենդենցները մեկնաբանելու միջոցներից մեկն այն է, որ բիզնեսները հարմարավետ են այս սարքավորման հետ եւ պատրաստ են իրենց մեքենաներին փոխանցել ծրագրային ավտոմատացումը։ Թեեւ այս թվերը կարող են ապշեցնել գոյություն ունեցող ինժեներներին, Մակքինսիի հարցումը ցույց է տալիս, որ «միայն 8 տոկոսն է ասում, որ իրենց աշխատուժի չափը կնվազի ավելի քան մեկ հինգերորդով»։ Ընդհանուր առմամբ, ինժեներները, հավանաբար, կարիք կունենան ռեզելի, որպեսզի օգտվեն AI-ի կողմից ստեղծված ծրագրային ավտոմատացման տենդենցից։
AI-ի կողմից ստեղծված ծրագրային ավտոմատացման մի ակնհայտ ծրագիր ներառում է ավտոմատացման բոտեր ստեղծելը: Սակայն թեեւ շտապ ինժեներությունը, ըստ երեւույթին, օգտագործողին հարմար ինտերֆեյս է զրույցի վրա կենտրոնանալու շնորհիվ, սակայն դեռ պետք է պարզել, թե արդյոք այն կարող է փոխարինել գոյություն ունեցող լուծումներին։
ZaPTEST-ի նման ծրագրային ապահովման շատ առումներով արդեն ժողովրդավարացրել է ծրագրային ավտոմատացման շուկան: Այժմ այստեղ են ոչ կոդային գործիքներ, որոնք թույլ են տալիս ոչ տեխնիկական թիմերին կառուցել բարձրորակ RPA բոտեր: Թեեւ ChatGPT-ի նման ծրագիրը կարող է բոտեր կառուցել, իրականացումը եւ սպասարկումը կարող են բարդ լինել ցանկացած մարդու համար, ով ծրագրային ապահովման ինժեներ չէ եւ նույնիսկ նրանց համար, ովքեր այդպիսին են։
Ձեր GUI-ից մարդ-համակարգիչ փոխազդեցությունների գրանցումը եւ այդ շարժումները կոդի վերածելը շատ ավելի հարմար է օգտագործողին, քան հուշումներ օգտագործելը: Երբ միախառնվում է LLM-ի անկայուն եւ սխալ կոդ ստեղծելու ներուժին, արդար կլինի ասել, որ RPA ծրագիրը տեսանելի ապագայի համար ոչ մի տեղ չի գնում:
#2. Չկառուցված տվյալների փոխակերպում
Չկառուցված տվյալները Robotic Process Automation-ի ուժեղ կոստյումը չեն: Տեխնոլոգիան կառուցված չէր էլեկտրոնային փոստի, նկարների, աուդիո եւ այլնի հետ կապված խնդիրները լուծելու համար։ RPA գործիքներին անհրաժեշտ են նախապես կազմված տվյալների մոդելներ՝ կազմակերպված կառուցվածքներով:
Չկառուցված տվյալների մեծ մասը ներառում է բնական լեզվի տեքստը։ Այս տեղեկատվությունը «հասկանալու» եւ նրանցից սեմանտիկ իմաստ ստանալու համար կառուցվում են լեզվի մեծ մոդելներ: Որպես այդպիսին, սա բավականին մեծ հնարավորություն է ստեղծում թիմերի համար, որոնք ցանկանում են մեկնաբանել այդ տեքստերը եւ վերածել դրանք RPA գործիքներին համաձայնեցված ձեւաչափի:
Շատ թիմեր տարիներ շարունակ օգտագործում են լեզվի բնական մշակման (NLP) մեթոդները, որպեսզի օգնեն նրանց զգացմունքների վերլուծության հարցում։ Այս գործընթացը, որը հայտնի է նաեւ որպես կարծիքի հանքարդյունաբերություն, օգնում է կազմակերպություններին պահպանել բրենդերի հանդեպ սպառողի զգացմունքներն ու վերաբերմունքը: Հիմնականում այդ գործիքները օգտագործվում են տեքստի ներսում դրական, բացասական եւ չեզոք տրամադրություններ հայտնաբերելու համար։ Սակայն այս տեխնոլոգիան ունակ է շատ ավելի շատ գրանուլային էմոցիոնալ հայտնաբերման։
Թեեւ շուկայում կան մի քանի գործիքներ, որոնք առաջարկում են այս ֆունկցիան, LLM-ը հնարավորություն է տալիս ավելի բազմակողմանի օգտագործման, քան հասկանալ, թե մարդիկ ինչ են զգում ապրանքի կամ ծառայության հանդեպ: Օրինակ՝ վերջին տարիներին տվյալների վերլուծությունը մեծ տարածում է գտել։ Big Data-ն ընկերություններին առավելություն է տալիս՝ թույլ տալով նրանց ստանալ գաղափարներ եւ հասկացողություններ, որոնք օգնում են տվյալների վրա հիմնված որոշումներ կայացնելիս։
Robotic Process Automation գործիքները կարող են օգնել տվյալների հավաքման հարցում: Սակայն, ինչպես նշեցինք վերեւում, նրանք պայքարում են կոնկրետ ինֆորմացիայի տեսակների դեմ: Սակայն, երբ RPA-ն զուգակցվում է AI գործիքների հետ, որոնք օգտագործում են Մեծ լեզվի մոդելները, կարող է հավաքել մեծ քանակությամբ տվյալներ եւ օգտագործել այն՝ ստեղծելու համար այն տեղեկատվությունը, որը անհրաժեշտ է Business Intelligence (BI) գործիքների համար։
Generative AI-ի առավել հետաքրքիր կողմերից մեկը տվյալների մուտքագրումը հասկանալու նրա ունակությունն է: Ճիշտ արագ ինժեներական աշխատանքներով թիմերը կարող են այս տվյալները վերածել ձեւաչափի, որը աշխատում է իրենց RPA գործիքների համար:
RPA-ն կարող է օգնել Big Data աշխատանքային ներհոսքն ավելի արդյունավետ դարձնել: Սկսնակների համար դուք կարող եք օգտագործել այն օգնել եւ՛ տվյալների մուտքագրման, եւ՛ քաղվածքի հարցում: Սակայն, թերեւս, ամենաարժեքավոր եւ ամենահետաքրքիր օգտագործման դեպքերը ներառում են RPA գործիքների միջոցով տվյալների փոխակերպումը, մաքրումը եւ բեռնաթափումը կամ տվյալների միգրացիայի արագ, արդյունավետ եւ ճշգրիտ ընթացք ապահովելը:
Գրառման մեկ այլ կարեւոր կետ է տվյալների կառավարումը: Տվյալների ավտոմատացման խնդրանքները օգնում են կազմակերպություններին մնալ համապատասխան եւ տվյալները հեռու պահել ձեռքի աշխատողների տեսադաշտից:
#3. Թեստի ավտոմատացում
Test Automation – ը անջատել է ծրագրային ապահովման զարգացման շրջանները, քանի որ այն ապահովում է ավելի արագ տարբերակ ստուգելու ծրագրային ապահովման համար: Փորձարկումը եւ որակի ապահովումը ավանդաբար եղել են թանկ եւ ժամանակատար գործընթացներ; թեստային ավտոմատացումը ապահովում է այս երկու մարտահրավերների լուծումը:
Առաջին բաներից մեկը, որ կարող է անել ինժեներությունը, փորձարկման դեպքերի որակի բարելավումն է։ Ճիշտ հուշումներով այս մեքենաները կարող են վերլուծել ստուգման դեպքերը եւ բացահայտել խնդիրներն ու դեղամիջոցները: Այս պրոցեսը կարող է մեծացնել փորձարկման դեպքերի ծավալները եւ հանգեցնել ավելի համապարփակ ստուգումների:
Օրինակ՝ դու կարող ես լեզվի մոդելի մեծ կոդով սնվել այնպես, ինչպես կարող ես ստուգել։ Այս մեքենաները կարող են արագորեն անցնել կոդի միջով եւ նկատել սխալները, խայթոցները եւ նույնիսկ բացահայտել կատարման հետ կապված խնդիրները։ Թերեւս ավելի հետաքրքիր է, որ ԼՀՄ-ները նաեւ առաջարկում են պարզապես snippets-ից ստուգման դատական գործի կոդն ավարտելու հնարավորություն՝ արագացնելով փորձարկման դեպքերի ստեղծումը։
Շտապ ճարտարագիտության նպատակն է լուծել բազմաթիվ խնդիրներ, որոնք նպաստել են agile/DevOps մոտեցման ի հայտ գալուն ծրագրային ապահովման մշակմանը: Ինժեներները ցանկանում են արդյունավետ, հեշտությամբ կրկնվող թեստեր, որոնք կարող են խնդիրներ նկատել նախքան դիմումների տեղադրումը։ Այստեղ միտքն այն է, որ ազատելով ժամանակը, ծրագրային ապահովման մշակողները կարող են կենտրոնանալ ավելի ստեղծագործական եւ արժեքային առաջադրանքների վրա:
Ինչպես շարադրված է դասական թղթապանակում,
տեխնիկական պարտքը թեստային ավտոմատացման ժամանակ
(K. Wiklund, 2012), ծրագրային ապահովման զարգացման թիմերը կարող են խնդիրների բախվել, եթե չափից շատ ժամանակ հատկացնեն իրենց ծրագրային ապահովման ձեռքի ստուգմանը եւ ստուգմանը։ Թեստային ավտոմատացման լուծումների սկզբնական ծախսերը, ավտոմատացման փորձի պակասը եւ նույնիսկ ավելի հին մեթոդների նախընտրությունը կարող են նպաստել այդ դանդաղեցմանը:
Agile ծրագրային ապահովման զարգացման ամենահետաքրքիր ուղղություններից մեկը հանդիսանում է
Behavior-Driven Development (BDD) ծրագիրը։
Հայեցակարգը վերաբերում է ակնկալվող օգտագործողների վարքագծերով ծրագրային ապահովման մշակմանը: Թեեւ այս մոտեցումը կիրառելը կարող է հստակորեն խնայել ժամանակը, շատ թիմեր պայքարում են այս ավտոմատացումը կյանքի կոչելու համար։ Սակայն ԼՂՄ-ները կարող են լուծում տալ:
Տեխնիկական պարտքի ամենատարածված ախտանշաններից են՝ վատ փաստաթղթավորումը եւ ուժեղ ստուգումների բացակայությունը։ Սրանք այն խնդիրներն են, որոնց լուծմանը կարող են օգնել այսօրվա ԼՂՄ-ները: Սակայն այլ նշաններ, ինչպիսիք են ռեֆեկտորինգը, չափազանց բարդ են ներկայիս Գեներացնող AI-ի համար եւ կարող են չհանգեցնել ժամանակի խնայողություններին։
Վերջնական մտքեր
Գեներացնող AI կիրառությունները ունեն հսկայական ներուժ: Սակայն օգտագործողի համար հարմար, խոսակցական ինտերֆեյսը կարող է մոլորեցնող լինել։ Շատերը կարծում են, որ այս մեքենաներից որակյալ արտադրանքներ ստանալը պարզ է: Սակայն շատ ավելի բարդ է, քան դուք կարող եք ակնկալել։
Արդյունավետ արագ ճարտարագիտությունը պահանջում է մեծ փորձություն եւ սխալ: Այն նաեւ շատ նախաբանի կարիք ունի ինժեների համար, որպեսզի հավաստիանա, որ պատասխանները օգտակար են։ Ի վերջո, աշխատանքը ստուգելը եւ վերաքննելը կարեւոր է, քանի որ սխալների մասին լավ ազդարարված պոտենցիալ կա։
Թեեւ ինժեներական աշխատանքների թիվը գնալով աճում է, սակայն ոչ բոլորն են համոզված։ Գրելով «Harvard Business Review» հանդեսում՝ Օգուզ Ա. Աքարը մի հետաքրքիր փաստարկ է բերում, որ «AI համակարգերի հետագա սերունդները ավելի զգայուն եւ հմուտ կլինեն բնական լեզուն հասկանալու հարցում՝ նվազեցնելով մանրակրկիտ նախագծված հուշումների անհրաժեշտությունը»։
Ինչպիսին էլ որ լինի ապագան, Generative AI-ն կլինի այդ խառնուրդում: Թեեւ շտապ ինժեներությունը շատ խոստումներ ունի, դժվար է ստույգ ասել, թե ինչ դեր է այն խաղալու:
Հետաքրքիր է, որ ծրագրային փորձարկման ավտոմատացման ծրագիրը արդեն հագեցած է օգտագործման դեպքերով եւ հաջողության պատմություններով, որոնք ցույց են տալիս, թե որքանով է այն հարմար ծրագրերի զարգացումը արագացնելու համար՝ առանց զիջումների գնալու ծրագրերի ճշգրտության կամ համապարփակ ստուգման հարցում։
ZAPTEST-ի նման գործիքներն արդեն թույլ են տալիս զարգացնողներին լուծել այնպիսի խնդիրներ, ինչպիսիք են անբավարար ժամանակը եւ ռեսուրսները, տեխնիկական պարտքը, փաստաթղթավորումը եւ համապարփակ փորձարկումը եւ RPA-ն: Ավելին, այս գործիքներն ավելի հարմար են օգտագործողին, քան հուշում են ինժեներությունը, դարձնելով դրանք շատ ավելի հարմար տարբերակներ ոչ տեխնիկական թիմերի համար: Ինչպես երբեւէ, իրական պոտենցիալը գտնվում է այս հետաքրքիր ավտոմատացման տեխնոլոգիաների խաչմերուկում։