Как изкуственият интелект променя Java разработките: три предизвикателства

Все повече специалисти се обръщат към модели с изкуствен интелект, за да спестят време и ресурси (снимка: CC0 Public Domain)

Изкуственият интелект оказва все по-голямо влияние върху пазара на ИТ таланти, променяйки изискванията за умения, методите за развитие и екипните структури. Възможностите на AI променят особено сегмента на Java разработката, тъй като JavaScript е един от най-сложните езици, а изкуственият интелект опростява работата на програмистите.

С три основни предизвикателства се сблъскват Java разработчици днес, в условията на бързо навлизане на изкуствения интелект.

1. Преосмисляне на работата на младшите специалисти

Задачи, които преди това се възлагаха на специалисти на младши позиции, сега са много по-бързи и лесни за изпълнение с помощта на изкуствен интелект. Днешните програмисти от средно и висше ниво ще завършат дадена единица работа по-бързо с помощта на AI, отколкото да подготвят техническо задание за младши специалист и след това да правят множество редакции.

Разработчиците на средно и по-високо ниво имат добра основа, разбиране за проекта и задачата, за разлика от младшите програмисти, на които трябва да се се обяснят задачата и контекстът, а след това да се провери работата им. Ето защо все повече специалисти се обръщат към модели с изкуствен интелект, за да спестят време и ресурси.

Използвайки всяка AI услуга, като например ChatGPT, можете бързо да поставите модела в контекст и да имплементирате модули, което със сигурност спестява време на разработчика за потапяне в задачата. Моделите с изкуствен интелект са способни да генерират код, да пишат тестове и дори да създават цели модули. И смисълът от работата на младшите специалисти се губи.

Възниква обаче друг въпрос: откъде да се намерят специалисти от среден и висш ранг, ако всички младши разработчици бъдат заменени от изкуствен интелект? Изграждането на специалист от нулата е скъпо занимание, отнема време и е рисковано. Той може също да напусне и да отиде в друг отбор, да загуби мотивация и т.н.

Може би израстването до разработчик на средно ниво ще дойде от други направления. Например, от свързани индустрии, които изискват код – тестване, анализи и др.

Но едновременно с това и в други индустрии се очертава проблемът с младшите специалисти. Може да се предположи, че големите компании скоро ще имат отдели от промпт инженери, които ще се специализират в работата с AI модели, а след това те ще се превърнат в инженери с познания по езици за програмиране и компютърни науки.

Въпреки това, вече е очевидно, че базата от програмисти на ниско ниво ще става все по-малка и по-малка – езиците непрекъснато се развиват, ставайки все по-„абстрактни”. Това не е нова тенденция, току-що достигнахме друго ниво на абстракция. „Все повече се отдалечаваме от желязото” и тази тенденция ще продължи.

2. Липса на документация за интеграция на изкуствения интелект

Изкуственият интелект не е толкова свързан със създаването на модели, колкото с интегрирането им със съществуващи решения. И повечето ръководства за интеграция на AI в бизнес системи са написани на Python. За езика Java документацията често липсва или е много ограничена, въпреки опитите за увеличаване на ръководствата. Индустрията се развива толкова бързо, че често новите функции или изобщо не са документирани, или са минимално документирани на Python.

Добър пример е AWS. Ако отидем на тяхната услуга AWS Bedrock, ще видим, че повечето функции са обхванати, но на Python. Няма такива точни ръководства за Java. Разработването на ръководства е скъпо и сложно. И вероятно ще видим огромно изоставане в учебните материали по Java за интеграция на изкуствения интелект. ИТ курсовете ще коригират този проблем, но не толкова бързо.

Ето защо повечето нови специалисти започват кариерата си с Python, тъй като развитието на изкуствения интелект е по-тясно свързано с него. Освен това, самият език е по-прост и по-разбираем за начинаещ. Следователно, липсата на материали на Java, свързани с AI, е едно от основните предизвикателства на този пазар.

3. Понижена отговорност за решенията

Съществува глобален проблем с развитието на „вайб” кодирането (метод за програмиране, който използва големи езикови модели и изкуствен интелект за генериране на програмен код въз основа на описание на проблем на естествен език). Например, има хора без ИТ образование, които създават код чрез Chat GPT, продават решението като стартъп и след това нямат представа какво се случва. Често това води до изтичане на секретната парола на базата данни.

С глобалната тенденция за аутсорсинг на специалисти от страни с ниско ниво на развитие на ИТ индустрията, проблемът става още по-наболял.

Една от ключовите характеристики на работата с Java е възможността за гъвкава работа с потоци и памет. Темата за управлението на нишките е дълбока и сложна за разбиране, така че много специалисти се фокусират върху познанията по компютърни науки като цяло и не се задълбочават в подобни неща. Наред с повишаването на нивото на абстракция, намалява и нивото на овладяване на фините неща при работа с езика.

Има ситуации, в които сложните инженерни решения са изцяло предадени на LLM модели, но никой не ги валидира задълбочено. Моделите с изкуствен интелект позволяват на софтуерния инженер да не се задълбочава в проблема и бързо да прехвърли решенията в производствената фаза. И в резултат на това се появява проблем, който никой не знае как да реши, поради липса на опит и задълбочени познания по въпроса.

Генерираният код, който се качва на доста чувствителни места и създава грешки, които са много трудни за отстраняване, нараства. Откриването на първопричината за подобни грешки е трудно, особено като се има предвид сложността и дълбочината на възможните промени в операционната система и строгостта на езика Java. В резултат на това отговорността на софтуерния инженер за решението намалява и има все повече грешки.

В крайна сметка, масовото въвеждане на изкуствен интелект води до намаляване на нивото на Java програмистите, дисбаланс в персонала и увеличаване на броя на грешките. Големите компании започват да се борят с тези проблеми, но често развитието на възможностите на изкуствения интелект изпреварва способността на пазара да реагира на новите предизвикателства.

Коментари по темата: „Как изкуственият интелект променя Java разработките: три предизвикателства”

добавете коментар...

  1. Коментирам

    Писалия статията не прави разлика между Java и JavaScript….

Коментар