Skip to content

Vercel a créé un langage pour l'IA. Pourquoi ?

Vercel vient de lancer Zero, un langage système dont l'ensemble de la chaîne d'outils parle JSON pour les agents d'IA. Mais dans un monde où les LLM maîtrisent déjà Rust et Python, s'agit-il d'une innovation nécessaire ou d'une solution à la recherche d'un problème ?

Hero image for: Vercel a créé un langage pour l'IA. Pourquoi ?
💡

En bref / Points clés

Vercel vient de lancer Zero, un langage système dont l'ensemble de la chaîne d'outils parle JSON pour les agents d'IA. Mais dans un monde où les LLM maîtrisent déjà Rust et Python, s'agit-il d'une innovation nécessaire ou d'une solution à la recherche d'un problème ?

Plus qu'un langage : Une chaîne d'outils native pour l'IA

Les langages de programmation traditionnels présentent les erreurs du compilateur comme d'épais « murs de texte », optimisés pour l'interprétation humaine plutôt que pour le traitement machine. Ces avertissements et traces non structurés, bien qu'intelligibles pour les développeurs, constituent un obstacle majeur pour les agents d'IA automatisés tentant de déboguer et de corriger le code de manière autonome. Ce choix de conception fondamental dans les chaînes d'outils héritées limite l'efficacité du développement piloté par l'IA.

Le langage Zero de Vercel repense radicalement cette interaction. L'ensemble de sa chaîne d'outils produit du JSON structuré pour chaque diagnostic, comblant le fossé entre la lisibilité humaine et l'exploitabilité par la machine. Cela inclut des détails précis tels que la gravité, le code d'erreur, l'emplacement exact, les valeurs attendues et réelles, et des suggestions de réparation intégrées, offrant une vue granulaire et analysable par la machine des problèmes de code.

La chaîne d'outils de Zero fournit explicitement une option JSON pour chaque sortie, garantissant que les compilateurs, les linters et les autres composants fournissent des données formatées pour la consommation par l'IA. Les diagnostics au sein de cette structure JSON détaillent non seulement le message d'erreur, mais aussi sa `severity` (gravité), un `code` unique, et la `location` (emplacement) précis dans le fichier source. De plus, il comprend des champs `help` (aide) exploitables pour le LLM et une évaluation `fix safety` (sécurité de la correction), indiquant si une révision humaine est requise.

Considérez la commande `zero fix --json`, un excellent exemple de cette approche native pour l'IA. Lorsqu'elle est invoquée, elle ne se contente pas d'identifier les problèmes ; elle génère un « plan » complet et lisible par machine au format JSON. Ce plan décrit des modifications spécifiques, évalue les `safety levels` (niveaux de sécurité), définit le `mode`, et détaille les actions `applies edit` (applique la modification) et la `self-host repair policy` (politique de réparation auto-hébergée), fournissant à un LLM tout le contexte nécessaire pour exécuter des réparations de code directement et de manière fiable, sans nécessiter une formation approfondie ou une intervention humaine.

Un code qui ne peut pas mentir : La capacité 'World' de Zero

Zero défend un principe explicite, exigeant des développeurs qu'ils déclarent clairement les effets secondaires d'une fonction. Au cœur de cela se trouve la capacité `world`, une annotation obligatoire pour toute opération d'E/S. Cela inclut l'accès aux fichiers, les appels réseau, ou même simplement l'impression sur la console. Sa présence signale immédiatement un effet secondaire d'E/S ; son absence garantit une fonction sans E/S, offrant une clarté immédiate aux lecteurs humains et aux IA.

Ce système de capacités permet une sécurité robuste au moment de la compilation. Le compilateur rejette activement les capacités indisponibles pour une cible donnée, prévenant ainsi les échecs d'exécution. Par exemple, tenter d'accéder au système de fichiers au sein d'une fonction compilée pour une cible WebAssembly (WASM), qui ne dispose pas d'interaction directe avec le système de fichiers, déclenche une erreur de compilation. Cela anticipe les surprises et assure des environnements d'exécution prévisibles avant le déploiement.

Au-delà des E/S, Zero étend l'explicité à la gestion des erreurs. Les fonctions susceptibles d'échouer utilisent le mot-clé `raises`, tandis que `check` propage explicitement les erreurs potentielles, reflétant les concepts de sécurité rigoureux de Rust mais avec une implémentation distincte et conviviale pour l'IA. Cette approche complète garantit que le code « ne peut pas mentir » sur son comportement, un attribut essentiel pour une génération et une réparation de code fiables pilotées par l'IA.

Une démo impressionnante, Une prémisse discutable

La démo de Zero par Vercel s'est avérée impressionnante. Un LLM, sans formation préalable sur le langage, a réussi à déboguer le code Zero en utilisant uniquement la sortie JSON structurée de la chaîne d'outils. Cela a mis en évidence la vision d'agents AI comprenant et résolvant de manière autonome les erreurs de programmation, une promesse clé de la chaîne d'outils native de l'AI.

Cependant, la prémisse selon laquelle l'AI *a besoin* d'un nouveau langage pour cette capacité mérite d'être examinée. Les langages de systèmes établis, notamment Rust, offrent des sorties d'erreurs JSON générées par le compilateur depuis des années, bien que peut-être pas avec l'intégration omniprésente et profonde de Zero dans chaque composant de la chaîne d'outils. Le concept fondamental de diagnostics lisibles par machine n'est pas entièrement nouveau.

