Ана Илиева
Вовед
Вештачката интелигенција се однесува на симулација на човечката интелигенција преку машини. Ова вклучува симулации на учење (придобивање информации и правила за користење на информациите), расудување (користење на правилата за да се дојде до приближни или дефинитивни заклучоци) и самокорекција (знаење кога е направена грешка и нејзино коригирање). Таа работи како „систем“ способен да ги интерпретира надворешните податоци, да учи од нив и да ги применува за да постигне одредени цели преку флексибилна адаптација. Во најкратки црти, тоа е интелигенција создадена од луѓе и демонстрирана преку машини [1].
Неколку години по лансирањето на ChatGPT, генеративната вештачка интелигенција веќе не е нешто што припаѓа на иднината, туку е активно вградена во секојдневните работни процеси. Додека дебатите околу нејзиното усвојување продолжуваат, останува фактот: AI веќе ги преобликува работните рутини низ индустриите, а развојот на софтвер не е исклучок. Различни „копилоти“ станаа важни асистенти за програмерите, обезбедувајќи им поддршка во процесот на пишување код, предлагајќи оптимизации, како и во развојот на сложени алгоритми и нивно тестирање.
Истражувањето од McKinsey открило дека со генеративни алатки базирани на AI, програмерите може да пишуваат нов код речиси два пати побрзо и да го оптимизираат постоечкиот код во многу помал период. Според податоците од Stack Overflow, 76% од програмерите користат AI алатки за кодирање, а 72% од испитаниците имаат позитивен став кон нив. Темата на оваа семинарска работа ќе го разгледа двојниот аспект на AI асистентите за кодирање – како можност за подобрување на продуктивноста, но и како потенцијална закана за развојот на вештините на програмерите [2].
3
Максимизирање на продуктивноста на програмерите со AI
Со напредокот на вештачката интелигенција, програмерите сè повеќе ја користат AI технологијата како алатка за автоматизација, оптимизација и подобрување на процесите во развојот на софтвер.
Автоматизација на некои задачи
Со помош на алатките базирани на AI програмерите можат автоматски да генерираат фрагменти од код, да извршат рефакторирање на код и да помогнат во откривањето и поправањето на грешки. Ова помага да се заштеди време и да се фокусира на попрекомплексни и критични аспекти на развојот на софтвер.
Генерирање код
Алатките базирани на AI можат да генерираат код врз основа на постоечки обрасци и примери. Ова вклучува предлози за автоматско дополнување на код во интегрираните развојни околини (IDEs) и генерирани фрагменти од код за специфични задачи. AI може исто така да го оптимизира кодот преку идентификување на непотребни или неефикасни делови и предлагање на подобрувања. Сепак не е добра практика потпирањето на AI во пишувањето код бидејќи генерираниот код може да биде неуреден или неефикасен, па секогаш треба да се провери и подобри од страна на програмер.
Помош при откривање на грешки
Алатките за тестирање базирани на AI можат да го анализираат кодот, да идентификуваат потенцијални ранливости и автоматски да генерираат тестови. Техники на машинско учење се користат за учење од претходни резултати на тестови и предвидување на области од кодот кои се поизложени на грешки. Ова помага на програмерите да ги идентификуваат и поправат проблемите на рана фаза од развојниот циклус, што води до повисок квалитет.
4
Еволуција на DevOps процесите
AI има значаен придонес во еволуцијата на DevOps практиките и процесите за континуирана интеграција/континуирана испорака (CI/CD). Техниките на AI можат да анализираат промени во кодот, резултати од тестови и метрики од продукција за да понудат увид во перформансите, квалитетот и потенцијалните проблеми [3].
Може ли еден инженер со поддршка од AI да ја заврши работата на многумина?
Сè повеќе се појавуваат грижи дека еден сениор инженер со помош на вештачка интелигенција (AI) може да замени повеќе инженери, што потенцијално би го намалило бројот на работни места за јуниори. Но, ова е погрешно толкување.
Иако AI навистина може да забрза дел од процесот, реалноста е дека времето што се заштедува не е толку драматично како што се тврди. Секој што користи AI за генерирање код знае:
∙ Потребни се внимателни и точни упати (prompts) за да се добијат корисни резултати. ∙ Генерираниот код често бара рачно доработување, тестирање и адаптација. Значи, еден инженер не може „магично“ да има доволно време и капацитет да ја заврши работата на цел тим. Иако AI постојано напредува и теоретски е можно еден ден да ја достигне, па дури и да ја надмине човековата интелигенција. Но, како што рекол Ајнштајн: „Во теорија, теоријата и практиката се исти, но во пракса – НЕ се“ [4].
Влијанието на AI врз програмерите
Вештачката интелигенција значително го менува начинот на кој работат програмерите, носејќи и предизвици и нови можности.
Предности на AI:
∙ Нови можности за вработување – AI создава нови работни места во машинското учење, науката за податоци и сајбер-безбедноста, со длабоко разбирање на AI.
5
∙ Зголемена продуктивност – Алатки како GitHub Copilot го забрзуваат кодирањето и намалуваат грешки, овозможувајќи повеќе време за решавање сложени проблеми. ∙ Подобрено учење и соработка – AI помага во анализа на код, наоѓа проблеми, па дури и симулира програмирање во парови, што ја олеснува тимската работа – особено кога членовите се дисперзирани.
∙ Работа во повеќе индустрии – Инженерите сè повеќе применуваат AI во здравство, финансии и еколошки технологии, отворајќи нови кариерни патеки.
Предизвици на AI:
∙ Застарени вештини – Некои од конвенционалните вештини на софтверските инженери губат важност бидејќи AI ги презема основните задачи за кодирање. Инженерите мора да се насочат кон системски дизајн и интеграција на технологии.
∙ Ризици за работни места – AI може да замени одредени позиции, особено оние што вклучуваат рутинско кодирање. Според McKinsey, автоматизацијата може да загрози до 7.5 милиони работни места поврзани со развој на софтвер.
∙ Намалена креативност – Автоматизираното кодирање може да го трансформира програмирањето од креативно решавање проблеми во управување со AI сугестии [5].
Слика 1. Футуристички софтверски инженеринг [6].
6
Што претставува родова пристрасност во вештачката
интелигенција – и зошто е важно тоа?
„AI системите, учејќи од податоци полни со стереотипи, често ги одразуваат и зајакнуваат родовите пристрасности,“ вели Зинија дел Виљар. „Овие пристрасности може да ги ограничат можностите и разновидноста, особено во критични области како што се одлучување, вработување, одобрување кредити и правосудни процеси.“
Во својата суштина, вештачката интелигенција се заснова на податоци. Таа претставува збир на технологии што ѝ овозможуваат на машината да извршува комплексни задачи побрзо од човек. AI системите како машинското учење (machine learning) учат од огромни количини на податоци. Но, ако тие податоци се пристрасни, тогаш и алгоритмите стануваат пристрасни, што води до продлабочување на нееднаквостите и родова дискриминација преку самата технологија.
Еден таков пример е машина која треба да одлучи кого да вработи, а користи податоци врз основа на минати примери. Ако тие примери носат (свесна или несвесна) пристрасност дека вообичаено мажите се прикажани како научници, а жените како медицински сестри, тогаш машината може да заклучи дека мужите „природно“ се подобри за одредени работни позиции, а жените за други, и да почне да донесува одлуки на дискриминаторски начин. Така се повеќе компании користат AI алатки за оценување на кандидатите за работни позиции во ИТ секторот. Овие системи можат да имаат пристрасни критериуми врз основа на историските податоци дека досега најчесто биле вработувани мажи и AI несвесно да ја фаворизира машката комуникација, стил на кодирање или технички одговори [7].
Влијанието на AI врз родовата еднаквост во ИТ секторот
Истражувањата откриваат значителен родов јаз кога станува збор за користење на генеративна вештачка интелигенција. Жените ги прифаќаат алатките базирани на вештачка интелигенција за околу 25% поретко од мажите, иако имаат еднаков пристап до овие технологии.
7
Истражувањата покажуваат дека жените често изразуваат поинакви грижи кога станува збор за користењето на AI, како етички дилеми или страв од осуда поради потпирање на помош од вештачка интелигенција. Овие грижи најчесто произлегуваат од повисоките стандарди со кои жените се соочуваат на работното место, каде нивната стручност почесто се доведува во прашање.
Пониската стапка на користење AI алатки кај жените е сериозна пречка за родовата еднаквост, особено во технолошкиот сектор. Како што генеративната AI станува сѐ позастапена во работните процеси, оние што не ја прифаќаат можат да се соочат со значителна загуба на ефикасност и продуктивност. Ова, пак, може дополнително да ги продлабочи постојните разлики меѓу половите кога станува збор за плати, унапредувања и кариерни можности. Дополнително, ваквата состојба не влијае само на поединците, односно компаниите и економијата во целина губат на потенцијални придобивки ако значителен дел од работната сила не ги користи целосно расположливите AI алатки [8].
Жените во ИТ под притисок од AI
Практично 70% од девојчињата веруваат дека вештачката интелигенција ќе ја отежни можноста за жените да градат кариера во технологијата, делумно поради предрасудите што може да ги создаде во процесот на вработување, особено поради недостигот на улоги и примери на жени во технолошкиот сектор.
Недостатокот на улоги на жени често се спомнува како една од причините зошто девојчињата го избегнуваат технолошкиот сектор, но исто така значи дека колку повеќе жени не се вклучени во технологијата, толку помалку жени ќе учествуваат во процесите на донесување одлуки за AI, што го зголемува ризикот овие технологии да се градат со предрасуди.
Голем број девојчиња, околу 79%, сметаат дека треба да има построги регулации за вештачката интелигенција, особено за да се спречи влошување на пристрасноста во AI. 71% изразиле загриженост дека AI може да ја засили веќе постоечката родова пристрасност во многу аспекти на одлучувањето на работните места во технологијата [9].
8
Доверба на програмерите во AI алатките
Истражувањето на Stack Overflow, спроведено врз повеќе од 65.000 програмери во 2024 година, нуди детална слика за глобалната заедница на програмери: како учат, кои алатки ги користат и како вештачката интелигенција (AI) го менува начинот на кој работат. Во ова истражување, фокусот е ставен на тоа како програмерите ги интегрираат AI алатките во своите работни процеси, колку им веруваат и дали навистина ја зголемуваат нивната продуктивност.
Довербата во AI останува поделена
∙ 42% од програмерите веруваат дека резултатот генериран од AI е точен. ∙ 31% од програмерите немаат доверба во резултатот.
∙ 27% остануваат неутрални
Најголемите придобивки од AI во развојот на софтвер:
∙ Зголемување на продуктивноста – 81%
∙ Побрзо учење – 62%
∙ Подобрување на ефикасноста – 58%
∙ Поголема точност при кодирање – 30%
Но, кога станува збор за комплексни задачи, 45% од професионалните програмери сметаат дека AI алатките не се доволно добри. Ова не е поврзано со недостаток на знаење или лошо користење на алатките – само 30% од испитаниците сметаат дека корисничка грешка е проблемот. Наместо тоа, главните грижи се недоверба во точноста на излезните резултати (66%) и недостаток на контекст за кодната база и архитектурата на компанијата (63%) [10].
И покрај овие предизвици, програмерите веруваат дека AI ќе биде особено корисен во иднина за:
∙ Документирање на код (81%)
∙ Тестирање (80%)
∙ Пишување код (76%)
9
Одговорна употреба на вештачката интелигенција
Софверските инженери треба да бидат критички настроени кон резултатите што ги даваат големите јазични модели, бидејќи тие често „халуцинираат“ и произведуваат неточен или погрешен код. Многу лесно може да се заглави во процесот на отстранување на грешки доколку слепо се користи код генериран од AI, а суптилните грешки може да бидат тешко забележливи. Затоа проверката на генерираниот код е од клучно значење, иако тоа додава дополнителен чекор што понекогаш може да ја намали продуктивноста. Сепак, некои програмери тврдат дека понекогаш е побрзо да се генерира код и потоа да се провери, отколку да се пишува од нула.
Вреди да се размисли за контекстот на резултатите од овие модели – какви податоци се користеле за нивно тренирање, што било филтрирано и исклучено, колку се стари податоците и со која верзија од програмски јазици, библиотеки или софтверски пакети е обучен моделот. Овие фактори можат да влијаат на квалитетот и важноста на резултатите.
Програмерите треба да внимаваат и на внесување сопственички или чувствителен код во овие модели. Некои алатки, како Tabnine, нудат ентерпрајз верзии што обезбедуваат приватност и учат од шемите на кодирање во рамките на организацијата, без да ги компромитираат податоците. Авторските права се уште еден фактор што треба да се земе предвид – не е голем проблем доколку се работи за неколку реда код или за тривијални задачи, но може да биде ризик ако се користат подолги или уникатни фрагменти од код.
Поголем проблем се безбедносните пропусти, бидејќи овие модели можат да создадат код што содржи ранливости. Најдобар начин за справување со ова е следење на добри практики во развојот на софтверот, вклучувајќи код ревизии и силни тестирачки процеси. Искуството на поискусните инженери е непроценливо бидејќи тие имаат развиено интуиција за тоа каде може да се појават проблеми и што треба да се следи при анализа на код [11].
10
Клучни вештини за програмерите во ерата на AI
Специјалистите не гледаат во елиминација на програмерските вештини, туку во еволуција каде што програмерите ќе се фокусираат на максимизирање на напредните човечки вештини кои AI не може лесно да ги реплицира – вклучувајќи креативно решавање на проблеми, стратешко размислување, проценка на неизвесност, комуникација на природен
јазик и управување со меѓучовечки односи. Иднината на програмирањето лежи во овие напредни човечки вештини:
Дизајн на алгоритми и напредно инженерство
Создавање на нови системи за машинско учење, неуронски архитектури и други напредни технички решенија бара човечка креативност. Овој тип на иновација не може целосно да се автоматизира бидејќи бара длабоко разбирање на контекстот и оригинално размислување.
Стратегија на производи и UX/UI дизајн
Преведување на комплексни бизнис потреби во интуитивни дигитални решенија, како и носење на проценки кои ги балансираат многуте фактори, бара широки човечки перспективи. Човековата способност да ги разбере потребите на корисниците и да дизајнира решенија кои ги исполнуваат останува клучна.
Анализа и интерпретација на податоци
Извлекувањето значајни сознанија од податоците, идентификувањето важни обрасци и отстапувања сè уште бара човечка когниција, која AI засега ја нема. Луѓето се подобри во проценувањето на контекстот на податоците и донесување одлуки на база на истите.
Управување со проекти и лидерство на тимови
Водење на сложени проекти, усогласување на учесниците и решавање на конфликти со приоритети се длабоко човечки вештини. Лидерството бара емоционална интелигенција и способност да се навигира низ предизвиците на човечките интеракции, што AI не може лесно да го реплицира.
11
Консултантски и советодавни услуги
Пружање стратешки насоки за партнерите, обезбедување на одговорна и етичка употреба на новите технологии и развивање решенија кои се отпорни на идни предизвици бараат човечки квалитети на процена. Лидерите во овие области мораат да ги разгледуваат сложените социјални и етички аспекти [12].
Слика 2. Клучни вештини [13].
Што можеме да очекуваме во иднина?
Дисциплината на пишување код бара силни основи во логика, решавање проблеми и аналитичко размислување. Вештачката интелигенција може да го зголеми обемот на напишан код, но не и неговиот квалитет – некој мора да ја оцени неговата точност и одржливост, во спротивно ќе бидеме преплавени со неструктуриран и тешко читлив код. Освен тоа, како што AI станува сè помоќен и поавтономен, човечкиот надзор останува клучен од аспект на безбедноста.
Дури и по десет или дваесет години, идните програмери ќе треба да ги познаваат семантиката, логичките секвенци и концептите за градење софтвер, дури и ако не го пишуваат самиот код. Како што истакнува Рендал Дегс, инженер во Snyk: „Сè уште ќе ви требаат технички знаења за да ги изградите работите и да ги поврзете правилно. Најголемата вештина што ќе ви биде потребна е способноста да препознаете кога нешто не функционира или има безбедносни пропусти“ [14].
12
Бирото за труд и статистика на САД (BLS) е владина агенција која го следи растот на работните места низ целата земја на својата веб-страница. Тие тврдат дека побарувачката за софтверски развивачи се очекува да порасне за 26% во периодот од 2022 до 2032 година, додека просечниот раст за сите занимања е само 3%. Сличен тренд се забележува и кај компјутерските и информатичките научници, каде што се очекува раст од 23% во периодот од 2022 до 2032 година [15].
Слика 3. Раст на вработеноста во ИТ секторот [15].
13
Заклучок
Воведувањето на вештачката интелигенција во програмирањето донесе значајни промени, нудејќи алатки кои значително ја подобруваат продуктивноста и автоматизираат одредени процеси. Програмерите денес можат побрзо да генерираат код, да ги коригираат грешките и да добиваат предлози за оптимизација, што овозможува фокусирање на покомплексни задачи. Сепак, суштинската вештина на програмерот не се состои само во пишување код, туку и во способноста за анализирање на проблеми, воочување на пристрасности во одговорите, алгоритамско размислување и структурирање на логички решенија. Затоа, од клучно значење е програмерите да развиваат силна основа во компјутерската логика, алгоритми и софтверски инженеринг, користејќи ја вештачката интелигенција како алатка за поддршка, а не како замена. Вистински вешт програмер не е оној кој само копира и користи предлози од AI, туку оној кој знае да го разбере, подобри и приспособи решението на специфичниот контекст. Балансираниот пристап кон AI технологиите ќе осигура дека програмерите остануваат креативни, критички настроени и независни во нивниот развој, додека истовремено ги користат предностите што ги нуди вештачката интелигенција.
14
Библиографија
[1] Shah, P. (2023) AI and the Future of Education: Teaching in the Age of Artificial Intelligence. Wiley. Available at: https://books.google.mk/books?id=QkrUEAAAQBAJ (Accessed: May 2025).
[2] Beetroot (2025) What are the advantages and disadvantages of using AI in development? Available at: https://beetroot.co/ai-ml/what-are-the-advantages-and-disadvantages-of-using ai-in-development/ (Accessed: May 2025).
[3] Brainhub (2024) Is There a Future for Software Engineers? The Impact of AI. Available at: https://brainhub.eu/library/software-developer-age-of-ai (Accessed: May 2025). [4] Cui, C. (2024) The Future of Coding: Will Generative AI Make Programmers Obsolete? Available at: https://cuicaihao.com/2024/05/04/the-future-of-coding-will-generative-ai-make programmers-obsolete/ (Accessed: May 2025).
[5] WeAreDevelopers (2023) Will AI replace software engineers?
Available at: https://www.wearedevelopers.com/en/magazine/340/will-ai-replace-software engineers (Accessed: May 2025).
[6] Tenguria, A. (2024) Revolutionizing Software Development: The Role of AI in Modern Coding. Available at: https://www.linkedin.com/pulse/revolutionizing-software-development role-ai-modern-coding-tenguria-fgb7c (Accessed: May 2025).
[7] UN Women. (2025) How AI reinforces gender bias—and what we can do about it. Available at: https://www.unwomen.org/en/news-stories/interview/2025/02/how-ai reinforces-gender-bias-and-what-we-can-do-about-it (Accessed: May 2025).
[8] Akim. (2025) How Generative AI is Empowering Women Coders and Developers. Available at: https://medium.com/womenintechnology/how-generative-ai-is-empowering women-coders-and-developers-3d3a9f63a660 (Accessed: May 2025).
[9] Computer Weekly. (2024) Girls more concerned about AI bias than boys. Available at: https://www.computerweekly.com/news/366623774/Girls-more-concerned-about-AI-bias than-boys (Accessed: May 2025).
15
[10] Stack Overflow (2024) Where developers feel AI coding tools are working – and where they’re missing the mark. Available at: https://stackoverflow.blog/2024/09/23/where developers-feel-ai-coding-tools-are-working-and-where-they-re-missing-the-mark/ (Accessed: May 2025).
[11] Caballar, R. D. (2023) How Coders Can Survive—and Thrive—in a ChatGPT World. Available at: https://spectrum.ieee.org/ai-programming (Accessed: May 2025). [12] CCS Learning Academy (2024) Will AI replace programmers? Be Prepared for the Future. Available at: https://www.ccslearningacademy.com/will-ai-replace-programmers/ (Accessed: May 2025).
[13] Team CodeQuotient. (2023) Will AI Take Away Coding Jobs? Some, Yes. Not All. Here’s Why. Available at: https://codequotient.com/blog/will-ai-take-away-coding-jobs/ (Accessed: May 2025).
[14] Duranton, S. (2024) Are coders’ jobs at risk? AI’s impact on the future of programming. Forbes. Available at: https://www.forbes.com/sites/sylvainduranton/2024/04/15/are-coders jobs-at-risk-ais-impact-on-the-future-of-programming/ (Accessed: May 2025).
[15] Cuicaihao (2024) The future of coding: Will generative AI make programmers obsolete? Available at: https://cuicaihao.com/2024/05/04/the-future-of-coding-will-generative-ai-make programmers-obsolete/ (Accessed: May 2025).
16