Кухни по поръчка | Съвети за мода и красота | Ваучери за намаления

Трябва ли да умеем да програмираме в ерата на вайб кодинга? Как речниковият запас и познаването на алгоритмите определят успеха на AI разработването

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

Този подход се нарича vibe coding „вайб кодинг“ – програмиране чрез оценка поведението на приложението, а не на неговия код. Платформите, прилагащи тази концепция, като Cursor, Replit и Lovable, вече имат десетки милиони потребители. Този формат на взаимодействие понижава техническата бариера за навлизане в индустрията, като позволява на хора без традиционни умения за програмиране да създават функционални интерфейси.

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

Трябва ли да умеем да програмираме в ерата на вайб кодинга? Как речниковият запас и познаването на алгоритмите определят успеха на AI разработването

Екип от изследователи от швейцарския ETH Цюрих проведе кръстосано проучване със 100 университетски студенти, за да измери с голяма точност как различните умения влияят върху крайното качество на програмите, създадени единствено с текстови заявки към AI.

Архитектурата на експеримента и условията на тестване

За целите на изследването авторите са се отказали от използването на комерсиални продукти и са разработили собствена платформа, базирана на езиковия модел Claude 3.5 Sonnet. Това е направено с цел да се елиминира влиянието на външни фактори и стриктно да се контролира процесът. Основната особеност на платформата беше пълното скриване на изходния код от потребителя.

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

Трябва ли да умеем да програмираме в ерата на вайб кодинга? Как речниковият запас и познаването на алгоритмите определят успеха на AI разработванетоИнтерфейсът на експерименталната платформа. Изходният код е напълно скрит – разработката се извършва изключително в режим „вайб кодинг“. Вляво е прозорецът за чат с изкуствения интелект, а вдясно – визуализация на живо на създаваното приложение. В страничната лента се показват описанието на задачата и таймерът. На изображението е показан реалният процес на работа на участник в изследването върху приложението с помощта на текстови заявки

Експериментът изискваше от студентите да създадат няколко графични уеб приложения. Задачите са разработени от специален екип от осем експерти в областта, като е използван методът Делфи за постигане на консенсус относно нивото на трудност. Едната от задачите е да се създаде програма за планиране на храненето: интерфейсът е трябвало не само да показва меню, но и да отчита вътрешната логика – да изчислява общото количество калории и протеини, както и да контролира даден финансов бюджет. Другата задача беше абстрактно приложение без ясно изразен контекст. Необходимо е било да се провери способността на участниците да описват специфичните механизми на интерфейса, без да разчитат на готовите шаблони в паметта на невронната мрежа (например моделът знае добре как изглежда един типичен календар, но е по-малко способен да разбира нестандартните форми без ясно наименование).

Измерване на базовите компетенции

За да идентифицират факторите за успех, изследователите измериха три ключови характеристики на всеки участник преди практическата работа с невронната мрежа:

Основни познания по информатика. Използван е стандартизираният тест SCS1, който оценява разбирането на основните концепции за програмиране. Специфичното за този тест е, че той е написан на независим псевдокод. Това позволява да се оцени разбирането на алгоритмите, логическите цикли и променливите, без да е обвързано с познаването на синтаксиса на конкретен език като Python или C++. Умения за писмена комуникация. Участниците пишат есета от 300 до 450 думи по сложна тема. Есетата бяха оценени от независими езикови експерти по строги критерии: логическа структура на параграфа, съгласуваност на изреченията, богатство на лексиката и точност на формулировките. Общи когнитивни способности. За да се елиминира статистическото отклонение, учениците се явяват на стандартизирания тест за интелигентност ICAR16, който включва задачи за пространствено мислене и матрична логика. Това даде възможност на изследователите да докажат, че успехът във вайб кодинга зависи от знанията и уменията по темата, а не само от общото ниво на интелигентност на участника. Трябва ли да умеем да програмираме в ерата на вайб кодинга? Как речниковият запас и познаването на алгоритмите определят успеха на AI разработването Влияние на уменията за писане върху качеството на работата с AI

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

Ключовият механизъм, свързващ тези два показателя, бешекачеството на текстовите заявки към самата невронна мрежа. Изследователите анализираха заявките на участниците, като използваха автоматични метрики за лексикално разнообразие и човешка оценка. Оказа се, че студентите с високи оценки по писмена комуникация са създали по-структурирани инструкции за изкуствения интелект. Те последователно описвали изискванията, избягвали двусмислието в терминологията и ясно посочвали условията.

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

Трябва ли да умеем да програмираме в ерата на вайб кодинга? Как речниковият запас и познаването на алгоритмите определят успеха на AI разработванетоСхема на хода на експеримента. Участниците са разделени на групи А и В. Последователността на теоретичните тестове и практическите задачи по уеб кодинга за всеки студент е определена на случаен принцип – това позволява да се изключи влиянието на реда на задачите върху крайния резултат Ролята на алгоритмичното мислене при липсата на сорс код

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

Парадоксът се състои в това, че техническите познания се оказаха от решаващо значение в среда, в която участниците не четат и не пишат програмен код.

Трябва ли да умеем да програмираме в ерата на вайб кодинга? Как речниковият запас и познаването на алгоритмите определят успеха на AI разработването

Причината се крие в самото естество на взаимодействието със системата. При създаването на сложни интерфейси невронната мрежа неизбежно допуска грешки. Потребител без техническа подготовка възприема приложението само на ниво интерфейс и описва проблема повърхностно (например: „данните не се запазват, когато се натисне бутона“). На езиковия модел често му липсва контекст, за да коригира точно такава грешка.

Участник с базови познания по информатика има все пак някакви умения за декомпозиране на системите. Той разбира скритата архитектура на приложението: концепциите за състояния, потока на управление, съхранението на променливите и обработката на събитията. Когато се сблъска с грешка, такъв разработчик не просто констатира факта на разбивката. Той локализира проблема в логиката на програмата и формулира текстово запитване, за да насочи модела към конкретния етап от обработката на данните, където се появява грешката. По този начин алгоритмичното мислене позволява да се управлява процесът на генериране на код на структурно ниво, като се използва естественият език като интерфейс за предаване на точни системни изисквания.

Връзка с честотата на използване на невронните мрежи

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

Трябва ли да умеем да програмираме в ерата на вайб кодинга? Как речниковият запас и познаването на алгоритмите определят успеха на AI разработването

Изследователите не правят категорични заключения за причинно-следствената връзка на това явление, но предлагат две интерпретации. Първият вариант: хората, които поначало изпитват затруднения при структурирането на информацията и писането на текстове, по-често прибягват до помощта на алгоритми. Вторият вариант предполага отрицателното въздействие на самия инструмент: навикът да се получават приемливи резултати от кратки, небрежни запитвания може постепенно да намали умението за прецизно и подробно формулиране на мислите. В ситуации, изискващи подробни и последователни инструкции за многокомпонентна система, тази загуба на концентрация води до незадоволителни резултати.

Изводи и последици за индустрията

Резултатите от проучването, проведено от Швейцарското висше технологично училище в Цюрих, доказват, че преминаването към програмиране чрез диалог с изкуствения интелект не премахва необходимостта от техническо образование. Променя се само формата на прилагане на знанията.

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

Коментари
Все още няма коментари