რატომ უნდა ვისწავლოთ პროგრამირება AI-ს ეპოქაში

რატომ უნდა ვისწავლოთ პროგრამირება, თუ უბრალოდ Cursor-ის ან Claude Code-ის გამოყენება შემიძლია?

By გიგი ჩაკაბერია
რატომ უნდა ვისწავლოთ პროგრამირება AI-ს ეპოქაში

ამ კითხვას მუდმივად ვისმენ - დამწყები დეველოპერებისგან, კარიერის შემცვლელებისგან და აპლიკაციის იდეების მქონე ანტრეპრენერებისგან. პასუხი სულაც არ არის ცალსახა.

ზოგჯერ ნამდვილად არ გჭირდებათ ტრადიციული პროგრამირების სწავლა.
ზოგჯერ კი ეს აბსოლუტურად აუცილებელია.

როდის არ გჭირდებათ პროგრამირების სწავლა (სავარაუდოდ)

თუ გსურთ შექმნათ სტატიკური ვებსაიტი - თქვენი ბიზნესისთვის, პორტფოლიოსთვის ან რეზიუმესთვის - შეგიძლიათ გამოტოვოთ პროგრამირების ბუტქემფი (bootcamp). AI ხელსაწყოები, როგორიცაა Claude Code და Cursor, ამას იმაზე უკეთ უმკლავდებიან, ვიდრე Wix ან Squarespace ოდესმე შეძლებდნენ. თქვენ იღებთ მეტ მოქნილობას, რადგან შეგიძლიათ მარტივი ინგლისურით ზუსტად აღწეროთ ის, რაც გსურთ და სასაუბრო რეჟიმში ეტაპობრივად დახვეწოთ.

ოდნავ უფრო რთულმა პროექტებმაც კი შეიძლება არ მოითხოვონ ტრადიციული პროგრამირების უნარები. მარტივი მონაცემთა ბაზა საკონტაქტო ფორმის გასაგზავნად, მომხმარებლის ბაზისური ავთენტიფიკაცია, მცირე ბიზნეს-ლოგიკა, როგორიცაა ფასების გამოთვლა - AI ამ ყველაფერს საკმაოდ კარგად უმკლავდება.

თუმცა, არსებობს გაფრთხილებები:

  • AI-მ შეიძლება სათანადოდ არ განახორციელოს ტოკენების (token) განახლება ავთენტიფიკაციისთვის.
  • ის შეიძლება ვერ გაუმკლავდეს სიხშირის შეზღუდვას (rate limiting) სწორად.
  • ის სავარაუდოდ არ იფიქრებს ისეთ იშვიათ შემთხვევებზე (edge cases), რომლებიც გამოცდილი დეველოპერებისთვის აშკარა ჩანს (ყოველდღიური რუტინაა).

მაგრამ თუ თქვენი საიტი პატარაა, განთავსებულია იაფ სერვერზე ხარჯების ლიმიტით და ემსახურება მცირე რაოდენობის მომხმარებლებს, სავარაუდოდ, შეძლებთ მის ამუშავებას. ყველას არ სჭირდება გახდეს პროგრამული უზრუნველყოფის ინჟინერი და ზოგჯერ "საკმარისად კარგი" ნამდვილად საკმარისად კარგია.

როდის გჭირდებათ ტექნიკური უნარები უეჭველად

ვითარება სრულიად იცვლება, როდესაც გადადიხართ შემდეგ ტერიტორიებზე: ქმნით აპლიკაციებს, რომელთა მონეტიზაციასაც ცდილობთ, აფართოებთ მასას ასობით ან ათასობით მომხმარებლამდე, ამუშავებთ სენსიტიურ მონაცემებს, ქმნით რაღაცას, რაც უნდა განვითარდეს ახალი ფუნქციებით, ან მუშაობთ ნებისმიერ რამეზე, სადაც ხარვეზებს რეალური შედეგები მოჰყვება.

შეუძლია Claude-ს დაგეხმაროთ უსაფრთხოების დანერგვაში, მონაცემთა ბაზის სარეზერვო ასლების (backups) შექმნაში და არქიტექტურულ გადაწყვეტილებებში? აბსოლუტურად. მაგრამ მას სჭირდება ტექნიკური არქიტექტორი მის უკან, რომელმაც იცის, რომ ეს საკითხები საერთოდ არსებობს.

