Սյունակ

Ագենտային կոդինգը prefill-ի խնդիր է, իսկ բոլորը դեկոդ են գնում

Հարցրեք՝ վայրկյանում քանի թոքեն է պետք լոկալ կոդինգ-ագենտին, և ամեն պատասխան դեկոդի արագություն կմեջբերի։ Բայց ագենտի քայլը հսկա պրոմպտ է ու կարճ պատասխան. սպասումն ապրում է prefill-ում, և երկաթի խոսակցությունն օպտիմալացնում է հարցումի սխալ կեսը։

կարծիք 01 սեպտեմբերի, 2026 թ.

Սա կարծիք-սյունակ է, ոչ թե լաբորատորիայի արդյունք։ Թվերն այստեղ հեղինակի աշխատանքային օրագրից և մեջբերված արտաքին աղբյուրներից են (նշված են տեքստում), երբեք՝ claim-երի ռեեստրից։ Չափված, ապացույցներով արդյունքներն ապրում են /claims/.

Ամեն շաբաթ մեկը հարցնում է, թե վայրկյանում քանի թոքեն է պետք լոկալ կոդինգ-ագենտի համար, և ամեն շաբաթ պատասխանները մեջբերում են դեկոդի արագությունը։ Դա հարցումի սխալ կեսն է։ Նայեք, թե ագենտն իրականում ինչ է ուղարկում. system prompt, գործիքների մանիֆեստ, ֆայլերի պարունակություն, build-ի ելք, խոսակցության պատմություն — տասնյակ հազարավոր թոքեն կոնտեքստ, — որին հետևում է պատասխան, որը հաճախ ուղիղ մեկ tool call երկարություն ունի։ Գեներացիան կլորացման սխալ է։ Կարդալն է բուն աշխատանքը։

Այդ կարդալը prefill-ն է, և prefill-ն իրեն ամենևին դեկոդի պես չի պահում։ Դեկոդը հավասարաչափ կաթոց է, որին կարելի է հետևել; prefill-ը պատ է, որի հետևում սպասում ես, մինչև առաջին թոքենը կհայտնվի։ Մեր 128 ԳԲ-անոց տուփի վրա հարցը 32k թոքենանոց փաստաթղթի վրա արժե տասնյակ վայրկյանների prefill՝ նախքան մեկ տեսանելի նշանը — ճշգրիտ, չափված թիվը կոնտեքստների համեմատության մեջ է, — մինչդեռ դրան հաջորդող դեկոդն ընթանում է ավելի արագ, քան որևէ մեկը կարդում է։ Կոդինգ-ագենտը մոտավորապես այդ պատը վճարում է ամեն քայլի վրա, որտեղ իր կոնտեքստը փոխվել է։ Գնեք երկաթը դեկոդի թվով, և կստացվի, որ օպտիմալացրել եք քայլի հենց այն մասը, որում ձեր ագենտն ամենաքիչ ժամանակն է անցկացնում։

Նախքան լավանալը՝ վատանում է։ Reasoning-մոդելներն առաջին պատի հետևում երկրորդն են շարում. prefill-ից հետո մոդելը մտածում է, և մտորման հոսքը քեզ հասցեագրված չէ։ Մենք չափել ենք, թե ինչպես է երկու հարյուր միլիվայրկյանանոց առաջին բառը reasoning-ը միացնելիս դառնում քսանվայրկյանանոց — զույգը thinking-ի հաշվետվության մեջ է, — և ագենտը, որը reasoning-ը լռելյայն միացրած է թողնում, երկու պատն էլ վճարում է, ամեն քայլին, հիմնականում ստուգելի պատասխաններով խնդիրների վրա, որտեղ մեր gate-երը գտան, որ reasoning-ը ոչինչ չգնեց։

Հիմա լավ մասը, որովհետև այն կա, և դա լոկալ սպասարկման ամենաթերագնահատված լծակն է. prefix cache-ը։ Ագենտի կոնտեքստը կամայական չէ — նույն system prompt-ն է, նույն գործիքների մանիֆեստը, նույն ֆայլերի վերնագրերը՝ քայլ քայլի հետևից, փոփոխություններով միայն պոչում։ Սերվերը, որը քեշավորում է ընդհանուր prefix-ը, պատը վճարում է մեկ անգամ, և սեսիայի մնացած մասն անցնում է առանց վճարի։ Վճարելու և ձրի անցնելու տարբերությունը մենք չափել ենք — երկրորդ հարցը վերադառնում է գրեթե անմիջապես, — իսկ պայմանը, որ դա պահանջում է, դաժան է իր պարզությամբ. prefix-ը պետք է լինի բայթ առ բայթ նույնական։ Մեկ վերախառնված retrieval-չանկ, մեկ timestamp system prompt-ի մեջ, և ամեն քայլ վճարում է ամբողջ գինը, մինչդեռ դաշբորդդ առողջ cache է ցույց տալիս։

Ինչը վերաձևակերպում է երկաթի ամբողջ հարցը։ Ագենտային կոդինգի համար կարևոր սպեկերը prefill-ի թողունակությունն է և — ամեն ինչից առաջ — այն, թե ձեր ագենտի framework-ն ու սերվերը prefix-ը բավական կայո՞ւն են պահում, որ այն քեշավորվի։ Միջին կարգի տուփը՝ կարգապահ կոնտեքստի դասավորությամբ, զգացողությամբ առաջ կանցնի հրեշից, որի framework-ը պրոմպտն ամեն քայլին նորից է շարադրում։ Դա ծրագրային հատկություն է՝ երկաթի զգեստ հագած, և հենց դրա համար ոչ մի GPU-ակնարկ երբեք ձեզ դրա մասին չի պատմի։

Այնպես որ, նախքան գնումների գնալը՝ չափեք մեկ իրական ագենտային քայլ այն տուփի վրա, որն արդեն ունեք. առաջին տեսանելի թոքենը, ոչ թե մտորման առաջին թոքենը, ամեն քայլին, ձեր իրական կոնտեքստի չափերով։ Մեթոդը շարադրված է։ Եթե խնդիրը սպասումն է, նախ ստուգեք, թե ձեր ստեկն ինչ է անում prefix-ի հետ, հետո նոր նայեք ավելի մեծ քարտի գներին։ Պատն իրական է, բայց դրա առաջ կանգնածների կեսն այն շարել է սեփական ձեռքերով։

← Բոլոր սյունակները