Vercel laboratorijos
01 / 09 · Apžvalga
Nulis
Programavimo kalba
agentams
Eksperimentinė sistemų kalba, suteikianti AI agentams struktūrizuotą diagnostiką,
įvestus taisymo metaduomenis ir mašininiu būdu skaitomus dokumentus – kartu su mažiau nei 10 KiB vietinių dvejetainių failų.
Sistemų kalba
Agentas-Native
v0.1.1
Apache-2.0
Eksperimentinis
Kontekstas
02/09 · Kodėl nulis egzistuoja
Agento taisymo kilpos problema
Dauguma programavimo kalbų sukuria kompiliatoriaus išvestį, parašytą žmonėms, skaitytojams – nestruktūrizuotą tekstą, kurį AI agentai turi išanalizuoti, kad nustatytų, kas nepavyko ir kaip ją ištaisyti. Taip susidaro trapi kilpa.
- Agentas rašo kodą — kompiliatorius pateikia klaidą kaip nestruktūruotą tekstą
- Agentas analizuoja tekstą – klaidų formatas gali keistis tarp kompiliatoriaus versijų
- Jokių remonto patarimų – nėra integruotos „remonto veiksmo“ koncepcijos
- Žmogus įžengia — ciklas reikalauja rankinio įsikišimo, kad būtų pašalintos klaidos
Nulis buvo sukurtas nuo nulinės dienos, kad agentai galėtų nuskaityti kodą, interpretuoti diagnostiką ir taisyti programą be žmogaus vertimo.
Pagrindinė funkcija
03 / 09 · JSON diagnostika
Struktūrinio kompiliatoriaus išvestis
Bėgimas zero check ——json vietoj paprasto teksto skleidžia mašininio skaitymo diagnostiką. Kiekviena klaida apima stabilų kodą, žmogaus pranešimą, eilutės numerį ir įvestą taisymo ID.
$ zero check --json
{
"ok": false,
"diagnostics": ({
"code": "NAM003",
"message": "unknown identifier",
"line": 3,
"repair": { "id": "declare-missing-symbol" }
})
}- kodas — stabilūs identifikatorių agentai gali patikimai atitikti (
NAM003) - žinutę — žmogaus skaitomas klaidos aprašymas
- remontas – Įvestos taisymo ID agentai gali veikti neanalizuodami teksto
Pagrindinė funkcija
04 / 09 · Remonto komandos
nulis paaiškinimo ir nulis pataisymo
Dvi CLI antrinės komandos užbaigia agento taisymo kilpą, nereikalaujant, kad agentai analizuotų prozos dokumentus.
zero explain NAM003Pateikia struktūrinį bet kurio diagnostikos kodo paaiškinimą. Agentai žiūri aukštyn NAM003 tiesiogiai – jokio doc kasymo.
zero fix --plan --json add.0Išleidžia mašininiu būdu nuskaitomą taisymo planą, kuriame tiksliai aprašoma, kokius pakeitimus reikia atlikti – nereikia daryti jokių išvadų.
kartu, zero explain ir zero fix --plan --json leisti agentams suprasti klaidas ir jas spręsti be žmogaus vertimo kompiliatoriaus išvesties.
Pagrindinė funkcija
05 / 09 · Agento nurodymai
nulis įgūdžių: Versijos suderinimo agento gairės
Daugeliui įrankių reikia, kad agentai išgrynintų išorinę dokumentaciją, kuri gali būti nesinchronizuota su įdiegtu kompiliatoriumi. Nulis tai išsprendžia su zero skills — gairės, teikiamos tiesiai iš CLI, suderintos su įdiegta versija.
zero skills get zero --fullGrąžina tikslines darbo eigas, skirtas:
- Nulinė sintaksė — kalbos pagrindai dabartinei versijai
- Diagnostika — kaip interpretuoti ir veikti pagal kompiliatoriaus išvestį
- Konstato ir pakuoja — manifesto struktūra, tikslai ir produkcija
- Testavimo ir agento redagavimo kilpos — patvirtinimo ir taisymo darbo eigos modelius
Kalbos dizainas
06/09 · Galimybėmis pagrįstas įvestis/išvestis
Aiškūs efektai ir galimybėmis pagrįsta įvestis / išvestis
Nulinėje sistemoje, jei funkcija paliečia išorinį pasaulį, tai sako jos parašas. Nėra paslėpto globalaus proceso objekto, netiesioginės asinchronizacijos ir stebuklingų globalių.
pub fun main(world: World) -> Void raises {
check world.out.write("hello from zero\n")
}- pasaulis: pasaulis — pajėgumų objektas; suteikia prieigą prie I/O, failų sistemos, tinklo
- patikrinti — atlieka klaidingas operacijas; paviršių gedimas iki skambučių krūvos
- kelia — pažymi, kad funkcija gali skleisti klaidas — matoma paraše
- Surašymo laiko vykdymas — nepasiekiamos galimybės atmetamos kompiliavimo metu, o ne vykdymo metu
Kalbos dizainas
07/09 · Atmintis ir dydis
Nuspėjama atmintis ir mažyčiai dvejetainiai failai
Nulis taikomas aplinkoms, kuriose svarbūs dvejetainis dydis ir atminties nuspėjamumas. Nėra paslėpto vykdymo mokesčio.
< 10 KiB
Vietiniai vykdomieji failai per statinį išsiuntimą, nėra privalomo GC, nėra privalomos įvykių ciklo
zero build --emit exe \
--target linux-musl-x64 \
add.0 --out .zero/out/addzero size --json— jei įmanoma, praneša apie artefakto dydį prieš kodo generavimą- Nėra paslėpto skirstytuvo — paskirstymas yra aiškus ir matomas kode
- C ABI eksportas — tikslinės sąveikos metaduomenys C riboms
Greita pradžia
08/09 · Darbo pradžia
Įdiekite ir paleiskite nulį
Įdiekite kompiliatorių naudodami vieną curl komandą:
curl -fsSL https://zerolang.ai/install.sh | bash
export PATH="$HOME/.zero/bin:$PATH"
zero --versionPatikrinkite, paleiskite ir sukurkite pirmąją programą:
zero check examples/hello.0
zero run examples/add.0
zero build --emit exe --target linux-musl-x64 \
examples/add.0 --out .zero/out/addSukurkite naują paketą:
zero new cli hello
cd hello
zero check . && zero test . && zero run .
Būsena
09/09 · Dabartinė būsena
Kas yra ir kas ne
- v0.1.1 (eksperimentinė) — kompiliatorius, stdlib ir kalbos specifikacijos dar nėra stabilios
- Nėra paketų registro — ekosistemos plotis yra ankstyvos stadijos
- Kryžminis kompiliavimas — apsiriboja dokumentais pagrįstu tiksliniu pogrupiu
- VS kodo plėtinys – sintaksės paryškinimas
.0failai pristatomi atpirkimo sandoryje - Pagalbininkai – Chrisas Tate'as ir Mattas Van Hornas („Vercel Labs“)
zerolang.ai
github.com/vercel-labs/zero
„Zero“ yra darbinis eksperimentas, kurį verta stebėti AI inžinieriams, besidomintiems agentų įrankių grandinės projektavimu, o tai dar nėra priklausomybė nuo gamybos.

