Structured data without JSON bloat
Račun, skrit v vaših zavitih oklepajih
JSON je zmagal, ker je dolgočasen na povsem pravi način. Ljudje ga lahko berejo. Stroji ga lahko razčlenijo. Vsak jezik ima knjižnico zanj. Če morata dva sistema izmenjati objekt in nihče ne želi sestanka o standardih, se pogovor običajno konča pri JSON-u. V redu. Obstajajo slabši kompromisi. Marsikateri ima v imenu besedo enterprise.
Težava ni JSON kot spletni format. Težava je, kaj se zgodi, ko JSON potisnemo v delovne tokove jezikovnih modelov in se pretvarjamo, da je cena zastonj. Model ne vidi urejenega objekta tako, kot ga vidi aplikacijski razčlenjevalnik. Vidi žetone. Znova in znova bere iste ključe. Porablja kontekst za ločila, ponavljajoča se imena polj, ovoje, ugnezdena ogrodja in opomnike o obliki, ki so bili znani že pred prihodom prvega zapisa.
Ta potrata je bila nekoč zgolj rahlo nadležna. Pri sistemih z umetno inteligenco postane produktni problem. Vsak ponovljeni ključ tekmuje z dokazi, navodili, primeri, citati in dejansko vsebino uporabnikov. Vsak odvečni strukturni žeton je majhen davek na koristno delo. Račun ne omenja nepotrebnih zavitih oklepajev, ker računi nimajo poezije. Omenja žetone.
HEDL izhaja iz preprostega opažanja: ko je shema znana, je ponavljanje sheme v vsakem zapisu nesmiselno. Strukturo določite enkrat. Zapise kodirajte pozicijsko. Semantiko ohranite natančno. Pretvorite nazaj v formate, ki jih obstoječi sistemi že pričakujejo. To ni ideologija proti JSON-u. To je zavrnitev plačevanja modelu, da vsakih deset metrov znova bere isti cestni znak.
To je pomembno, ker strukturirano delo z umetno inteligenco ni le klepet. Gre za ekstrakcijo, klasifikacijo, klicanje orodij, transformacijo podatkov, pakete za pregled, svežnje dokazov, klice MCP, delovne tokove in agente, ki si ves dan izmenjujejo objekte. Resnejši kot je sistem, več strukture potrebuje. Če je struktura izražena na najbolj razvlečen možni način, sistem plačuje za lastno disciplino.
JSON ni zlobnež
To bi bilo lahko zapisati kot pritožbo nad JSON-om, a bi bilo leno. JSON ima resnične prednosti. Je vseprisoten, ga je mogoče razhroščevati, zlahka ga je speljati skozi obstoječa orodja in je dovolj dober za ogromno aplikacijskega dela. Bistvo ni, da je JSON slab. Bistvo je, da se JSON pogosto uporablja tam, kjer prejemna stran obliko že pozna, in tam ponavljanje preneha biti jasnost ter postane balast.
Vzemimo nalogo strukturirane ekstrakcije. Shema določa, da ima vsak odgovor ime, vir, vrednost, stopnjo zaupanja in utemeljitev. Zdaj si predstavljajte, da modelu pošljete na stotine vrstic ali od njega prejmete na stotine vrstic nazaj. JSON ponavlja ta imena polj za vsak objekt. Aplikacijskemu razčlenjevalniku to ne moti. Kontekstu modela pa moti. Okno konteksta postane dostavni kombi, poln nalepk, namesto blaga.
HEDL obravnava shemo kot pogodbo. Imena polj in tipe določi enkrat. Zapisi nato nosijo vrednosti po vrstnem redu. To se sliši očitno, ker je. Številni učinkoviti formati že desetletja sprejemajo podobne kompromise. Razlika je v tem, da je HEDL namenjen strukturiranim delovnim tokovom, usmerjenim k LLM-jem, kjer so človeška razhroščljivost, pretvorba in združljivost z orodji še vedno pomembni. Ni binarni kup podatkov, vržen čez zid s sporočilom srečno.
Implementacija HEDL vključuje podporo za knjižnico Rust, uporabo prek ukazne vrstice, strežnik MCP in proxy vmesnike, WASM, FFI in vezave ter pretvorbo v običajne formate in iz njih. Ta kombinacija je pomembna. Format za delovne tokove umetne inteligence ne more biti samo kompakten. Mora vstopiti v neurejeni svet in ga zapustiti, ne da bi postal zasebni kult. Obstoječi API-ji še vedno želijo JSON. Ljudje še vedno pregledujejo podatke. Orodja še vedno potrebujejo povratne pretvorbe. Format mora biti gost, ne da bi postal nedružaben.
Struktura kot pogodba
Večina napak umetne inteligence pri strukturiranih podatkih ni dramatičnih. So drobne, zaradi česar jih je težje jemati resno, dokler ne stanejo pravega denarja. Polje se zamakne. Vrednost je postavljena pod napačen ključ. Model ustvari verjeten objekt z manjkajočim neobveznim poljem. Razčlenjevalnik sprejme obliko, ki bi jo moral zavrniti. Orodje v nadaljevanju prejme skoraj pravo stvar, kar je najnevarnejša vrsta stvari v programski opremi.
Pristop HEDL, ki daje prednost shemi, je uporaben, ker naredi strukturo eksplicitno, preden se zapisi začnejo premikati. Shema ni ohlapen predlog v pozivu. Je tisto, kar bralcu pove, kako razlagati vrednosti. Zapis je kompakten, ker mu ni treba nenehno pripovedovati o sebi. Okoliška orodja lahko še vedno preverjajo, pretvarjajo in posredujejo podatke sistemom, ki imajo raje JSON, YAML, XML, CSV ali druge običajne oblike.
Povratne pretvorbe so preizkus, ali je format uporaben ali le domiseln. Če JSON vstopi, HEDL potuje skozi delovni tok in JSON izstopi z enako semantiko, sistem pridobi gostoto brez izgube združljivosti. Če se pomen tiho izgubi, je format spodletel. Pravilno vedenje pod pritiskom ni skomigniti z rameni in posredovati objekt naprej. Je blokirati, poročati in izpostaviti dvoumnost.
Tu HEDL lepo stoji ob preostalem delu sklada Dweve. Ledger skrbi, da operativni dogodki ostanejo pregledni. AION skrbi, da je dokaze o odločitvah mogoče preveriti. Trace skrbi, da je izračune mogoče ponoviti. HEDL skrbi, da je strukturirane podatke mogoče predstaviti gosto in natančno obnoviti. Te naloge se dotikajo, a niso ista naloga. Še enkrat: manj toplih nejasnih besed, več uporabnih meja.
Merilo uspešnosti ni okras
Trditve o zmogljivosti pri infrastrukturi umetne inteligence so pogosto zapisane kot ribiške zgodbe. Številka je vsakič, ko jo ponovijo, večja. HEDL ima konkretno trditev o merilu uspešnosti: 571 nalog strukturiranega izločanja na sedmih naborih podatkov, 56 odstotkov manj žetonov kot JSON in 10,3 odstotne točke večja natančnost v primerjavi z JSON.
Te številke je treba brati kot trditev o merilu uspešnosti, ne kot univerzalni zakon fizike. Opisujejo postavitev merila. Ne pomenijo, da vsak delovni tok čudežno doseže enak rezultat. Vendar pojasnjujejo, zakaj format obstaja. Število žetonov ni opomba k implementaciji v sistemih z velikimi jezikovnimi modeli. Je del vmesnika. Če dve predstavitvi nosita enak pomen in ena porabi veliko več konteksta, težja ni nevtralna.
Povečanje natančnosti je še posebej zanimivo. Kaže, da korist ni le v cenejših pozivih. Čistejša predstavitev lahko modelu tudi olajša nalogo. To ne bi smelo biti presenetljivo. Če model porabi manj pozornosti za ponavljajočo se sintaktično navlako, ima več prostora za vrednosti in relacije. To je isti razlog, zakaj so dobri obrazci boljši od zmešanih pri človeškem delu. Človek je lahko pameten, vendar mu ne dajajte davčnega obrazca, ki ga je natisnil tiskalnik s težkim otroštvom.
Tu je širša oblikovalska lekcija. Uporabniških vmesnikov z umetno inteligenco ne bi smeli ocenjevati le po tem, ali se model z njimi znajde. Modeli se znajdejo s številnimi slabimi vmesniki. Ljudje lahko tudi nosijo pohištvo po stopnicah s slabim prijemom in brez načrta. To pa še ne pomeni, da gre za arhitekturo. Dober vmesnik z umetno inteligenco zmanjšuje nepotrebno delo, razkriva strukturo, ohranja pomen in glasno odpove, ko je struktura napačna.
Zakaj so posredniške površine pomembne
Format redko zmaga, ker je čist. Zmaga, ker se prilega grdi sredini. HEDL-ova MCP in posredniški površini sta pomembni, ker večina organizacij preprosto ne more razglasiti, da zdaj vse govori novo predstavitev. Imajo obstoječe API-je, podatkovne shrambe, pravila za preverjanje, nadzorne plošče, zvezke in izvozne formate. Zamenjava vsega tega zaradi prihranka žetonov bi bila junaški način, kako si nakopati sovražnike.
Vzorec posrednika je bolj praktičen. Modelom in orodjem omogočimo, da izkoristijo gosto strukturirano predstavitev tam, kjer je to pomembno. Pretvarjajte na meji. Preverjajte, preden podatki zapustijo nadzorovano pot. Ohranite združljivost z nadaljnjim JSON-om. Sistemi, ki pričakujejo JSON, naj dobijo JSON, vendar modela ne silite, da vleče celotno obliko JSON-a skozi vsak notranji korak.
Tu na tiho in uporabno način vstopi tudi upravljanje. Če posrednik preverja strukturo, lahko zavrne nepravilne objekte, preden postanejo poslovna dejstva. Če ohranja izgubno povratno pot, lahko dokaže, da pretvorba ni spremenila pomena. Če ohranja združljivost z obstoječimi sistemi, ga je mogoče sprejeti, ne da bi vsako integracijo spremenili v program selitve. Smo Evropejci. Imamo dovolj programov selitve. Nekateri imajo še vedno usmerjevalne odbore iz leta 2014.
Za agentske sisteme je posrednik še pomembnejši. Agenti prenašajo strukturirane klice in rezultate čez meje. Kličejo orodja, prejemajo rezultate, posodabljajo spomin, ustvarjajo artefakte in predajajo stanje drugim agentom. Gosta predstavitev s preverjanjem naredi te predaje manj potratne in manj dvoumne. Agenta ne naredi modrega. Ovojnico naredi manj neumno. To je spoštovanja vreden inženirski rezultat.
Kje HEDL ne bi smel biti uporabljen
Vsako uporabno orodje ima mesto, kjer ga ne bi smeli uporabljati. HEDL ni nadomestilo za vsako datoteko JSON na svetu. Če majhno konfiguracijsko datoteko človek prebere enkrat in jo ureja dvakrat letno, bosta JSON ali TOML preživela tragedijo. Če javni API potrebuje največjo poznanost in so nosilci podatkov majhni, je JSON v redu. Če je shema resnično neznana in ad hoc, kodiranje sheme ob branju ni prava začetna predpostavka.
HEDL postane zanimiv, ko se struktura ponavlja, so količine smiselne, je kontekst modela drag, so povratne poti pomembne in orodja potrebujejo združljivost na robovih. Zato so delovni tokovi LLM tako dobra izbira. Sedijo točno na presečišču strukturiranega namena in ekonomike žetonov. Prav tako ponavadi zrastejo od prototipa do produkcije hitreje, kot je kdo načrtoval, ker očitno nihče ni spoznal te lekcije, kljub temu da celotna zgodovina programske opreme v kotu deluje rahlo užaljeno.
Praktična pot uvajanja bi morala biti zato ozka. Ne preoblikujte organizacije. Izberite strukturiran potek ekstrakcije. Izberite pot klica orodij agenta. Izberite mejo MCP posrednika. Merite porabo žetonov, stopnjo napak, rezultate preverjanja in zvestobo pri pretvorbi. Če številke držijo, razširite. Če ne, obdržite dolgočasno rešitev. Cilj ni čaščenje formata. Cilj je, da nehate plačevati za strukturo, ki se ji lahko izognete.
Nauček
Nauček HEDL je, da struktura ni brezplačna samo zato, ker je uporabna. V običajni programski opremi so ponavljajoči se ključi večinoma nadloga. V potekih dela z umetno inteligenco so kontekst, denar, pozornost in površina za napake. Če je shema znana, je ponavljanje v vsakem zapisu pogosto najmanj domiselna možnost, ki je na voljo.
HEDL ponuja preprosto menjavo: strukturo deklarirajte enkrat, zapise kodirajte gosto, ohranite pomene, pretvorite nazaj, ko je treba, in preverjajte na meji posrednika. Ni nadomestilo za JSON kot skupni jezik spleta. Je boljša notranja ovojnica za strukturirano delo z umetno inteligenco, kjer naj model porablja kontekst za pomen, ne pa za branje istih imen polj do toplotne smrti proračuna.
To je uporabno merilo za infrastrukturo umetne inteligence. Ne pametovanje samo sebi v namen. Ne davek na novost. Ne format, zaradi katerega morajo trpeti vsi drugi. Dobra plast odstranjuje odvečno, ohranja pogodbo jasno in pusti preostali sistem delovati naprej. HEDL si prisluži svoje mesto, ko predmet postane manjši, ne da bi pomen postal mehkejši.
JSON lahko ostane. Ničesar ni zagrešil. Lahko si privošči celo skodelico kave. Samo ni mu treba sedeti v vsakem klicu modela in nositi istih ključev kot človek, ki se seli z eno žlico naenkrat.