惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
Apple Machine Learning Research
Apple Machine Learning Research
Hugging Face - Blog
Hugging Face - Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
B
Blog
月光博客
月光博客
博客园 - 【当耐特】
WordPress大学
WordPress大学
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Jina AI
Jina AI
博客园 - Franky
MyScale Blog
MyScale Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Last Week in AI
Last Week in AI
B
Blog RSS Feed
H
Help Net Security

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Vercel выкатил язык программирования для агентов. Я пытаю...
niktomimo · 2026-05-19 · via Все публикации подряд на Хабре

Уровень сложностиСредний

Время на прочтение4 мин

Охват и читатели16

Мнение

15 мая Vercel Labs релизнули Zero. Экспериментальный системный язык, который сами авторы называют "the programming language for agents". Версия 0.1.1, Apache 2.0, расширение .0, бинарники меньше 10 килобайт, без LLVM. На GitHub лежит компилятор, стандартная библиотека и примеры — можно ставить и щупать прямо сейчас.

Я прочитал доки, поставил себе, погонял пару примеров. Сижу с этой мыслью: серьёзно или очередной хайповый проект под волну агентного кодинга?

Если коротко — наверное серьёзно, но мне сейчас не нужно. Тебе, скорее всего, тоже. Сейчас расскажу, что там и почему я так думаю.

Что Zero на самом деле делает

Фишка не в синтаксисе. Синтаксис у Zero почти как у Rust, только borrow checker попроще и есть капабилити-модель для эффектов. Кто писал на Rust или Zig — разберётся за вечер.

Фишка в компиляторе. Точнее в том, что из него вылезает.

Запускаешь zero check --json и получаешь не привычный кусок текста вроде "expected &str, found String", а структурированный JSON. Стабильный код ошибки типа NAM003, человеческое описание, номер строки, спан, и метаинформация про то, как это чинить. Дальше есть zero explain <код> — структурированное объяснение конкретной диагностики. И zero fix --plan --json — машинный план починки. Что заменить, где, на что.

То есть петля для агента выглядит так. Агент пишет код. Компилятор ругается. Агент читает JSON, смотрит стабильный код, дёргает план починки, применяет, гоняет проверку снова. Никаких "let me parse this error message". Никаких регулярок по выводу cargo build. Никакой надежды на то, что в Anthropic хорошо натренировали модель распознавать новый формат предупреждения после очередного обновления rustc.

Помимо JSON-диагностики есть капабилити-модель ввода-вывода. Хочешь писать в stdout, читать файл, дёргать сеть — функция обязана принять параметр world: World явно. Без него компилятор не даст. Никаких скрытых глобалов, никакого неявного аллокатора, никакого GC. Эффекты видны в сигнатуре. Ошибки пробрасываются через raises, падающие операции помечаются check.

pub fun main(world: World) -> Void raises {
    check world.out.write("hello from zero\n")
}

Когда агент читает чужой код на Zero, он по одной сигнатуре функции уже знает, что она делает с внешним миром. Не нужно строить граф вызовов до самого низа, чтобы понять, лезет ли эта помеченная как pure функция в файловую систему через какую-нибудь хитрую обёртку. Нет в сигнатуре World — в файлы не пишет. И всё.

Зачем это вообще

Если ты не сидишь в Cursor или Claude Code по восемь часов в день, объясняю на пальцах.

Когда я пишу в агентном режиме (у меня примерно 70% продакшен-кода идёт так, я на Claude Max за 200 баксов сижу), реальный bottleneck это не скорость генерации и не размер контекста. Это циклы починки. Агент пишет код, компилятор или линтер ругается, агент читает ругань, что-то предполагает, делает фикс, гоняет снова. Тут и начинается треш.

Формат ошибок меняется между версиями компилятора. Одну и ту же ошибку можно описать по-разному в зависимости от контекста. Текст бывает неоднозначным. У ошибки нет встроенного понятия "вот действие, которое её чинит" — только проза, которую агент должен распарсить и угадать.

