Všetko je súbor: Filozofia dizajnu od Unixu po AI Agenta
Všetko je súbor: Filozofia dizajnu od Unixu po AI Agenta
Originál Ethan 业成


Ozvena naprieč polstoročím
Už v raných 70. rokoch v Bell Labs Ken Thompson a Dennis Ritchie, otcovia Unixu, prvýkrát navrhli odvážny až takmer paranoidný princíp dizajnu: Everything is a file – Všetko je súbor.
Dnes, o viac ako päťdesiat rokov neskôr, zažívame prudký nárast frameworkov pre AI Agenty. Manus, Claude Code, OpenClaw... Pochádzajú od rôznych tímov, používajú rôzne technologické stacky, majú rôzne obchodné ciele, no napriek tomu sa zhodne rozhodli pre to isté: použiť súborový systém ako poznávaciu kostru Agenta.
Manus dáva Agentovi virtuálny stroj, pričom výstupy úloh sa ukladajú na disk ako súbory. Claude Code priamo číta a zapisuje do lokálneho súborového systému používateľa a používa súbor CLAUDE.md na uloženie všetkých inštrukcií a kontextu. OpenClaw a ďalšie open-source frameworky podobne organizujú dekompozíciu úloh a medzistavy pomocou štruktúry adresárov.
Keď sa inžinieri, ktorí sú od seba vzdialení pol storočia, stretávajú s úplne odlišnými technickými problémami, no nezávisle od seba konvergujú k rovnakému riešeniu – to nie je náhoda, to je rezonancia filozofie dizajnu.
To rozhodnutie Unixu
Aby sme pochopili význam tejto veci, musíme sa najprv vrátiť k tomu, čo Unix urobil.
Dizajn súborového systému Unix je všeobecne uznávaný ako jeden z najelegantnejších návrhov v histórii informatiky. Rieši mimoriadne zložitý problém: ako spravovať rôznorodé hardvérové a dátové zdroje pomocou jednotného a jednoduchého rozhrania.
Pred 70. rokmi fungovali operačné systémy takto: ak ste chceli čítať z disku, volali ste rozhranie disku; ak ste chceli čítať z pásky, volali ste rozhranie pásky; ak ste chceli pristupovať k terminálu, volali ste rozhranie terminálu. Každé zariadenie malo svoje vlastné API a každé API malo svoju vlastnú sémantiku. Ak ste mali N zariadení a M operácií, zložitosť systému bola N × M.
Thompson a Ritchie urobili niečo, čo sa zdalo byť jednoduché až hlúpe:
Premeňte všetko na súbory. Použite štyri slovesá open, read, write, close na manipuláciu so všetkým.
Jeho hlavný význam je: všetky zdroje v operačnom systéme – dokumenty, adresáre, pevné disky, modemy, klávesnice, tlačiarne a dokonca aj sieťové pripojenia a informácie o procesoch – môžu byť abstrahované do prúdu súborov (Stream of Bytes).
To znamená, že sa stačí naučiť jednu sadu API – open(), read(), write(), close() – na manipuláciu so všetkými zdrojmi počítača.
Odvtedy sa zložitosť zrútila z N × M na 4 × 1. Štyri slovesá, jedna abstrakcia.
Genialita tejto veci nespočíva v podstatnom mene „súbor“, ale v hlbšom postrehu:
Nepotrebujete vedieť, čo je za deskriptorom súboru. Rozhranie je zmluva.
Fd (file descriptor – deskriptor súboru) je nepriehľadný handle. Keď na ňom zavoláte read(), vyjde prúd bajtov. Či už tieto bajty pochádzajú zo sektora pevného disku, vyrovnávacej pamäte sieťovej karty alebo štandardného výstupu iného procesu – je vám to jedno a ani by vás to nemalo zaujímať.
To je sila jednotného rozhrania: robí z nevedomosti výhodu.