როდესაც Claude-ს ეკითხებით "რა გამომრჩა?", ის სასარგებლო პასუხებს გაძლევთ - მაგრამ არ დაფარავს ყველაფერს თქვენი კონკრეტული სცენარისთვის. მან არ იცის ზედმიწევნით თქვენი ბიზნესის მოთხოვნები ან ის მარეგულირებელი გარემო, რომელშიც ოპერირებთ.

AI-ს ასევე შეუძლია ისეთი ჰალუცინაციები (hallucinations), რომლებიც არ არის აშკარა. არ ვსაუბრობ ისეთ კოდზე, რომელიც არ ეშვება - ამის შემჩნევა მარტივია. ვსაუბრობ კოდზე, რომელიც იდეალურად მუშაობს, მაგრამ სინამდვილეში არ აკმაყოფილებს თქვენს მოთხოვნებს:

  • ფუნქციებზე, რომლებიც მუშაობენ, მაგრამ აქვთ უსაფრთხოების პრობლემები, რომლებსაც ვერ ამჩნევთ.
  • სტრუქტურებზე, რომლებიც სამომავლო ცვლილებებს ექსპონენციალურად ართულებენ.

და ეს "ჩუმი ჩავარდნები" გაცილებით საშიშია, ვიდრე აშკარა შეცდომები.

როგორ გამოიყურება სინამდვილეში AI-ის დახმარებით განვითარება

მე მუდმივად ვიყენებ LLM-ებს (დიდ ენობრივ მოდელებს), მაგრამ აი, როგორ გამოიყურება ეს რეალურად:

  • Claude Code აგენერირებს გეგმას. მე ვკითხულობ მას და ვასწორებ დეტალებს, რაც ჩემი არქიტექტურისთვის განსხვავებული უნდა იყოს.
  • ის წერს SQL მოთხოვნას - მე ვამჩნევ, რომ აკლია შეერთება (join), რომელიც მჭირდება.
  • ის გვთავაზობს API endpoint-ის სტრუქტურას, რომელიც არ ემთხვევა ჩვენს დადგენილ შაბლონებს. მე მას ვამისამართებ და ვასწორებ.

ეს ხდება ფაქტობრივად ნებისმიერი სირთულის ყველა ფუნქციაზე.

რა ხდის ამას ქმედითს: მე შემიძლია წავიკითხო თითოეული ხაზი და გავიგო რას აკეთებს. ვიცი რა კითხვები უნდა დავსვა. ვამჩნევ, როცა რაღაც არ შეესაბამება. მესმის სხვადასხვა მიდგომის უსაფრთხოების შედეგები.

ამ საძირკვლის გარეშე, მე მივიღებდი ჩემთვის გაუგებარ კოდს ისეთ კოდურ ბაზაში, რომლის გაანალიზებაც არ შემიძლია.

მზარდი პრობლემა

რეალური პრობლემა მხოლოდ დღევანდელი კოდი არ არის - ეს არის ის, რაც დროთა განმავლობაში ხდება.

AI საკმაოდ კარგად ართმევს თავს აპლიკაციების ნულიდან შექმნას. მაგრამ, წარმოიდგინეთ, რომ ექვსი თვის შემდეგ გჭირდებათ მნიშვნელოვანი ახალი ფუნქცია, რომელიც თქვენი კოდური ბაზის მრავალ ნაწილს ეხება. თქვენ სთხოვთ Claude-ს მის განხორციელებას. ის ქმნის კოდს, რომელიც თითქოს მუშაობს. თქვენც მშვიდად ამატებთ მას.

ახლა სხვა რამე ფუჭდება. სთხოვთ Claude-ს მის გამოსწორებას. შესწორება სხვა რამეს აფუჭებს. თქვენ გაუთავებლად ებრძვით ახალ-ახალ შეცდომებს (თამაშობთ whack-a-mole-ს) ისეთ კოდურ ბაზაში, რომელიც არ გესმით.

ან უარესი: არაფერი ჩანს გაფუჭებული, მაგრამ თქვენ შეიტანეთ შეუმჩნეველი შეცდომა (bug), რომელიც არ გამოჩნდება მანამ, სანამ რეალური მომხმარებლები არ გეყოლებათ. "Race condition" დატვირთვის ქვეშ. უსაფრთხოების მოწყვლადობა, რომელიც უხილავია მანამ, სანამ ვინმე არ გამოიყენებს მას.

