Claude не е просто компилатор: Преходът от вайб кодинг към вайб инженерство
В софтуерната индустрия през последните години се наложи аналогията, че големите езикови модели (LLM) действат като новият слой компилатори — системи, които автоматично „превеждат“ спецификации на естествен език в работещ програмен код. В подробна инженерна публикация в блога на exe.dev [1], съоснователят и инфраструктурен архитект Джош Блийчър Снайдър определя това възприемане като съществена категорийна грешка (category error). Според него модели като Claude не са просто компилатори, а представляват нещо далеч по-мощно: вертикално интегриран инженерни асистент, който оперира през всички нива на софтуерния стек.
Вместо да превръща разработчиците в пасивни наблюдатели, генериращи малки фрагменти код, съвременният агентен софтуер маркира прехода от първоначалното бързо прототипиране, известно като вайб кодинг (Vibe Coding), към структурираното вайб инженерство (Vibe Engineering). При този подход инженерът запазва пълна способност да разсъждава върху архитектурата, докато използва ИИ модели за тестване на хипотези, симулиране на гранични казуси и диференциален анализ между конкурентни имплементации.
Категорийната грешка: Защо LLM оперира отвъд компилатора
В традиционния модел за разработка на софтуер процесите се разпределят в строго дефинирани слоеве. Идеята се придвижва последователно: визията на ръководството се превръща в продуктови планове от продуктовите мениджъри, системната архитектура се дефинира от архитектите, изходният код се пише от инженерите, а компилаторът превръща този код в бинарни инструкции. Всеки слой има за цел да скрие излишните детайли от горния.
Традиционният компилатор взема хиляди автономни решения — от инлайнинг на функции и разпределение на регистри до оптимизация на инструкции. Добрият компилатор спестява на програматора необходимостта да мисли за тези детайли. Когато езиковите модели се появиха като инструмент за автоматично генериране на код, индустрията опита да ги постави в същия изолиран слой между инженера и компилатора.
Големият проблем на тази стилизирана представа е, че абстракциите в софтуера неизбежно „изтичат“ (leaky abstractions). Разработката изисква т.нар. „механична симпатия“ — разбиране как решенията на най-високо ниво (продуктови цели) влияят пряко върху най-ниското ниво (производителност и мрежови латентности). Блийчър Снайдър прави паралел с построяването на Емпайър Стейт Билдинг за по-малко от година. Успехът на проекта се дължи на факта, че металните работници, архитектите, строителите и собствениците са заседавали заедно на една маса, за да решат детайлите по стоманената облицовка, премахвайки организационните бариери.
ИИ модели като Claude на Anthropic променят правилата, защото могат да оперират вертикално през целия стек. Без да насрочват срещи или да чакат одобрения, те могат незабавно да преминат от продуктова стратегия към системна архитектура, проверка на крайни казуси и генериране на нискоуровневи тестове [1].
Практически казус: Репликираният DNS сървър на exe.dev
За да илюстрира принципите на вайб инженерството, авторът описва реален инфраструктурен казус от платформата exe.dev. Компанията предлага бързо стартиращи виртуални машини за ИИ агенти. Тъй като виртуалните машини се създават за секунди, традиционното обновяване на DNS записи страда от забавяния при глобалното разпространение (propagation latency). Първоначалното решение на екипа е да напише собствен DNS сървър, базиран в централния им регион в Орегон.
С разширяването на платформата в множество географски региони обаче централизираният DNS отново се превръща в най-бавното звено, а всяка нова версия води до кратки прекъсвания на услугата. Инженерното предизвикателство изисква изграждането на географски разпределен, високодостъпен и последователен DNS сървър с кеширане на ръба (edge persistence).
Вместо да пише цялата система ръчно или да разчита на сляпо генериране на код, авторът прилага подхода на вайб инженерството:
- Проучване и архитектиране: Инженерът използва езикови модели за анализиране на стандартни разпределени DNS архитектури, изследване на потенциални пропуски в сигурността и оценка на съществуващи протоколи (като AXFR/IXFR).
- Паралелни агентни цикли: След определяне на концепцията (модел "хъб и спици" с append-only репликация), авторът стартира няколко едновременни цикъла от ИИ агенти, базирани на Claude и OpenAI Codex. Задачата им е да изградят независими имплементации, пълни тестови пакети и да извършат взаимно враждебно „ревю на код“.
- Откриване на скрити гранични казуси: В процеса на разработка агентите идентифицират критичен проблем: възможността за връщане на транзакции в базата данни (database rollbacks). Макар и редки, връщанията чупят условието за append-only репликация. За да разреши това, авторът проектира уникално поле
timelineза всеки ред. При всяка заявка за синхронизация сървърът на ръба проверява идентификатора на времевата линия; при разминаване системата открива, че историята е променена, и преминава към пълна преиндексация.
Диференциален анализ и принципа „Планирай да изхвърлиш две“
Важен елемент от вайб инженерството е използването на диференциален анализ (differential spec analysis). Чрез сравняване на решенията, взети автономно от Claude и Codex, инженерът открива интересни разхождения. Claude генерира значително по-елегантна и чиста архитектура, докато Codex се представя по-добре в идентифицирането и покриването на гранични казуси.
Вдъхновен от класическите инженерни закони на Фред Брукс („Планирай да изхвърлиш една имплементация; така или иначе ще го направиш“) и Крейг Зеруни („Ако планираш да изхвърлиш една, ще изхвърлиш две“), авторът повтаря целия процес на диференциален анализ три пъти.
Изображение: Svetni.me / Авторско изображение
Всеки цикъл на изхвърляне на кода обогатява централен документ със спецификации и натрупан инженерна опит (scar-tissue document). Този документ съдържа точни архитектурни ограничения и детайли — включително структурите от данни за критичните конкурентни кешове. В резултат крайната система включва пълни тестове, тестове от край до край (end-to-end) и сенчест режим (shadow-mode) за дерискиране при внедряване. Цялата разработка отнема около една седмица, а месец след пускането броят на DNS инцидентите е точно нула [1].
Вайб кодинг срещу Вайб инженерство: Бъдещето на професията
Разликата между двата подхода е фундаментална за бъдещето на софтуерната професия:
- Вайб кодинг (Vibe Coding): Инженерът сляпо прехвърля задачи на ИИ асистент и му позволява да взема всички решения без разбиране на системната архитектура. Това бързо води до натрупване на технически дълг и нестабилни системи.
- Вайб инженерство (Vibe Engineering): Инженерът координира моделите като вертикално интегриран инструмент, използва ги за тестване на хипотези и запазва пълна способност да разсъждава върху системата, да отговаря на въпроси за нейното поведение и да я развива.
Както Блийчър Снайдър обобщава, слоевете в софтуера, които съществуват само за удобство, постепенно ще изчезнат. Но слоевете, които позволяват на хората да изразяват критични архитектурни решения по разбираем начин, ще останат. В близко бъдеще това, което днес наричаме вайб инженерство, просто ще се нарича… инженерство [1].
Източници
- Josh Bleecher Snyder, "Claude Is Not a Compiler", exe.dev blog, 20 юли 2026 г. (Достъпно на:
https://blog.exe.dev/claude-is-not-a-compiler)