Rovnaká otázka, ktorej čelí Agent
Teraz sa pozrime na situáciu AI Agenta.
Agent, ktorý má splniť komplexné úlohy, čelí prekvapivo podobnej situácii ako operačný systém v 70. rokoch:
- Perzistentná pamäť: Kontextové okno LLM je nestále a reťazec myslenia zaniká so session. Je to ako s pamäťou, ktorá sa uvoľní po ukončení procesu – potrebujete miesto na perzistentné uloženie medzistavov, inak sa každá konverzácia začína od nuly.
- Postupný kontext: Komplexné úlohy sa nedajú dokončiť jedným krokom. Agent potrebuje postupne akumulovať kontext v priebehu viacerých kôl odvodzovania, podobne ako procesy Unixu prenášajú stav medzi viacerými vykonaniami čítaním a zápisom súborov. Súborový systém prirodzene poskytuje tento režim postupnej práce „napíš trochu, prečítaj trochu a znova napíš“.
- Jednotné plánovanie nástrojov a zručností: Agent musí volať heterogénne nástroje (Tools/Skills), ako je vyhľadávanie, vykonávanie kódu, generovanie obrázkov atď., podobne ako Unix musí spravovať heterogénne zariadenia, ako sú disky, siete, tlačiarne atď. Potrebujete vrstvu jednotnej abstrakcie, inak budete musieť napísať novú integračnú logiku pre každý nový nástroj.
- Hranice povolení pre používanie počítača: Keď má agent schopnosť ovládať počítač, otázka „čoho sa môže dotknúť a čoho nie“ sa stáva životne dôležitou. Systém súborových povolení Unixu (rwx) poskytuje hotový model sandboxu – adresár je hranica, povolenia sú zmluva.
Štyri požiadavky. Znie to povedome?
Presne to boli problémy, ktorým čelili operačné systémy v 70. rokoch.
Perzistentná pamäť – súborový systém to prirodzene rieši, zápis je perzistentný. Postupný kontext – samotná štruktúra adresárov je prírastkovo budovaná, mkdir, touch, append, kontext rastie so súbormi. Jednotné plánovanie nástrojov – podstata Unixových rúr: stdout jedného procesu je stdin iného procesu, sprostredkujúce médium je prúd bajtov. Reťazec nástrojov agenta je rovnaký: výstup predchádzajúceho kroku je vstupom nasledujúceho kroku. Hranice povolení – povolenia rwx súborového systému, sandbox chroot, prirodzene vymedzujú „oblasť schopností“ agenta.
Takže keď dizajnéri rámca agenta čelia otázke „kam umiestniť pracovný stav agenta“, odpoveď je takmer predurčená: do súborového systému. Pretože neexistuje jednoduchšie riešenie, ktoré by súčasne spĺňalo tieto štyri obmedzenia.
Keď systém potrebuje „spravovať interakciu veľkého množstva heterogénnych zdrojov“, máte dve cesty:
Cesta A: Navrhnite špecializované rozhranie pre každý zdroj. N zdrojov × M operácií = NM rozhraní. Presné, ale explozívne.
Cesta B: Nájdite vrstvu abstrakcie, ktorá je dostatočne tenká, aby všetky zdroje nosili rovnaké oblečenie. 4 operácie × 1 vrstva abstrakcie. Hrubé, ale kombinovateľné.
Unix si vybral B. O viac ako päťdesiat rokov neskôr si rámec agenta opäť vybral B.
Hlbšia vrstva: Súbor je externalizácia myslenia
Ale ak sa zastavíme len pri „konvergencii technických riešení“, premeškáme podstatu.
Spomeňte si, ako ľudia sami riešia zložité úlohy.
Dostanete veľký projekt, prvá vec, ktorú urobíte, nie je začať pracovať, ale: vytvoriť priečinok. Koreňový adresár projektu, adresáre podúloh, adresáre referenčných materiálov, výstupné adresáre. Štruktúrou adresárov rozkladáte chaotickú úlohu na spravovateľné jednotky. Názvom súboru pomenujete každú jednotku. Obsahom súboru zaznamenávate proces myslenia a medziprodukty.
Súborový systém nie je len riešenie na ukladanie. Je to pôvodný nástroj na externalizáciu ľudského myslenia.
Tento postreh vysvetľuje, prečo rámec agenta konverguje k súborovému systému: „Myslenie“ LLM potrebuje externalizáciu – jeho kontextové okno je obmedzené a rozsiahle odvodzovanie sa musí spoliehať na externú pamäť. A súborový systém je náhodou najuniverzálnejší formát „externej pamäte“, ktorý ľudstvo vynašlo.
Z tohto pohľadu CLAUDE.md v Claude Code nie je konfiguračný súbor. Je to externalizovaná kognitívna zmluva – ľudia píšu zámer do súboru, agent číta súbor ako zámer. Súbor sa stal rozhraním medzi ľudskou mysľou a umelou inteligenciou.
To je pozoruhodne konzistentné s filozofiou Unixových rúr:
Píšte programy na spracovanie textových prúdov, pretože to je univerzálne rozhranie.Nahraďte "programs" za "agents" a "text streams" za "files", táto veta bude platiť aj v roku 2026.
Návrat k prvým princípom
Skvelé abstrakcie nezostarajú, len si nájdu nové inštancie v nových oblastiach.
"Zjednotené rozhranie rieši komplexnosť" nie je vynález Unixu, je to večný zákon návrhu systémov. Unix ho náhodou implementoval s názvom "súbor". AI Agent ho náhodou znovu implementoval vo forme "pracovného adresára".
Ďalšia generácia systémov bude opäť čeliť rovnakej voľbe: navrhnúť špecializované rozhrania pre každú vec, alebo nájsť tenkú, všeobecnú, kombinovateľnú abstrakciu?
Ak nás história niečo naučila, odpoveď je už dávno napísaná vedľa /dev/null:
Keep it simple. Make it compose. Everything is a file. (Udržujte to jednoduché. Urobte to kombinovateľné. Všetko je súbor.)





