Vse je datoteka: Filozofija oblikovanja od Unixa do AI agentov

2/16/2026
6 min read
# Vse je datoteka: Filozofija oblikovanja od Unixa do AI agentov Originalno Ethan 业成 ![cover_image](https://tipclaw.com/uploads/1771216954301-jo63wbw.jpg)![Image 2](https://tipclaw.com/uploads/1771216976853-xrf0b7x.png) ## Odmev čez pol stoletja Že v zgodnjih 1970-ih v Bell Labs sta oče Unixa, Ken Thompson, in Dennis Ritchie prvič predlagala drzen, skoraj fanatičen princip oblikovanja: **Everything is a file – Vse je datoteka**. Danes, več kot petdeset let kasneje, doživljamo eksplozijo ogrodij za AI agente. Manus, Claude Code, OpenClaw... Prihajajo iz različnih ekip, različnih tehnoloških skladov, različnih poslovnih ciljev, a so se soglasno odločili za isto: datotečni sistem uporabljajo kot kognitivno ogrodje agenta. Manus agentu da virtualni stroj, rezultati nalog pa se shranijo na disk kot datoteke. Claude Code neposredno bere in piše v lokalni datotečni sistem uporabnika, pri čemer datoteka CLAUDE.md vsebuje vsa navodila in kontekst. Odprtokodna ogrodja, kot je OpenClaw, prav tako organizirajo razčlenitev nalog in vmesna stanja v strukturi imenikov. Ko se inženirji, ločeni za pol stoletja, soočajo s popolnoma različnimi tehničnimi problemi, a neodvisno konvergirajo k isti rešitvi – to ni naključje, to je resonanca filozofije oblikovanja. ## Tista odločitev Unixa Da bi razumeli težo te zadeve, se moramo najprej vrniti k temu, kaj je Unix naredil. Oblikovanje datotečnega sistema Unix je splošno priznano kot eno najelegantnejših oblikovanj v zgodovini računalništva. Rešuje izjemno zapleten problem: kako upravljati različne strojne in podatkovne vire z enotnim, preprostim vmesnikom. Pred 1970-imi so operacijski sistemi delovali takole: če ste želeli brati disk, ste poklicali vmesnik za disk; če ste želeli brati magnetni trak, ste poklicali vmesnik za magnetni trak; če ste želeli dostopati do terminala, ste poklicali vmesnik za terminal. Vsaka naprava je imela svoj API, vsak API je imel svojo semantiko. Če imate N naprav in M operacij, je kompleksnost sistema N × M. Thompson in Ritchie sta naredila nekaj, kar se je zdelo preprosto do neumnega: **Vse sta spremenila v datoteke. Za upravljanje z vsem sta uporabila štiri glagole: open, read, write, close.** Njegov osrednji pomen je: vse vire v operacijskem sistemu – dokumente, imenike, trde diske, modeme, tipkovnice, tiskalnike, celo omrežne povezave in informacije o procesih – je mogoče abstrahirati v tok datotek (Stream of Bytes). To pomeni, da se morate naučiti samo en nabor API-jev – open(), read(), write(), close() – da lahko upravljate vse vire računalnika. Od takrat se je kompleksnost zmanjšala z N × M na 4 × 1. Štiri glagole, ena abstrakcija. Genialnost te zadeve ni v samem samostalniku "datoteka", ampak v globljem vpogledu: Ni vam treba vedeti, kaj je za deskriptorjem datoteke. Vmesnik je pogodba. fd (deskriptor datoteke) je neprozorna ročica. Ko ga read(), se pojavi tok bajtov. Ne zanima vas in vas ne bi smelo zanimati, ali ti bajti prihajajo iz sektorja trdega diska, medpomnilnika omrežne kartice ali standardnega izhoda drugega procesa. To je moč enotnega vmesnika: nevednost spremeni v prednost. ![Image 3](https://tipclaw.com/uploads/1771216980153-81ptjfz.png) ## Ista naloga, s katero se sooča Agent Zdaj se ozrimo na položaj AI agenta. Da bi agent opravil zapleteno nalogo, se sooča z osupljivo podobno težavo kot operacijski sistem v 1970-ih: - **Trajni spomin**: Kontekstno okno LLM je nestanovitno, veriga razmišljanja izgine s sejo. Tako kot se pomnilnik sprosti, ko se proces konča – potrebujete mesto za trajno shranjevanje vmesnih stanj, sicer se bo vsak pogovor začel iz nič. - **Postopni kontekst**: Kompleksnih nalog ni mogoče dokončati v enem koraku. Agent mora postopoma nabirati kontekst v več krogih sklepanja, tako kot proces Unix posreduje stanje med več izvedbami z branjem in pisanjem datotek. Datotečni sistem naravno zagotavlja ta način postopnega dela »malo napiši, malo preberi, nato pa spet malo napiši«. - **Enotno razporejanje orodij in veščin**: Agent mora klicati heterogena orodja (Tools/Skills), kot so iskanje, izvajanje kode, generiranje slik, tako kot mora Unix upravljati heterogene naprave, kot so diski, omrežja, tiskalniki. Potrebujete enotno abstrakcijo, sicer boste morali napisati nov nabor integracijske logike za vsako novo orodje. - **Meje dovoljenj za uporabo računalnika**: Ko ima agent možnost upravljanja računalnika, postane vprašanje »česa se lahko dotakne in česa ne« življenjskega pomena. Sistem dovoljenj za datoteke Unix (rwx) zagotavlja že pripravljen model peskovnika – imenik je meja, dovoljenje je pogodba. Štiri zahteve. Se vam zdijo znane? Točno to so bile težave, s katerimi se je operacijski sistem soočal v sedemdesetih letih prejšnjega stoletja. Trajni spomin – datotečni sistem to naravno rešuje, pisanje je trajno. Postopni kontekst – struktura imenikov je sama po sebi zgrajena inkrementalno, mkdir, touch, append, kontekst raste z datotekami. Enotno razporejanje orodij – bistvo cevovoda Unix: stdout enega procesa je stdin drugega procesa, vmesni medij pa je tok bajtov. Enako velja za verigo orodij agenta: izhodna datoteka prejšnjega koraka je vhod naslednjega koraka. Meje dovoljenj – dovoljenja rwx datotečnega sistema, peskovnik chroot, naravno določajo »krog sposobnosti« agenta. Torej, ko se oblikovalci ogrodja agenta soočijo z vprašanjem »kam shraniti delovno stanje agenta«, je odgovor skoraj vnaprej določen: v datotečni sistem. Ker ni preprostejše rešitve, ki bi hkrati izpolnjevala te štiri omejitve. ![Image 4](https://tipclaw.com/uploads/1771216983347-o1dntsu.png)Ko mora sistem »upravljati interakcijo velikega števila heterogenih virov«, imate dve poti: Poti A: Oblikujte namenski vmesnik za vsak vir. N virov × M operacij = NM vmesnikov. Natančno, a eksplozivno. Poti B: Poiščite dovolj tanko abstrakcijo, da vsi viri oblečejo isto obleko. 4 operacije × 1 abstrakcija. Grobo, a kombinirano. Unix je izbral B. Več kot petdeset let kasneje je ogrodje agenta ponovno izbralo B. ![Image 5](https://tipclaw.com/uploads/1771216986423-cmy3ytz.png) ## Globlje: Datoteka je eksternalizacija misli Če pa se ustavimo le pri »konvergenci tehničnih rešitev«, bomo zamudili bistvo. Pomislite, kako ljudje sami obvladujemo kompleksne naloge. Ko prejmete velik projekt, prva stvar ni začeti delati, ampak: ustvariti mape. Korenska mapa projekta, mape podnalog, mape referenčnih materialov, izhodne mape. S strukturo imenikov razčlenite kaotično nalogo na obvladljive enote. Vsaki enoti daste ime z imenom datoteke. V vsebino datoteke zapišete miselni proces in vmesne izdelke. Datotečni sistem ni le rešitev za shranjevanje. Je prvotno orodje za eksternalizacijo človeškega mišljenja. Ta vpogled pojasnjuje, zakaj se ogrodje agenta konvergira v datotečni sistem: »razmišljanje« LLM mora biti eksternalizirano – njegovo kontekstno okno je omejeno, dolgoročno sklepanje se mora zanašati na zunanji spomin. In datotečni sistem je ravno najbolj univerzalen format »zunanjega spomina«, ki ga je človeštvo izumilo. S tega vidika CLAUDE.md kode Claude ni konfiguracijska datoteka. Je neke vrste eksternalizirana kognitivna pogodba – ljudje zapišejo namen v datoteko, agent pa datoteko prebere kot namen. Datoteka je postala vmesni sloj med človeškim umom in umetno inteligenco. ![Image 6](https://tipclaw.com/uploads/1771216989422-rwi5r5j.png)To je presenetljivo skladno s filozofijo cevovoda Unix: > Pišite programe za obdelavo besedilnih tokov, ker je to univerzalen vmesnik.Besedna zveza "zamenjajte 'programe' z 'agenti', zamenjajte 'tokove besedila' z 'datotekami'" bo veljala tudi leta 2026. ## Vrnitev k prvim načelom Velike abstrakcije ne zastarajo, le najdejo nove primere na novih področjih. "Poenoten vmesnik odpravlja kompleksnost" ni izum Unixa, temveč je večni zakon oblikovanja sistemov. Unix ga je po naključju implementiral z imenom "datoteka". AI Agent ga je po naključju ponovno implementiral v obliki "delovnega imenika". Tudi naslednja generacija sistemov se bo ponovno soočila z isto izbiro: oblikovati namenske vmesnike za vsako stvar ali najti tanko, splošno in sestavljivo abstrakcijo? Če nas zgodovina kaj nauči, je odgovor že napisan poleg /dev/null: > Naj bo preprosto. Naj bo sestavljivo. Vse je datoteka.
Published in Technology

You Might Also Like