Ինչ է AI և LLM թեստավորումը, ինչով է տարբերվում ավանդական QA-ից, և ինչ հմտություններ են պետք սկսնակ QA-ի համար։
Արհեստական բանականությունը և խոշոր լեզվական մոդելները (LLM) այսօր այն արտադրանքի մասն են, որը QA ինժեներները պետք է թեստավորեն՝ չաթբոթեր, AI-որոնում, բովանդակություն ստեղծող գործիքներ, ավտոմատացված որոշումների համակարգեր։ Այս համակարգերի թեստավորումը հիմնվում է նույն մոտեցման վրա, ինչ ավանդական QA-ն, բայց ավելացնում է խնդիրների մի ամբողջ շարք, որոնց հետ դասական manual և ավտոմատացված թեստավորումը երբեք գործ չի ունեցել։
Այս հոդվածում կանդրադառնանք․
Ավանդական ծրագրաշարը դետերմինիստական է․ նույն մուտքագրման և նույն կոդի դեպքում արդյունքը միշտ նույնն է։ Login ձևը կամ ընդունում է գաղտնաբառը, կամ մերժում է այն, և այս վարքագիծը չի փոխվում test-ից test։ AI համակարգերը, հատկապես machine learning մոդելների վրա կառուցվածները, չեն աշխատում այսպես։ Դրանց վարքագիծը սովորվում է տվյալներից, ոչ թե գրվում է որպես հստակ կանոններ, ինչի պատճառով համակարգը կարող է տեխնիկապես «ճիշտ աշխատել» և միևնույն ժամանակ տալ պատասխան, որը ոչ ոք չէր կանխատեսի։
Սա երեք գործնական հետևանք ունի թեստավորման համար։ Առաջին՝ հազվադեպ կա մեկ ճիշտ պատասխան, որի հետ համեմատել արդյունքը — testerները աշխատում են ընդունելի պատասխանների միջակայքի հետ, ոչ թե մեկ սպասվող արժեքի։ Երկրորդ՝ համակարգի վարքագիծը կարող է փոփոխվել ժամանակի ընթացքում, երբ մոդելը վերավարժեցվում կամ fine-tune է արվում, ուստի նախորդ ամիս անցած test-ը երաշխավորված չէ, որ այսօր էլ կանցնի։ Երրորդ՝ սխալները հաճախ նուրբ են․ համակարգը վստահ ու սահուն է պատասխանում, նույնիսկ երբ սխալվում է, ուստի tester-ը պետք է ակտիվորեն փնտրի սխալները, ոչ թե սպասի ակնհայտ crash-ի։
Տվեք LLM-ին նույն հարցը երկու անգամ, և կարող եք ստանալ երկու տարբեր ձևակերպված, երբեմն նույնիսկ հակասական պատասխան։ Սա տեղի է ունենում, քանի որ լեզվական մոդելների մեծ մասը տեքստ է գեներացնում՝ ընտրելով հաջորդ բառը հավանականությունների բաշխումից, ոչ թե միշտ ամենահավանական բառը։ Որոշ համակարգերում այս պատահականությունը կարելի է նվազեցնել (հաճախ կոչվում է «temperature»), բայց հազվադեպ է այն ամբողջովին վերացվում, և շատ production համակարգեր դիտավորյալ պահպանում են որոշակի պատահականություն, քանի որ դա պատասխանները դարձնում է ավելի բնական։
Թեստավորման համար սա նշանակում է, որ մեկ test run-ը քիչ բան է ապացուցում։ Test case, որն անցել է մեկ անգամ, կարող է չանցնել հաջորդ run-ում՝ նույն մուտքագրումով, և test, որը մեկ անգամ չի անցել, կարող է լինել պատահականություն, ոչ թե իրական bug։ Արդյունավետ AI թեստավորումը սովորաբար նույն մուտքագրումը գործարկում է մի քանի անգամ և վերլուծում պատասխանների օրինաչափությունը՝ որքան հաճախ է համակարգը տալիս ճիշտ, ընդունելի կամ սխալ պատասխան, փոխարենը՝ մեկ run-ը համարել վերջնական արդյունք։
AI թեստավորումը սովորաբար կառուցվում է մի քանի փոխհատվող ուղղությունների շուրջ, և հասուն test strategy-ն ընդգրկում է դրանք բոլորը․
Այս ուղղություններից յուրաքանչյուրը պահանջում է test-երի տարբեր ձևավորում, և իրական նախագծերի մեծ մասը դրանք առաջնահերթացնում է տարբեր կերպ՝ կախված նրանից, թե ինչի համար է AI համակարգը կիրառվում. հաճախորդի հետ շփվող chatbot-ի համար անվտանգությունն ու կողմնակալությունը ավելի կարևոր են, քան ներքին տվյալների ամփոփման գործիքի համար։
AI թեստավորումը development-ի վերջում մեկ առանձին փուլ չէ — այն տեղի է ունենում մի քանի կետերում․
QA ինժեներները սովորաբար ամենաշատը ներգրավված են ինտեգրացիոն թեստավորման և production մոնիտորինգի մեջ՝ աշխատելով data scientist-ների և ML ինժեներների հետ, ովքեր պատասխանատու են ավելի վաղ փուլերի համար։
Machine learning-ի ֆոն պարտադիր չէ AI ֆունկցիաների թեստավորումը սկսելու համար։ Հիմնական թեստավորման հմտությունները՝ test case-ների ձևավորում, եզրային դեպքերով մտածելը, defect-երի հստակ փաստաթղթավորումը, coverage-ի հանդեպ համակարգված մոտեցումը — ուղիղ փոխանցվում են։ Փոխվում է մտածելակերպը․ մեկ սպասվող արժեքի հետ համեմատելու փոխարեն սովորում եք սահմանել ընդունելի պատասխանների միջակայք, test-երը գործարկել կրկնակի՝ ոչ թե մեկ անգամ, և ուշադիր հետևել, թե որքան վստահ է համակարգը հայտարարում մի բան, որը վերջում սխալ է դուրս գալիս։
Սկսելու գործնական միջոց է ընտրել ֆունկցիա, որն արդեն օգտագործում եք՝ chatbot, AI-որոնում, տեքստ գրող գործիք — և դիտավորյալ փորձել «կոտրել» այն. հարցնել ինչ-որ բան, որը դուրս է նրա շրջանակից, տալ հակասական հրահանգներ, կամ նույն հարցը հինգ անգամ տալ ու համեմատել պատասխանները։ Այս ուսումնասիրության ընթացքում նկատած օրինաչափությունները հիմքն են, որի վրա կառուցված են այս բաժնի մյուս հոդվածները։
Defining «Correct» in AI Systems
Solving LLM Instability in Internet Marketplace Platforms
Retrieval-Augmented Factuality
Hallucination Testing In Chatbots