Կատարողից դեպի ճարտարապետ

Նախկինում աշխատանքային ժամանակի զգալի մասը ծախսվում էր անմիջապես կոդ գրելու վրա։ Անհրաժեշտ էր ստեղծել կոմպոնենտներ, պատրաստել էջերի վերստակումը, գրել API, կարգավորել սերվերը, nginx-ը, Docker-ը և SSL-ը, գտնել սխալները և ուսումնասիրել փաստաթղթավորումը։

Այսօր այդ ռուտինային աշխատանքի մեծ մասը կարելի է փոխանցել AI-ագենտներին։

Ծրագրավորողը, սակայն, գործընթացից չի անհետանում։ Նա որոշում է, թե կոնկրետ ինչ պետք է կառուցվի, ինչպես այն պետք է աշխատի և ինչպես այն պետք է կառուցված լինի ներսից։

Ըստ էության, մշակումը ձեռքով կատարվող գործողությունների հաջորդականությունից վերածվում է ինտելեկտուալ գործիքների մի ամբողջ հավաքածուի կառավարման գործընթացի։

Ենթադրենք՝ ծրագրավորողն ունի նոր վեբ պրոդուկտի գաղափար և հստակ պատկերացում, թե տեխնիկապես ինչպես այն պետք է իրականացվի։

Առաջին փուլը կարող է լինել դիզայնը։ Փոխանակ Figma-ում յուրաքանչյուր էջը ձեռքով նկարելու՝ կարելի է ձևակերպել պահանջները և AI-ի օգնությամբ ստանալ ինտերֆեյսի նախնական կառուցվածք, կոմպոնենտներ, բլոկների դասավորության տարբերակներ և տեսողական կոնցեպտ։

Դրանից հետո ծրագրավորողը սահմանում է backend-ի ճարտարապետությունը՝ էությունները, դրանց միջև կապերը, տվյալների պահպանման եղանակները, ավտորիզացիան, բիզնես-տրամաբանությունը և API-ն։

Այնուհետև այդ ճարտարապետությունը կարելի է փոխանցել AI-ագենտին, օրինակ՝ Codex-ին կամ Claude Code-ին, որը կիրականացնի backend-ի զգալի մասը։

Հաջորդ փուլը frontend-ն է։ Ծրագրավորողը նախագծում է API-ն և հավելվածի ռոութինգը, սահմանում է ինտերֆեյսի վիճակը և կոմպոնենտների փոխգործակցության կանոնները, իսկ գործակալն արդեն իրականացնում է այդ համակարգը՝ պատրաստված դիզայնի հիման վրա։

Արդյունքում այն, ինչը նախկինում կարող էր տևել մեկ շաբաթից մինչև մեկ ամիս, որոշ նախագծերում իսկապես հնարավոր է հավաքել մեկ օրվա ընթացքում։

Սակայն այստեղ կա մի կարևոր վերապահում․ ավելի արագ ստեղծվում է ոչ թե հենց պրոդուկտը, այլ պրոդուկտի առաջին աշխատող տարբերակը։

Մշակումը դարձել է ավելի արագ, բայց ծրագրավորողին ներկայացվող պահանջները չեն վերացել

AI-ն հիանալի է կատարում կոնկրետ տեխնիկական առաջադրանքներ։ Սակայն արդյունքի որակն անմիջականորեն կախված է նրանից, թե որքան լավ է ձևակերպված առաջադրանքը։

Կարելի է գործակալին խնդրել ստեղծել օնլայն խանութ և ստանալ աշխատող օնլայն խանութ։

Բայց բոլորովին այլ հարց է, թե որքան լավ է այն նախագծված։ Փորձառու ծրագրավորողը պետք է պատասխանի այսպիսի հարցերի․

  • Ինչպե՞ս է կառուցված տվյալների բազան։
  • Որտե՞ղ է գտնվում բիզնես-տրամաբանությունը։
  • Ինչպե՞ս է համակարգը աշխատելու բեռնվածության աճի դեպքում։
  • Հնարավո՞ր կլինի նոր գործառույթներ ավելացնել՝ առանց հավելվածի կեսը վերագրելու։
  • Ինչպե՞ս է կազմակերպված ավտորիզացիան։
  • Ի՞նչ տեղի կունենա միաժամանակ ստացվող հարցումների դեպքում։
  • Ինչպե՞ս են մշակվում սխալները։
  • Ի՞նչ տեղի կունենա արտաքին ծառայության խափանման դեպքում։
  • Որտե՞ղ են գտնվում անվտանգության հնարավոր խնդիրները։

