Sve je datoteka: Dizajnerska filozofija od Unixa do AI Agenta
Sve je datoteka: Dizajnerska filozofija od Unixa do AI Agenta
Original Ethan 业成


Odjek koji premošćuje pola stoljeća
Još početkom 1970-ih u Bell Labsu, očevi Unixa Ken Thompson i Dennis Ritchie prvi su predložili hrabar, gotovo opsesivan dizajnerski princip: Everything is a file - Sve je datoteka.
Više od pedeset godina kasnije, AI Agent frameworkovi eksplodiraju. Manus, Claude Code, OpenClaw... Dolaze iz različitih timova, različitih tehnoloških stogova, različitih poslovnih ciljeva, ali su se jednoglasno odlučili za istu stvar: koristiti datotečni sustav kao kognitivni kostur Agenta.
Manus daje Agentu virtualni stroj, a rezultati zadataka se spremaju na disk kao datoteke. Claude Code izravno čita i piše na lokalnom datotečnom sustavu korisnika, koristeći datoteku CLAUDE.md za pohranu svih uputa i konteksta. OpenClaw i drugi frameworkovi otvorenog koda također organiziraju dekompoziciju zadataka i međustanja u strukturi direktorija.
Kada inženjeri, razdvojeni pola stoljeća, suočeni s potpuno različitim tehničkim problemima, neovisno konvergiraju na isto rješenje - to nije slučajnost, to je rezonancija dizajnerske filozofije.
Odluka Unixa
Da bismo razumjeli težinu ove stvari, moramo se vratiti na ono što je Unix učinio.
Dizajn Unix datotečnog sustava općenito se smatra jednim od najelegantnijih dizajna u povijesti računalne znanosti. Rješava iznimno složen problem: kako koristiti jedinstveno, jednostavno sučelje za upravljanje različitim hardverskim i podatkovnim resursima.
Prije 1970-ih, operativni sustavi su radili ovako: ako želite čitati disk, pozivate sučelje diska; ako želite čitati vrpcu, pozivate sučelje vrpce; ako želite pristupiti terminalu, pozivate sučelje terminala. Svaki uređaj ima svoj API, svaki API ima svoju semantiku. Ako imate N uređaja i M operacija, složenost sustava je N × M.
Thompson i Ritchie učinili su nešto što se činilo jednostavnim do gluposti:
Pretvorite sve u datoteke. Koristite četiri glagola open, read, write, close za upravljanje svime.
Njegovo temeljno značenje je: svi resursi u operativnom sustavu - dokumenti, direktoriji, tvrdi diskovi, modemi, tipkovnice, pisači, pa čak i mrežne veze i informacije o procesima - mogu se apstrahirati u tok datoteka (Stream of Bytes).
To znači da trebate naučiti samo jedan skup API-ja - open(), read(), write(), close() - da biste upravljali svim resursima računala.
Od tada se složenost srušila s N × M na 4 × 1. Četiri glagola, jedna apstrakcija.
Genijalnost ove stvari nije u imenici "datoteka", već u dubljem uvidu:
Ne morate znati što je iza deskriptora datoteke. Sučelje je ugovor.
fd (deskriptor datoteke) je neprozirni upravljač. Čitate ga s read(), izlazi tok bajtova. Što se tiče toga dolaze li ti bajtovi iz sektora tvrdog diska, međuspremnika mrežne kartice ili standardnog izlaza drugog procesa - nije vas briga, niti bi vas trebalo biti briga.
To je snaga jedinstvenog sučelja: ono čini neznanje prednošću.

