
Zero-экспериментальный системный язык от Vercel Labs, чья компиляция и единый CLI по умолчанию выдают структурированные JSON‑диагностики и машинно‑читаемые планы исправлений, что упрощает автоматизацию циклов «написать — проверить—починить» для агентов ИИ.
Vercel Labs объявила о Zero, экспериментальном языке системного уровня и связанной инструментальной цепочке, спроектированных для прямого потребления агентами ИИ. Компилятор и CLI по умолчанию эмитируют структурированные JSON‑диагностики с устойчивыми кодами и типизированной метаданной, что позволяет агентам автоматически читать ошибки и выбирать заранее описанные шаги исправления без парсинга человеко‑ориентированных сообщений. Это делает цикл правки более предсказуемым для автоматизированных рабочих процессов и ускоряет интеграцию агентов в разработку и деплой.
Диагностическая модель Zero ориентирована на машинную читаемость: команда zero check --json возвращает объект с полем "ok": false и массивом diagnostics, где каждому элементу соответствует код (пример — NAM003), человеко‑читаемое сообщение, ссылка на строку и объект repair с идентификатором действия (например "declare — missing-symbol"). Отдельная команда zero fix --plan --json генерирует машинно‑читаемый план исправлений, а zero explain возвращает подробное описание диагностического кода для автоматизированной справки и принятия решений агентом.
Инструментальная цепочка собрана в один исполняемый файл: подкоманды zero check, zero run, zero build, zero graph, zero size, zero routes, zero skills, zero explain, zero fix и zero doctor доступны в одном бинарнике. Для агентных рабочих процессов это снижает необходимость выбирать и комбинировать отдельные утилиты и упрощает автоматизацию цикла «написать — проверить — починить».
Язык вводит явные эффекты в сигнатуры функций: доступ к внешнему миру передаётся через capability‑объект. В качестве примера приводят объявление entry point: pub fun main(world: World) ->Void raises. Компилятор запрещает I/O для функций без соответствующей capability, ключевое слово check обрабатывает обратимые операции, а raises помечает возможность распространения ошибок вверх по стеку — все это повышает контроль над побочными эффектами и безопасностью в низкоуровневых средах.
По дизайн‑пространству Zero размещают рядом с C и Rust: язык нацелен на контроль памяти и таргетирование низкоуровневых окружений, но ключевое отличие — инструментальная ориентация на агентов ИИ. Предсказуемые токены, стабильные коды и машинно‑читаемые подсказки по ремонту сокращают хрупкость циклов правки, где современные агенты слабо работают с неструктурированным текстом компилятора. Команда zero skills get zero --full предоставляет версии‑сопоставимые руководства и workflow, помогая агентам оперировать с конкретной установленной версией компилятора без обходного скрейпинга документации. Кроме того, Zero ориентирован на компактные нативные сборки: в заметке упоминаются сборки размером менее 10 KiB, что делает язык привлекательным для low‑level деплоев и встроенных сред, где критичны размер и предсказуемость бинарников.
Источники
Ответы (0)
Пока нет ответов в этой теме.