fbpx

A ChatGPT, a Bard és más kiemelkedő nagy nyelvi modellek (LLM) uralták a hírfolyamainkat az elmúlt évben. És jogosan. Ezek az izgalmas technológiák bepillantást engednek a jövőbe, a mesterséges intelligencia erejébe és lehetőségeibe.

Bár a közvélemény nagy része a szövegek, képek és videók készítése körül forog, ezek az eszközök számos más területen is használhatók, például a szoftverek automatizálásában.

Ez a cikk mélyrehatóan bemutatja, hogyan segíthet a prompt engineering a szoftverautomatizálásban. Első lépésként azonban magát a gyors mérnöki munkát kell megvizsgálnunk.

 

Mi az a prompt engineering?

 

Az olyan nagy nyelvi modellek, mint a ChatGPT, az általunk megadott utasítások vagy mondatok alapján állítanak elő kimeneteket. Az eredmények azonban nagymértékben eltérnek attól függően, hogy milyen szavakat vagy utasításokat használunk. Ha homályos és pontatlan utasításokat adunk meg, a kimenet nem biztos, hogy eltalálja a célt.

A prompt engineering olyan bemenetek átgondolt tervezésére utal, amelyek segítenek pontosabb, pontosabb és végül használhatóbb tartalmat előcsalogatni ezekből az izgalmas mesterséges intelligencia rendszerekből.

A Large Language Model (LLM) rendszerek természetes nyelvi feldolgozást (NLP) használnak az általunk megadott kijelentések értelmezésére. A gépek ezeket a kérdéseket vagy utasításokat (azaz a kéréseket) kóddá alakítják, és lefuttatják őket a hatalmas adattárakban, hogy bármilyen általunk megadott formátumú tartalmat (azaz szöveget, képeket, kódot) állítsanak elő.

A ChatGPT-t több mint
570 GB adatot
. A képzési anyag könyvekből, cikkekből, internetes szövegekből stb. áll. Más szóval, ezek az adatkészletek elképzelhetetlen mennyiségű tudást tartalmaznak.

Bár megérthetjük a folyamatot, a legtöbb dolog, ami ezeknek a rendszereknek a motorháztetője alatt történik, a szemünk elől elrejtve történik. Persze, mi irányítjuk a bemeneteket és a kimeneteket, és mi képezzük a rendszert, de az, hogy pontosan hogyan működnek ezek az algoritmusok, és hogyan hozzák meg a döntéseket, még mindig rejtély. Sam Bowman, a New York-i Egyetem mesterséges intelligencia professzora szerint, „Mi építettük, mi képeztük ki, de nem tudjuk, mit csinál.”

A prompt mérnöki munka segít kezelni ezt a káoszt azáltal, hogy kiszámítható és használható eredményeket produkáló kimeneteket használ. Ezek az alkalmazások egy utat kínálnak számunkra az alkalmazásokban rejlő hatalmas mennyiségű tudás felszabadításához.
A tudományág új karrierlehetőségként jelenik meg
, és mindenütt megjelennek a tanfolyamok, ahogy a vállalkozások kitalálják, hogyan használhatják ki ezt az erőteljes technológiát.

Hogyan segíthet a prompt engineering

szoftver automatizálással?

chatcpg felhasználása különböző szoftver automatizálási és rpa feladatokhoz

A szoftverautomatizálás és az LLM-ek sok közös vonásuk van. Mindkettő egy olyan jövőbe enged bepillantást, ahol a gépek kiegészítik az emberi kreativitást, hogy gyorsabb és produktívabb munkahelyeket hozzanak létre.

Számos izgalmas terület van, ahol e két technológia találkozhat. Íme, három módszer, amellyel a prompt engineeringet felhasználhatjuk a szoftverautomatizálásban.

 

#1. Kód generálása

kódgenerálás prompt engineeringgel a teszt automatizálásban

A kódírás a nagy nyelvi modellek egyik legígéretesebb alkalmazása. Az AI LLM-ek még gyerekcipőben járnak. A következő néhány évben várhatóan javulni fog ez a technológia, mivel mind a számítástechnikához, mind a képzéshez több erőforrás áll rendelkezésre.

