Vercel Labs er ude med Zero, et nyt systemsprog, som ikke kun konkurrerer på syntaks, men på hele toolchainen: compilerdiagnoser i struktureret JSON, stabile fejlkoder og indbyggede forslag til reparationer, som agenter kan eksekvere direkte. Fokus flyttes fra “AI læser en log” til “AI får handlingsbare data”.
Det lyder ambitiøst, men smerten er velkendt. For et halvt år siden lod vi en agent parse fejl fra en traditionel compiler i et kundeprojekt. Små tekstændringer mellem versioner væltede flowet; resultatet blev flaky patches og to aflyste deploys. Præcis den skrøbelighed er det, Vercel vil eliminere.
Hvad Zero er teknisk
Ifølge Vercels egen gennemgang placerer Zero sig i samme designrum som C og Rust. Det kompilerer til native eksekverbare filer, giver eksplicit kontrol over hukommelse og er målrettet miljøer tæt på metallet. Systemsprog, ikke scriptsprog, med vægt på ydeevne, små binarier og forudsigelig runtime‑adfærd.
Det afgørende nye er kompilatorens grænseflade. Vercel skriver, at output og toolchain er designet “fra dag ét” til at blive konsumeret af AI‑agenter. Hvor mange sprog antager, at et menneske læser en fejl og googler sig frem, antager Zero, at en agent gør det – eksplicit og støttet af struktur.
Agent‑first toolchain i praksis
Når man kører zero check –json, returnerer CLI’en strukturerede diagnostics i JSON. Eksemplet i Vercels materiale ser sådan ud: { “ok”: false, “diagnostics”: [{ “code”: “NAM003”, “message”: “unknown identifier”, “line”: 3, “repair”: { “id”: “declare-missing-symbol” } }] } [kilde: 1394]. Hver diagnostic har en stabil kode (her NAM003), en menneskelig tekst, en linjereference og – vigtigt – et repair‑objekt med en typet repair‑ID. Mennesker kan læse beskeden. Agenter kan handle på koden og repair‑ID’en.
Toolchainen er samlet i én binary med subcommands: zero check, zero run, zero build, zero graph, zero size, zero routes, zero skills, zero explain, zero fix og zero doctor [1394]. For agenter er det enklere at vælge ét binært entrypoint og skifte kommando end at jonglere flere CLI’er med forskellig syntaks.
To kommandoer er centrale i en auto‑repair loop. zero explain henter en maskinvenlig forklaring på fx NAM003 uden at skrabe prose‑dokumentation. Og zero fix –plan –json udsender en struktureret “fix plan” i stedet for en løs tekstforklaring. Agenten skal ikke gætte – den kan udføre.

Skills, versions og den kedelige del der knækker automations
Zero introducerer også zero skills, som leverer versions‑matchet vejledning direkte i CLI’en. Kører man zero skills get zero –full, får man workflows og guidance, der passer til den installerede compiler [1394]. Det er præcis dér mange automatiseringer går i stykker: dokumentation og værktøj driver fra hinanden, og agenter vælger forkert.
Vi har set det tæt på. I en pipeline brød en agent, fordi en compiler ændrede ordlyden i en advarsel. Vores workaround blev at pinne versions og skrive en parser, der kiggede efter nummererede fejlkoder fremfor tekst. Zero gør det til en first‑class mekanisme – den mest undervurderede del af pakken.
Hvorfor det kan ændre automatiseret debugging
Vercels præmis er enkel: sprogværktøjer er bygget til mennesker, ikke til agenter. Maskiner performer bedre med strukturer, faste koder og eksplicitte hints. Det matcher vores erfaring. Når fejlkoder er stabile, og fixes beskrives som data, falder time‑to‑fix for simple sager, og CI/CD bliver mindre følsom over for tilfældige tekstændringer [1394][1395].
Vores vurdering – baseret på tidlige interne tests og kundepiloter – er, at simple syntaks‑ og navngivningsfejl kan skifte fra minutters manuelt arbejde til sekunders automatisering, hvis repair‑planer er pålidelige. Ved ændringer med arkitektonisk rækkevidde flytter flaskehalsen til testen, ikke kompileringen. Den største effekt ligger derfor sandsynligvis i “triage og trivielt”‑laget, som fylder uforholdsmæssigt meget i build‑støjen.
Begrænsninger og åbne spørgsmål
Der er huller. Vercel beskriver repair‑objekter med typede IDs som “declare-missing-symbol” [1394]. Hvor langt rækker semantikken? Omfatter den komplekse refaktoreringer, modulsplit eller API‑migreringer, eller ligger fokus primært på syntaks og symbolik? Dokumentationen viser ikke en taksonomi, versionering eller granularitet for repair‑IDs. Det skal afklares.
Der mangler også uafhængige benchmarks med faktiske agent‑loops. Materialet viser ikke, hvor ofte zero fix –plan –json giver korrekte patches i praksis, eller hvordan kædereaktioner håndteres, når en rettelse skaber nye diagnostics. Skalerer det i monorepos med dybe afhængigheder? Ukendt. Vi noterer det som en åben faktatjek‑opgave.
Sikkerhed, supply chain og hvem trykker på knappen
En agent der kan rette kode, kan også indføre risici. Vercel beskriver ikke i materialet, hvordan autorisation, audit og rollback bør styres i et Zero‑drevet flow [1394]. Governance ender hos kunden. Det skal konkretiseres: hvem må acceptere en repair‑plan, hvordan logges ændringer, og hvordan ruller vi tilbage, hvis en auto‑patch glider forbi testene.
Vores erfaring er, at “immutable artefakter + sporbare approvals + tvungen testkørsel” er minimum. Derudover bør repair‑policies være deklarative og versionsstyrede. Ellers ender regler i prompts og scripts, hvor de ikke kan revideres kontrolleret. Det har vi prøvet. Det virkede kun halvt.
Agent‑arkitektur og kommunikationsformat
Forskning i multi‑agent systemer som RecursiveMAS rapporterer 2,4x hurtigere inferens og 75 procent færre tokens, når agenter udveksler information gennem embeddings fremfor rå tekst [1396]. Det er et andet domæne, men pointerer noget centralt: kommunikationsformatet styrer ydelse og pris.