С iOS Metal pipeline я недавно ловил ровно это в ONEMIX. Краш в RTCView, обёрнутом в Animated.View. Агент видел крэш-репорт, видел стектрейс, читал ошибку, и упорно тянул не туда. Я в итоге сам разобрался. Но смысл-то агентной работы как раз в том, чтобы я не разбирался.

Zero пытается это починить с другой стороны. Не делать модели умнее, а делать тулчейн понятнее.

Где собака зарыта

Идея огонь. Реализация — версия 0.1.1.

Реестра пакетов нет. Кросс-компиляция работает на узком наборе таргетов. VS Code расширение даёт только подсветку, и всё. Borrow checker слабее Rust-овского. LLVM нет, что одновременно плюс (быстрая сборка, маленькие бинарники) и минус (никакой серьёзной оптимизации, никакого backend для всего кроме небольшого набора платформ). Сами Vercel честно пишут — это эксперимент, не продакшен-зависимость.

Дальше вопрос, на который у меня пока нет ответа. А структурированные JSON-диагностики это вообще решение языкового уровня? У rustc есть --message-format=json. У TypeScript есть --pretty false и парсеры. У Clang есть -fdiagnostics-format=json. Куча инструментов уже умеет это выдавать.

Разница в том, что у Zero коды стабильные, документированные, и привязаны к типизированным репейр-планам. Это не JSON ради JSON, это контракт. Но такой же контракт можно прикрутить и к существующим языкам — сложнее, костыльнее, но можно. Делать ради этого новый язык — амбициозная ставка.

Ещё момент. Капабилити-модель и явные эффекты не новое. Haskell с монадами эффектов, Koka с алгебраическими эффектами, Roc. Только в этих языках всё было сделано для людей, которые хотят чистоту. В Zero ровно та же дисциплина под другим соусом — это нужно агенту, чтобы понимать код без выполнения.

Так нужно или нет

Мой стек это React Native, Expo SDK 54, Drizzle, FastAPI, иногда Rust под Tauri в Лире. Системного программирования на сабмегабайтных бинарниках у меня примерно нигде нет. В продакшене Zero мне сейчас не нужен никак.

Но я попробую его на одной маленькой задаче, чтобы проверить гипотезу. У меня есть пара утилитных CLI на бэке ONEMIX — обработка ассетов, проверки целостности чатов в SQLite, что-то такое, всё на Python. Идеальный кандидат для эксперимента: переписать одну на Zero и посмотреть, реально ли агенту с ней ловчее по сравнению с тем же Python или Go. Если разница ощутимая — можно думать дальше.

Подозреваю что не сильно. Потому что в моей работе бутылочное горлышко не там, где Zero его чинит. Циклы починки у меня ломаются не на парсинге ошибок компилятора, а на семантических багах. Код собирается, тесты идут, но логика делает не то. Тут никакой JSON-диагностики не спасёт.

Что я думаю про всю эту волну

Vercel в январе запустил skills.sh, npm для AI-агентов. 26 тысяч установок React Best Practices за пару дней — это уже не маркетинг, это реальный спрос. Anthropic пушит Claude Skills, у меня самого пачка SKILL.md под Claude Code. Сейчас вот Zero. Тренд очевидный. Тулчейн под агентов перестают делать как обёртку поверх человеческого с переводчиком, и начинают делать как отдельный класс артефактов.

Я не знаю, выстрелит ли Zero. Может через два года это будет зомби-проект с пятью контрибьюторами. Может Vercel приделают к нему серверлесс-деплой и сделают свой Cloudflare Workers на стероидах. Может идею стащит кто-то третий и сделает её на базе LLVM с нормальной экосистемой.

Что точно — направление правильное. Языки, которыми мы сейчас пользуемся, проектировались для людей, которые читают ошибки глазами. Агенты не люди. Если четверть всего ИИ-кодинга это задачи, которые иначе никогда бы и не сделали (свежий отчёт Anthropic), наши инструменты должны меняться под нового потребителя.

Просто я бы пока не сжигал свои Python-проекты ради переезда. Подожду 0.5 минимум.