Isti problem s kojim se suočava Agent
Sada se osvrnimo na situaciju AI Agenta.
Da bi Agent dovršio složene zadatke, suočava se s nevjerojatno sličnom dilemom kao i operativni sustavi 1970-ih:
- Trajna memorija: Kontekstni prozor LLM-a je nestabilan, a lanac razmišljanja nestaje s sesijom. Kao što se memorija oslobađa nakon izlaska procesa – potrebno vam je mjesto za trajno pohranjivanje međustanja, inače svaki razgovor počinje od nule.
- Postupni kontekst: Složeni zadaci se ne mogu dovršiti u jednom koraku. Agent treba postupno akumulirati kontekst u višestrukim krugovima zaključivanja, baš kao što Unix procesi prenose stanje između višestrukih izvršavanja čitanjem i pisanjem datoteka. Datotečni sustav prirodno pruža ovaj način rada "napiši malo, pročitaj malo, pa napiši malo".
- Jedinstveno raspoređivanje alata i vještina: Agent mora pozivati heterogene alate (Tools/Skills) kao što su pretraživanje, izvršavanje koda, generiranje slika, baš kao što Unix mora upravljati heterogenim uređajima kao što su diskovi, mreže, pisači. Potreban vam je jedinstveni sloj apstrakcije, inače ćete morati napisati novi skup integracijske logike za svaki novi alat.
- Granice dopuštenja za korištenje računala: Kada Agent ima mogućnost upravljanja računalom, pitanje "što može dirati, a što ne" postaje pitanje života i smrti. Unixov sustav dopuštenja za datoteke (rwx) pruža gotov model pješčanika – direktorij je granica, a dopuštenja su ugovor.
Četiri zahtjeva. Zvuči poznato?
To je upravo problem s kojim se operativni sustav suočio 1970-ih.
Trajna memorija – datotečni sustav to prirodno rješava, pisanje je trajno. Postupni kontekst – struktura direktorija je sama po sebi inkrementalno izgrađena, mkdir, touch, append, kontekst raste s datotekom. Jedinstveno raspoređivanje alata – bit Unixovog cjevovoda: stdout jednog procesa je stdin drugog procesa, a srednji medij je tok bajtova. Isto vrijedi i za lanac alata Agenta: izlaz prethodnog koraka je ulaz sljedećeg koraka. Granice dopuštenja – rwx dopuštenja datotečnog sustava, chroot pješčanik, prirodno definiraju "krug sposobnosti" za Agenta.
Dakle, kada se dizajneri Agent frameworka suoče s pitanjem "gdje staviti radno stanje Agenta", odgovor je gotovo unaprijed određen: u datotečni sustav. Jer ne postoji jednostavnije rješenje koje može istovremeno zadovoljiti ova četiri ograničenja.
Kada sustav treba "upravljati interakcijom velikog broja heterogenih resursa", imate dva puta:
Put A: Dizajnirajte namjensko sučelje za svaki resurs. N resursa × M operacija = NM sučelja. Precizno, ali eksplozivno.
Put B: Pronađite dovoljno tanak sloj apstrakcije da svi resursi nose istu odjeću. 4 operacije × 1 sloj apstrakcije. Grubo, ali kombinirano.
Unix je odabrao B. Više od pedeset godina kasnije, Agent framework ponovno je odabrao B.

Dublji sloj: Datoteka je eksternalizacija razmišljanja
Ali ako se zaustavimo samo na "konvergenciji tehničkih rješenja", propustit ćemo bitne stvari.
Razmislite kako ljudi sami rješavaju složene zadatke.
Kada dobijete veliki projekt, prva stvar koju učinite nije da počnete raditi, već: napravite mapu. Korijenski direktorij projekta, direktoriji podzadataka, direktoriji referentnih materijala, izlazni direktoriji. Koristite strukturu direktorija da razbijete kaotičan zadatak u upravljive jedinice. Koristite nazive datoteka da imenujete svaku jedinicu. Koristite sadržaj datoteke za bilježenje procesa razmišljanja i međuproizvoda.
Datotečni sustav nije samo rješenje za pohranu. To je originalni alat za eksternalizaciju ljudskog razmišljanja.
Ovaj uvid objašnjava zašto se Agent framework konvergira u datotečni sustav: "razmišljanje" LLM-a treba eksternalizirati – njegov kontekstni prozor je ograničen, a dugoročno zaključivanje mora se oslanjati na vanjsku memoriju. A datotečni sustav je upravo najuniverzalniji format "vanjske memorije" koji je čovjek izumio.
Gledano iz ove perspektive, CLAUDE.md Claude Codea nije konfiguracijska datoteka. To je eksternalizirani kognitivni ugovor – ljudi pišu namjeru u datoteku, a Agent čita datoteku kao namjeru. Datoteka postaje sloj sučelja između ljudskog uma i umjetne inteligencije.
Ovo je nevjerojatno u skladu s filozofijom Unix cjevovoda:
Pišite programe za rukovanje tekstualnim tokovima, jer je to univerzalno sučelje.Zamijenite "programs" s "agents", a "text streams" s "files", i ova izjava će i dalje vrijediti 2026. godine.
Povratak na prve principe
Velike apstrakcije ne zastarijevaju, one samo pronalaze nove instance u novim područjima.
"Jedinstveno sučelje rješava složenost" nije Unixov izum, to je vječni zakon dizajna sustava. Unix ga je slučajno implementirao s imenom "file". AI Agent ga je slučajno ponovno implementirao u obliku "radnog direktorija".
Sljedeća generacija sustava također će se suočiti s istim izborom: dizajnirati namjenska sučelja za svaku stvar ili pronaći tanak, univerzalan i složiv sloj apstrakcije?
Ako nas povijest išta uči, odgovor je već napisan pored /dev/null:
Keep it simple. Make it compose. Everything is a file.