Հենց այստեղ էլ կրկին անհրաժեշտ է փորձառու ծրագրավորողը։

AI-ն կարող է գրել հազարավոր տողեր կոդ, բայց այն հարցի պատասխանը, թե ինչ կոդ ընդհանրապես պետք է գոյություն ունենա, դեռևս տալիս է մարդը։

Այդ պատճառով ժամանակակից վեբ ծրագրավորողի ամենակարևոր հմտություններից մեկը դառնում է ճարտարապետության նախագծումը։

AI-ագենտը՝ որպես մշակման լիարժեք մասնակից

Կոդի հետ աշխատանքի գործընթացը հատկապես կտրուկ փոխվեց AI-ագենտների հայտնվելուց հետո։

Չաթում սովորական նեյրոցանցը հիմնականում պատասխանում է հարցերին կամ գեներացնում կոդի առանձին հատվածներ։ Գործակալը կարող է աշխատել անմիջապես նախագծի հետ՝ ուսումնասիրել ֆայլերի կառուցվածքը, փոփոխել կոդը, գործարկել հրամաններ, կատարել թեստեր, վերլուծել սխալները և ուղղել դրանք։

Սա արդեն շատ ավելի նման է վիրտուալ թիմակցի հետ աշխատանքին, քան ծրագրավորողի համար տեղեկատու գործիքի օգտագործմանը։

Ծրագրավորողը կարող է առաջադրել մոտավորապես այսպիսի խնդիր․

«Իրականացրու Google-ի միջոցով ավտորիզացիա։ Օգտագործիր նախագծի գոյություն ունեցող ճարտարապետությունը, ավելացրու անհրաժեշտ միգրացիաները, API endpoints-ները, middleware-ը, frontend կոմպոնենտները և թեստերը»։

Գործակալը ինքնուրույն կուսումնասիրի նախագիծը, կգտնի փոփոխությունների համար անհրաժեշտ տեղերը և կկատարի աշխատանքի մեծ մասը։

Միևնույն ժամանակ ծրագրավորողը պետք է հասկանա նախագծի ճարտարապետությունը և ստուգի արդյունքը։ Գործակալի կատարած փոփոխությունները չի կարելի պարզապես լռելյայն համարել ճիշտ։

AI-ն կարող է ստեղծել տեխնիկապես աշխատող իրականացում, որը ընդհանրապես չի համապատասխանում կոնկրետ նախագծի ճարտարապետությանը։

Դեպլոյն էլ է դառնում ավտոմատացված

Ընդամենը մի քանի տարի առաջ նախագիծը սերվերի վրա տեղադրելը կարող էր առանձին խնդիր լինել։

Պետք էր միանալ SSH-ով, ստուգել տեղադրված ծրագրակազմը, կարգավորել nginx-ը, ստեղծել վիրտուալ հոսթի կոնֆիգուրացիան, ստուգել DNS-ը, ընտրել հասանելի պորտերը, տեղադրել SSL սերտիֆիկատը, կարգավորել Docker-ը, environment variables-ը և գործարկել հավելվածը։

Այսօր այդ աշխատանքի զգալի մասը նույնպես կարելի է փոխանցել AI-ագենտին։

Գործակալը կարող է SSH-ով միանալ սերվերին, վերլուծել դրա վիճակը, որոշել առկա կոնֆիգուրացիան, ստուգել nginx-ի և Docker-ի առկայությունը, ուսումնասիրել զբաղված պորտերը, ստուգել դոմեյնը, կլոնավորել Git ռեպոզիտորիան, ստեղծել անհրաժեշտ կոնֆիգուրացիոն ֆայլերը, կարգավորել SSL-ը և գործարկել հավելվածը։

