Ագենտների արդյունավետությունը բարձրացնել փորձող AI թիմերի մեծ մասը դիմում է նույն միջոցներին՝ ավելի մեծ համատեքստային պատուհաններ, ավելի շատ փաստաթղթեր և ավելի խելացի հարցումներ։ Այս հոդվածը պնդում է, որ այդ բնազդը լիովին սխալ է։ Պակասող բաղադրիչը լրացուցիչ տեղեկությունը չէ։ Դա վերահսկումն է։ Լավ նախագծված վերահսկման շերտն է ցուցադրության ժամանակ աշխատող ագենտը տարբերում արտադրական միջավայրում աշխատողից։
AI ագենտին ավելի մեծ հիշողություն, ավելի շատ փաստաթղթեր կամ ավելի երկար համատեքստային պատուհան տալը նրան չի խելացիացնում, այլ պարզապես դարձնում է ավելի դանդաղ ու թանկ։ Իրական առաջընթացն ապահովվում է, երբ ագենտին սովորեցնում եք ընտրել՝ ինչ և երբ է իրեն պետք, այլ ոչ թե ամեն ինչ միանգամից կլանել։
Հուսալիությունն ապահովում է շրջափուլը, ոչ թե մոդելը։ Ցուցադրության ժամանակ տպավորող և արտադրական միջավայրում դիմացող ագենտների միջև տարբերությունը ոչ թե AI-ի որակն է, այլ այն, թե արդյոք համակարգը ստուգում է իր աշխատանքը։ Յուրաքանչյուր քայլում պլանավորող, գործող, դիտարկող և ստուգող ագենտները նկատում են սեփական սխալները՝ վստահորեն սխալվելու փոխարեն։
Այսօրվա AI ագենտների մեծ մասը, ըստ էության, լրացուցիչ քայլերով չաթբոտներ են․ նրանք չեն կարող հասկանալ՝ արդյոք ճիշտ ուղու վրա են, երբ կանգ առնել կամ երբ այլ մոտեցում փորձել։ Պատշաճ վերահսկման շերտը՝ հաջողության հստակ չափանիշներով, կառուցվածքային վիճակով և վավերացման ստուգումներով, ագենտանման օբյեկտը վերածում է մի բանի, որին իսկապես կարելի է վստահել։
Երեկ ի՞նչ եք կերել ճաշին։
Հավանաբար չեք վերապրել ձեր ունեցած բոլոր հիշողությունները, մինչև հասնեիք «երեկ + ճաշ» կետին։ Դուք անմիջապես անցել եք ձեր փորձառության այն հատվածին, որտեղ գտնվում են այդ հասկացությունները։ Սա օգտակար մտային մոդել է ագենտներ կառուցելու համար․
Հսկայական համատեքստային պատուհանը հիշողություն չէ։
Ստացված փաստաթղթերի կույտը հասկացողություն չէ։
Երկար մտքերի շղթան հուսալիություն չէ։
Դրանք բաղադրիչներ են։ Սակայն ագենտին ագենտի հատկանիշներ տվողը նույն բանն է, որի շնորհիվ ձեր ուղեղը չի մշակում ձեր ամբողջ կյանքի պատմությունը կոպիտ ուժով՝ վերահսկումը։
Վերջերս հրապարակված «Ագենտային դատողություն մեծ լեզվային մոդելների համար» ուսումնասիրությունը հիանալի ամփոփում և անվանում է այն անցումը, որը մեզանից շատերը զգացել են համակարգեր կառուցելիս՝ մոդելի ներսում դատողությունից դեպի փոխազդեցության միջոցով դատողություն։ Այս հրապարակումն այդ հոդվածի ամփոփումը չէ։ Սա այդ անցումը համակարգերի գործնական նախագծման լեզվով ներկայացնելու փորձ է․
Եթե ագենտները կառուցեք որպես գործիքներով չաթբոտներ, կշարունակեք ստանալ չաթբոտներին բնորոշ ձախողումներ, պարզապես ավելի թանկ սխալներով։
Որոշ ժամանակ «մոդելն ավելի խելացի դարձնելու» մեր լռելյայն մոտեցումն այսպիսին էր՝ ավելի լավ հարցումներ, մտքերի շղթա, ինքնահամապատասխանություն կամ ընտրանքի վրա հիմնված բարելավումներ և գուցե մի փոքր որոնում։
ReAct-ը շրջադարձային պահ էր, քանի որ «միտք → գործողություն → դիտարկում» հաջորդականությունը բնական դարձրեց։ Սակայն նկատեք անուղղակի սահմանափակումը․ սրա մեծ մասը դեռ հանգում է «մեկ օրինակ եզրակացության՝ պարզապես ավելի շատ թոքեններով»։ Ուսումնասիրության ձևակերպումն ավելի դիպուկ է․ ագենտային դատողությունը կարևորում է թեստավորման պահին փոխազդեցության մասշտաբավորումը՝ եզրակացությունը վերածելով կրկնվող գործընթացի, որի շրջափուլում մշտապես մնում են մոդելը, հիշողությունն ու միջավայրը։
Եթե կառուցել կամ օգտագործել եք ագենտներ, որոնք ցուցադրությունների ժամանակ տպավորիչ են, բայց իրական աշխատանքային հոսքերում՝ փխրուն, սա ձեզ համար է։
Նկարագրեմ մի ձևանմուշ, որը հաճախ եմ տեսել և որի տարբերակներն ինքս էլ հաստատ կառուցել եմ․
Վերցնել լավ զրույցի մոդել
Ավելացնել մի քանի գործիք (որոնում, ՏԲ հարցում, գուցե կոդի կատարում)
Ավելացնել RAG
Ավելացնել “you are an autonomous agent” համակարգային հարցումը
Այդ ամենը ներառել while շրջափուլի մեջ, մինչև այն կանգ առնի կամ ժամանակը սպառվի
Շնորհավորում ենք, դուք ագենտանման օբյեկտ ունեք։ Սակայն այն սովորաբար կանխատեսելի ձևերով է ձախողվում․
Համատեքստի ուռճացում․ ամեն դիտարկում կցվում է, և հարցումները վերածվում են հնագիտական շերտերի։
Գործիքների անկանոն կիրառում․ լռելյայն ձախողման եղանակը դառնում է «վստահորեն ընտրել սխալ գործիքը»։
Կանգառի պայմաններ չկան․ այն շարունակում է ոչ թե անհրաժեշտությունից, այլ որովհետև կարող է։
Հիմնավորման կարգապահություն չկա․ այն չի նկատում, որ սխալվում է, եթե չպարտադրեք։
Հիշողություն = զրույցի պատմություն․ սա փաստորեն մատյաններ վարելն ու դա ուսուցում անվանելն է։
Ահա թե ինչու են «ագենտները» հաճախ կախարդական թվում ցուցադրությունների ժամանակ և խառնաշփոթ ստեղծում արտադրական միջավայրում։ Ագենտային համակարգերն արտադրական միջավայրում ներդնելու մեր փորձը ևս սա է ցույց տալիս․ երբ այլևս ոչ թե մոդել, այլ համակարգ եք գնահատում, ձախողման պատճառների մեջ մտնում են նավարկումը, գործիքների կարգապահ կիրառումը, համատեքստի կրճատումն ու գնահատման նախագծումը, ոչ միայն «արդյո՞ք մոդելը ճիշտ պատասխանեց» հարցը։
Այսպիսով, հարցը հետևյալն է․ ինչպիսի՞ն է նպատակային ագենտը։
Սա ավելի շոշափելի դարձնելու համար դիտարկենք պարզ աշխատանքային հոսք, որը շատերը կարող են պատկերացնել․ “Book me a flight from London to New York next Tuesday. Arrive before 6pm. Keep it under £900. Aisle seat.”
Տարածված «ագենտանման» իրականացումն այսպիսի տեսք ունի․
Անմիջապես ստանում է ավիաընկերությունների և ուղևորության կանոնների բազմաթիվ փաստաթղթեր, նույնիսկ եթե դրանք դեռ պետք չեն։
Կանչում է որոնման գործիքը, արդյունքների երկար ցանկը տեղադրում հարցման մեջ և «ընտրում դրանցից մեկը»։
Վաղաժամ ամրագրում է՝ առանց սահմանափակումները ստուգելու (ժամանման ժամ, ուղեբեռ, նստատեղ, կանոններ)։
Ձախողման դեպքում մի փոքր այլ կերպ է կրկին փորձում, բայց հստակ չի հասկանում՝ ինչ փոխվեց կամ ինչ սովորեց։
Խնդիրն այն չէ, որ մոդելը չի կարող դատողություն անել, այլ այն, որ համակարգը չի վերահսկում աշխատանքային հոսքը։
Ավելի ագենտային տարբերակն առաջադրանքը դիտարկում է որպես հստակ վիճակով և ստուգումներով ինտերակտիվ գործընթաց․
ՊԼԱՆԱՎՈՐԵԼ․ վերաշարադրել սահմանափակումները և նշել պակասող տվյալները (օր.՝ “which airport preference?” / “is 1 stop ok?”)։
ԳՈՐԾԵԼ․ կառուցվածքային հարցմամբ կանչել թռիչքների որոնումը (ամսաթվերի միջակայք, ժամանման սահմանափակում, բյուջե)։
ԴԻՏԱՐԿԵԼ․ արդյունքները պահել վիճակի համառոտ օբյեկտում (լավագույն 5 տարբերակները՝ գնով, ժամանմամբ և միջանկյալ կանգառներով), այլ ոչ թե տեղադրել տվյալների հսկայական զանգված։
ԹԱՐՄԱՑՆԵԼ․ ճշգրտել հարցումը, եթե սահմանափակումները չեն բավարարվում (օր.՝ “arrival before 6pm is too strict—widen time window or raise budget?”)։
ՍՏՈՒԳԵԼ․ գործարկել վավերացուցիչները (“arrival < 18:00,” “price ≤ £900,” “policy compliant,” “seat selection available”)։
ԿԱՆԳ ԱՌՆԵԼ․ միայն այն ժամանակ, երբ ամրագրման API-ն հաստատում է վերադարձնում, և բոլոր վավերացուցիչները հաստատում են արդյունքը։
Փոփոխությունը նուրբ է, բայց վճռորոշ։ Տվյալների ստացումը պայմանական է, ոչ թե ռեֆլեքսային, համատեքստը կառավարվում է՝ վիճակը կառուցվածքավորված է, ոչ թե պարզապես կուտակված, իսկ ստուգումը շրջափուլի մաս է և չի թողնվում օգտատիրոջը։ «Թռիչքի ամրագրումը» փոխարինեք «գնման պատվերի ստեղծմամբ», «փոխհատուցման տրամադրմամբ», «արտադրական միջավայրի կազմաձևի փոփոխմամբ» կամ «PR-ի թողարկմամբ», և պատկերը նույնն է․ երբ ագենտը կարող է գործել, շրջափուլն ավելի կարևոր է, քան հարցումը։
Վերը նշված ուսումնասիրությունն ագենտային դատողությունը բաժանում է երեք շերտի՝ հիմնարար (պլանավորում, գործիքների կիրառում, որոնում), ինքնազարգացող (հետադարձ կապ և հիշողություն) և հավաքական (բազմաագենտային համակարգում)։
Սակայն ավելի խորքային միտքն այն է, որ դատողությունը դառնում է պլանավորման, որոշումների կայացման և ստուգման կազմակերպիչ սկզբունք, այլ ոչ թե պարզապես հավանական մտքերի շղթա գեներացնելու միջոց։ Սա վերացական է հնչում, մինչև այն կապում եք ձեր ճարտարապետության փոփոխությունների հետ։ Պետք է հիշել երեք հիմնական կետ․
Լավ ագենտը չպետք է տվյալների ստացմանը վերաբերվի որպես «միշտ կատարվող գործողության»։ Դա որոշում է, ոչ թե ռեֆլեքս։
Ահա գործնական մոտավոր կանոն․
Եթե ձեր համակարգն ամեն քայլում տվյալներ է ստանում, դուք ոչ թե տվյալների ստացման մեխանիզմ եք կառուցել, այլ համատեքստի հարկ եք սահմանել։
Իրական աշխատանքում սա մշտապես հանդիպում է։ Արտադրական միջադեպ վրիպազերծելիս բոլոր մատյանները չեք լցնում համատեքստի մեջ․ ընթացիկ վարկածի հիման վրա որոշում եք՝ հաջորդիվ որ չափանիշներն ու մատյանները ստանալ։ Սա «ագենտային տվյալների ստացում» է։ Ահա ավելի հստակ ձևանմուշ․
Որոշել՝ արդյոք անհրաժեշտ է տվյալներ ստանալ
Եթե այո՝ կազմել հարցում, ստանալ, արագ ուսումնասիրել, առանձնացնել անհրաժեշտը
Եթե ապացույցները հակասում են՝ կրկին տվյալներ ստանալ
Միայն դրանից հետո համադրել
Հենց այստեղ է «ագենտային RAG»-ը սկսում տարբերվել ավանդական RAG-ից․ տվյալների ստացումը դառնում է դատողության գիտակցված քայլ, ոչ թե խողովակաշարի լռելյայն փուլ։
Հենց դադարում եք գնահատել «մոդելը» և սկսում եք գնահատել «համակարգը», վիճակի վերահսկումն ու հետագծումը կարևոր են դառնում։
Այս ընթացքում ոլորտում ավելի հստակ է դարձել ագենտների աշխատանքային հոսքերի դիտարկելիության կարևորությունը։ Օրինակ՝ OpenAI-ի Agents SDK-ն ունի ներկառուցված հետագծում և Traces վահանակ, որը գրանցում է ագենտների գործարկումները (գեներացումներ, գործիքների կանչեր, փոխանցումներ, սահմանափակիչներ, հատուկ իրադարձություններ), որպեսզի կարողանաք քայլ առ քայլ վրիպազերծել և աուդիտի ենթարկել կատարվածը։
Սա պարզապես «ցանկալի հավելում» չէ։ Դրանով է տարբերվում վրիպազերծվող համակարգը այն համակարգից, որը կարող եք միայն մակերեսորեն գնահատել։
Իմ կարծիքով՝ ուսումնասիրության ամենակիրառելի մասը հետադարձ կապի մասին դրա հստակությունն է։ Այն հետադարձ կապը բաժանում է երեք ռեժիմի՝ ռեֆլեկտիվ հետադարձ կապ (գեներացնել → քննադատել → վերանայել), պարամետրական հարմարեցում (ուսուցում՝ ճշգրտման կամ RL-ի միջոցով) և վավերացուցիչով կառավարվող հետադարձ կապ (կրկնել, մինչև վավերացուցիչը հաստատի)։
Թիմերի մեծ մասը պետք է սկսի վավերացուցիչով կառավարվող հետադարձ կապից, քանի որ այն պարզ է ու արդյունավետ։ Եթե կարող եք գրել որևէ վավերացուցիչ, որը կատարում է միավորային թեստեր, ստուգում է սխեման, սահմանում բիզնես կանոններ կամ սահմանափակումներ («առանց վերադասին փոխանցելու՝ X-ից բարձր փոխհատուցումներ չկան») կամ ստուգում փաստացիությունը («հղումները պարտադիր են»), ապա մոդելի ոչ դետերմինիստական ելքը կարող եք վերածել մի բանի, որին իսկապես կարելի է վստահել։
Այստեղի «անհայտ անհայտներից» մեկը պարզ փոփոխություն է․ ագենտների աշխարհում հուսալիությունը հաճախ ավելի շատ ապահովում է շրջափուլը, քան մոդելը։
Ահա իմ գտած ամենապարզ շրջափուլը, որն առանց ուսուցման հուսալիորեն բարելավում է վարքը․
Աշխատեք քայլերով՝ Պլանավորել → Գործել → Դիտարկել → Թարմացնել,
Յուրաքանչյուր գործողությունից հետո դիտարկումն ամփոփեք 1–3 կետով,
Կանգ առեք, երբ հաջողության չափանիշները բավարարվեն կամ բյուջեն սպառվի, և ներկայացրեք լավագույն հայտնի արդյունքն ու մնացած անորոշությունները։
Նպատակը մոդելին շատախոս դարձնելը չէ։ Նպատակը համակարգը հասկանալի դարձնելն ու ամեն քայլում «իրականության հետ շփում» պարտադրելն է։ Ինժեներներին շատ ծանոթ օրինակ է CI-ի ոճով փակ շրջափուլով հիմնավորումը․
Պլանավորել՝ առաջարկել փոփոխությունների ցանկ
Գործել՝ գործարկել թեստերը / լինտերը
Դիտարկել՝ վերլուծել ձախողումները
Թարմացնել՝ ուղղել և կրկին փորձել
Ահա մի քանի հարց, որոնք սովորաբար բացահայտում են պատահականորեն ագենտանման դարձած նախագծերը․
«Իմ ագե՞նտն է որոշում՝ ինչ ստանալ, թե՞ ես միշտ եմ տվյալներ ստանում»։
Եթե տվյալների ստացումն անվերապահ է, դրա գինը կլինի ուշացումը, ծախսը, համատեքստի նոսրացումը և «աղբը մուտքում՝ աղբը ելքում» խնդրի մեծ ռիսկը։
«Կարո՞ղ է իմ ագենտը նկատել, որ սխալվում է»։
Եթե ձեր ագենտի հետադարձ կապի միակ ազդանշանն այն է, որ «օգտատերը նյարդայնանում է», ապա դուք RL եք իրականացնում մարդկանց տառապանքի հաշվին։ Վավերացուցիչով կառավարվող կրկնափորձի շրջափուլն ագենտին իրականության հետ առերեսելու ամենամաքուր միջոցն է։
«Հիշողությունը գրանցելի՞ է, և արդյո՞ք ժամանակի ընթացքում բարելավվում է»։
Եթե ձեր «հիշողությունն» ընդամենը զրույցի պատմությունն է շարունակաբար ավելացնում, ապա փաստորեն պարզապես մատյան եք վարում։ Կարևոր է, թե ուսումնասիրությունն ինչպես է ներկայացնում հիշողությունը․ այն դառնում է դինամիկորեն աճող համատեքստ, որն ագենտները ժամանակի ընթացքում կատարելագործում են, այլ ոչ թե պարզապես գրառում։
Մատյանները պատմում են, թե ինչ է կատարվել, իսկ հիշողությունը՝ թե ինչ անել հաջորդ անգամ։ Զրույցի պատմությունը գրառում է։ Հիշողությունը զարգացող քաղաքականություն է այն մասին, թե ինչ արժե հետդ տանել ապագա։
Գործնական առաջին քայլը կարող է լինել «քաղած դասերի» փոքր աղյուսակը, որտեղ բանալին ներառում է առաջադրանքի տեսակը, գործիքը և ձախողման եղանակը, իսկ արժեքը՝ ինչն աշխատեց և ինչից խուսափել։ Նպատակը կատարյալ գիտելիքի գրաֆ կառուցելը չէ։ Նպատակը կուտակային բարելավվող վարք ստեղծելն է․ հիշողությունն ու հետադարձ կապը «վիճակ չունեցող օգնականներին» վերածում են ժամանակի ընթացքում կատարելագործվող համակարգերի։
Գայթակղիչ է խնդրի վրա ավելի շատ ագենտներ ուղղելը, սակայն դա հաճախ բազմապատկում է համակարգման ծախսը։ «Նվազագույն կենսունակ թիմի» լավ ձևանմուշ․
Համակարգող՝ բաժանում է մասերի և հանձնարարում
Կատարող՝ կանչում է գործիքները և կատարում փոփոխությունները
Քննադատ/գնահատող՝ ստուգում է ճշտությունն ու ռիսկը
Հիշողության պատասխանատու՝ գրանցում և մշակում է քաղած դասերը
Եթե չեք կարող բացատրել, թե յուրաքանչյուր ագենտ ինչի համար է պատասխանատու, հավանաբար դեռ մի քանի ագենտի կարիք չունեք։
Եթե իսկապես ընդունենք այս հարացույցի փոփոխությունը, հավանաբար կդադարենք ամեն ինչ խցկել հարցումների մեջ, ձախողումները վերջնական ելք համարել և ագենտները չաթբոտների պես գնահատել։ Փոխարենը կսկսենք ագենտներին վերաբերվել որպես այնպիսի ծրագրային համակարգերի, ինչպիսին դրանք իրականում կան․ լեզուն դրանց կառավարման հարթությունն է, իսկ հուսալիությունն ապահովում է շրջափուլը։
Մեկ այլ մոդել ավելացնելուց առաջ ավելացրեք գնահատման ևս մեկ շրջափուլ։ Ամեն ինչ ստանալուց առաջ տվյալների ստացումը դարձրեք պայմանական։ Տասը վավերացուցիչ թողարկելուց առաջ թողարկեք մեկը։ Հիշողությանը վերաբերվեք որպես քաղաքականության վերաբերյալ որոշումների, ոչ թե տվյալների բազայի։ Իսկ բազմաագենտային համակարգի անցնելիս սկսեք երկու, ոչ թե քսան ագենտից։ Սրանք կանոններ չեն, այլ արտադրական միջավայրի փորձությունը հաղթահարած ձևանմուշներ։