Hosszú távon ezek az előrelépések lehetővé tehetik, hogy a mesterséges intelligencia teljes programokat írjon korlátozott emberi beavatkozással vagy anélkül. Egyelőre azonban az LLM-nek vannak bizonyos korlátai. Az LLM-kódolás kimeneti minőségének minősége elsősorban a bemenet minőségétől függ. Szemét be, szemét ki, ahogy mondani szokták.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Természetesen nem csak a hatékony prompt mérnöki munka jelent akadályt. Amint azt a ChatGPT és nagy nyelvi modellek a tudományos életben: Lehetőségek és kihívások (Meyer, 2023): „Jelenleg a ChatGPT inkább a kisebb kódblokkok pontos megírásában lehet sikeres, míg a nagyobb/összetettebb programok (pl. egy szoftvercsomag) megírása során a megbízhatósága megkérdőjelezhető”.

A Nature magazinban nemrégiben megjelent cikkben néhány informatikus arra figyelmeztetett, hogy az LLM-ekkel történő kódgenerálást óvatosan kell megközelítenünk. Egy másik kortárs lap,
Nagy nyelvi modellek és egyszerű, hülye hibák
(Jesse, 2023) bemutatta, hogy egy népszerű LLM, a Codex, amelyet a Copilot nevű gyártó használ, „ismert, szó szerinti SStuB-okat produkál, méghozzá 2x olyan valószínűséggel, mint az ismert, szó szerinti helyes kód”.

Bár ezeket a problémákat nem lehet figyelmen kívül hagyni, még mindig sok a jogos izgalom azzal kapcsolatban, hogy ezek a programok hogyan segíthetnek demokratizálni a szoftverfejlesztést a technikai és nem technikai csapatok támogatásával.

Talán a leglenyűgözőbb dolog, amit figyelembe kell venni, hogy az olyan eszközök, mint a ChatGPT, nagyon gyorsan képesek funkcionális kódot előállítani. A megfelelő prompt segítségével a mérnökök csökkenthetik a bizonyos típusú kódok programozásához szükséges időt, így biztosítva a szoftverfejlesztés gyorsabb életciklusát.

2022 végén a népszerű programozási központ
Stack Overflow betiltotta a mesterséges intelligencia által generált
válaszok a fórumon. Az alkalmazással kapcsolatos magas hibaarányra és pontatlanságokra hivatkoztak. A technológia azonban még kialakulóban van, ráadásul a mesterséges intelligencia által generált eredményekkel való elégedetlenség legalább annyira köszönhető a gyenge prompt tervezésnek, mint magának a technológiának.

A technológiával kapcsolatos aggályok ellenére, egy
a McKinsey nemrégiben megjelent cikke
rávilágít arra, hogy a prompt engineering máris milyen hatással van a programozás világára. A tanácsadó cég A mesterséges intelligencia helyzete 2023-ban: A generatív mesterséges intelligencia kitörési éve két érdekes tendenciát osztott meg. Először is, a mesterséges intelligenciába beruházó szervezetek 7%-a alkalmaz azonnali mérnököket. Másodszor, az AI-t alkalmazó vállalatok 38%-ról 28%-ra csökkentették az AI-val kapcsolatos szoftvermérnöki pozíciókat.

Ezeket a trendeket úgy lehet értelmezni, hogy a vállalkozások megbarátkoztak ezzel a beállítással, és készen állnak arra, hogy átadják a szoftver automatizálását a gépeiknek. Bár ezek a számok megijeszthetik a meglévő mérnököket, a McKinsey felmérése szerint „mindössze 8 százalékuk állítja, hogy a munkaerő létszáma több mint egyötödével fog csökkenni”. Összességében a mérnököknek valószínűleg újra kell képezniük magukat, hogy kihasználhassák az AI által generált szoftverautomatizálás irányába mutató tendenciát.

A mesterséges intelligencia által generált szoftverautomatizálás egyik nyilvánvaló alkalmazása az automatizálási botok létrehozása. Bár a prompt engineering látszólag felhasználóbarát felület a beszélgetésre való összpontosításnak köszönhetően, még nem tudni, hogy képes-e kiszorítani a meglévő megoldásokat.

A ZAPTEST-hez hasonló szoftverek sok szempontból már demokratizálták a szoftverautomatizálási piacot. Már itt vannak a kódolás nélküli eszközök, amelyek lehetővé teszik a nem műszaki csapatok számára, hogy kiváló minőségű RPA-robotokat építsenek. Bár az olyan szoftverek, mint a ChatGPT képesek botokat építeni, a megvalósítás és a karbantartás nehézkes lehet bárki számára, aki nem szoftvermérnök, de még azok számára is, akik az.

