ZeroLang: когда Vercel создал язык системного программирования для AI-агентов
Коротко: Vercel Labs запустил Zero (расширение
.0), экспериментальный язык системного программирования, спроектированный как «язык для AI-агентов». Всё явно — никаких скрытых аллокаторов, неявной асинхронности, магических глобальных переменных. Со встроенным agent-first инструментарием.
Контекст: AI-агенты меняют требования к языкам
С 2025 по 2026 AI-ассистенты кодинга эволюционировали от «инструментов автодополнения» в автономных агентов, способных писать, отлаживать и поставлять код. Отчет Anthropic 2026 Agentic Coding Trends отмечает, что ~27% AI-ассистированной работы — задачи, которые раньше просто не делались.
Традиционные системные языки — C, C++, Rust, Zig — спроектированы для людей. JSON, а не pretty-подсказки, нужно агентам.
Дизайн: всё явно, начиная с нуля
Нет скрытых аллокаторов
Если функция выделяет память, сигнатура должна это объявлять. Вы явно передаете Alloc, используете owned<T>.
Нет неявной асинхронности
Zero полностью отвергает неявный async. Нет проблем с «раскрашиванием» функций. Поток выполнения буквально то, что написано.
Нет магических глобальных переменных
Даже printf требует явной передачи World:
pub fun main(world: World) -> Void raises { check world.out.write("hello from zero\n")}| Особенность | Традиционные языки | ZeroLang |
|---|---|---|
| Вывод | Неявный глобальный (printf) |
Явный capability (world.out.write) |
| Ошибки | Исключения/возврат | Явный check + raises |
| Память | Неявный GC | Явный Alloc capability |
| Async | Неявный async/await |
Нет неявного async |
| Глобальное состояние | Magic globals | Запрещено |
Инструментарий: не просто компилятор, а IDE для агента
Структурированная JSON-диагностика
$ zero check --json{ "ok": false, "diagnostics": [{ "code": "NAM003", "message": "unknown identifier", "repair": { "id": "declare-missing-symbol" } }]}Каждый diagnostic включает код ошибки, позицию, типизированные метаданные ремонта. Агенты не парсят текст — они действуют по repair.id.
Анализ размера, графов, маршрутов
Встроенные команды с JSON-выходом: zero size --json, zero graph --json, zero routes --json, zero doctor --json, zero skills get.
Сравнение с Rust и Zig
| Аспект | Rust | Zig | ZeroLang |
|---|---|---|---|
| Кривая обучения | Крутая | Умеренная | Умеренная |
| Безопасность памяти | Ownership + borrow checker | Явное управление | Capability system |
| Вывод ошибок | Человеческий текст | Человеческий | Человеческий + JSON |
| Размер бинарника | Hello World ~280KB | Маленький | ~7KB цель |
ZeroLang — экспериментальный проект, нестабильный. Но его ценность в направлении: языки программирования будущего должны быть одновременно human-native и agent-native.
References
- zerolang.ai
- GitHub
- Установка:
curl -fsSL https://zerolang.ai/install.sh | bash