needhelp
← Back to blog

ZeroLang: когда Vercel создал язык системного программирования для AI-агентов

by needhelp
ZeroLang
Vercel
Systems Programming
AI Agent
Programming Language
Agent Toolchain

Коротко: 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-диагностика

Terminal window
$ 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

Share this page