Az ember-számítógép interakciók rögzítése a felhasználói felületről és e mozgások kóddá alakítása sokkal felhasználóbarátabb, mint a súgók használata. Ha az LLM potenciálisan instabil és hibákkal teli kódot eredményez, akkor elmondható, hogy az RPA-szoftverek a belátható jövőben nem fognak sehová sem menni.

 

#2. Strukturálatlan adatok átalakítása

ellenőrző lista uat, webalkalmazás tesztelési eszközök, automatizálás és több

A strukturálatlan adatok nem a robotizált folyamatautomatizáláserőssége. A technológia nem arra készült, hogy olyan dolgokat kezeljen, mint az e-mailek, képek, hanganyagok és egyéb dolgok. Az RPA-eszközöknek előre meghatározott, szervezett struktúrájú adatmodellekre van szükségük.

A strukturálatlan adatok nagy része természetes nyelvű szöveg. Nagy nyelvi modelleket építenek, hogy „megértsék” ezeket az információkat, és szemantikai jelentést nyerjenek belőlük. Ez jelentős lehetőséget teremt azon csapatok számára, amelyek ezeket a szövegeket értelmezni és az RPA-eszközök számára elfogadható formátumba konvertálni kívánják.

Sok csapat már évek óta használja a természetes nyelvi feldolgozást (NLP), hogy segítse őket az érzelemelemelemzésben. Ez a folyamat, amelyet véleménybányászatnak is neveznek, segít a szervezeteknek nyomon követni a fogyasztók márkákkal kapcsolatos érzéseit és attitűdjeit. Az esetek többségében ezeket az eszközöket a szövegben található pozitív, negatív és semleges érzelmek felismerésére használják. A technológia azonban ennél jóval részletesebb érzelemérzékelésre is képes.

Bár számos olyan eszköz van a piacon, amely ezt a funkciót kínálja, az LLM eszközei sokoldalúbb felhasználást tesznek lehetővé azon túl, hogy megértik, hogyan vélekednek az emberek egy termékről vagy szolgáltatásról. Az adatelemzés például az utóbbi években robbanásszerűen megnőtt népszerűségét. A Big Data előnyhöz juttatja a vállalatokat azáltal, hogy lehetővé teszi számukra, hogy olyan betekintést és megértést nyerjenek, amely segít az adatvezérelt döntéshozatalban.

A robotizált folyamatautomatizálási eszközök segíthetnek az adatgyűjtésben. Azonban, ahogy fentebb említettük, bizonyos típusú információkkal küzdenek. A nagy nyelvi modelleket használó AI-eszközökkel párosítva azonban az RPA nagy mennyiségű adatot képes összegyűjteni és felhasználni az üzleti intelligencia (BI) eszközökhöz szükséges információk előállításához.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

A generatív mesterséges intelligencia egyik legizgalmasabb aspektusa, hogy képes értelmet adni az adatbeviteleknek. A megfelelő prompt tervezéssel a csapatok ezeket az adatokat olyan formátumba tudják alakítani, amely az RPA-eszközök számára működik.

Az RPA segíthet a Big Data munkafolyamatok hatékonyabbá tételében. Kezdetnek mind az adatbevitel, mind a kivonatolás során segítségére lehet. A talán legértékesebb és legérdekesebb felhasználási esetek azonban az RPA-eszközök felhasználása az adatok átalakítására, tisztítására és betöltésére, illetve az adatmigráció gyors, hatékony és pontos lefutásának biztosítására vonatkoznak.

Egy másik fontos pont az adatkezelés. Az adatkérések automatizálása segít a szervezeteknek a megfelelőség betartásában, és az adatokat a kézi munkások számára láthatatlanul tartja.

 

#3. Teszt automatizálás

A teszt-automatizálás azért terjedt el a szoftverfejlesztői körökben, mert gyorsabb módot biztosít a szoftverek ellenőrzésére. A tesztelés és a minőségbiztosítás hagyományosan költséges és időigényes folyamatok; a teszt automatizálás megoldást kínál mindkét kihívásra.

Az egyik első dolog, amit a prompt engineering tehet, az a tesztesetek minőségének javítása. A megfelelő utasításokkal ezek a gépek képesek elemezni a teszteseteket, és azonosítani a problémákat és a megoldásokat. Ez a folyamat bővítheti a tesztesetek körét, és átfogóbb tesztekhez vezethet.

Például egy nagyméretű nyelvi modellt ugyanúgy táplálhat kóddal, mint egy emberi bírálót. Ezek a gépek gyorsan végigfutnak a kódon, és kiszúrják a hibákat, hibákat, sőt, még a teljesítményproblémákat is azonosítják. Talán még érdekesebb, hogy az LLM-ek lehetőséget nyújtanak arra is, hogy a tesztesetek kódját egyszerű szippantásokból egészítsék ki, felgyorsítva ezzel a tesztesetek létrehozását.

