Виртуальные файловые системы для агентов в последнее время появляются одна за другой, но подход Mirage отличается.
Большинство таких проектов дают агенту специальный API или инструмент — «вызови эту функцию для S3, вызови ту для Google Drive». Mirage делает наоборот: монтирует все бэкенды в единое виртуальное файловое дерево, и агенту нужно только уметь использовать ls, cat, grep, cp и другие команды bash.
Как это работает
Mirage монтирует виртуальную файловую систему локально через FUSE (файловая система пользовательского пространства). В этой файловой системе вы видите файлы в S3 bucket, документы Google Drive, сообщения каналов Slack, пары ключ-значение Redis — всё представлено в виде файлов.
Для агента различия между источниками данных исчезают. Ему не нужно знать «этот файл на S3» или «это сообщение в Slack» — он просто оперирует ими как локальными файлами.
Поддерживаемые цели монтирования:
- S3
- Google Drive
- Slack
- Gmail
- Redis
- И другие
Почему этот подход интересен
Одна из самых больших слабостей агентов — стоимость обучения вызову инструментов. Каждый раз при подключении нового источника данных нужно определять новую схему инструмента, писать новый промпт, объясняя агенту как его использовать, и обрабатывать новые случаи ошибок.
Mirage сводит эту стоимость к нулю — после монтирования агент знает как пользоваться. Потому что команды bash — это универсальный навык, который агент уже имеет.
Именно поэтому кто-то в китайском сообществе оценил: «это расширяет мышление, файловая система становится центром ресурсов».
Но всё ещё очень рано
Проект только вчера выпустил v0.0.1-alpha.1, всего 4 коммита, 1k звёзд. Оба SDK — Python и TypeScript — на ранних стадиях.
Что означает alpha-версия? То, что не стоит использовать её в production. Но она валидирует направление, за которым стоит следить: пусть агенты оперируют самыми незнакомыми источниками данных самым знакомым способом.
Сравнение с другими VFS-проектами
Одновременно появляется несколько аналогичных проектов виртуальных файловых систем. Отличие Mirage — более широкий список поддерживаемых целей монтирования и предоставление реализаций как на Python, так и на TypeScript.
Если вы проектируете слой доступа к данным для агентов, подход Mirage достоин внимания — не инкапсулировать больше API, а уменьшить количество интерфейсов, которые агенту нужно изучать.
Основные источники: