Как AI агентите променят разработката на софтуер

Изкуственият интелект не е близо до замяната на разработчиците на софтуер
(снимка: CC0 Public Domain)

Софтуерното инженерство е сред многото области, които се променят бързо с напредъка на големите езикови модели (LLM). За няколко години LLM се развиха от усъвършенствани инструменти за автоматично довършване на код до агенти с изкуствен интелект, които могат да проектират софтуер, да внедряват и коригират цели модули и да помагат на софтуерните инженери да станат по-продуктивни.

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

AI асистенти за кодиране

Има три основни начина, по които LLM променят изживяването при кодиране, обобщава VentureBeat. Първото е директното използване на модели като помощници в писането на код. Разработчиците все по-често разчитат на ChatGPT, Claude и други чатботове като помощници за кодиране. Моделите стават все по-добри в генериране на код от текстови описания, подобряване на кодов фрагмент или с предоставяне на код за отстраняване на грешки.

Признавайки тази употреба на използване на AI за разработка на софтуер, доставчиците на модели добавят нови функции, за да подобрят изживяването на програмистите с интерфейса на чатботовете. Например, новата функция Artifacts на Claude ви позволява да преглеждате и изпълнявате кода, докато итерирате върху него с модела.

По-усъвършенствани начини на използване на асистенти за AI кодиране са LLM, които се добавят в интегрирани среди за разработка (IDE). Тези инструменти могат да използват вашите проектни файлове и кодова база като контекст, за да осигурят по-точни отговори и да изпълнят по-сложни задачи.

Microsoft беше първата компания, която навлезе в полето с GitHub Copilot, пуснат една година преди ChatGPT. Първоначално Copilot започна като инструмент за писане на кодови фрагменти в редактора на код. Оттогава той се превърна в пълноценен асистент, който може да помогне с изпълнението на различни задачи в средата за разработка.

Асистентът за кодиране Amazon Q предоставя подобни функции в средата за кодиране, включително автоматично довършване на код, дизайнерски агенти и мигриране на код между различни езици за програмиране.

Няколко стартиращи компании също навлязоха в пространството, включително Tabnine, която твърди, че има милиони потребители. Разработчиците използват Tabnine, за да напишат 30% до 40% от своя код.

Други играчи включват Replit, който предоставя среда за кодиране, захранвана от собствен LLM, и Codeium, помощник за кодиране с изкуствен интелект, който може да се интегрира с десетки IDE.

AI агенти за софтуерно инженерство

Третият начин, по който LLM променят разработката на софтуер, е чрез агентни рамки (фреймуъркс).

По принцип, AI агентите са множество LLM, които получават различни системни подкани и са инструктирани да работят заедно, за да завършат проекта. Например, един агент може да бъде дизайнер, който предоставя план на високо ниво за изпълнение на задача – например, търсене на ресурси за информация, създаване на модули и след това тяхното изпълнение на облачна платформа. Друг агент може да предостави по-подробна разбивка на всяка от тези стъпки. Трети агент може да бъде назначен да напише код за конкретна задача и да го изпрати на друг агент, който преглежда кода за качество и го изпраща обратно за корекции. И накрая, друг агент може да обедини всички части, да ги компилира, тества и одобри за стартиране.

На теория агентите за софтуерно инженерство могат да получат описание на проект и да го завършат от край до край. Например, през март стартъпът за изкуствен интелект Cognition обяви Devin, рекламиран като „първият софтуерен инженер за изкуствен интелект”. Devin използва LLM агенти и множество инструменти като браузър, IDE и компилатор, за да събира ресурси, да разсъждава върху задачата, да пише код и да оценява резултата. Потребителят може да проследи процеса на разсъждение и да наблюдава как Devin напредва в работата си.

Множество демонстрации, публикувани от Cognition AI, показаха, че Devin изпълнява различни задачи, включително в UpWork проект за компютърно зрение. Това създаде впечатлението, че AI агентите скоро може да заменят софтуерните инженери.

Devin не е с отворен код. Но той е вдъхновил други проекти, като OpenDevin, софтуерен инженерен агент с отворен код с подобни възможности. От няколко месеца съществуват и агенти за разработка на софтуер като GPT-engineer, които правят впечатляващи демонстрации.

Хайп или реалност?

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

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

Съществуват също опасения, че инструменти като Copilot могат да генерират опасен код, който се е появил в техните данни за обучение или в кодовата база на потребителя. Доставчиците на такива инструменти непрекъснато работят за добавяне на предпазни мерки, които не позволяват на моделите да генерират несигурен код.

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

Това, което е сигурно е, че изкуственият интелект не е близо до замяната на разработчиците на софтуер. Въпреки това все още сме в ранните етапи на AI асистентите за кодиране и не може да се отрече, че има голяма полза от използването на LLM в разработването на софтуер.

Тъй като изкуственията интелект навлиза във все повече области, търсенето на разработчици на софтуер също се увеличава. С развитието на инструментите и моделите можем да очакваме повече ползи за производителността в софтуерното инженерство.

Коментари по темата: „Как AI агентите променят разработката на софтуер”

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

  1. НеЮзер

    Не коването на код е реално хамалогия и още дойде с писането на тестове а и те са много за подкарване и изчистване и са повече работа от работата по кода а реално не се ползват от клиента и таз хамалогия ще спадне драстично особено с GPT5 ама това значи вместо 500 програмиста (без значение индийци или не) ще е само един и вместо да се кове код месец ще е 1 седмица защото програмиста ще трябва да проверява много код – за което ще има друг ИИ да го проверява с показване на проблеми и потенциални такива но и ще трябва да има и 3ти тестващ ИИ и така след малко повее тренинг всички американски фирми ще си правят софта без аутсорсинг.
    Честито на аутосорсинг съкратените.
    Забележете хамалогията остава но е дело на ИИ

  2. Юзер

    Производство на килограм код да определено ще се увеличи. Обаче количество вместо качество.

Коментар