„ Ко последњи изађе, искључите уређивач кода. “ Ова шаљива фраза кружи по форумима за програмере, одражавајући забринут хумор због пораста популарности асистената за кодирање са вештачком интелигенцијом. Како модели вештачке интелигенције постају све способнији за писање кода, многи програмери се питају да ли људске програмере чека иста судбина као оператере лифтова или оператере централа – послови које је аутоматизација учинила застарелим. Године 2024, смели наслови су проглашавали да би вештачка интелигенција ускоро могла да напише сав наш код, остављајући људске програмере без икаквог посла. Али иза хајпа и сензационализма, стварност је много нијансиранија.
Да, вештачка интелигенција сада може да генерише код брже од било ког човека, али колико је тај код добар и може ли вештачка интелигенција сама да се носи са читавим животним циклусом развоја софтвера? Већина стручњака каже „не тако брзо“. Лидери у софтверском инжењерству попут извршног директора Мајкрософта, Сатје Наделе, наглашавају да „вештачка интелигенција неће заменити програмере, али ће постати неопходан алат у њиховом арсеналу. Ради се о оснаживању људи да раде више, а не мање.“ ( Хоће ли вештачка интелигенција заменити програмере? Истина иза хајпа | аутор The PyCoach | Artificial Corner | март 2025 | Medium ) Слично томе, шеф за вештачку интелигенцију у Гуглу, Џеф Дин, напомиње да, иако вештачка интелигенција може да се носи са рутинским задацима кодирања, „још увек јој недостају креативност и вештине решавања проблема“ – управо оне особине које људски програмери доносе. Чак и Сем Алтман, извршни директор OpenAI-а, признаје да је данашња вештачка интелигенција „веома добра у задацима“ , али „ужасна у пуним пословима“ без људског надзора. Укратко, вештачка интелигенција је одлична у помагању са деловима посла, али није способна да потпуно преузме посао програмера од почетка до краја.
Ова бела књига искрено и уравнотежено разматра питање „Хоће ли вештачка интелигенција заменити програмере?“. Испитујемо како вештачка интелигенција утиче на улоге у развоју софтвера данас и које промене нас чекају. Кроз примере из стварног света и недавне алате (од GitHub Copilot-а до ChatGPT-а), истражујемо како се програмери могу прилагодити, адаптирати и остати релевантни како се вештачка интелигенција развија. Уместо једноставног одговора „да“ или „не“, видећемо да је будућност сарадња између вештачке интелигенције и људских програмера. Циљ је да се истакну практични увиди у то шта програмери могу да ураде да би напредовали у доба вештачке интелигенције – од усвајања нових алата до учења нових вештина и пројектовања како би се каријере кодирања могле развијати у наредним годинама.
Вештачка интелигенција у развоју софтвера данас
Вештачка интелигенција се брзо уклопила у савремени ток рада развоја софтвера. Далеко од тога да је научна фантастика, алати засновани на вештачкој интелигенцији већ пишу и прегледају код , аутоматизују заморне задатке и побољшавају продуктивност програмера. Програмери данас користе вештачку интелигенцију за генерисање исечака кода, функције аутоматског довршавања, откривање грешака, па чак и израду тест случајева ( Да ли постоји будућност за софтверске инжењере? Утицај вештачке интелигенције [2024] ) ( Да ли постоји будућност за софтверске инжењере? Утицај вештачке интелигенције [2024] ). Другим речима, вештачка интелигенција преузима тежак посао и шаблон, омогућавајући програмерима да се фокусирају на сложеније аспекте креирања софтвера. Погледајмо неке од истакнутих могућности и алата вештачке интелигенције који тренутно трансформишу програмирање:
-
Генерисање кода и аутоматско довршавање: Модерни асистенти за кодирање помоћу вештачке интелигенције могу да производе код на основу упутстава на природном језику или делимичног контекста кода. На пример, GitHub Copilot (направљен на OpenAI-јевом Codex моделу) интегрише се са уређивачима како би предложио следећи ред или блок кода док куцате. Користи огроман скуп кода отвореног кода за обуку како би понудио контекстуалне предлоге, често способан да заврши целе функције само из коментара или имена функције. Слично томе, ChatGPT (GPT-4) може да генерише код за дати задатак када опишете шта вам је потребно једноставним језиком. Ови алати могу да направе шаблонски код за неколико секунди, од једноставних помоћних функција до рутинских CRUD операција.
-
Детекција и тестирање грешака: Вештачка интелигенција такође помаже у откривању грешака и побољшању квалитета кода. Алати за статичку анализу и линтери покретани вештачком интелигенцијом могу да означе потенцијалне грешке или безбедносне рањивости учећи из прошлих образаца грешака. Неки алати вештачке интелигенције аутоматски генеришу јединичне тестове или предлажу тест случајеве анализирајући путање кода. То значи да програмер може да добије тренутне повратне информације о граничним случајевима које је можда пропустио. Раним проналажењем грешака и предлагањем исправки, вештачка интелигенција делује као неуморни асистент за контролу квалитета који ради заједно са програмером.
-
Оптимизација и рефакторисање кода: Још једна употреба вештачке интелигенције је предлагање побољшања постојећег кода. На основу исечка кода, вештачка интелигенција може да препоручи ефикасније алгоритме или чистије имплементације препознавањем образаца у коду. На пример, може да предложи идиоматскију употребу библиотеке или да означи сувишан код који се може рефакторисати. Ово помаже у смањењу техничког дуга и побољшању перформанси. Алати за рефакторисање засновани на вештачкој интелигенцији могу да трансформишу код како би се придржавао најбољих пракси или да ажурирају код на нове верзије API-ја, штедећи програмерима време у ручном чишћењу.
-
DevOps и аутоматизација: Поред писања кода, вештачка интелигенција доприноси процесима изградње и имплементације. Интелигентни CI/CD алати користе машинско учење да би предвидели који тестови ће вероватно пропасти или да би дали приоритет одређеним пословима изградње, чинећи процес континуиране интеграције бржим и ефикаснијим. вештачка интелигенција може да анализира логове производње и метрике перформанси како би указала на проблеме или предложила оптимизације инфраструктуре. У ствари, вештачка интелигенција помаже не само у кодирању, већ и у целом животном циклусу развоја софтвера – од планирања до одржавања.
-
Интерфејси и документација природног језика: Такође видимо да вештачка интелигенција омогућава природније интеракције са алатима за развој. Програмери могу буквално да затраже од вештачке интелигенције да изврши задатке („генерише функцију која ради X“ или „објасни овај код“) и добије резултате. Четботови са вештачком интелигенцијом (као што су ChatGPT или специјализовани асистенти за развој) могу да одговоре на програмска питања, помогну са документацијом, па чак и да напишу пројектну документацију или пошаљу поруке на основу промена кода. Ово премошћује јаз између људске намере и кода, чинећи развој приступачнијим онима који могу да опишу шта желе.
-