Դրանից հետո մարդուն մնում է միայն ստուգել արդյունքը և համոզվել, որ հավելվածն իսկապես աշխատում է նախատեսված ձևով։

Այսպիսով ավտոմատացվում է ոչ միայն կոդի գրելը, այլ նաև մշակման օպերացիոն մասը։

Փաստաթղթավորումը դառնում է ճարտարապետության մաս

Կա ևս մեկ կարևոր ասպեկտ, որը հատկապես արդիական է դառնում AI-ագենտների հետ աշխատելիս՝ նախագծի փաստաթղթավորումը։

Երբ ծրագրավորողը բացում է նոր նախագիծ, ժամանակի զգալի մասը ծախսվում է այն ուսումնասիրելու վրա։

Պետք է հասկանալ կատալոգների կառուցվածքը, ճարտարապետական որոշումները, API-ն, տվյալների բազան, կախվածությունները, կոդի հետ աշխատելու պայմանավորվածությունները և դեպլոյի գործընթացը։

Մարդու համար սա կարող է տևել մի քանի ժամ կամ օր։

AI-ի համար դա նաև նշանակում է մեծ քանակությամբ կոնտեքստ, որը պետք է փոխանցվի մոդելին յուրաքանչյուր նոր առաջադրանքի ժամանակ։

Այդ պատճառով մշակման ավարտից հետո օգտակար է խնդրել գործակալին փաստաթղթավորել նախագիծը։

Փաստաթղթավորման մեջ կարելի է նկարագրել ճարտարապետությունը, տվյալների բազայի կառուցվածքը, API-ն, հիմնական մոդուլները, նախագծի հետ աշխատելու կանոնները, դեպլոյի գործընթացը և այլ կարևոր որոշումներ։

Հաջորդ անգամ, երբ գործակալը պետք լինի, նրան այլևս պետք չի լինի զրոյից ուսումնասիրել ամբողջ նախագիծը։ Նա կկարողանա օգտագործել գոյություն ունեցող փաստաթղթավորումը որպես մեկնարկային կետ։

Ստացվում է նախագծի յուրատեսակ հիշողություն։

Ծրագրավորողի հիմնական խնդիրն է ճիշտ նախագծել համակարգը

Արդյունքում ծրագրավորողի արժեքը աստիճանաբար տեղափոխվում է առանձին տողերի կոդ գրելուց դեպի ավելի բարձր մակարդակ։

Ամենակարևորն է դառնում՝

  • ինչ է կոնկրետ կառուցվում;
  • ինչ ճարտարապետություն է ընտրվում;
  • ինչպես են համակարգի բաղադրիչները փոխազդում միմյանց հետ;
  • որքան հեշտ կլինի ընդլայնել նախագիծը;
  • որ տեխնիկական որոշումները կարող են խնդիր դառնալ մեկ տարի անց;
  • և որքանով է արդյունքը համապատասխանում սկզբնական գաղափարին։

AI-ն կարող է շատ արագ իրականացնել սխալ ճարտարապետություն։

Ավելին, որքան արագ է աշխատում գործակալը, այնքան արագ կարելի է հասնել սխալ արդյունքի։

Այդ պատճառով ժամանակակից մշակումը ծրագրավորողից պահանջում է ոչ պակաս, իսկ հաճախ նույնիսկ ավելի խորը հասկանալ ամբողջ համակարգը։

Ինչ է փոխվել գործնականում

Եթե պարզեցնենք, ապա մշակման ժամանակակից գործընթացը կարող է մոտավորապես այսպիսի տեսք ունենալ․

Գաղափար → ճարտարապետություն → դիզայն → իրականացում → թեստավորում → դեպլոյ → փաստաթղթավորում։

Գրեթե յուրաքանչյուր փուլում հնարավոր է օգտագործել AI։

Ծրագրավորողը ձևավորում է պահանջները և ընդունում որոշումները։

AI-ն օգնում է այդ որոշումները վերածել կոնկրետ արդյունքի։

