Всичко е файл: Философията на дизайна от Unix до AI Agent
Всичко е файл: Философията на дизайна от Unix до AI Agent
Оригинал Ethan 业成


Отзвук, продължил половин век
Още в началото на 70-те години на миналия век в Bell Labs, бащите на Unix, Кен Томпсън (Ken Thompson) и Денис Ричи (Dennis Ritchie), за първи път предложиха смел до почти маниакален принцип на проектиране: Everything is a file – Всичко е файл.
Повече от петдесет години по-късно, рамките на AI Agent избухват. Manus, Claude Code, OpenClaw... Те идват от различни екипи, различни технологични стекове, различни бизнес цели, но единодушно направиха един и същ избор: да използват файловата система като когнитивен скелет на Agent.
Manus дава на Agent виртуална машина, а резултатите от задачата се записват като файлове. Claude Code директно чете и пише в локалната файлова система на потребителя, използвайки CLAUDE.md файл, за да съхранява всички инструкции и контекст. OpenClaw и други рамки с отворен код също организират декомпозицията на задачите и междинните състояния в структура от директории.
Когато инженери, разделени от половин век, се изправят пред напълно различни технически проблеми, но независимо се събират към едно и също решение – това не е съвпадение, а резонанс на философията на дизайна.
Решението на Unix
За да разберем тежестта на това, трябва първо да се върнем към това, което направи Unix.
Дизайнът на файловата система на Unix е общопризнат като един от най-елегантните дизайни в историята на компютърните науки. Той решава изключително сложен проблем: как да се управляват разнообразни хардуерни и данни ресурси с единен, прост интерфейс.
Преди 70-те години на миналия век операционните системи работеха по следния начин: ако искате да четете от диск, извиквате дисковия интерфейс; ако искате да четете от лента, извиквате лентовия интерфейс; ако искате да получите достъп до терминал, извиквате терминалния интерфейс. Всяко устройство има свой собствен API, всеки API има своя собствена семантика. Ако имате N устройства и M операции, сложността на системата е N × M.
Thompson и Ritchie направиха нещо, което изглеждаше просто до глупост:
Превърнете всичко във файлове. Използвайте четирите глагола open, read, write, close, за да оперирате с всичко.
Основното му значение е, че всички ресурси в операционната система – документи, директории, твърди дискове, модеми, клавиатури, принтери и дори мрежови връзки и информация за процеси – могат да бъдат абстрахирани като поток от файлове (Stream of Bytes).
Това означава, че трябва да научите само един набор от API – open(), read(), write(), close() – за да оперирате с всички ресурси на компютъра.
Оттогава сложността се срина от N × M до 4 × 1. Четири глагола, едно ниво на абстракция.
Гениалността на това не е в съществителното „файл“, а в по-дълбоко прозрение:
Не е нужно да знаете какво стои зад файловия дескриптор. Интерфейсът е договор.
fd (файлов дескриптор) е непрозрачен манипулатор. Четете от него с read(), и потокът от байтове излиза. Що се отнася до това дали тези байтове идват от дисков сектор, буфер на мрежова карта или стандартния изход на друг процес – не ви интересува, и не трябва да ви интересува.
Това е силата на унифицирания интерфейс: той превръща невежеството в предимство.

Същият проблем пред Agent
Сега, поглеждайки назад към положението на AI Agent.
За да изпълни сложна задача, Agent е изправен пред поразително подобна дилема като операционната система през 70-те години на миналия век:
- Персистентна памет: Контекстният прозорец на LLM е променлив и веригата на мислите изчезва със сесията. Подобно на това как паметта се освобождава след излизане на процеса – имате нужда от място, където да запазите междинното състояние, в противен случай всеки разговор започва от нулата.\n- Постепенен контекст: Сложните задачи не могат да бъдат завършени наведнъж. Агентът трябва постепенно да натрупва контекст в множество кръгове на разсъждения, подобно на Unix процесите, които предават състояние между множество изпълнения чрез четене и запис на файлове. Файловата система естествено осигурява този Замяната на "programs" с "agents", а на "text streams" с "files", това твърдение ще бъде вярно и през 2026 година.
Връщане към първите принципи
Великите абстракции не остаряват, те просто намират нови примери в нови области.
"Унифицираният интерфейс премахва сложността" не е изобретение на Unix, а вечен закон на системния дизайн. Unix случайно го реализира с името "файл". AI Agent случайно го реализира отново под формата на "работна директория".
Следващото поколение системи също ще се изправи пред същия избор: да проектира специализирани интерфейси за всяко нещо или да намери тънък, общ и композируем слой абстракция?
Ако историята ни е научила на нещо, отговорът е написан до /dev/null:
Keep it simple. Make it compose. Everything is a file. (Поддържай го просто. Направи го композируемо. Всичко е файл.)





