
«The Coming Loop»․ ինչո՞ւ արտաքին ցիկլերը փոխում են ծրագրային ապահովման մշակումը
Արմին Ռոնախերի նոր էսսեն վերլուծում է կոդային գործակալների շուրջ կառուցվող ցիկլերը․ որտեղ ավտոմատացումն իսկապես օգնում է, ինչու է ստեղծված կոդը դառնում ավելի դժվար հասկանալի, և ինչպես պահպանել մարդկային վերահսկողությունը։
Ծրագրային ապահովման մշակող Արմին Ռոնախերը հունիսի 23-ին հրապարակել է «The Coming Loop» էսսեն, որտեղ պնդում է, որ արհեստական բանականությամբ աջակցվող մշակման ամենակարևոր փոփոխությունը ոչ թե ինքնին կոդային գործակալն է, այլ նրա շուրջ կառուցված ավտոմատացման արտաքին շերտը։
Տեքստը բացվում է Բորիս Չերնիին վերագրվող մեջբերումով․ «Ես այլևս պրոմպտներ չեմ գրում Claude-ի համար։ Ես ունեմ ցիկլեր, որոնք պրոմպտներ են գրում Claude-ի համար և որոշում, թե ինչ անել։ Իմ աշխատանքը ցիկլեր գրելն է»։
Երկու ցիկլ, ոչ թե մեկ
Ռոնախերը տարբերակում է յուրաքանչյուր կոդային գործիքի ներսում գործող գործակալի ցիկլը՝ մոդելը կանչում է գործիք, կարդում արդյունքը, խմբագրում ֆայլ, աշխատացնում թեստեր, և դրա շուրջ գործող harness-ի մակարդակի ցիկլը։ Երկրորդ ձևաչափում աշխատանքը մտնում է հերթ, մեքենան վերցնում է այն ու փորձում կատարել, և հետո harness-ը որոշում է՝ արդյոք առաջադրանքն իրականում ավարտված է։ Եթե ոչ՝ նույն սեսիան շարունակվում է նոր հաղորդագրությամբ, մեկնարկում է նոր սեսիա փոփոխված կոնտեքստով, կամ առաջադրանքը փոխանցվում է այլ մեքենայի։
Որտեղ է աշխատում, որտեղ՝ ոչ
Հեղինակը բացահայտ ասում է, որ լիովին ավտոմատ ցիկլերը լավ արդյունք չեն տվել իրեն իսկապես կարևոր կոդի վրա․ պատճառը և՛ ճաշակն է, և՛ վերահսկողությունը։ Նա ուզում է ինքը բացատրել, թե ինչ է անում համակարգը՝ առանց մոդելից բացատրություն խնդրելու։ Այսօրվա մոդելները, նրա գրքով, ստեղծում են չափազանց պաշտպանողական և տեղային կոդ․ սխալ վիճակները անհնարին դարձնելու փոխարեն նրանք ավելացնում են պահուստային ուղիներ, կրկնօրինակում տրամաբանությունը և ստեղծում թույլ վերացականություններ։ Նա հիշատակում է Անդրեյ Կարպատիի դիտարկումը, որ մոդելները «մահացու վախենում են բացառություններից», և պնդում, որ ցիկլերը ուժեղացնում են այդ սովորությունը, քանի որ յուրաքանչյուր կրկնություն ավելացնում է ևս մեկ փոքր պաշտպանություն։
Ցիկլերը շատ ավելի լավ են աշխատում, երբ արդյունքը երկար կյանք չի պահանջում․ կոդի տեղափոխումը մի լեզվից մյուսը — նա նշում է Bun-ի՝ Zig-ից Rust տեղափոխման աշխատանքները և MiniJinja-ի իր Go պորտը — արտադրողականության ուսումնասիրություն, անվտանգության սկանավորում և հետազոտական առաջադրանքներ։ Հաջող սխեմաներից շատերում դատավորի կամ նվագախմբի դերում հանդես է գալիս մեկ այլ մոդել, իսկ harness-ին անհրաժեշտ է միայն հաջորդ կրկնությունը խթանող ազդանշան։
Ծրագրային ապահովումը որպես օրգանիզմ
Ռոնախերի հիմնական մտահոգությունը ծրագրային ապահովման՝ դետերմինիստական մեքենայից օրգանիզմ դառնալու տեղաշարժն է․ համակարգեր, որոնք վերահսկվում են, կայունացվում և բուժվում, բայց այլևս ամբողջությամբ չեն հասկացվում։ Նրա կարծիքով՝ դրանից դուրս գալը դժվար է․ հարձակվողներն ու անվտանգության հետազոտողները ավտոմատ վերլուծություն կուղղեն ցանկացած կոդային բազայի վրա, և պահպանողները ճնշումն արդեն զգում են — նա վկայակոչում է Դանիել Ստենբերգի նկարագրությունը curl նախագծին հասնող հաղորդումների հոսքի մասին։ Մրցակցային ճնշումը նույն ուղղությամբ է գործում․ շատ փոքր թիմերը թողարկում են այն արագությամբ, ինչը նախկինում շատ ավելի շատ մարդ էր պահանջում։
Էսսեն եզրափակվում է այն ընդունմամբ, որ ցիկլերը գալիս են, և հարցի վերաձևակերպմամբ․ ոչ թե՝ կօգտագործե՞ն արդյոք թիմերը դրանք, այլ՝ ինչպե՞ս չկորցնել դատողությունը, պահպանել լավ ինժեներիայի կանոնները և թույլ տալ պատասխանատու մարդկանց շարունակել վերահսկել այսպես կառուցված համակարգերը։
SiTech — AI-ով հզորացված վեբ մշակում
Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։