Програмери усвајају алате вештачке интелигенције: Анкета из 2023. године показује да је огромних 92% програмера користило алате за вештачку интелигенцију у неком својству – било на послу, у својим личним пројектима или у оба. Само малих 8% је изјавило да не користи никакву помоћ вештачке интелигенције у кодирању. Овај графикон показује да две трећине програмера користе алате вештачке интелигенције и на послу и ван њега, док четвртина користи искључиво на послу, а мала мањина само ван посла. Закључак је јасан: кодирање уз помоћ вештачке интелигенције брзо је постало уобичајено међу програмерима ( Анкета открива утицај вештачке интелигенције на искуство програмера - Блог ГитХаба ).
Ова пролиферација вештачке интелигенције у развоју довела је до повећане ефикасности и смањења мукотрпности у кодирању. Производи се креирају брже јер вештачка интелигенција помаже у генерисању шаблонског кода и обављању понављајућих задатака („ Да ли постоји будућност за софтверске инжењере? Утицај вештачке интелигенције [2024] “) ( Да ли ће вештачка интелигенција заменити програмере 2025: Увид у будућност ). Алати попут Копилота могу чак предложити целе алгоритме или решења која „можда нису одмах очигледна људским програмерима“, захваљујући учењу из огромних скупова података кода. Примери из стварног света су бројни: инжењер може замолити ChatGPT да имплементира функцију сортирања или пронађе грешку у њиховом коду, а вештачка интелигенција ће произвести нацрт решења за неколико секунди. Компаније попут Амазона и Мајкрософта су распоредиле парове програмера вештачке интелигенције (Амазонов CodeWhisperer и Мајкрософтов Copilot) у своје тимове програмера, извештавајући о бржем завршетку задатака и мање свакодневних сати проведених на шаблонском коду. У ствари, 70% програмера анкетираних у истраживању Stack Overflow из 2023. године рекло је да већ користе или планирају да користе алате вештачке интелигенције у свом процесу развоја ( 70% програмера користи алате за вештачку интелигенцију у кодирању, 3% веома верује у њихову тачност - ShiftMag ). Најпопуларнији асистенти су ChatGPT (користи га ~83% испитаника) и GitHub Copilot (~56%), што указује да су општи конверзацијски вештачки интелигентни алати и интегрисани IDE-ови помоћници кључни играчи. Програмери се првенствено окрећу овим алатима како би повећали продуктивност (навело их је ~33% испитаника) и убрзали учење (25%), док их око 25% користи да би постали ефикаснији аутоматизацијом понављајућег рада.
Важно је напоменути да улога вештачке интелигенције у програмирању није потпуно нова – њени елементи постоје већ годинама (узмите у обзир аутоматско довршавање кода у IDE-има или оквирима за аутоматизовано тестирање). Али последње две године су биле прекретница. Појава моћних модела великих језика (као што су OpenAI-јева GPT серија и DeepMind-ов AlphaCode) драматично је проширила оно што је могуће. На пример, DeepMind-ов AlphaCode систем је доспео на насловне стране наступивши на такмичарском нивоу такмичења у програмирању , постигавши око 54% места на нивоу изазова кодирања – у суштини изједначујући вештине просечног људског такмичара ( DeepMind-ов AlphaCode изједначава просечну програмерску вештину ). Ово је био први пут да је систем вештачке интелигенције постигао такмичарске резултате на такмичењима у програмирању. Међутим, значајно је да је чак и AlphaCode, са свим својим вештинама, још увек био далеко од тога да победи најбоље људске програмере. На тим такмичењима, AlphaCode је могао да реши око 30% проблема у оквиру дозвољених покушаја, док врхунски људски програмери решавају >90% проблема једним покушајем. Ова празнина истиче да, иако вештачка интелигенција може да се носи са добро дефинисаним алгоритамским задацима до одређене тачке, најтежи проблеми који захтевају дубоко резоновање и домишљатост остају људско упориште .
Укратко, вештачка интелигенција се чврсто укоренила у свакодневном алату програмера. Од помоћи у писању кода до оптимизације имплементације, она дотиче сваки део процеса развоја. Однос данас је у великој мери симбиотски: вештачка интелигенција делује као копилот (прикладно назван) који помаже програмерима да кодирају брже и са мање фрустрације, уместо независног аутопилота који може да лети сам. У следећем одељку, ћемо се позабавити како ова инкорпорација алата вештачке интелигенције мења улогу програмера и природу њиховог посла, на боље или на горе.
Како вештачка интелигенција мења улоге програмера и продуктивност
Како вештачка интелигенција обавља већи део рутинског посла, улога програмера заиста почиње да се мења. Уместо да проводе сате пишући шаблонски код или отклањајући грешке у свакодневним грешкама, програмери могу те задатке пребацити на своје вештачке интелигенције. Ово помера фокус програмера ка решавању проблема вишег нивоа, архитектури и креативним аспектима софтверског инжењерства. У суштини, вештачка интелигенција унапређује програмере, омогућавајући им да буду продуктивнији и потенцијално иновативнији. Али да ли се то преводи у мање програмерских послова или једноставно у другачију врсту посла? Хајде да истражимо утицај на продуктивност и улоге:
Повећање продуктивности: Према већини извештаја и раних студија, алати за вештачку интелигенцију (AI) кодирање значајно повећавају продуктивност програмера. Истраживање GitHub-а је показало да су програмери који користе Copilot били у стању да заврше задатке много брже од оних без AI помоћи. У једном експерименту, програмери су решили задатак кодирања у просеку 55% брже уз Copilot-ову помоћ – трајало је око 1 сат и 11 минута уместо 2 сата и 41 минут без њега ( Истраживање: квантификација утицаја GitHub Copilot-а на продуктивност и срећу програмера - Блог GitHub-а ). То је запањујући добитак у брзини. Није само брзина у питању; програмери извештавају да AI помоћ помаже у смањењу фрустрације и „прекида тока“. У анкетама, 88% програмера који користе Copilot рекло је да их је учинио продуктивнијим и да им је омогућио да се фокусирају на задовољавајући посао ( Колики проценат програмера је рекао да github copilot чини... ). Ови алати помажу програмерима да остану „у зони“ тако што се баве заморним деловима, што заузврат штеди менталну енергију за теже проблеме. Као резултат тога, многи програмери сматрају да је кодирање постало угодније – мање мукотрпног рада и више креативности.
Промена свакодневног посла: Свакодневни ток рада програмера се мења заједно са овим повећањем продуктивности. Много „напорног посла“ – писање шаблона, понављање уобичајених образаца, тражење синтаксе – може се пребацити на вештачку интелигенцију. На пример, уместо ручног писања класе података са геттерима и сетерима, програмер може једноставно да затражи од вештачке интелигенције да је генерише. Уместо претраживања документације да би пронашао прави API позив, програмер може да пита вештачку интелигенцију на природном језику. То значи да програмери троше релативно мање времена на механичко кодирање, а више времена на задатке који захтевају људску процену . Како вештачка интелигенција преузима писање лаких 80% кода, посао програмера се помера ка надгледању резултата вештачке интелигенције (преглед предлога кода, њихово тестирање) и решавању тешких 20% проблема које вештачка интелигенција не може да реши. У пракси, програмер би могао да започне свој дан тријажом захтева за преузимање које генерише вештачка интелигенција или прегледом групе исправки које је предложила вештачка интелигенција, уместо да пише све те промене од нуле.
Сарадња и динамика тима: Занимљиво је да вештачка интелигенција такође утиче на динамику тима. Са аутоматизацијом рутинских задатака, тимови потенцијално могу постићи више са мање млађих програмера којима је додељен тежак посао. Неке компаније извештавају да њихови виши инжењери могу бити самосталнији – могу брзо да направе прототипове функција уз помоћ вештачке интелигенције, без потребе да млађи инжењери раде почетне нацрте. Међутим, ово поставља нови изазов: менторство и дељење знања. Уместо да млађи инжењери уче обављајући једноставне задатке, можда ће морати да науче како да ефикасно управљају резултатима вештачке интелигенције. Тимска сарадња би се могла пребацити на активности попут колективног усавршавања вештачких инструктажа или прегледа кода који генерише вештачка интелигенција у потрази за грешкама. Са позитивне стране, када сви у тиму имају асистента за вештачку интелигенцију, то би могло да изједначи услове и омогући више времена за дискусије о дизајну, креативно размишљање и решавање сложених корисничких захтева које ниједна вештачка интелигенција тренутно не разуме одмах. У ствари, више од четири од пет програмера верује да ће алати за вештачку интелигенцију (AI) кодирање побољшати тимску сарадњу или их бар ослободити да више сарађују на дизајну и решавању проблема, према налазима анкете GitHub-а из 2023. године ( Анкета открива утицај вештачке интелигенције на искуство програмера - Блог GitHub-а ).
Утицај на радна места: Главно питање је да ли ће вештачка интелигенција смањити потражњу за програмерима (пошто је сваки програмер сада продуктивнији) или ће једноставно променити тражене вештине. Историјски преседан са другим аутоматизацијама (као што је пораст devops алата или програмских језика вишег нивоа) сугерише да послови програмера нису толико елиминисани колико су повећани . Заиста, аналитичари индустрије предвиђају ће улоге софтверског инжењерства наставити да расту , али ће се природа тих улога променити. Недавни извештај компаније Gartner предвиђа да ће до 2027. године 50% организација за софтверско инжењерство усвојити платформе „интелигенције софтверског инжењерства“ проширене вештачком интелигенцијом како би повећале продуктивност , у односу на само 5% у 2024. години ( Да ли постоји будућност за софтверске инжењере? Утицај вештачке интелигенције [2024] ). Ово указује да ће компаније широко интегрисати вештачку интелигенцију, али имплицира да ће програмери радити са тим интелигентним платформама. Слично томе, консултантска фирма McKinsey предвиђа да, иако вештачка интелигенција може аутоматизовати многе задатке, отприлике 80% програмерских послова ће и даље захтевати човека у петљи и остати „усмерено на човека“ . Другим речима, и даље ће нам бити потребни људи за већину позиција програмера, али описи послова се могу променити.
Једна могућа промена је појава улога попут „Инжењер софтвера за вештачку интелигенцију“ или „Брз инжењер“ – програмери који су специјализовани за изградњу или оркестрирање компоненти вештачке интелигенције. Већ видимо како потражња за програмерима са стручношћу у области вештачке интелигенције/машинског учења нагло расте. Према анализи компаније Indeed, три најтраженија посла везана за вештачку интелигенцију су научник података, софтверски инжењер и инжењер машинског учења , а потражња за овим улогама се више него удвостручила у последње три године („ Да ли постоји будућност за софтверске инжењере? Утицај вештачке интелигенције [2024]“ ). Од традиционалних софтверских инжењера се све више очекује да разумеју основе машинског учења или да интегришу услуге вештачке интелигенције у апликације. Далеко од тога да програмере учини сувишним, „вештачка интелигенција би могла да унапреди професију, омогућавајући програмерима да се фокусирају на задатке вишег нивоа и иновације.“ („ Да ли ће вештачка интелигенција заменити програмере 2025. године: Увид у будућност “). Многе рутинске задатке кодирања би могла да обавља вештачка интелигенција, али програмери ће бити више заокупљени дизајном система, интеграцијом модула, обезбеђивањем квалитета и решавањем нових проблема. Виши инжењер из једне компаније која се бави вештачком интелигенцијом је то добро сумирао: вештачка интелигенција не замењује наше програмере; она појачава . Један програмер наоружан моћним алатима за вештачку интелигенцију може да обави посао више њих, али тај програмер сада преузима посао који је сложенији и утицајнији.
Пример из стварног света: Размотрите сценарио из софтверске фирме која је интегрисала GitHub Copilot за све своје програмере. Непосредни ефекат је био значајно смањење времена проведеног на писању јединичних тестова и шаблонског кода. Једна млађа програмерка је открила да користећи Copilot може брзо да генерише 80% кода нове функције, а затим да проведе време прилагођавајући преосталих 20% и пишући интеграционе тестове. Њена продуктивност у смислу излаза кода се скоро удвостручила, али што је још занимљивије, природа њеног доприноса се променила – постала је више рецензент кода и дизајнер тестова за код написан помоћу вештачке интелигенције. Тим је такође приметио да су прегледи кода почели да откривају грешке вештачке интелигенције , а не људске грешке у куцању. На пример, Copilot је повремено предлагао небезбедну имплементацију шифровања; људски програмери су морали да их уоче и исправе. Овакав пример показује да, иако се излаз повећавао, људски надзор и стручност постали су још критичнији у радном току.
Укратко, вештачка интелигенција несумњиво мења начин на који програмери раде: чини их бржима и омогућава им да се носе са амбициознијим проблемима, али такође захтева од њих да унапреде своје вештине (како у коришћењу вештачке интелигенције, тако и у размишљању на вишем нивоу). То је мање прича о „вештачкој интелигенцији која преузима послове“, а више прича о „вештачкој интелигенцији која мења послове“. Програмери који науче да ефикасно користе ове алате могу умножити свој утицај – клише који често чујемо је: „Вештачка интелигенција неће заменити програмере, али програмери који користе вештачку интелигенцију могу заменити оне који то не чине“. У следећим одељцима ће се истражити зашто су људски програмери и даље неопходни (шта вештачка интелигенција не може добро да уради) и како програмери могу да прилагоде своје вештине да би напредовали уз вештачку интелигенцију.
Ограничења вештачке интелигенције (Зашто људи остају витални)
Упркос својим импресивним могућностима, данашња вештачка интелигенција има јасна ограничења која је спречавају да учини људске програмере застарелим. Разумевање ових ограничења је кључно за разумевање зашто су програмери и даље веома потребни у процесу развоја. Вештачка интелигенција је моћан алат, али није чаробни штапић који може заменити креативност, критичко размишљање и контекстуално разумевање људског програмера. Ево неких од основних недостатака вештачке интелигенције у програмирању и одговарајућих предности људских програмера:
-
Недостатак истинског разумевања и креативности: Тренутни модели вештачке интелигенције не разумеју код или проблеме на начин на који то људи раде; они препознају обрасце и износе вероватне резултате на основу података о обуци. То значи да вештачка интелигенција може да се бори са задацима који захтевају оригинална, креативна решења или дубоко разумевање нових проблемских домена. Вештачка интелигенција може бити у стању да генерише код који испуњава спецификацију коју је раније видела, али ако је замолите да дизајнира нови алгоритам за проблем без преседана или да интерпретира двосмислен захтев, вероватно ће посустати. Како је један посматрач рекао, вештачкој интелигенцији данас „недостају креативне и критичке способности мишљења које људски програмери доносе на сто“. ( Да ли ће вештачка интелигенција заменити програмере 2025: Увид у будућност ) Људи се истичу у размишљању ван оквира – комбинујући знање о домену, интуицију и креативност за дизајнирање софтверских архитектура или решавање сложених проблема. Вештачка интелигенција је, насупрот томе, ограничена на обрасце које је научила; ако проблем не одговара добро тим обрасцима, вештачка интелигенција може произвести нетачан или бесмислен код (често самоуверено!). Иновације у софтверу – смишљање нових функција, нових корисничких искустава или нових техничких приступа – остају активност коју покрећу људи.
-
Разумевање контекста и шире слике: Изградња софтвера није само писање линија кода. То подразумева разумевање разлога који стоје иза кода – пословних захтева, потреба корисника и контекста у којем софтвер функционише. Вештачка интелигенција има веома узак оквир контекста (обично ограничен на унос који се даје у датом тренутку). Она не разуме заиста свеобухватну сврху система или како један модул интерагује са другим изван онога што је експлицитно наведено у коду. Као резултат тога, вештачка интелигенција може генерисати код који технички функционише за мали задатак, али се не уклапа добро у већу архитектуру система или крши неки имплицитни захтев. Потребни су људски програмери како би се осигурало да је софтвер усклађен са пословним циљевима и очекивањима корисника. Дизајн сложених система – разумевање како промена у једном делу може да се одрази на друге, како уравнотежити компромисе (као што су перформансе наспрам читљивости) и како планирати дугорочну еволуцију базе кода – је нешто што вештачка интелигенција данас не може да уради. У великим пројектима са хиљадама компоненти, вештачка интелигенција „види дрвеће, али не и шуму“. Као што је наведено у једној анализи, „вештачка интелигенција се бори са разумевањем пуног контекста и сложености великих софтверских пројеката“, укључујући пословне захтеве и разматрања корисничког искуства ( Да ли ће вештачка интелигенција заменити програмере 2025: Увид у будућност ). Људи одржавају визију шире слике.
-
Здрав разум и решавање двосмислености: Захтеви у стварним пројектима су често нејасни или се развијају. Људски програмер може тражити појашњења, доносити разумне претпоставке или одбити нереалне захтеве. Вештачка интелигенција не поседује здраворазумско размишљање нити способност да поставља разјашњавајућа питања (осим ако се експлицитно не покреће у промпту, а чак ни тада нема гаранције да ће бити тачно). Зато код генерисан од стране вештачке интелигенције понекад може бити технички исправан, али функционално погрешан – недостаје му процена да зна шта је корисник заиста намеравао ако су инструкције нејасне. Насупрот томе, људски програмер може да протумачи захтев високог нивоа („учини овај кориснички интерфејс интуитивнијим“ или „апликација треба да грациозно обрађује неправилне уносе“) и да схвати шта треба да се уради у коду. Вештачкој интелигенцији би биле потребне изузетно детаљне, недвосмислене спецификације да би заиста заменила програмера, а чак је и ефикасно писање таквих спецификација једнако тешко као и писање самог кода. Као што је чланак Форбс Тецх Цоунцил-а прикладно приметио, да би вештачка интелигенција заиста заменила програмере, морала би да разуме нејасна упутства и да се прилагоди као човек – ниво размишљања који тренутна вештачка интелигенција не поседује ( Пост Сергија Кузина - ЛинкедИн ).
-
Поузданост и „халуцинације“: Данашњи генеративни модели вештачке интелигенције имају добро познату ману: могу произвести нетачне или потпуно измишљене излазе, феномен који се често назива халуцинација . У кодирању, ово може значити да вештачка интелигенција пише код који изгледа вероватно, али је логички погрешан или несигуран. Програмери не могу слепо веровати предлозима вештачке интелигенције. У пракси, сваки део кода написаног од стране вештачке интелигенције захтева пажљив преглед и тестирање од стране човека . Подаци анкете Stack Overflow-а одражавају ово – од оних који користе алате вештачке интелигенције, само 3% веома верује у тачност излаза вештачке интелигенције, а заправо мали проценат активно не верује у њу ( 70% програмера користи алате за кодирање вештачке интелигенције, 3% веома верује у њихову тачност - ShiftMag ). Велика већина програмера третира предлоге вештачке интелигенције као корисне савете, а не као јеванђеље. Ово ниско поверење је оправдано јер вештачка интелигенција може да направи бизарне грешке које ниједан компетентан човек не би направио (као што су грешке које се одступају за један, коришћење застарелих функција или стварање неефикасних решења) јер заправо не размишља о проблему. Као што је један коментар на форуму иронично приметио: „Они (ВИ) много халуцинирају и доносе чудне дизајнерске изборе које човек никада не би направио“ ( Хоће ли програмери постати застарели због ВИ? - Савети за каријеру ). Људски надзор је кључан за откривање ових грешака. ВИ вам може брзо донети 90% функције, али ако преосталих 10% има суптилну грешку, и даље је на људском програмеру да је дијагностикује и поправи. А када нешто крене наопако у производњи, људски инжењери су ти који морају да отклањају грешке – ВИ још увек не може да преузме одговорност за своје грешке.
-
Одржавање и развој кодних база: Софтверски пројекти живе и расту годинама. Захтевају доследан стил, јасноћу за будуће одржаваоце и ажурирања како се захтеви мењају. Вештачка интелигенција данас нема сећање на прошле одлуке (осим ограничених упутстава), тако да можда неће одржати код доследним у великом пројекту осим ако није вођена. Људски програмери обезбеђују одрживост кода – писање јасне документације, избор читљивих решења уместо паметних, али нејасних и рефакторисање кода по потреби када се архитектура развија. Вештачка интелигенција може помоћи у овим задацима (као што је предлагање рефакторисања), али одлучивање шта рефакторисати или који делови система требају редизајн је људска процена. Штавише, приликом интеграције компоненти, разумевање утицаја нове функције на постојеће модуле (обезбеђивање компатибилности уназад, итд.) је нешто што људи раде. Код генерисан од стране вештачке интелигенције морају интегрисати и хармонизовати људи. Као експеримент, неки програмери су покушали да дозволе ChatGPT-у да гради целе мале апликације; резултат често функционише у почетку, али постаје веома тешко одржавати или проширивати јер вештачка интелигенција не примењује доследно промишљену архитектуру – доноси локалне одлуке које би људски архитекта избегао.
-
Етичка и безбедносна разматрања: Како вештачка интелигенција пише све више кода, она такође покреће питања пристрасности, безбедности и етике. Вештачка интелигенција може ненамерно увести безбедносне рањивости (на пример, неправилно дезинфиковање уноса или коришћење небезбедних криптографских пракси) које би искусан људски програмер уочио. Такође, вештачка интелигенција нема урођени осећај етике или бриге за правичност – могла би, на пример, да се обучава на пристрасним подацима и да предлаже алгоритме који ненамерно дискриминишу (у функцији коју покреће вештачка интелигенција, као што је код за одобравање кредита или алгоритам за запошљавање). Потребни су људски програмери да ревидирају излазе вештачке интелигенције за ове проблеме, обезбеде усклађеност са прописима и прожимају софтвер етичким разматрањима. Друштвени аспект софтвера – разумевање поверења корисника, забринутости за приватност и доношење дизајнерских избора који су у складу са људским вредностима – „не може се занемарити. Ови аспекти развоја усмерени на човека су ван домашаја вештачке интелигенције, барем у догледној будућности.“ ( Да ли ће вештачка интелигенција заменити програмере 2025: Увид у будућност ) Програмери морају служити као капија савести и квалитета за доприносе вештачке интелигенције.
У светлу ових ограничења, тренутни консензус је да је вештачка интелигенција алат, а не замена . Као што је рекао Сатја Надела, ради се о оснаживању програмера, а не о њиховој замени ( Хоће ли вештачка интелигенција заменити програмере? Истина иза хајпа | аутор The PyCoach | Artificial Corner | март 2025 | Medium ). вештачка интелигенција се може сматрати млађим асистентом: брза је, неуморна и може први да обави многе задатке, али јој је потребно вођство и стручност старијег програмера да би произвела углађени финални производ. Индикативно је да се чак и најнапреднији системи кодирања са вештачком интелигенцијом користе као асистенти у стварној употреби (Copilot, CodeWhisperer, итд.), а не као аутономни програмери. Компаније не отпуштају своје програмерске тимове и не дозвољавају вештачкој интелигенцији да се слободно креће; уместо тога, оне уграђују вештачку интелигенцију у токове рада програмера како би им помогле.
Један илустративан цитат долази од Сема Алтмана из OpenAI-а, који је приметио да чак и како се AI агенти побољшавају, „ови AI агенти неће у потпуности заменити људе“ у развоју софтвера ( Сем Алтман каже да ће AI агенти ускоро обављати задатке које раде софтверски инжењери: Цела прича у 5 тачака - India Today ). Они ће функционисати као „виртуелни сарадници“ који се баве добро дефинисаним задацима за људске инжењере, посебно оним задацима типичним за софтверског инжењера ниског нивоа са неколико година искуства. Другим речима, AI би на крају могла да обавља посао млађег програмера у неким областима, али тај млађи програмер не постаје незапослен – он еволуира у улогу надгледања AI и решавања задатака вишег нивоа које AI не може да обави. Чак и гледајући у будућност, где неки истраживачи предвиђају да ће до 2040. године AI моћи да напише већину свог кода ( Is There a Future for Software Engineers? The Impact of AI [2024] ), опште је сложено да ће људски програмери и даље бити потребни да надгледају, воде и обезбеде креативну искру и критичко размишљање које машинама недостаје .
Такође је вредно напоменути да је развој софтвера више од пуког кодирања . Он укључује комуникацију са заинтересованим странама, разумевање корисничких прича, сарадњу у тимовима и итеративни дизајн – све области где су људске вештине неопходне. Вештачка интелигенција не може да седи на састанку са клијентом да би разрадила шта они заиста желе, нити може да преговара о приоритетима или да инспирише тим визијом за производ. Људски елемент остаје централан.
Укратко, вештачка интелигенција има важне слабости: недостатак истинске креативности, ограничено разумевање контекста, склоност грешкама, недостатак одговорности и недостатак разумевања ширих импликација софтверских одлука. Ове празнине су управо оно у чему људски програмери блистају. Уместо да се вештачка интелигенција посматра као претња, можда је тачније посматрати је као моћно појачало за људске програмере – које се бави свакодневним стварима како би се људи могли фокусирати на суштинско. У следећем одељку ће се размотрити како програмери могу искористити ово појачање прилагођавањем својих вештина и улога како би остали релевантни и вредни у свету развоја проширеног вештачком интелигенцијом.
Прилагођавање и напредовање у доба вештачке интелигенције
За програмере и програмере, успон вештачке интелигенције у кодирању не мора бити озбиљна претња – може бити прилика. Кључ је у прилагођавању и развоју заједно са технологијом. Они који науче да користе вештачку интелигенцију вероватно ће се показати продуктивнијим и траженијим, док ће они који је игноришу можда открити да заостају. У овом одељку фокусирамо се на практичне кораке и стратегије за програмере како би остали релевантни и напредовали како алати вештачке интелигенције постају део свакодневног развоја. Начин размишљања који треба усвојити јесте континуирано учење и сарадња са вештачком интелигенцијом, а не конкуренција. Ево како се програмери могу прилагодити и које нове вештине и улоге треба да размотре:
1. Прихватите вештачку интелигенцију као алат (научите да ефикасно користите асистенте за кодирање помоћу вештачке интелигенције): Пре свега, програмери би требало да се упознају са доступним алатима вештачке интелигенције. Третирајте Copilot, ChatGPT или друге вештачке интелигенције за кодирање као свог новог партнера за програмирање у пару. То значи да научите како да пишете добре упите или коментаре како бисте добили корисне предлоге кода и знате како да брзо валидирате или отклоните грешке у коду који генерише вештачка интелигенција. Баш као што је програмер морао да научи свој IDE или контролу верзија, учење необичности асистента вештачке интелигенције постаје део скупа вештина. На пример, програмер може да вежба тако што ће узети део кода који је написао и замолити вештачку интелигенцију да га побољша, а затим анализирати измене. Или, када започињете задатак, наведите га у коментарима и видите шта вештачка интелигенција пружа, а затим га усавршите. Временом ћете развити интуицију за оно у чему је вештачка интелигенција добра и како да са њом ко-креирате. Замислите то као „развој уз помоћ вештачке интелигенције“ – нову вештину коју треба додати у свој скуп алата. Заиста, програмери сада говоре о „брзом инжењерингу“ као вештини – знању како да поставите права питања вештачкој интелигенцији. Они који је савладају могу постићи знатно боље резултате користећи исти алат. Запамтите, „програмери који користе вештачку интелигенцију могу заменити оне који је не користе“ – зато прихватите технологију и учините је својим савезником.
2. Фокус на вештине вишег нивоа (решавање проблема, дизајн система, архитектура): Пошто вештачка интелигенција може да се носи са више кодирања ниског нивоа, програмери би требало да се попну на лествици апстракције . То значи да треба ставити већи нагласак на разумевање дизајна и архитектуре система. Развијте вештине у разбијању сложених проблема, пројектовању скалабилних система и доношењу архитектонских одлука – области где је људски увид кључан. Фокусирајте се на разлоге и начине решења, а не само на шта. На пример, уместо да трошите сво време усавршавајући функцију сортирања (када вештачка интелигенција може да је напише за вас), проведите време разумевајући који је приступ сортирању оптималан за контекст ваше апликације и како се уклапа у ток података вашег система. Дизајнерско размишљање – узимајући у обзир потребе корисника, токове података и интеракције компоненти – биће веома цењено. вештачка интелигенција може да генерише код, али програмер је тај који одлучује о укупној структури софтвера и осигурава да сви делови раде у хармонији. Усавршавањем размишљања о широј слици, постајете незаменљиви као особа која води вештачку интелигенцију (и остатак тима) у изградњи праве ствари. Као што је наведено у једном извештају који се бави будућности, програмери би требало да се „фокусирају на области где је људски увид незаменљив, као што су решавање проблема, дизајнерско размишљање и разумевање потреба корисника“. ( Да ли ће вештачка интелигенција заменити програмере 2025. године: Увид у будућност )
3. Унапредите своје знање о вештачкој интелигенцији и машинском учењу: Да бисте радили заједно са вештачком интелигенцијом, корисно је разумети вештачку интелигенцију . Програмери не морају сви постати истраживачи машинског учења, али ће бити корисно имати добро разумевање како ови модели функционишу. Научите основе машинског учења и дубоког учења – ово не само да би могло да отвори нове каријерне путеве (пошто послови везани за вештачку интелигенцију цветају („ Да ли постоји будућност за софтверске инжењере? Утицај вештачке интелигенције [2024] “)), већ ће вам помоћи и да ефикасније користите алате вештачке интелигенције. Ако знате, на пример, ограничења великог језичког модела и како је обучен, можете предвидети када би могао да закаже и у складу са тим дизајнирати своје упите или тестове. Поред тога, многи софтверски производи сада укључују функције вештачке интелигенције (на пример, апликација са системом за препоруке или четбот). Софтверски програмер са одређеним знањем о машинском учењу може допринети тим функцијама или барем интелигентно сарађивати са научницима података. Кључне области које треба размотрити за учење укључују: основе науке о подацима , како претходно обрадити податке, обуку наспрам закључивања и етику вештачке интелигенције. Упознајте се са AI оквирима (TensorFlow, PyTorch) и cloud AI сервисима; чак и ако не правите моделе од нуле, знање како интегрисати AI API у апликацију је вредна вештина. Укратко, постати „AI писмен“ брзо постаје једнако важно као и бити писмен у веб или технологијама база података. Програмери који могу да се носе са светом традиционалног софтверског инжењерства и AI биће у одличној позицији да воде будуће пројекте.
4. Развијте јаче меке вештине и знање домена: Како вештачка интелигенција преузима механичке задатке, јединствено људске вештине постају још важније. Комуникација, тимски рад и стручност у домену су области на којима треба удвостручити напоре. Развој софтвера се често односи на разумевање проблемског домена – било да су у питању финансије, здравство, образовање или било која друга област – и претварање тога у решења. вештачка интелигенција неће имати тај контекст или способност да се повеже са заинтересованим странама, али ви имате. Стицање већег знања у домену у којем радите чини вас особом којој се треба обратити како бисте осигурали да софтвер заиста задовољава потребе стварног света. Слично томе, фокусирајте се на своје вештине сарадње: менторство, лидерство и координацију. Тимовима ће и даље бити потребни виши програмери за преглед кода (укључујући и код написан од стране вештачке интелигенције), за менторство млађих програмера о најбољим праксама и за координацију сложених пројеката. вештачка интелигенција не уклања потребу за људском интеракцијом у пројектима. У ствари, са генерисањем кода од стране вештачке интелигенције, менторство виших програмера може се померити ка подучавању млађих програмера како да раде са вештачком интелигенцијом и валидирају њен резултат , уместо како да пишу for-loop. Бити у стању да водите друге у овој новој парадигми је вредна вештина. Такође, вежбајте критичко размишљање – преиспитујте и тестирајте резултате вештачке интелигенције и подстичите друге да ураде исто. Неговање здравог скептицизма и верификационог начина размишљања спречиће слепо ослањање на вештачку интелигенцију и смањиће грешке. У суштини, побољшајте вештине које вештачкој интелигенцији недостају: разумевање људи и контекста, критичка анализа и интердисциплинарно размишљање.
5. Целоживотно учење и прилагодљивост: Темпо промена у вештачкој интелигенцији је изузетно брз. Оно што се данас чини најсавременијим може бити застарело за неколико година. Програмери морају прихватити целоживотно учење више него икад. То може значити редовно испробавање нових асистената за кодирање вештачке интелигенције, похађање онлајн курсева или сертификата из вештачке интелигенције/машинског учења, читање истраживачких блогова како бисте били у току са оним што долази или учешће у заједницама програмера фокусираних на вештачку интелигенцију. Прилагодљивост је кључна – будите спремни да се прилагодите новим алатима и токовима рада како се појављују. На пример, ако се појави нови алат за вештачку интелигенцију који може аутоматизовати дизајн корисничког интерфејса из скица, фронт-енд програмер треба да буде спреман да то научи и укључи, преусмеравајући свој фокус можда на усавршавање генерисаног корисничког интерфејса или побољшање детаља корисничког искуства које је аутоматизација пропустила. Они који учење третирају као континуирани део своје каријере (што многи програмери већ раде) лакше ће интегрисати развој вештачке интелигенције. Једна стратегија је да посветите мали део своје недеље учењу и експериментисању – третирајте то као улагање у сопствену будућност. Компаније такође почињу да пружају обуку својим програмерима о ефикасном коришћењу алата вештачке интелигенције; искоришћавање таквих могућности ће вас довести у предност. Програмери који ће напредовати биће они који виде вештачку интелигенцију као партнера у развоју и који ће континуирано усавршавати свој приступ раду са тим партнером.
6. Истражите нове улоге и каријерне путеве: Како се вештачка интелигенција уплиће у развој, појављују се нове могућности за каријеру. На пример, инжењер за подстицаје или специјалиста за интеграцију вештачке интелигенције су улоге фокусиране на креирање правих подстицаја, токова рада и инфраструктуре за коришћење вештачке интелигенције у производима. Други пример је инжењер за етику вештачке интелигенције или ревизор вештачке интелигенције – улоге које се фокусирају на преглед вештачких резултата ради пристрасности, усклађености и исправности. Ако сте заинтересовани за те области, позиционирање са правим знањем могло би отворити ове нове путеве. Чак и унутар класичних улога, можете пронаћи нише попут „фронтенд програмер уз помоћ вештачке интелигенције“ наспрам „бекенд програмера уз помоћ вештачке интелигенције“, где свака користи специјализоване алате. Пратите како организације структурирају тимове око вештачке интелигенције. Неке компаније имају „еснафе вештачке интелигенције“ или центре изврсности који воде усвајање вештачке интелигенције у пројектима – активност у таквим групама може вас поставити у први план. Штавише, размислите о доприносу развоју самих вештачких алата: на пример, рад на пројектима отвореног кода који побољшавају алате за програмере (можда побољшавајући способност вештачке интелигенције да објасни код, итд.). Ово не само да продубљује ваше разумевање технологије, већ вас и ставља у заједницу која предводи промене. Суштина је да будете проактивни у погледу каријерне агилности . Ако делови вашег тренутног посла постану аутоматизовани, будите спремни да пређете на улоге које дизајнирају, надгледају или допуњују те аутоматизоване делове.
7. Одржавајте и истакните људски квалитет: У свету где вештачка интелигенција може да генерише просечан код за просечан проблем, људски програмери треба да теже да произведу изузетна и емпатична решења која вештачка интелигенција не може. То може да значи фокусирање на финесу корисничког искуства, оптимизацију перформанси за необичне сценарије или једноставно писање кода који је чист и добро документован (вештачка интелигенција није добра у писању смислене документације или разумљивих коментара кода – ту можете додати вредност!). Потрудите се да интегришете људски увид у рад: на пример, ако вештачка интелигенција генерише део кода, додајете коментаре који објашњавају образложење на начин који други човек касније може да разуме или га прилагођавате да буде читљивији. Тиме додајете слој професионализма и квалитета који недостаје чисто машински генерисаном раду. Временом ће вас изградити репутација за висококвалитетни софтвер који „једноставно ради“ у стварном свету. Клијенти и послодавци ће ценити програмере који могу да комбинују ефикасност вештачке интелигенције са људским умећем .
Хајде да размотримо и како би се образовни путеви могли прилагодити. Нови програмери који улазе у ову област не би требало да избегавају алате вештачке интелигенције у свом процесу учења. Напротив, учење помоћу вештачке интелигенције (нпр. коришћење вештачке интелигенције за помоћ око домаћих задатака или пројеката, а затим анализа резултата) може убрзати њихово разумевање. Међутим, веома је важно да се такође темељно науче основе – алгоритми, структуре података и основни концепти програмирања – како бисте имали чврсту основу и могли да препознате када вештачка интелигенција креће путем погрешног пута. Пошто вештачка интелигенција обрађује једноставне вежбе кодирања, наставни планови и програми могу дати већи значај пројектима који захтевају дизајн и интеграцију. Ако сте почетник, фокусирајте се на изградњу портфолија који показује вашу способност решавања сложених проблема и коришћења вештачке интелигенције као једног од многих алата.
Да бисмо сажели стратегију прилагођавања: будите пилот, а не путник. Користите алате вештачке интелигенције, али немојте се превише ослањати на њих или бити самозадовољни. Наставите да усавршавате јединствено људске аспекте развоја. Грејди Буч, цењени пионир софтверског инжењерства, то је добро рекао: „Вештачка интелигенција ће фундаментално променити шта значи бити програмер. Неће елиминисати програмере, али ће од њих захтевати да развију нове вештине и раде на нове начине.“ ( Да ли постоји будућност за софтверске инжењере? Утицај вештачке интелигенције [2024] ). Проактивним развијањем тих нових вештина и начина рада, програмери могу осигурати да остану у вођству својих каријера.
Да сумирамо овај одељак, ево кратке контролне листе за програмере који желе да обезбеде своју каријеру у будућности у доба вештачке интелигенције:
| Стратегија адаптације | Шта треба урадити |
|---|---|
| Научите алате вештачке интелигенције | Вежбајте са Copilot-ом, ChatGPT-ом итд. Научите писање задатака и валидацију резултата. |
| Фокус на решавање проблема | Унапредите вештине дизајна и архитектуре система. Позабавите се питањима „зашто“ и „како“, а не само „шта“. |
| Усавршавање у вештачкој интелигенцији/машинском учењу | Научите основе машинског учења и науке о подацима. Разумите како функционишу модели вештачке интелигенције и како их интегрисати. |
| Ојачајте меке вештине | Унапредите комуникацију, тимски рад и стручност у домену. Будите мост између технологије и потреба стварног света. |
| Целоживотно учење | Останите радознали и наставите да учите нове технологије. Придружите се заједницама, похађајте курсеве и експериментишите са новим алатима за развој вештачке интелигенције. |
| Истражите нове улоге | Пратите нове улоге (аутор вештачке интелигенције, инжењер за брзи развој итд.) и будите спремни да се промените ако вас оне занимају. |
| Одржавајте квалитет и етику | Увек проверавајте квалитет резултата вештачке интелигенције. Додајте људски додир – документацију, етичка разматрања, подешавања усмерена на корисника. |
Пратећи ове стратегије, програмери могу да окрену револуцију вештачке интелигенције у своју корист. Они који се прилагоде откриће да вештачка интелигенција побољшава њихове могућности и омогућава им да производе бољи софтвер него икада раније, уместо да га чини застарелим.
Будући изгледи: Сарадња између вештачке интелигенције и програмера
Шта будућност носи за програмирање у свету вођеном вештачком интелигенцијом? На основу тренутних трендова, можемо очекивати будућност у којој вештачка интелигенција и људски програмери још тесније раде руку под руку . Улога програмера ће се вероватно наставити померати ка надзорној и креативној позицији, где ће вештачка интелигенција обављати већи део „тешког посла“ под људским вођством. У овом завршном одељку пројектујемо неке будуће сценарије и уверавамо да изгледи за програмере могу остати позитивни – под условом да наставимо да се прилагођавамо.
У блиској будућности (наредних 5-10 година), веома је вероватно да ће вештачка интелигенција постати свеприсутна у процесу развоја као и сами рачунари. Баш као што данас ниједан програмер не пише код без уређивача или без Google/StackOverflow-а на дохват руке, ускоро ниједан програмер неће писати код без неког облика вештачке интелигенције која ради у позадини. Интегрисана развојна окружења (IDE) се већ развијају како би у своју срж укључила функције покретане вештачком интелигенцијом (на пример, уређиваче кода који вам могу објаснити код или предложити комплетне измене кода у оквиру пројекта). Можда ћемо доћи до тачке у којој је примарни задатак програмера да формулише проблеме и ограничења на начин који вештачка интелигенција може да разуме, а затим да курира и усаврши решења која вештачка интелигенција пружа . Ово подсећа на облик програмирања вишег нивоа, понекад названог „брзо програмирање“ или „оркестрација вештачке интелигенције“.
Међутим, суштина онога што треба да се уради – решавање проблема за људе – остаје непромењена. Будућа вештачка интелигенција би могла да генерише целу апликацију из описа („направи ми мобилну апликацију за заказивање лекарских прегледа“), али посао разјашњавања тог описа, осигуравања да је тачан и финог подешавања резултата како би се обрадовали корисници укључиваће програмере (заједно са дизајнерима, менаџерима производа итд.). У ствари, ако генерисање основних апликација постане једноставно, људска креативност и иновације у софтверу постаће још кључније за диференцирање производа. Можда ћемо видети процват софтвера, где многе рутинске апликације генерише вештачка интелигенција, док се људски програмери концентришу на најсавременије, сложене или креативне пројекте који померају границе.
Такође постоји могућност да се снизи препрека за улазак у програмирање – што значи да би више људи који нису традиционални софтверски инжењери (рецимо, пословни аналитичар, научник или маркетиншки стручњак) могло да креира софтвер користећи алате вештачке интелигенције (наставак покрета „без кода/мало кода“ који је вештачка интелигенција појачала). Ово не елиминише потребу за професионалним програмерима; напротив, мења је. Програмери би у таквим случајевима могли да преузму већу консултантску или водећу улогу, осигуравајући да су ове апликације које развијају грађани безбедне, ефикасне и једноставне за одржавање. Професионални програмери би се могли фокусирати на изградњу платформи и API-ја које користе „непрограмери“ уз помоћ вештачке интелигенције.
Са становишта послова, одређене програмерске улоге могу се смањивати, док друге расту. На пример, неке позиције кодирања на почетном нивоу могле би се смањити ако се компаније ослањају на вештачку интелигенцију за једноставне задатке. Може се замислити да би мали стартап у будућности требао можда упола мањи број млађих програмера, јер би њихови виши програмери, опремљени вештачком интелигенцијом, могли да обаве велики део основног посла. Али истовремено, појавиће се потпуно нови послови (као што смо разговарали у одељку о адаптацији). Штавише, како софтвер прожима све већи део економије (са вештачком интелигенцијом која генерише софтвер за нишне потребе), укупна потражња за пословима везаним за софтвер могла би наставити да расте. Историја показује да аутоматизација често доводи до већег броја послова на дужи рок , иако су то различити послови – на пример, аутоматизација одређених производних задатака довела је до раста послова за пројектовање, одржавање и побољшање аутоматизованих система. У контексту вештачке интелигенције и програмирања, док су неки задаци које је млађи програмер раније обављао аутоматизовани, укупни обим софтвера који желимо да креирамо се шири (јер је сада јефтиније/брже га креирати), што може довести до већег броја пројеката и самим тим потребе за већим људским надзором, управљањем пројектима, архитектуром итд. Извештај Светског економског форума о будућим пословима сугерише да су улоге у развоју софтвера и вештачкој интелигенцији међу онима чија све већа , а не опадајућа, због дигиталне трансформације.
Требало би да узмемо у обзир и предвиђање за 2040. годину које је раније поменуто: истраживачи у Националној лабораторији Оук Риџ сугерисали су да ће до 2040. године „машине... писати већину свог кода“ ( Да ли постоји будућност за софтверске инжењере? Утицај вештачке интелигенције [2024] ). Ако се то покаже тачним, шта преостаје људским програмерима? Вероватно би фокус био на вођењу на веома високом нивоу (говорећи машинама шта желимо да постигну у општим цртама) и на областима које укључују сложену интеграцију система, разумевање људске психологије или нове проблемске области. Чак и у таквом сценарију, људи би преузели улоге сличне дизајнерима производа, инжењерима захтева и тренерима/верификаторима вештачке интелигенције . Код би се у великој мери могао сам писати, али неко мора да одлучи који код треба написати и зашто , а затим да провери да ли је крајњи резултат исправан и усклађен са циљевима. То је аналогно начину на који би аутомобили који се сами возе једног дана могли да возе, али и даље говорите аутомобилу где да иде и интервенишете у сложеним ситуацијама – плус људи дизајнирају путеве, саобраћајне прописе и сву инфраструктуру око њега.
Већина стручњака стога замишља будућност сарадње, а не замене . Како је то формулисала једна технолошка консултантска кућа, „будућност развоја није избор између људи или вештачке интелигенције, већ сарадња која искоришћава најбоље од оба.“ ( Да ли ће вештачка интелигенција заменити програмере 2025. године: Увид у будућност ) Вештачка интелигенција ће несумњиво трансформисати развој софтвера, али је то више еволуција улоге програмера него изумирање. Програмери који „прихвате промене, прилагоде своје вештине и фокусирају се на јединствено људске аспекте свог рада“ откриће да вештачка интелигенција побољшава њихове могућности, а не умањује њихову вредност.
Можемо повући паралелу са другом облашћу: размотримо успон рачунарски потпомогнутог дизајна (CAD) у инжењерству и архитектури. Да ли су ти алати заменили инжењере и архитекте? Не – учинили су их продуктивнијима и омогућили им да креирају сложеније дизајне. Али људска креативност и доношење одлука остали су централни. Слично томе, вештачка интелигенција се може посматрати као рачунарски потпомогнуто кодирање – помоћи ће у решавању сложености и тешког посла, али програмер остаје дизајнер и доносилац одлука.
Дугорочно гледано, ако замислимо истински напредну вештачку интелигенцију (рецимо, неки облик опште вештачке интелигенције који могао да уради већину онога што човек може), друштвене и економске промене би биле много шире од самог програмирања. Још нисмо тамо и имамо значајну контролу над начином на који интегришемо вештачку интелигенцију у наш рад. Разуман пут је да наставимо са интеграцијом вештачке интелигенције на начине који повећавају људски потенцијал . То значи улагање у алате и праксе (и политике) које држе људе у току. Већ видимо компаније које успостављају управљање вештачком интелигенцијом – смернице о томе како би се вештачка интелигенција требала користити у развоју како би се осигурали етички и ефикасни исходи ( Истраживање открива утицај вештачке интелигенције на искуство програмера - Блог ГитХаба ). Овај тренд ће вероватно расти, осигуравајући да људски надзор формално буде део процеса развоја вештачке интелигенције.
Закључно, на питање „Хоће ли вештачка интелигенција заменити програмере?“ може се одговорити: Не – али ће значајно променити оно што програмери раде. Свакодневни делови програмирања су на добром путу да буду углавном аутоматизовани. Креативни, изазовни и делови усмерени на човека су ту да остану и заиста ће постати истакнутији. Будућност ће вероватно видети програмере како раде раме уз раме са све паметнијим вештачким интелигенцијама асистентима, баш као члан тима. Замислите да имате колегу који се бави вештачком интелигенцијом и може да пише код 24/7 – то је велики подстицај продуктивности, али му је и даље потребан неко ко ће му говорити на којим задацима да ради и да проверава његов рад.
Најбоље резултате ће постићи они који третирају вештачку интелигенцију као сарадника. Као што је један извршни директор рекао: „Вештачка интелигенција неће заменити програмере, али програмери који користе вештачку интелигенцију замениће оне који је не користе.“ У практичном смислу, то значи да је на програмерима терет да еволуирају заједно са технологијом. Професија програмирања не умире – она се прилагођава . Биће пуно софтвера за изградњу и проблема за решавање у догледној будућности, можда чак и више него данас. Остајући образовани, остајући флексибилни и фокусирајући се на оно што људи најбоље раде, програмери могу осигурати успешну и испуњавајућу каријеру у партнерству са вештачком интелигенцијом .
Коначно, вреди прославити чињеницу да улазимо у еру у којој програмери имају супермоћи на располагању. Следећа генерација програмера ће за сате постићи оно што је некада трајало данима и решаваће проблеме који су раније били ван домашаја, користећи вештачку интелигенцију. Уместо страха, осећај који иде напред може бити оптимизам и радозналост . Све док приступамо вештачкој интелигенцији отворених очију – свесни њених ограничења и наше одговорности – можемо обликовати будућност у којој вештачка интелигенција и програмери заједно граде невероватне софтверске системе, далеко изнад онога што би било ко од њих могао да уради сам. Људска креативност у комбинацији са ефикасношћу машина је моћна комбинација. На крају крајева, не ради се о замени , већ о синергији. Прича о вештачкој интелигенцији и програмерима се још увек пише – и писаће је и људи и машине, заједно.
Извори:
-
Brainhub, „Да ли постоји будућност за софтверске инжењере? Утицај вештачке интелигенције [2024]“ ( Да ли постоји будућност за софтверске инжењере? Утицај вештачке интелигенције [2024] ).
-
Brainhub, стручни цитати Сатје Наделе и Џефа Дина о вештачкој интелигенцији као алату, а не као замени ( Is There a Future for Software Engineers? The Impact of AI [2024] ) ( Is There a Future for Software Engineers? The Impact of AI [2024] ).
-
Medium (PyCoach), „Хоће ли вештачка интелигенција заменити програмере? Истина иза хајпа“ , истичући нијансирану стварност наспрам хајпа ( Хоће ли вештачка интелигенција заменити програмере? Истина иза хајпа | аутор The PyCoach | Artificial Corner | март 2025 | Medium ) и цитат Сема Алтмана о томе да је вештачка интелигенција добра у задацима, али не и у пуним пословима.
-
DesignGurus, „Да ли ће вештачка интелигенција заменити програмере… (2025)“ , наглашавајући да ће вештачка интелигенција унапредити и унапредити програмере, уместо да их учини сувишним ( Да ли ће вештачка интелигенција заменити програмере 2025: Увид у будућност ) и наводећи области у којима вештачка интелигенција заостаје (креативност, контекст, етика).
-
Анкета програмера Stack Overflow-а за 2023. годину, коришћење AI алата од стране 70% програмера, ниско поверење у тачност (3% веома верује) ( 70% програмера користи AI алате за кодирање, 3% веома верује у њихову тачност - ShiftMag ).
-
Анкета ГитХаба из 2023. године показује да је 92% програмера испробало алате за вештачку интелигенцију (AI) кодирање, а 70% види користи ( Анкета открива утицај вештачке интелигенције на искуство програмера - Блог ГитХаба ).
-
Истраживање GitHub Copilot-а, које је показало 55% брже завршавање задатака уз помоћ вештачке интелигенције ( Истраживање: квантификација утицаја GitHub Copilot-а на продуктивност и срећу програмера - Блог GitHub-а ).
-
GeekWire, о DeepMind-овом AlphaCode-у који постиже резултате на просечном нивоу људских програмера (првих 54%), али далеко од врхунских перформанси ( DeepMind-ов AlphaCode одговара просечној програмерској снази ).
-
IndiaToday (фебруар 2025), резиме визије Сема Алтмана о „колегама“ који раде на вештачкој интелигенцији, али „неће у потпуности заменити људе“ ( Сем Алтман каже да ће агенти вештачке интелигенције ускоро обављати задатке које раде софтверски инжењери: Цела прича у 5 тачака - India Today ).
-
McKinsey & Company процењују да ће ~80% програмерских послова остати усмерено на људе упркос аутоматизацији ( Is There a Future for Software Engineers? The Impact of AI [2024] ).
Чланци које бисте можда желели да прочитате након овог:
🔗 Најбољи алати за програмирање помоћу упаривања вештачке интелигенције
Истражите водеће алате за вештачку интелигенцију који могу сарађивати са вама попут партнера за кодирање како би унапредили ваш ток рада у развоју.
🔗 Која је вештачка интелигенција најбоља за кодирање – Најбољи асистенти за вештачку интелигенцију
Водич кроз најефикасније алате вештачке интелигенције за генерисање кода, отклањање грешака и убрзавање софтверских пројеката.
🔗 Развој софтвера за вештачку интелигенцију – Трансформација будућности технологије
Разумите како вештачка интелигенција револуционише начин на који се софтвер гради, тестира и примењује.