Selvedge i izvedba s dokazima
Pješčanik nije svjedok
Pokretanje nepouzdanog koda jedna je od onih ideja koje zvuče odlično na sastanku jer još nitko nije napisao izvješće o incidentu. Pustite agenta da pozove alat. Pustite dodatak da transformira datoteku. Pustite partnerski modul da obradi podatke. Stavite to u pješčanik. Divno. Kod ne može pobjeći. Svi klimaju glavom. A onda revizor pita što je kod zapravo napravio unutar pješčanika i odjednom svi u prostoriji shvate da zadržavanje nije isto što i dokaz.
Pješčanik odgovara na jedno pitanje: je li radno opterećenje ostalo unutar granice? To je nužno. Ali nije dovoljno. Teže je pitanje što se dogodilo tijekom izvođenja. Koji je artefakt izvršen? Koja je pravila primijenjena? Koje su mogućnosti zatražene? Koji su pozivi domaćina bili dopušteni ili odbijeni? Koliko je goriva, memorije i vremena potrošeno? Što je izašlo? Može li se izvođenje ponoviti bez povjerenja u izvorni stroj? Ako ti odgovori žive u zapisnicima i uvjerenjima, sustav ima kostim, a ne trag revizije.
Selvedge postoji upravo za taj jaz. Stranica to naziva slojem transkripta izvođenja za nepouzdani kod: AION dokazuje rasuđivanje, Ledger bilježi događaje sustava, a Selvedge bilježi izvođenje. Implementacija slijedi taj oblik. Radni prostor projekt je u Rustu 2024 s crateovima za temeljne sažetke i ograničenja resursa, pogone izvođenja, Wasmtime i Kera pozadine, determinizam, WASI i Kera domaćine, pravila, AION provjeru, CLI, MCP, registar, pokretač, demon, reviziju i gostujuće SDK površine. Javno obećanje namjerno je jednostavno: Selvedge izvršava nepouzdani kod uz determinističko izvođenje, provođenje pravila i disciplinu provjere.
Korisna razlika je mala i brutalna. Pješčanik kaže da kod nije otišao. Selvedge je osmišljen da kaže što je kod napravio.
Transkript nije zapisnik
Zapisnici su korisni ljudima koji već otklanjaju pogreške. Manje su korisni kada je pitanje može li se izvođenje kasnije provjeriti od strane nekoga tko nije vjerovao izvornom domaćinu. Redak zapisnika može nedostajati, biti preuređen, filtriran, skraćen, preoblikovan ili objašnjen. Transkript mora biti dio ugovora o izvođenju.
Selvedge jezgra definira SHA3-256 sažetke, tipove pogrešaka, provjeru putanja, autentifikacijske tokene i zajednička ograničenja resursa. README opisuje transkripte sa sažecima bajtkoda, postavki, standardnog izlaza, standardne pogreške, izlaza, memorije i globalnih varijabli, uz potrošnju goriva i brojanje poziva domaćina. Stranica opisuje kako se svaki poziv domaćina sažima u SHA3-256 lanac i rezultat omata u AION-ovu omotnicu dokaza s Ed25519 pečaćenjem. To je razlika između sustava koji kaže vjeruj mi i sustava koji kaže evo paketa.
U tom dizajnu postoji zdrava doza paranoje. Sažetak artefakta imenuje kod. Sažetak postavki imenuje deterministički profil. Transkript imenuje ono što je prešlo granicu domaćina. Potpisana omotnica čini neovlašteno mijenjanje vidljivim. Izvanmrežna provjera znači da izvorni runtime nije jedini svjedok. To je dio koji mnoge priče o pješčanicima preskaču jer je manje zabavno od prikazivanja dodatka u demonstraciji. Demonstracije rijetko pitaju tko je uređivao zapisnik revizije. Revizori pitaju.
Zadano odbijanje također treba potvrde
Zadano odbijanje dobra je postura, ali užasan slogan ako ostane samo na slajdu. Selvedge politika daje sloganu zube. Crate politike definira WASM mogućnosti poput sata, slučajnosti, datotečnog sustava, mreže, okruženja, stdio, procesa i prilagođenih mogućnosti. Nosi ograničenja resursa za memoriju, veličinu datoteke, broj instrukcija i vrijeme. Validira invarijante, odbija duplicirane mogućnosti, pruža strukturirane pogreške i preslikava neuspjehe u zajednički Dweve rječnik grešaka. Izvođač zatim primjenjuje ograničenja resursa na konfiguraciju izvođenja prije nego što radno opterećenje započne.
To znači da politika nije upitnik na koji se odgovara nakon izvođenja. Ona je ulaz u izvođenje. Ako radno opterećenje traži pristup vremenu, slučajnosti, datotečnom sustavu, mreži, okruženju ili procesu, taj zahtjev mora proći politiku. Ako potroši previše goriva, memorije ili stvarnog vremena, izvođenje završava kao kontrolirani neuspjeh. Ako je politika nedosljedna, trebala bi propasti prije nego što artefakt počne raditi bilo što zanimljivo. Vrlo dosadno. Vrlo korisno. Dosada je način na koji čuvamo vikende.
Ključna je poanta da odluke politike nisu odvojene od dokaza. Pješčanik može dopustiti ili zabraniti široku kategoriju, a i dalje ostaviti tanak revizijski trag. Selvedge je izgrađen oko ideje da svaka odluka o propusnici i svako čitanje resursa pripada priči o izvođenju. To je ono što ga čini korisnim za alate agenata, izvođenje dodataka trećih strana, Kera inferenciju, regulirana radna opterećenja i partnerski kod. Posao može biti nepovjerljiv. Dokazi ne bi trebali biti.
Determinizam je mjesto gdje domaćin prestaje improvizirati
Ponovno izvođenje lako je obećati, a teško održati. Domaćin ima sat. Domaćin ima slučajnost. Ponašanje NaN vrijednosti s pomičnim zarezom može biti nezgodno. SIMD se može razlikovati među arhitekturama. Datotečni sustavi, varijable okruženja i stanje procesa izvrsni su načini za prokrijumčarenje nedeterminizma na mjesta gdje ga nitko nije očekivao. Ako želite ponovno izvođenje, morate ukloniti ili kontrolirati te izvore prije nego što postanu isprike.
Selvedge čini determinističko izvođenje zadanim. README opisuje virtualni sat fiksiran na epohu 2024-01-01, zasijanu ChaCha20 slučajnost, mjerenje goriva, generiranje zapisnika i kanonizaciju NaN vrijednosti. Također kaže da je SIMD detekcija najbrža, ali samo za istu arhitekturu, dok je onemogućavanje SIMD-a potpuno prenosiv put na više platformi. Taj posljednji dio je važan jer determinizam nije molitva. To je odluka o konfiguraciji i arhitekturi, a ponekad je poštena razmjena brzina za prenosivost.
Izvođač prema zadanim postavkama koristi Wasmtime pozadinu s omogućenim determinističkim izvođenjem. Kera je druga pozadina, namijenjena Graph IR i radnim opterećenjima binarnih neuronskih mreža. Ta je podjela razumna. WASM je opći put za nepovjerljive komponente. Kera je put za AI grafove. Oba zahtijevaju istu okolnu disciplinu: politiku prije izvođenja, determinističke postavke, zapisnik nakon izvođenja i dokaz oko rezultata.
Zašto agenti ovo čine manje opcionalnim
Agent sustavi ponovno čine neprovjereno izvršavanje modernim, što je rečenica zbog koje bi se svaki sigurnosni stručnjak trebao uspraviti. Model traži poziv alata. Dodatak pokreće transformaciju. Generirani pomoćni skript dotiče podatke. Partnerski alat dolazi putem MCP-a. Model nije napisao alat, alat možda nije pregledan s istom pažnjom kao produktni kod, a korisnik i dalje očekuje da mu sustav objasni što se dogodilo. Sretno s tim ako je jedini odgovor direktorij logova i dojam.
Selvedge ima MCP poslužiteljsku površinu za agentske alate, CLI za tijekove rada poput izgradnje, provjere, pokretanja i ponovnog izvođenja, demona za dugotrajno izvršavanje, grupiranje pokretača i zagrijavanje predmemorije, klijentske i poslužiteljske crateove za registar te gostujući SDK. Poanta nije da je svaka površina ista. Poanta je da oblik dokaza treba biti usporediv. Bez obzira ulazi li radno opterećenje kao WASM komponenta, Kera graf, agentski alat ili servisni zadatak, izvođenje bi trebalo završiti s nečim što možete provjeriti.
Izvedba je kompromis, ne čarolija
Selvedge stranica uključuje mjerne brojke iz BENCHMARKS.md datoteke repozitorija: hladni start je glavna prednost, vrući put je nijansiraniji, Kera JIT ima priču o zagrijanom grafu, a obični Wasmtime i dalje drži neke vruće putove s ponovljenim pozivima. To je pravi način da se o tome govori. Rad izvođenja pun je kompromisa. Ako model komponente proizvodi transkript i omotnicu dokaza, ima drugačije troškove od minimalnog puta. Ako je hladni start vaša bol, taj put dokaza može pomoći. Ako je radno opterećenje tijesan ponovljeni poziv bez potrebe za režijom transkripta, odgovor može biti drugačiji. Vrlo nezgodno, stvarnosti. Odbija biti brošura.
Članak o izvedbi stoga je jednostavan: odaberite izvođenje prema radnom opterećenju. Nemojte koristiti omotnicu dokaza kao čarobni napitak za brzinu. Koristite je kada je trošak nemogućnosti ponovnog izvođenja dokaza veći od režije. Za agentske alate, reguliranu obradu podataka, dodatke trećih strana i izvođenja u kojima će kasnije čovjek pitati što se dogodilo, taj je trošak često stvaran.
Što pregledati prije upotrebe
Prvo odlučite trebate li izolaciju, dokaze ili oboje. Ako je radno opterećenje pouzdano i interno, Selvedge može biti više mehanizacije nego što je potrebno. Ako je radno opterećenje nepouzdano, od partnera, potaknuto modelom ili podložno reviziji, transkript počinje opravdavati svoje mjesto.
Drugo, pregledajte pravila. Koje su mogućnosti dopuštene? Koje su zabranjene? Koja su ograničenja goriva, memorije i vremena? Je li deterministički način obavezan ili samo dopušten? Jesu li pristup datotečnom sustavu i mreži dovoljno uski? Jesu li pravila verzionirana s artefaktom? Ako pravila žive u wikiju, a izvođenje negdje drugdje, dizajn već pluta.
Treće, testirajte ponovno izvođenje kao ponašanje proizvoda. Ne čekajte reviziju da biste otkrili provjerava li se omotnica izvan mreže. Pokrenite isti artefakt, ista pravila i iste ulaze dvaput. Usporedite transkripte. Pokušajte zabranjene mogućnosti. Pokvarite kontrolni zbroj. Promijenite sjeme. Onemogućite SIMD ako je međuplatformski identitet važan. Dosadni testovi su poanta.
Pouka
Selvedge nije ljepši pješčanik. To je sloj dokaza o izvođenju. Pokreće WASM i Kera artefakte, kreće od zadanog odbijanja, ograničava resurse, kontrolira determinističke ulaze, sažima izvođenje u transkripte i omotava rezultate u omotnicu dokaza koja se može provjeriti kasnije. To je drugačije obećanje od kôd je ostao u svom kutu.
Kako AI sustavi pozivaju više alata, pokreću više generiranih pomoćnika i prihvaćaju više komponenti trećih strana, ta razlika prestaje biti akademska. Pitanje neće biti samo je li radno opterećenje pobjeglo. Pitanje će biti što je učinilo, pod kojom politikom, s kojim ulazima, proizvodeći koje izlaze i može li netko drugi ponoviti tu tvrdnju.
Pješčanik je zid. Selvedge nastoji biti i svjedok.