Zero’s fokus på JSON‑diagnoser, stabile koder og typed repair‑IDs passer ind i den tankegang. Strukturerede objekter kan mappes til embeddings eller til faste “tools” uden tekstlig støj. I praksis kan det skære prompt‑omfang, latens og fejlafledning i multi‑agent flows – med det forbehold, at orkestreringen skal holde semantikken stram.
Sådan kan teams eksperimentere uden at vælte huset
Start i sandbox. Kør zero check –json og zero fix –plan –json på et afgrænset modul, ikke hele repoet. Mål andelen af korrekte forslag, og sæt en lav grænse for auto‑merge. Resten kræver menneskelig godkendelse. Brug feature‑flags og canary‑branches, så fejl ikke rammer main tidligt.
Observability skal med. Standardiser log‑ og diagnostic‑formater på tværs af toolchains, ikke kun Zero. Indfør et reparationsskema i jeres traces: diagnostic‑kode, repair‑ID, forslag, udførelse, testresultat, godkendelse, rollback‑link. Når vi har gjort det hos kunder, falder diskussionstiden i post mortems markant, fordi hændelsen kan afspilles deterministisk.
Planlæg adapters. Zeros unified binary er en gave til agenter, men jeres eksisterende builds, pakkeformater og scripts forsvinder ikke. Skriv små wrappers, der oversætter mellem zero‑kommandoer og jeres buildsystem, og hold “skills” versions‑matchet, så guidance ikke driver. Vi lægger typisk versionspins og skills‑manifester i repoet, tæt på CI‑konfigurationen.
Roller og processer ændrer sig også
Når agenter fixer de nemme fejl, flytter menneskeopgaven. DevOps og SRE skal kunne definere constraints for automatiske rettelser, ikke kun skrive bash. Testdesign, verifikation og tydelige acceptance‑kriterier stiger i værdi. Tiden bruges på at definere, hvad der er acceptabelt, fremfor at jagte semikolon.
For arkitekter opstår en sund disciplin: gør komponentgrænser og effekter eksplicitte. Zero fremhæver det gennem capability‑baseret I/O i eksemplerne [1394]. Hvis I/O og fejlforløb er tydelige, bliver repair‑planer enklere og mere sikre. Hvis alt er implicit, må agenten gætte – og så er skrøbeligheden tilbage.
Hvad andre siger, og hvor feltet er på vej hen
Zero er ikke alene om maskinvenlige interfaces, men det er usædvanligt at se det født ind i et systemsprog og ikke som et lag ovenpå. På forskningssiden peger RecursiveMAS på, at struktur og kommunikationsform kan give store gevinster i agent‑orkestrering [1396]. På værktøjssiden ser vi flere compiler‑ og lint‑projekter med faste fejlkoder og JSON‑output, men uden en sammenhængende repair‑semantik. Det er Zeros niche lige nu.
Vi mangler dog eksterne datapunkter: uafhængige tests med virkelige agentloops, store kodebaser og alt det rod, der følger med virkeligheden. Indtil da er historien lovende, men uafsluttet – en sund skepsis er på sin plads.
Vores foreløbige vurdering
Zero adresserer et reelt problem med et sobert greb: stabile koder, maskinlæsbarhed og en samlet toolchain. Vil I eksperimentere, så gør det smalt, mål alt, og sæt klare gates omkring auto‑rettelser. Den største gevinst ligger i at rydde CI/CD‑støj og skære ventetid i support‑agtige fejl.
Hvor hurtigt skal man reagere? Hurtigt nok til at lære – ikke så hurtigt, at processer knækkes. Et godt første pilotprojekt er en “triage‑bot”, der bruger zero check –json og zero fix –plan –json til at foreslå patches, som kun merges efter bestået tests og menneskelig godkendelse. Man opdager først forskellen, når man sætter agenter i kontakt med faktisk compiler‑feedback.