Tot és un fitxer: la filosofia de disseny des d'Unix fins a l'Agent d'IA

2/16/2026
8 min read
# Tot és un fitxer: la filosofia de disseny des d'Unix fins a l'Agent d'IA Original per Ethan 业成 ![cover_image](https://tipclaw.com/uploads/1771216954301-jo63wbw.jpg)![Image 2](https://tipclaw.com/uploads/1771216976853-xrf0b7x.png) ## Ressonància a través de mig segle A principis de la dècada de 1970 als Bell Labs, els pares d'Unix, Ken Thompson i Dennis Ritchie, van proposar per primera vegada un principi de disseny audaç fins a ser gairebé paranoic: **Tot és un fitxer**. Més de cinquanta anys després, els frameworks d'Agent d'IA estan en plena explosió. Manus, Claude Code, OpenClaw... provenen de diferents equips, diferents piles tecnològiques, diferents objectius comercials, però tots han fet la mateixa elecció per unanimitat: utilitzar el sistema de fitxers com a esquelet cognitiu de l'Agent. Manus proporciona a l'Agent una màquina virtual, i els productes de la tasca es descarreguen com a fitxers. Claude Code llegeix i escriu directament al sistema de fitxers local de l'usuari, utilitzant un fitxer CLAUDE.md per portar totes les instruccions i el context. Els frameworks de codi obert com OpenClaw també organitzen la descomposició de tasques i els estats intermedis amb una estructura de directoris. Quan enginyers separats per mig segle, davant de problemes tècnics completament diferents, convergeixen independentment a la mateixa solució, no és una coincidència, sinó una ressonància de la filosofia de disseny. ## La decisió d'Unix Per entendre el pes d'això, primer hem de tornar a veure què va fer Unix. El disseny del sistema de fitxers d'Unix és reconegut com un dels dissenys més elegants de la història de la informàtica. Resol un problema extremadament complex: com gestionar els diversos recursos de maquinari i recursos de dades amb una interfície unificada i senzilla. Abans de la dècada de 1970, els sistemes operatius funcionaven així: si volies llegir un disc, havies d'ajustar la interfície del disc; si volies llegir una cinta, havies d'ajustar la interfície de la cinta; si volies accedir a un terminal, havies d'ajustar la interfície del terminal. Cada dispositiu tenia la seva pròpia API, i cada API tenia la seva pròpia semàntica. Si tens N dispositius i M operacions, la complexitat del sistema és N × M. Thompson i Ritchie van fer una cosa que semblava tan senzilla com estúpida: **Convertir-ho tot en fitxers. Utilitzar els quatre verbs open, read, write, close per operar amb tot.** El seu significat bàsic és: tots els recursos del sistema operatiu (documents, directoris, unitats de disc dur, mòdems, teclats, impressores, fins i tot connexions de xarxa i informació de processos) es poden abstraure en un flux de fitxers (Stream of Bytes). Això vol dir que només has d'aprendre un conjunt d'APIs: open(), read(), write(), close() per operar amb tots els recursos de l'ordinador. A partir d'aquí, la complexitat va col·lapsar de N × M a 4 × 1. Quatre verbs, una capa d'abstracció. El geni d'això no rau en el substantiu "fitxer", sinó en una visió més profunda: No necessites saber què hi ha darrere del descriptor de fitxer. La interfície és el contracte. Un fd (descriptor de fitxer) és un identificador opac. Si hi fas read(), en surt un flux de bytes. Pel que fa a si aquests bytes provenen d'un sector del disc dur, d'un buffer de la targeta de xarxa o de la sortida estàndard d'un altre procés, no t'importa, ni t'hauria d'importar. Aquest és el poder d'una interfície unificada: permet que la ignorància sigui un avantatge. ![Image 3](https://tipclaw.com/uploads/1771216980153-81ptjfz.png) ## El mateix problema que afronta l'Agent Ara tornem a la situació de l'Agent d'IA. Per completar una tasca complexa, un Agent s'enfronta a un dilema sorprenentment similar al del sistema operatiu de la dècada de 1970: - **Memòria persistent**: la finestra de context d'un LLM és volàtil i la cadena de pensament desapareix amb la sessió. És com si la memòria s'alliberés quan un procés finalitza; necessites un lloc per persistir l'estat intermedi, altrament cada conversa comença des de zero. - **Context incremental**: les tasques complexes no es poden completar en un sol pas. L'agent necessita acumular context gradualment en múltiples rondes de raonament, com un procés Unix que passa l'estat entre execucions mitjançant la lectura i escriptura de fitxers. El sistema de fitxers proporciona naturalment aquest mode de treball incremental de "escriure una mica, llegir una mica i després escriure una mica més". - **Programació unificada d'eines i habilitats**: l'agent ha d'invocar eines heterogènies (Tools/Skills) com ara cerca, execució de codi, generació d'imatges, etc., com Unix ha de gestionar dispositius heterogenis com ara discs, xarxes, impressores, etc. Necessites una capa d'abstracció unificada, altrament has d'escriure un nou conjunt de lògica d'integració per a cada nova eina que connectis. - **Límits de permís d'ús de l'ordinador**: quan un agent té la capacitat d'operar un ordinador, "què pot tocar i què no pot tocar" es converteix en una qüestió de vida o mort. El sistema de permisos de fitxers d'Unix (rwx) proporciona precisament un model de sandbox ja fet: el directori és el límit i els permisos són el contracte. Quatre requisits. Sona familiar? Això és exactament el problema que va afrontar el sistema operatiu a la dècada de 1970. Memòria persistent: el sistema de fitxers ho resol naturalment, l'escriptura és persistència. Context incremental: l'estructura de directoris en si es construeix de manera incremental, mkdir, touch, append, el context creix amb el fitxer. Programació unificada d'eines: l'essència de la canonada Unix: la sortida estàndard d'un procés és l'entrada estàndard d'un altre procés, i el medi intermedi és el flux de bytes. La cadena d'eines de l'agent també és així: el fitxer de sortida del pas anterior és l'entrada del pas següent. Límits de permís: els permisos rwx del sistema de fitxers, el sandbox chroot, defineixen naturalment el "cercle de capacitat" de l'agent. Per tant, quan els dissenyadors del marc de l'agent s'enfronten a la pregunta de "on posar l'estat de treball de l'agent", la resposta és gairebé predeterminada: posar-lo al sistema de fitxers. Perquè no hi ha una solució més senzilla que pugui satisfer simultàniament aquestes quatre restriccions. ![Image 4](https://tipclaw.com/uploads/1771216983347-o1dntsu.png)Quan el sistema necessita "gestionar la interacció d'un gran nombre de recursos heterogenis", tens dos camins: Ruta A: dissenyar una interfície dedicada per a cada recurs. N recursos × M operacions = NM interfícies. Precís però explosiu. Ruta B: trobar una capa d'abstracció prou fina perquè tots els recursos portin la mateixa roba. 4 operacions × 1 capa d'abstracció. Rugós però combinable. Unix va triar B. Més de cinquanta anys després, el marc de l'agent torna a triar B. ![Image 5](https://tipclaw.com/uploads/1771216986423-cmy3ytz.png) ## Una capa més profunda: el fitxer és l'externalització del pensament Però si només ens quedem en la "convergència de solucions tècniques", ens perdrem alguna cosa més essencial. Recorda com els humans gestionen les tasques complexes. Quan reps un gran projecte, el primer que fas no és començar a treballar, sinó: crear carpetes. Directori arrel del projecte, directoris de subtasques, directoris de materials de referència, directoris de sortida. Utilitzes l'estructura de directoris per descompondre la tasca caòtica en unitats gestionables. Utilitzes els noms de fitxer per anomenar cada unitat. Utilitzes el contingut del fitxer per registrar el procés de pensament i els productes intermedis. El sistema de fitxers no és només una solució d'emmagatzematge. És l'eina original per externalitzar el pensament humà. Aquesta visió explica per què el marc de l'agent convergeix al sistema de fitxers: el "pensament" del LLM necessita externalització; la seva finestra de context és limitada i el raonament a llarg termini ha de dependre de la memòria externa. I el sistema de fitxers és precisament el format de "memòria externa" més universal que els humans han inventat. Des d'aquesta perspectiva, CLAUDE.md de Claude Code no és un fitxer de configuració. És un contracte cognitiu externalitzat: els humans escriuen la intenció en un fitxer i l'agent llegeix el fitxer com a intenció. El fitxer es converteix en la capa d'interfície entre la ment humana i la intel·ligència artificial. ![Image 6](https://tipclaw.com/uploads/1771216989422-rwi5r5j.png)Això és sorprenentment coherent amb la filosofia de la canonada Unix: > Escriviu programes per gestionar fluxos de text, perquè aquesta és una interfície universal. Substituir "programs" per "agents" i "text streams" per "files", aquesta frase seguirà sent vàlida el 2026. ## Tornar als primers principis Les grans abstraccions no passen de moda, només troben nous exemples en nous camps. "La interfície unificada resol la complexitat" no és un invent d'Unix, és una llei eterna del disseny de sistemes. Unix va tenir la sort d'implementar-la amb el nom de "fitxer". L'AI Agent va tenir la sort d'implementar-la de nou amb la forma de "directori de treball". La propera generació de sistemes també s'enfrontarà a la mateixa elecció: dissenyar interfícies dedicades per a cada cosa o trobar una capa prima, genèrica i composable d'abstracció? Si la història ensenya alguna cosa, la resposta ja està escrita al costat de /dev/null: > Keep it simple. Make it compose. Everything is a file. (Manteniu-ho senzill. Feu que es compongui. Tot és un fitxer.)
Published in Technology

You Might Also Like