Цитат 1, 15 март 2025 г.: "Моята платформа е направена без никакъв написан на ръка програмен код. AI вече не е просто асистент, той вече е и строител. Можете да продължите да мрънкате за това или да започнете да строите. Послепис: Да, хората си плащат за тази платформа".
my saas was built with Cursor, zero hand written code
— leo (@leojr94_) March 15, 2025
AI is no longer just an assistant, it’s also the builder
Now, you can continue to whine about it or start building.
P.S. Yes, people pay for it
Цитат 2, 17 март 2025 г.: "Хора, атакуваха ме. Стават някакви произволни неща, изчерпва се капацитетът, заобикалят се ограничения, някакви неща са създадени в базата данни. Както знаете, нямам технически познания и ми отнема повече време да разбера какво става. На този етап спирам да споделям публично с какво се занимавам".
guys, i'm under attack
— leo (@leojr94_) March 17, 2025
ever since I started to share how I built my SaaS using Cursor
random thing are happening, maxed out usage on api keys, people bypassing the subscription, creating random shit on db
as you know, I'm not technical so this is taking me longer that usual to…
Вече месец и половина в технологичните среди се надсмиват на този сюжет, който наистина звучи като виц - но е напълно реален. И е част от грандиозната промяна в начина, по който се създава софтуер.
Мениджърите, инвеститорите и оптимистите виждат в нея по-бързо и по-евтино решаване на технологичните проблеми. Опитните разработчици и пестимистите обаче се опасяват, че ще заживеем в свят, който е все по-зависим от все по-несигурен софтуер.
Програмиране по усет
Създаването на програми от зората на компютрите до наши дни се е променило неимоверно, но остава тежка и трудна работа, която изисква усилията на добре подготвени и добре платени специалисти. Затова и още от 60-те се търси начин то да бъде по-лесно и по-достъпно.
След като три поколения се опитваха да "демократизират" софтуерната разработка чрез езика Basic, Rapid Application Development платформи и No-code решения, в средата на 2021 г. се появи GitHub Copilot. Той идваше с обещанието, че ще предлага релевантен код по заявка, написана в свободен текст. Първоначалните резултати бяха противоречиви, но пък помогнаха много на компанията, партнирала си с Microsoft за проекта - OpenAI.
В края на 2022 г. се появи ChatGPT. Освен добър чат събеседник, той се оказа в състояние да пише работещ код. Година по-късно в AI сферата конкуренцията беше по всички фронтове, включително - програмирането.
Някъде тогава започнаха да се появяват десетки платформи, специално предназначени да помагат на програмистите. 2024-а дойде със следващата стъпка - полуавтономни решения за разработка и ситуация, в която 25% от стартъпите в Y Combinator имат предимно AI-генериран програмен код.
На фона на това в началото на тази година се появи и терминът Vibe Coding или "програмиране по усет". "Съществува нов вид кодене, което наричам "кодене по усет", при което напълно се отдавате на усещанията, приемате експоненциалите и забравяте, че кодът изобщо съществува. Това е възможно, защото големите езикови модели стават твърде добри", написа в X/Twitter Андрей Карпати, бивш AI директор на Tesla и част от хората, основали OpenAI.
Функции или цяло приложение - на пръв поглед изглежда, че ботът може да направи всичко с достатъчно добро предварително обяснение в Cursor или подобен на него инструмент. Няма дебъгване, няма чудене - всичко тръгва от първия опит. Ако не тръгне - питате AI защо не е тръгнало и той решава проблема. Чисто, просто, бързо, лесно, евтино.
Ако се вярва на това, което стартъпи с милиардни оценки говорят на инвеститорите си, буквално всеки ръководител на проект може да се превърне в армия от разработчици.
Не е така, категоричен е в публикация в LinkedIn основателят на AI платформата nexusGPT Асем Шамах: "Логиката е съблазнителна. Изглежда, че тя демократизира програмирането, прекъсва наследените тесни места и отключва креативността. На практика обаче vibe coding-ът е като да наемете нетърпелив стажант с въображение, който не познава архитектурата ви или нуждите ви за съответствие... и въпреки това да изпращате на пазара всичко, което той произвежда.
Какво може да се обърка?
Да си припомним какво пише увереният онлайн предприемач след срещата си с AI програмирането: "Можете да продължите да мрънкате за това или да започнете да строите". Дали пък недоволните не са в грешка?
Статистиката и няколко изследвания за съжаление са на тяхна страна. Според компанията nucamp директно вложеният без задълбочена проверка AI код може да увеличи дефектите с до 50%, а повтарящите се сегменти в програмата нарастват до 8 пъти, което създава огромни бъдещи главоболия за всеки, който трябва да поддържа даденото приложение.
А поддръжката на нещо, чиято логика е неясна и за собствения му "създател", няма как да е нещо лесно и приятно.
Отиваме обаче към по-големия риск - според експертите от SecureLeap над една трета (36%) от програмния код, създаден от изкуствен интелект има проблеми по линия на сигурността:
- Незащитени полета за въвеждане на информация, през които се "инжектира" зловреден код;
- Лошо управление на паролите;
- Липса на проверки за оторизация;
- Незащитени данни за достъп;
- Използване на вече компрометирани практики за сигурност.
Именно така вашият "чудодеен" онлайн продукт, създаден от нулата за 5 дни, може да се сгромоляса за 5 минути и да ви остави с огромни загуби, а данните на клиентите ви да се окажат из целия интернет.
Защо Vibe Coding не работи
Важно е да разберем на какво се дължат огромните проблеми на готовия AI код. На първо място, големите езикови модели са обучавани с това, което е налично онлайн - а то може да е неактуално или пълно с грешки. Все още липсва възможност изкуственият интелект да се "самопроверява" в движение за качеството на кода, който пише.
Освен това, ботовете все още не разбират контекста на поставената им задача в дълбочина и могат да "халюцинират" различни аспекти от решението ѝ.
Последното е друг потенциален кошмар със сигурността - AI обожава да си "измисля" външни библиотеки и модули, които да зарежда в рамките на текущия проект. Хакерите добре знаят това и качват зловреден софтуер под името на различни несъществуващи компоненти, към които реферира най-често ботът.
Допълнителен "бонус" - всички знаем какви са политиките на OpenAI, Anthropic или Google по отношение на данните, които споделяме с техните AI платформи, но дали по същия начин стоят нещата с по-малките платформи? Надали искате вашите запитвания, структури на базите данни, ключове и бизнес логика да стават чуждо достояние.
Време е да хванем волана
Автомобилната аналогия в случая е добра. Автономните коли изглеждат поне на 70% достигнали способностите, които ни се обещават от десетилетия. Заради оставащите 30% обаче надали искате да сте в кола без шофьор на кръстовището на Сточна гара в сутрешен час пик.
От SecureLeap са категорични - можете да оставите AI да е в главната роля на софтуерната разработка само при не-критични функционалности, прототипи и експерименти. До неща като оторизация, плащания и нива на достъп на потребителите ботът не трябва да припарва.
Даже и тогава човек трябва да инспектира регулярно генерирания код - и то заедно с автоматизирани проверки и подробно документиране кое е писано от човек и кое е от машина.
Шамах от nexusGPT има конкретни съвети към разработчиците:
- Контекстовият прозорец на AI платформите е голям, затова в него трябва да влиза цялото хранилище;
- Всяко запитване трябва да изисква няколко отговора от изкуствения интелект и на база на човешки анализ да се избира най-добрият;
- Всеки ред трябва да се прочете преди да отиде в Git;
- Ако има външни пакети, трябва да се установи категорично, че са тези, които се очаква да са;
- Това, че нещо работи, не означава, че не трябва да бъде тествано изключително подробно.
Друг съвет, който със сигурност няма да се хареса на почитателите на бързите и лесни решения е заедно с AI да се състави изключително подробна документация на целия проект още преди да му се зададе да пише код. Според много разработчици крайният резултат е значително по-добър.
"AI трябва да бъде мултипликатор, а не извинение за пропускане на експертни познания. Бързината без преглед води до неизлечим технологичен дълг, нарушения и загуба на доверие. Победителите ще съчетаят строгите най-добри практики с ускоряването на LLM - никога няма да предадат волана само на усещанията", казва Шамах.
Иначе казано - в лицето на AI имаме нов и обещаващ инструмент, но с него така или иначе трябва да борави майстор.