«Код есть, системы нет»: что на самом деле не так с операционкой, написанной ИИ (VibeOS) и почему её провал — на самом деле прогресс
В феврале в сети появился ролик, где разносят Vib-OS — операционку, полностью созданную нейросетью. Результаты обзора предсказуемые: система существует, проходит часть тестов и выглядит законченной, но не работает. Рассказываем, почему так. И, спойлер, дело тут не столь в вайбкодинге.
Идея написать операционную систему с помощью ИИ ещё недавно казалась экспериментом
А сегодня это уже практический кейс. Да, система плохо работает, но она существует, и это своего рода достижение. Для операционки, собранной на вайбкодинге (то есть через последовательную генерацию кода без жёсткой архитектуры и строгого инженерного контроля) — Vib-OS ещё неплохо справляется.
Формально у неё есть всё, что нужно: компоненты системы, структура. А по итогам 9 стандартных проверок система набрала 5 баллов.
Но при попытке использовать её по назначению выясняется, что:
— сеть в ней не работает;
— программы не запускаются;
— базовые команды не выполняются.
Это не отдельные баги, а системная проблема. И она хорошо объясняется тем, что показывают исследования последних лет.
Почему локально правильный код не складывается в систему
Один из самых показательных экспериментов — SWE-bench: Can Language Models Resolve Real-World GitHub Issues?
В этом исследовании проверяли не абстрактные способности моделей, а их поведение в реальной разработке. Авторы собрали датасет из 2294 задач из 12 популярных open-source проектов, включая Django, Flask и другие крупные репозитории. Каждая задача содержала описание бага, кодовую базу и тесты, которые должны были подтвердить корректность решения.
Модели получали описание бага и генерировали патч. Этот патч автоматически накладывался на кодовую базу, после чего система прогоняла его через набор тестов. Задача считалась закрытой, только если все тесты завершались успешно.
В итоге даже сильные модели того времени (вроде Claude 2) показывали около 2% успешных решений при условии строгой постановки задачи. В подавляющем большинстве случаев предложенные изменения либо не решали проблему, либо нарушали работу других частей системы.
Ключевой вывод здесь в характере ошибок. Модель может сгенерировать правдоподобное исправление, но не учитывает всю систему целиком. Она работает с локальным фрагментом, не удерживая архитектурные связи.
Это может быть одной из проблем VibeOS. Отдельные компоненты могут выглядеть корректно и при этом быть несогласованными между собой. В результате система существует как набор частей, но не как единое целое.
Проблема усиливается, когда задача становится длинной и многослойной
Это подробно исследуется в AgentBench: Evaluating LLMs as Agents.
В этой работе модели рассматривались как агенты, которые должны последовательно выполнять задачи: принимать решения, делать шаги и двигаться к цели. Их тестировали в нескольких средах, включая программирование, где важно не только написать код, но и удерживать контекст задачи на протяжении нескольких шагов.
Результаты показали, что на сложных сценариях успешность выполнения задач у бесплатных Open-Source моделей находится примерно в диапазоне 30-40%, и заметно падает по мере увеличения длины цепочки действий. Справедливости ради, коммерческие модели, основанные на API, справлялись лучше — процент успешно завершённых задач доходил до 61%.
При этом важно, как именно возникают ошибки. Модели не просто ошибаются в одном месте, они начинают терять промежуточный контекст, отклоняться от первоначальной цели и накапливать ошибки шаг за шагом.
Это поведение критично для системной разработки. Операционная система — это длинная цепочка взаимосвязанных решений, где каждая часть зависит от предыдущих. Если на каждом этапе вносится небольшая ошибка, в какой-то момент система перестаёт быть согласованной.
Vib-OS как раз демонстрирует этот эффект: накопленные несоответствия приводят к тому, что базовые функции перестают работать.
Без обратной связи ошибки не исчезают
Ещё один важный аспект — способность моделей исправлять собственные ошибки. Это исследуется в работе Self-Refine: Iterative Refinement with Self-Feedback.
В исследовании моделям давали возможность сгенерировать решение, проанализировать его и переписать с учётом ошибок.
Такой итеративный процесс действительно улучшал качество результатов. В разных задачах улучшение составляло десятки процентов по сравнению с одноразовой генерацией.
Но из этого следует важный вывод: без обратной связи модель не исправляет ошибки автоматически. Она не знает, что решение некорректно, пока не получит сигнал извне — например, результат выполнения или тестирования.
Но для сложных систем вроде операционной системы организовать такую обратную связь гораздо сложнее. Автоматически и быстро проверить всю систему после каждого изменения просто нельзя, поэтому ошибки не устраняются, а копятся.
Что это говорит о состоянии индустрии
Если собрать выводы этих исследований вместе, становится видно, что проблема не в конкретной реализации Vib-OS, а в текущих ограничениях технологии и процессов.
Модели могут генерировать код, решать локальные задачи и даже улучшать результат при наличии обратной связи, но при этом ещё плохо работают с целостными системами, теряют контекст на длинных задачах и не удерживают архитектуру.
Рынок же уже пытается использовать вайбкодинг как инструмент для ускорения разработки, не адаптировав под это процессы системного контроля. Кажется, просто ещё слишком рано.
Вместо итогов
Vib-OS — это не неудачный эксперимент, а наглядный пример текущего состояния разработки.
Мы научились генерировать код на уровне отдельных компонентов, но ещё не научились обеспечивать его согласованность на уровне системы. И в этом — главный прогресс. Раньше мы спрашивали: «Может ли ИИ написать ОС?». Теперь мы получили эмпирический ответ: «Может, но она не будет работать как единое целое». Это знание позволяет выстроить правильные процессы, где ИИ берет на себя рутину, а человек — архитектуру. Провал Vib-OS как продукта — это успех для индустрии, потому он чётко отделил сферу применения вайбкодинга от иллюзий о его всемогуществе.