თითოეული ნაწილი კოდისა, რომელიც არ გესმით, ართულებს სამომავლო ცვლილებებს. ტექნიკური ვალი გაცილებით სწრაფად გროვდება, როდესაც მის შემჩნევას ვერ ახერხებთ.

ორი ტიპის ადამიანი, რომელიც ამბობს: "AI-ს ყველაფრის გაკეთება შეუძლია"

როდესაც გესმით, ვინმე ამტკიცებს, რომ Claude-ს ან Cursor-ს ყველაფრის აშენება შეუძლია, ისინი ჩვეულებრივ ორ კატეგორიას განეკუთვნებიან:

  • არატექნიკური ადამიანები, რომლებმაც არ იციან, რა არ იციან. მათ ააშენეს რაღაც, რაც დღეს მუშაობს, ამიტომ ფიქრობენ, რომ ის კარგად არის აშენებული. მათ არ შეუძლიათ დაინახონ უსაფრთხოების მოწყვლადობები ან არქიტექტურული გადაწყვეტილებები, რომლებიც მათ შემდეგ ფუნქციას ათჯერ უფრო გაართულებს.
  • მაღალკვალიფიციური ტექნიკური ადამიანები, რომლებმაც ზუსტად იციან, სად არის ხარვეზები. ისინი ფართოდ იყენებენ AI-ს, მაგრამ მუდმივად ასწორებენ და აძლევენ მას მიმართულებას. როდესაც ამბობენ: "AI-ს ყველაფრის გაკეთება შეუძლია", ისინი გულისხმობენ "ჩემი ხელმძღვანელობით" - თუმცა ეს დაზუსტება იკარგება.

ამ ჯგუფებს შორის უფსკრული ფართოვდება, რადგან AI ინსტრუმენტები უფრო მძლავრი ხდება და ის, რისი ცდაც შეგიძლიათ, უფრო ამბიციური.

მთავარი დასკვნა

ჩვენ ჯერ კიდევ არ ვართ იმ ეტაპზე, როდესაც არატექნიკურ ადამიანებს შეუძლიათ შექმნან მნიშვნელოვანი, მასშტაბირებადი აპლიკაციები უსაფრთხოების ხვრელების გარეშე, მხოლოდ AI-ის გამოყენებით. შეიძლება ეს შეიცვალოს ხუთ ან ათ წელიწადში? შესაძლოა - LLM-ები წარმოუდგენელი ტემპით განვითარდნენ. მაგრამ მომავლის პროგნოზირება არავის შეუძლია და თქვენი ბიზნესის დაფუძნება იმ შესაძლებლობებზე, რომლებიც AI-ს შეიძლება ოდესმე ჰქონდეს, სარისკოა.

აი, რა გამორჩათ ადამიანებს: ტექნიკური უნარები და AI ინსტრუმენტები ერთმანეთის გამამრავლებელია და არა შემცვლელი. რაც უფრო მეტი გესმით არქიტექტურის, უსაფრთხოებისა და სისტემების დიზაინის შესახებ, მით უფრო ეფექტური ხდება AI თქვენს ხელში. თქვენ უფრო სწრაფად მიიწევთ წინ ფარული რისკების დაგროვების გარეშე.

AI არ ანაცვლებს კოდის გაგების აუცილებლობას. ის ამაღლებს იმის მინიმალურ ზღვარს, რისი მიღწევაც ტექნიკურ ადამიანებს შეუძლიათ - იმავდროულად, უფრო მნიშვნელოვანს ხდის განსხვავებას მათ შორის, ვისაც ესმის და ვისაც არა.

თუ თქვენი ამბიციები მოკრძალებულია - მარტივი საიტი, რომელსაც მასშტაბირება არ სჭირდება - შეიძლება პრობლემა არ შეგექმნათ AI ინსტრუმენტების მართვისას ღრმა პროგრამირების ცოდნის გარეშე.

მაგრამ თუ გსურთ შექმნათ რაიმე მნიშვნელოვანი, რაც გაიზრდება და მოემსახურება რეალურ მომხმარებლებს? უნდა გესმოდეთ, თუ რა ხდება კულისებში (under the hood).

ეს ცოდნა ნაკლებად ღირებული არ ხდება. ის უფრო ღირებული ხდება, ვიდრე ოდესმე ყოფილა.


ავტორის შესახებ

გიგი ჩაკაბერია

back-end დეველოპერი და მენტორი