Ծրագրավորողը ստուգում է արդյունքը, ուղղում ընթացքը և ընդունում հաջորդ ճարտարապետական որոշումները։

Այս իմաստով AI-ն դառնում է ոչ թե ծրագրավորողի փոխարինող, այլ նրա արտադրողականության բազմապատկիչ։

Մեկ մարդ ստանում է փոքր թիմի հնարավորությունները։

Ցանկանու՞մ եք տեսնել, թե ինչպես է այս մոտեցումն աշխատում գործնականում, նայեք այն ապրանքներին, որոնք մենք ստեղծում ենք AI-ի օգնությամբ։

Բայց այս ավտոմատացման սահմաններ կան

Կարևոր է հասկանալ, որ այս մոտեցումը հիմնականում աշխատում է այն դեպքում, երբ հենց ծրագրավորողն էլ հասկանում է, թե ինչ է կառուցում։

Եթե մարդը չգիտի, թե ինչպես պետք է աշխատի տվյալների բազան, ինչու է անհրաժեշտ կոնկրետ API, ինչպես է աշխատում ավտորիզացիան կամ ինչու հավելվածը պետք է կազմակերպված լինի հենց այդ ձևով, AI-ն չի կարող հուսալիորեն փոխհատուցել այդ գիտելիքների բացակայությունը։

Կարելի է ստիպել գործակալին կառուցել հավելված։

Շատ ավելի դժվար է նրան ստիպել ինքնուրույն ճիշտ արտադրանքային և ճարտարապետական որոշումներ կայացնել բոլոր ոչ ստանդարտ իրավիճակներում։

Այդ պատճառով ժամանակակից ծրագրավորողը աստիճանաբար դառնում է յուրօրինակ տեխնիկական ճարտարապետ, առաջադրանքներ ձևակերպող և ռևյուեր, որը AI-ագենտներին օգտագործում է որպես իրականացման գործիք։

Վեբ մշակումը դառնում է ավելի արագ

Ամենահետաքրքիր փոփոխությունն այն է, որ պրոդուկտի առաջին տարբերակի ստեղծման արժեքն ու ժամանակը զգալիորեն նվազում են։

Դեռ վերջերս գաղափարը ստուգելու համար կարող էին պահանջվել շաբաթներ։

Այսօր շատ դեպքերում հնարավոր է մի քանի օրվա, իսկ երբեմն էլ մեկ օրվա ընթացքում հավաքել աշխատող պրոտոտիպ, միացնել տվյալների բազան, իրականացնել API-ն, պատրաստել ինտերֆեյսը և ամբողջը տեղադրել սերվերի վրա։

Սա փոխում է հենց պրոդուկտների մշակման մոտեցումը։

Այժմ կարելի է ավելի արագ ստուգել գաղափարները, ավելի արագ գործարկել MVP-ները, ավելի արագ հրաժարվել անհաջող կոնցեպտներից և ավելի արագ անցնել հաջորդ տարբերակին։

Միևնույն ժամանակ մեծանում է ճարտարապետության համար պատասխանատվությունը։

Որովհետև կոդ գրելն ավելի հեշտ է դարձել։

Բայց ճիշտ համակարգ կառուցելը դեռևս դժվար է։

Եվ հենց սա, հավանաբար, դառնում է նոր դարաշրջանի վեբ ծրագրավորողի հիմնական հմտություններից մեկը։

Ցանկանու՞մ եք քննարկել, թե ինչպես ճիշտ նախագծել ձեր ապրանքը։ Կապվեք մեզ հետ․ կօգնենք մտածել ճարտարապետությունը և հասցնել նախագիծը production։

Եկեք ձեր գաղափարը վերածենք աշխատող ապրանքի

Տեսեք մեր սակագները կամ կապվեք ProLeadly թիմի հետ․ կօգնենք նախագծել ճարտարապետությունը և AI-ի օգնությամբ թողարկել ձեր վեբ-ապրանքը։

Տեսնել սակագները →ԿապվելԳրել WhatsApp-ում
← Բոլոր հոդվածները