Laboratorios Vercel
01 / 09 · Descripción general
Cero
El lenguaje de programación
para agentes
Un lenguaje de sistemas experimental que brinda a los agentes de IA diagnósticos estructurados,
metadatos de reparación escritos y documentos legibles por máquina, junto con archivos binarios nativos de menos de 10 KiB.
Lenguaje de sistemas
Agente nativo
v0.1.1
Apache-2.0
Experimental
Contexto
02 / 09 · Por qué existe el cero
El problema del bucle de reparación del agente
La mayoría de los lenguajes de programación producen resultados de compilación escritos para lectores humanos: texto no estructurado que los agentes de IA deben analizar para determinar qué falló y cómo solucionarlo. Esto crea un bucle frágil.
El agente escribe código: el compilador emite un error como texto no estructurado. El agente analiza el texto: el formato del error puede cambiar entre versiones del compilador. Sin sugerencias de reparación: no existe un concepto integrado de “acción de reparación” El ser humano interviene: el bucle requiere intervención manual para resolver los errores
Zero fue diseñado desde el día cero para que los agentes puedan leer el código, interpretar los diagnósticos y reparar el programa, sin traducción humana.
Característica principal
03 / 09 · Diagnóstico JSON
Salida estructurada del compilador
Al ejecutar la verificación cero, json emite diagnósticos legibles por máquina en lugar de texto sin formato. Cada error incluye un código estable, un mensaje humano, un número de línea y un ID de reparación escrito.
$ verificación cero –json { “ok”: falso, “diagnóstico”: [{
“code”: “NAM003”,
“message”: “unknown identifier”,
“line”: 3,
“repair”: { “id”: “declare-missing-symbol” }
}]
} código: los agentes identificadores estables pueden coincidir de manera confiable (NAM003) mensaje: descripción legible por humanos de la reparación del error: los agentes de ID de reparación escritos pueden actuar sin análisis de texto
Característica principal
04 / 09 · Comandos de reparación
explicación cero y corrección cero
Dos subcomandos CLI completan el ciclo de reparación del agente sin necesidad de que los agentes analicen la documentación escrita.
cero explicar NAM003
Devuelve una explicación estructurada de cualquier código de diagnóstico. Los agentes buscan NAM003 directamente, sin necesidad de extraer documentos.
corrección cero –plan –json add.0
Emite un plan de reparación legible por máquina que describe exactamente qué cambios realizar, sin necesidad de inferencias.
Juntos, zero explicó y zero fix –plan –json permiten que los agentes comprendan los errores y actúen en consecuencia sin traducción humana de la salida del compilador.
Característica principal
05 / 09 · Orientación para agentes
Habilidades cero: Guía para agentes de versiones coincidentes
La mayoría de las herramientas requieren que los agentes eliminen la documentación externa que puede no estar sincronizada con el compilador instalado. Zero resuelve esto sin ninguna habilidad: orientación proporcionada directamente desde la CLI, adaptada a la versión instalada.
cero habilidades obtienen cero – completo
Devuelve flujos de trabajo enfocados para:
Sintaxis cero: fundamentos del lenguaje para la versión actual Diagnóstico: cómo interpretar y actuar sobre la salida del compilador Compilaciones y paquetes: estructura del manifiesto, objetivos y salida Bucles de edición de agentes y pruebas: patrones de flujo de trabajo de validación y reparación
Diseño de lenguaje
06 / 09 · E/S basadas en capacidades
Efectos explícitos y E/S basadas en capacidades
En Zero, si una función toca el mundo exterior, su firma lo dice. No hay ningún objeto de proceso global oculto, ni asíncrono implícito ni globales mágicos.
pub fun main(world: World) -> Void plantea { check world.out.write(“hola desde cero\n”) } world: World — objeto de capacidad; otorga acceso a E/S, sistema de archivos, verificación de red: maneja operaciones falibles; Aparece una falla en la pila de llamadas: indica que la función puede propagar errores: visible en la firma. Aplicación del tiempo de compilación: las capacidades no disponibles se rechazan en el tiempo de compilación, no en el tiempo de ejecución.
Diseño de lenguaje
07 / 09 · Memoria y tamaño
Memoria predecible y binarios diminutos
Zero apunta a entornos donde el tamaño binario y la previsibilidad de la memoria son importantes. No hay ningún impuesto de tiempo de ejecución oculto.
< 10 KiB
Ejecutables nativos mediante envío estático, sin GC obligatorio, sin bucle de eventos obligatorio
compilación cero –emit exe \ –target linux-musl-x64 \ add.0 –out .zero/out/add
tamaño cero –json: informa el tamaño del artefacto antes de la generación del código cuando sea posible Sin asignador oculto: la asignación es explícita y visible en el código Exportaciones ABI de C: metadatos de interoperabilidad con reconocimiento de objetivos para los límites de C
Inicio rápido
08 / 09 · Primeros pasos
Instalar y ejecutar cero
Instale el compilador con un único comando curl:
curl -fsSL https://zerolang.ai/install.sh | bash export PATH=”$HOME/.zero/bin:$PATH” cero –versión
Verifique, ejecute y cree su primer programa:
ejemplos de verificación cero/hello.0 ejemplos de ejecución cero/add.0 compilación cero –emit exe –target linux-musl-x64 \ ejemplos/add.0 –out .zero/out/add
Crea un nuevo paquete:
cero nuevo cli hola cd hola cero cheque. && prueba cero. && ejecución cero.
Estado
09 / 09 · Estado actual
Qué está disponible y qué no
v0.1.1 (Experimental): el compilador, la biblioteca estándar y las especificaciones del lenguaje aún no son estables. No hay registro de paquetes; la amplitud del ecosistema se encuentra en una etapa inicial. Compilación cruzada: limitada al subconjunto de destino documentado. Extensión de código VS: resaltado de sintaxis para archivos .0 que se incluyen en el repositorio. Colaboradores: Chris Tate y Matt Van Horn (Vercel Labs)
cerolang.ai
github.com/vercel-labs/zero
Zero es un experimento funcional que vale la pena seguir para los ingenieros de IA interesados en el diseño de cadenas de herramientas nativas del agente, que aún no es una dependencia de la producción.