
Изкуственият интелект завинаги промени света. И най-яростните технофоби и хуманисти не биха могли да отрекат, че откакто ChatGPT бе отворен към света, технологията зад него се развива стремглаво. С всяка следваща итерация възгласите против този възход се възнасят с нови вопли. Някои се страхуват, че ще загубят работата си. Други, че ще имат още повече работа. Трети гледат по съвсем различен начин – според тях технологията унищожава творческия процес, а с това и красотата от всичко ново, което човекът измисля чрез години на постоянство и упражняване на таланта, който притежава.
Не бих спорил с която и да е от тези групи. Всички те са прави. Но според мен критиците на технологията допускат една фундаментална грешка. Те смятат, че в своето същество човекът притежава неповторимо умение, което е изтъкано от гените и брънките на сложния му мозък. Умение, което позволява на тази уникална комбинация от неврони да създаде творба, неповторимо красива и докосваща други човеци по най-интимен и ухажващ начин.
Илюзия за оригиналността
За едни това е Деветата симфония на Бетовен, за други са драматичните сенки на Караваджо, а някои съзират тази шепнеща им тайнствени слова творба в банан, залепен с тиксо на стената. Всички произведения на изкуството, без изключение, са стъпили на нещо друго преди тях. Нищо не е напълно оригинално.
Изкуственият интелект не създава оригинални творби. Не пише оригинални стихотворения, не рисува оригинални картини, нито заснема оригинални филмови сцени. Но също като хората, технологията комбинира неща, които вече знае, за да създаде нещо ново. Някои биха казали, че това е дериват, че не е нищо повече от гротескно алгоритмично съвкупление на единици и нули, които имитират истинския оригинал, оригиналното творчество, творческия гений. Ала хората правят същото нещо. Тарантино имитира Серджио Леоне, италианецът подражава на Куросава, а легендарният японски режисьор черпи вдъхновение от холивудските уестърни. Самите те имитират средновековното рицарство. И хората, и машините повтаряме неща, които вече знаем, като ги обличаме в нови дрехи и съчетаваме с необичайни за тях връзки.
Душата на кода
Създаването на софтуер е творческа професия. Също като рисуването, писането на код влиза в правила и рамки дотолкова, доколкото създателят му реши и умее. Кодът, също като рисунъка, е изражение на вътрешното състояние на този, който го твори – един ден ще бъде стриктен и праволинеен, а друг ще бъде невероятна смесица от обекти и оркестратори, елегантна и така сложна, че трудна за повторно възпроизвеждане.
Също както рисуването, интелигентната машина може да съчетае техники и гледни точки точно толкова добре, колкото и биологичната такава. Със свръхчовешка бързина процесори и графични карти творят код, който на човек би отнел часове, а понякога и дни да напише.
Да оставим качеството настрана. Днес са шест пръсти и счупени компоненти, но утре изкуственият интелект ще има усъвършенствана подсистема за коригиране на грешки и те ще стават все по-малки и незабележими. Днес са нужни отдалечени ферми с безобразно мощни сървъри за извършване на сложни операции, но съвсем скоро тези модели ще живеят на нашите устройства без дори да имат нужда от интернет. Качеството не може да бъде спасителният пояс, за който да се хванат скептиците. Все още сме в плиткото и ако не се научим да плуваме овреме, течението ще ни отнесе.
Еволюция на абстракцията
По подразбиране сме свикнали да свързваме създаването на софтуер с писане на код. Това обвързване изглежда така интуитивно, че отдавна сме забравили, че далеч не е неразривно. Преди човечеството да пише код, компютрите са програмирани чрез директна манипулация на жици и прекарването им по магнитни канали. Още по-преди това: от перфокарти. И още по-преди това: от истински хора с пишещи средства и тетрадки.
Писането на код е изкуство на абстракцията. Да вземеш нещо сложно и повтаряемо и да създадеш негов друг, по-опростен вариант, който чрез скрити механизми да извършва сложните операции зад сцена. Това се наблюдава в цялата историята на програмирането и изкуственият интелект е естествената следваща стъпка.
След като дълго време на живо наблюдавах как професията ми се видоизменя, не успявах да си отговоря на въпроса какво значи това за бъдещето ни с изкуствения интелект. Най-сетне получих отговор, когато инсталирах Claude Code. Вместо да отворя редактора и да напиша поредните редове код, написах в терминала на Claude какво искам да постигна. Резултатът не беше задоволителен. А когато съм недоволен, първосигнално съм готов да обвиня технологията. Но както в класическото програмиране, програмата прави това, което аз поискам от нея. И ако аз не съм ясен в това, което искам, проблемът е в задклавиатурното устройство, не в изпълнителния софтуер.
В този момент ме осени нещо фундаментално. През професионалния ми живот винаги съм свързвал създаването на софтуер с писането на код. Сега пред мен стои нещо, което пише код вместо мен, но отново аз съм този, който трябва да каже какъв резултат иска. Аз, разработчикът на софтуер, просто намирам нови начини да изразя идеите си: вместо да пиша код, пиша промптове. И когато знам точно какво, как и защо го искам, резултатът е качествен, сигурен и надежден. За мен по-важно става вече да опиша архитектурата на софтуера, сенките на дизайна, правилата за достъпност на интерфейса. И това не е лесна работа: писането на промптове неслучайно се нарича инженерство.
Claude Code не ме заменя. Той ми позволява да трансформирам мислите си от синтаксис, към абстрактност. След години опит, през които съм оформял структури, правила и изключения, вече има кой да го прави (почти) също толкова добре, но много по-бързо. С него програмистите ще пишат още по-малко и още по-опростен код. По-голямата част от работата ни ще бъде дизайн и архитектура на високо ниво – докато изкуственият интелект копае код, хората ще чертаят сложни схеми, които да гарантират ефективност и непрекъсваемост на десетки, а често и стотици свързани софтуерни фрагменти.
Проклятието на експерта и истинската природа на професията
Сред масовото необременено от професията „програмист“ общество се шири едно от следните две впечатления: програмистът по цял ден или си клати краката, или пише код. И в двете твърдения има доза истина, но тя се отнася за все по-малък, почти изчезващ кръг от професионалисти.
Програмистите, които по цял ден пишат код, са и тези, които най-много се страхуват, че ще си загубят работата от иновациите в областта на изкуствения интелект. Съвсем разбираемо: ако една машина върши точно това, което върша и аз, но безкрайно по-бързо, колко време ще мине преди шефовете ми да се усетят, че могат да го правят и без мен?
Това се нарича Проклятието на експерта. Илюзията, че това, което след дълги години опит ни се отдава почти интуитивно, ще бъде също толкова лесно и достъпно за онези, които се сблъскват с него за първи път. Заради това и често е толкова трудно на експерти да обучават новобранци – за професионалиста е трудно да си представи, че някой може да не знае това, което е напълно естествено за него.
Очакванията са, че изкуственият интелект ще постигне обратния ефект. През 19-ти век икономистът Уилям Джевънс забелязва, че по-ефективните парни машини не намаляват консумацията на въглища, а я увеличават – ефективността прави използването им по-достъпно и приложението по-широко. Тази умствена панделка се нарича Парадоксът на Джевънс.
Подозирам, че същото ще се случи и с професиите, които се чувстват застрашени от модерната технология: когато създаването на код стане десет пъти по-бързо, няма да имаме нужда от десет пъти по-малко програмисти – ще създаваме десет пъти повече програми. Когато преводачът използва изкуственият интелект, за да увеличи ефективността си в създаване на преводи, професията му няма да изчезне – ще отвори врати към света на още повече автори.
Човешкият интерфейс
В модерната професия на програмирането съгласуването заема огромна, може би дори твърде голяма част от ежедневието на професионалистите. Съгласуваме бизнес изискванията, съгласуваме дизайна, договаряме срокове и зависимости от други екипи, синхронизираме се вътрешно и външно. Живеем в един постоянен цикъл от срещи – дневни, седмични, двуседмични, месечни, тримесечни или единични по конкретен повод; екипни, междуекипни, на гилдията, на вертикалата, на отдела, на компанията; един-на-един, да обсъдим архитектурата, да обсъдим платформата, да обсъдим какво сме пропуснали да обсъдим и какво още трябва да обсъдим.
Това може и да звучи като скеч на Монти Пайтън, но е ежедневието на хиляди и хиляди програмисти. Времето за писане на код постепенно изчезва и става второстепенна задача. А какво правим с второстепенните задачи? Автоматизираме ги напълно или частично. Благодаря ти, Claude, справи се страхотно!
Някои компании вече правят фаталната грешка и уволняват хора, които заместват с изкуствен интелект. Те виждат как системата генерира код и решават, че програмистите са излишни. Но когато клиентът пристигне с неясни изисквания, когато е нужно да се вземе архитектурно решение, когато трябва да се интегрират несъвместими системи – тогава на повърхността излиза силният аргумент за нуждата от човешки експерти. Неумението да направляваш резултатите на технологията неизменно ще доведе до спираловидно сваляне на качеството. Код, който не решава проблеми. Системи, които не си говорят. Продукти, които не се използват.
Метаморфозата
Професията на програмиста не изчезва, а се видоизменя. Писането на код е интелектуална и творческа дейност, която постепенно делегираме на системи, които са по-бързи от нас в това, а скоро и по-добри. Това може да изплаши тези, които са застинали във времето и упорито отказват да влязат в крачка с новите технологии.
Истината е като огледалото – проста, но не и утешителна. Изкуственият интелект няма да те замени. Програмист, използващ изкуствен интелект, ще го направи.
Не се чуди накъде отива влакът на изкуствения интелект. Релсите са положени, курсът е начертан. Всички сме вътре. Остава само да избереш седалка – с лице към движението или с гръб към него.