A Prompt engineering célja, hogy megoldja a szoftverfejlesztés Agile/DevOps megközelítésének kialakulásához vezető számos problémát. A mérnökök hatékony, könnyen megismételhető teszteket szeretnének, amelyekkel még az alkalmazások telepítése előtt felismerhetők a problémák. Az elképzelés lényege, hogy az idő felszabadításával a szoftverfejlesztők kreatívabb és értékorientáltabb feladatokra koncentrálhatnak.

Amint azt egy klasszikus tanulmányban felvázolták,
Technikai adósság a teszt automatizálásban
(K. Wiklund, 2012), a szoftverfejlesztő csapatok problémába ütközhetnek, ha túl sok időt töltenek a szoftver kézi tesztelésével és ellenőrzésével. A teszt automatizálási megoldások kezdeti költségei, az automatizálási tapasztalatok hiánya, sőt a régebbi módszerek előnyben részesítése is hozzájárulhat ezekhez a lassulásokhoz.

Az agilis szoftverfejlesztés egyik legérdekesebb aspektusa a következőkkel kapcsolatos
a viselkedésvezérelt fejlesztés (BDD).
A fogalom a szoftver fejlesztésére utal, amely a felhasználók elvárt viselkedését veszi figyelembe. Bár e megközelítés megvalósítása egyértelműen időt takaríthat meg, sok csapat küzd azzal, hogy ezt az automatizálást életre keltse. Az LLM-ek azonban megoldást nyújthatnak.

A technikai adósság leggyakoribb tünetei közé tartozik a rossz dokumentáció és a megbízható tesztelés hiánya. Ezek olyan problémák, amelyek megoldásához a mai LLM-ek hozzájárulhatnak. Más figyelemre méltó tünetek, például a refaktorálás azonban túl bonyolult a jelenlegi generatív mesterséges intelligencia számára, és nem biztos, hogy időmegtakarítást eredményez.

 

Végső gondolatok

alfa tesztelés vs. béta tesztelés

A generatív AI-alkalmazások hatalmas potenciállal rendelkeznek. A felhasználóbarát, párbeszédes felület azonban félrevezető lehet. Sokan úgy vélik, hogy ezekből a gépekből egyszerűen lehet minőségi kimenetet előállítani. A kiváló prompt mérnöki munka azonban bonyolultabb, mint gondolná.

A hatékony prompt tervezés sok próbálkozást és hibát igényel. A mérnök részéről is sok előre megfontoltságot igényel, hogy a válaszok hasznosak legyenek. Végül pedig a munka ellenőrzése és újraellenőrzése fontos a jól ismert hibalehetőségek miatt.

Bár a gyors mérnöki állások száma talán emelkedik, nem mindenki van meggyőződve róla. Oguz A. Acar a Harvard Business Review-ban írja lebilincselő érvelését, amely szerint „a mesterséges intelligencia rendszerek jövőbeli generációi egyre intuitívabbak lesznek, és egyre jobban megértik a természetes nyelvet, csökkentve ezzel az aprólékosan kidolgozott súgók szükségességét.”

Bármit is hoz a jövő, a generatív mesterséges intelligencia ott lesz a képben. Bár a prompt engineering sok ígéretet hordoz magában, nehéz megmondani, hogy pontosan milyen szerepet fog játszani.

Érdekes módon a szoftverteszt-automatizálási szoftverek már most tele vannak olyan felhasználási esetekkel és sikertörténetekkel, amelyek bizonyítják, hogy alkalmasak a szoftverfejlesztés felgyorsítására anélkül, hogy a pontosság vagy az alkalmazások átfogó ellenőrzése veszélybe kerülne.

Az olyan eszközök, mint a ZAPTEST, már lehetővé teszik a fejlesztők számára, hogy olyan problémákkal foglalkozzanak, mint a nem megfelelő idő és erőforrások, a technikai adósság, a dokumentáció, az átfogó tesztelés és az RPA. Ráadásul ezek az eszközök sokkal felhasználóbarátabbak, mint a prompt engineering, így sokkal alkalmasabbak a nem műszaki csapatok számára. Mint mindig, az igazi lehetőségek ezeknek az izgalmas automatizálási technológiáknak a metszéspontjában rejlenek.

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post

Virtual Expert

ZAPTEST

ZAPTEST Logo