Plus important encore, l'hypothèse fondamentale concernant les limitations des LLM pourrait être mal placée. Les grands modèles linguistiques actuels démontrent une remarquable compétence à analyser et à agir sur les erreurs de compilateur et les traces de pile traditionnelles, lisibles par l'homme. Ils bénéficient d'énormes ensembles de données d'entraînement englobant des milliards de lignes de code et de scénarios de débogage associés dans les langages existants. Zero doit surmonter cet immense déficit de données pour prouver sa nécessité, surtout lorsque les LLM excellent déjà à travailler avec des langages comme Python, JavaScript et Rust. Pour plus de détails, visitez le site officiel du Zero Programming Language.

Un aperçu de l'avenir, mais pas du présent

Zero présente indéniablement une puissante preuve de concept. Vercel a démontré avec succès comment un langage et sa chaîne d'outils, construits dès le départ pour les agents AI, peuvent débloquer des paradigmes de débogage entièrement nouveaux. Sa sortie JSON structurée, directement consommable par les LLM, et la capacité explicite `world` pour marquer clairement les opérations d'I/O offrent un aperçu convaincant du développement futur centré sur l'AI.

Malgré cette vision convaincante, Zero fait face à un immense obstacle à l'adoption. Les développeurs qui construisent des systèmes critiques ou complexes s'appuient déjà sur des écosystèmes matures profondément enracinés comme Rust, Zig et Go. Ces langages établis disposent de vastes bibliothèques éprouvées, d'outils robustes et de communautés dynamiques que Zero ne possède pas actuellement. Abandonner des fondations aussi solides pour un langage naissant, même avec ses fonctionnalités compatibles avec l'AI, reste une demande monumentale pour la plupart des équipes d'ingénierie.

Zero pourrait ne pas atteindre une adoption généralisée, mais son héritage pourrait s'avérer transformateur. Le langage pousse les chaînes d'outils établies à évoluer, les obligeant à fournir des sorties plus structurées et plus riches pour les agents AI. L'expérience audacieuse de Vercel trace efficacement la voie pour la manière dont tous les langages de programmation pourraient éventuellement s'adapter à un avenir axé sur l'AI, influençant les principes de conception plutôt que de remplacer purement et simplement les solutions existantes.

Questions Fréquemment Posées

Qu'est-ce que Vercel Zero ?

Zero est un nouveau langage de programmation système de Vercel conçu pour la collaboration humaine et AI. L'ensemble de sa chaîne d'outils produit du JSON structuré pour aider les agents AI à lire, déboguer et corriger le code sans données d'entraînement préalables.

Qu'est-ce qui différencie Zero de Rust ou Zig ?

Bien qu'étant également un langage système, le principal différenciateur de Zero est sa chaîne d'outils axée sur l'AI qui produit du JSON structuré. Il dispose également d'un système de capacité 'world' explicite pour gérer les effets secondaires d'I/O au moment de la compilation.

L'AI a-t-elle vraiment besoin d'un nouveau langage de programmation comme Zero ?

C'est le débat central. Les partisans soutiennent que les données structurées de la chaîne d'outils de Zero rendent l'AI plus fiable. Les sceptiques soulignent que les LLM sont déjà compétents pour déboguer des langages lisibles par l'homme comme Rust et Python.

Qu'est-ce que la capacité 'world' dans Zero ?

La capacité 'world' est un mot-clé utilisé pour marquer explicitement les fonctions qui effectuent des opérations d'E/S (comme l'accès aux fichiers ou les appels réseau). Cela permet au compilateur d'appliquer des règles, comme empêcher les compilations WebAssembly d'utiliser les API du système de fichiers.

One weekly email of tools worth shipping. No drip funnel.

one email per week · unsubscribe in two clicks · no third-party tracking

Questions fréquentes

Qu'est-ce que Vercel Zero ?
Zero est un nouveau langage de programmation système de Vercel conçu pour la collaboration humaine et AI. L'ensemble de sa chaîne d'outils produit du JSON structuré pour aider les agents AI à lire, déboguer et corriger le code sans données d'entraînement préalables.
Qu'est-ce qui différencie Zero de Rust ou Zig ?
Bien qu'étant également un langage système, le principal différenciateur de Zero est sa chaîne d'outils axée sur l'AI qui produit du JSON structuré. Il dispose également d'un système de capacité 'world' explicite pour gérer les effets secondaires d'I/O au moment de la compilation.
L'AI a-t-elle vraiment besoin d'un nouveau langage de programmation comme Zero ?
C'est le débat central. Les partisans soutiennent que les données structurées de la chaîne d'outils de Zero rendent l'AI plus fiable. Les sceptiques soulignent que les LLM sont déjà compétents pour déboguer des langages lisibles par l'homme comme Rust et Python.
Qu'est-ce que la capacité 'world' dans Zero ?
La capacité 'world' est un mot-clé utilisé pour marquer explicitement les fonctions qui effectuent des opérations d'E/S . Cela permet au compilateur d'appliquer des règles, comme empêcher les compilations WebAssembly d'utiliser les API du système de fichiers.
🚀En savoir plus

Gardez une longueur d'avance en IA

Découvrez les meilleurs outils IA, agents et serveurs MCP sélectionnés par Stork.AI.

P.S. Vous avez créé quelque chose d'utile ? Listez-le sur Stork — 49 $

Retour à tous les articles