00:00:00С тех пор как нейросети стали по-настоящему мощными, многие начали создавать крутые продукты,
00:00:04интегрируя в них модели и решая множество наших задач. Но такие системы потребляют уйму
00:00:09токенов, особенно если вы интегрируете модель через API. Решение этой проблемы гораздо
00:00:15проще, чем кажется. Лучшая архитектура — это не сложнейший конвейер или масштабный тюнинг,
00:00:20а старая философия Unix-систем, где «все есть файл».
00:00:25Я понимаю, что создатели Unix не думали о затратах на нейросети, а говорили об устройствах и файлах.
00:00:30Но, как ни странно, решение проблемы высокой стоимости кроется в том же самом принципе.
00:00:35Именно об этом говорит один из инженеров Vercel. Прежде чем мы разберем, почему файлы — это решение,
00:00:41давайте поймем, как на самом деле работают эти модели. Модели обучались
00:00:46на колоссальных объемах кода. Именно поэтому они так хорошо разбираются в коде,
00:00:50структуре каталогов и нативных bash-скриптах, которые разработчики используют для навигации.
00:00:56Когда агент использует grep или ls, он не делает ничего нового. Он просто делает то,
00:01:01что уже умеет, но в более контролируемой среде. Этот подход применим не только к коду: агенты могут
00:01:06перемещаться по любому каталогу с любым контентом, потому что они привыкли
00:01:11к командам и понимают файловые системы. Когда агенту что-то нужно, он ищет это
00:01:17с помощью стандартных bash-команд вроде ls и find. Как только нужный файл найден,
00:01:23агент ищет в нем релевантный контент через сопоставление с шаблоном с помощью grep и cat.
00:01:27В модель отправляется лишь небольшой фрагмент информации, а остальное остается вне памяти,
00:01:32не забивая контекстное окно. Это значит, что мы не тратим токены на лишние
00:01:36данные, которые модели не нужны. Благодаря этому подходу агент возвращает структурированный ответ.
00:01:41Эта схема работает настолько эффективно, что Vercel выпустили open-source инструмент на базе bash,
00:01:46позволяющий агентам исследовать файловые системы так же, как это делает разработчик.
00:01:51При создании LLM-систем есть два способа передать модели нужную информацию:
00:01:56либо через подробный системный промпт в надежде, что агент ему последует,
00:02:00либо загрузив данные в векторную БД и используя семантический поиск. Но у обоих
00:02:06подходов есть минусы. У системных промптов ограниченное окно токенов, что сужает объем
00:02:10передаваемых данных. Для работы с большими наборами используется семантический поиск,
00:02:15который ищет информацию по смыслу запроса. Но векторный поиск ориентирован
00:02:20на сходство, а не на точное совпадение. Он возвращает блоки данных, подходящие под общий
00:02:25контекст, а не конкретное значение. В итоге извлекать нужную суть из этих блоков приходится самой модели.
00:02:30Файловые системы предлагают другой путь. В них структура
00:02:35напрямую отражает вашу предметную область. Часто иерархия папок и файлов
00:02:40зеркально отображает связи между объектами. С файловыми
00:02:45системами вам не нужно превращать эти связи в плоские векторные блоки,
00:02:49что помогает избежать потери контекста, которая часто случается при семантическом поиске. Эти иерархические
00:02:54связи сохраняются естественным образом, поддерживая логику организации ваших данных.
00:02:59Еще одно преимущество — точность: grep и bash-инструменты возвращают точные
00:03:05совпадения. Векторный поиск же выдает кучу блоков, которые лишь отдаленно похожи на запрос,
00:03:10и оставляет выбор за моделью. Здесь же вы получаете ровно то, что искали. Контекст остается минимальным,
00:03:15так как агент получает только нужный фрагмент, а лишние данные
00:03:20не попадают в память. Это позволяет агенту сохранять фокус на конкретной информации,
00:03:25не отвлекаясь на посторонние данные. И эта идея вам наверняка знакома.
00:03:30Она уже используется в Claude Code и CLI-агентах, где функции bash
00:03:36сужают область поиска через шаблоны. Мы уже используем файловую систему
00:03:41и возможности Claude Code для проверки любых идей. Обычно мы прогоняем
00:03:46найденный инструмент через конвейер, состоящий из нескольких фаз
00:03:51с нашими критериями оценки. Все это описано в markdown-файле,
00:03:56где указаны требования, цели теста, структура итогового документа
00:04:01и информация для каждой фазы. Мы также даем Claude примеры документов
00:04:06для соблюдения стиля, а результат сохраняется в папку research_results.
00:04:11Процессом руководит файл Claude.md, объясняющий, как поэтапно проверять идею,
00:04:17чтобы на выходе получить документ, соответствующий всем критериям.
00:04:22Когда нужно что-то изучить, я просто иду в Claude и описываю идею или инструмент.
00:04:27Он запускает шестифазный процесс валидации: сначала изучает суть,
00:04:32а затем последовательно проходит все этапы. По завершении всех фаз
00:04:37Claude генерирует отчет, по которому мы понимаем, перспективна ли идея.
00:04:42Подход с файловой системой экономит массу времени, автоматизируя то, что мы делали бы вручную.
00:04:47Если хотите опробовать этот конвейер в деле,
00:04:52готовый шаблон для создания собственной системы исследований доступен
00:04:57в нашем новом сообществе AI Labs Pro. Там же, как и ко всем
00:05:03предыдущим видео, вы найдете шаблоны, промпты и команды,
00:05:08которые можно сразу внедрять в свои проекты. Это лучший способ поддержать наш канал.
00:05:12Ссылки в описании. Я изучал их кейс о том,
00:05:17как собрать агента для анализа продаж на этой архитектуре.
00:05:22Они открыли исходный код, и это натолкнуло меня на интересную идею.
00:05:27Я работал над проектом с корпоративными политиками, где данные хранились
00:05:32в JSON, Markdown и TXT файлах, разделенных по отделам. Обычно я бы использовал
00:05:39векторную базу типа Chroma, но решил дать шанс этому инструменту. Я внедрил
00:05:44эту архитектуру. На бэкенде я указал путь к папке с данными компании
00:05:49и дал агенту доступ к командам ls, cat, grep и find,
00:05:55а также инструкцию, как и когда их применять. Я взял модель Gemini 1.5 Flash,
00:06:01подключил bash-инструмент от Vercel и прописал путь к документам.
00:06:06В итоге, когда я спрашивал агента о чем-либо,
00:06:11он отвечал, опираясь на точные данные из справочников и регламентов.
00:06:16Чтобы проверить его работу, я вывел логи команд в терминал.
00:06:21Агент сначала использовал ls, чтобы увидеть список файлов, а затем grep,
00:06:27чтобы найти информацию об отпусках или выходных. Эти команды обработали запрос
00:06:32с той же точностью, что и полноценная RAG-система. Исходный код
00:06:38этого проекта также доступен в нашем сообществе для загрузки и тестов.
00:06:43Первый вопрос, который у меня возник: безопасно ли позволять
00:06:47агентам выполнять команды на сервере? В декабре мы видели
00:06:52уязвимость в React Server Components с рейтингом 10 из 10, высшим по шкале опасности,
00:06:57и она касалась именно выполнения кода на сервере. Это мощная и потенциально опасная возможность.
00:07:03Так почему я доверился этому инструменту? Потому что он работает в изолированной песочнице.
00:07:08Он видит только ту директорию, которую мы указали, и ничего не может изменить вовне.
00:07:14В статье также сказано, что агент изучает файлы без доступа к продакшн-системе,
00:07:19так что ваш рабочий код в безопасности, даже если агент попытается запустить вредоносную команду.
00:07:24Предусмотрено два типа изоляции. Первый — среда в памяти.
00:07:29Здесь bash-инструмент работает только с теми файлами, к которым ему открыли доступ.
00:07:35Второй тип — это полноценная песочница с изоляцией на уровне
00:07:40виртуальной машины через Vercel Sandbox. Выбор зависит от ваших целей.
00:07:46Вариант «в памяти» легче и быстрее, а изоляция в VM лучше подходит,
00:07:51когда нужны максимальные гарантии безопасности. Хотя этот подход
00:07:56отлично экономит токены, он не универсален.
00:08:01Он не подходит, если вам нужно искать по смыслу, ведь bash-команды ищут точные совпадения.
00:08:06Как мы видели, агент использовал конкретные ключевые слова для поиска.
00:08:11Также это не годится для хаотичных файловых структур, где агенту придется
00:08:17делать слишком много вызовов. Четкая структура, в которой легко ориентироваться, гораздо лучше.
00:08:22Мой совет: используйте bash-инструмент для хорошо структурированных данных
00:08:27и четких запросов. Выбирайте RAG, если важен контекстный смысл
00:08:32или если запросы пользователей могут быть запутанными. А теперь пара слов от нашего спонсора.
00:08:37Brilliant. Лучшие инженеры не просто знают синтаксис — они решают задачи на уровне принципов.
00:08:42Именно поэтому мы сотрудничаем с Brilliant. Их философия — обучение через практику.
00:08:47Они делают упор на активное решение задач, чтобы вы усваивали концепции на деле, а не зубрили.
00:08:52Например, в курсе «Как работает ИИ» вы не просто читаете теорию, а управляете логикой.
00:08:57Вы разберетесь с техническими деталями, такими как расчет потерь и визуализация интерполяции,
00:09:02развивая интуицию, которую не дадут обычные видеолекции.
00:09:07Интерактивные курсы — это самый эффективный способ по-настоящему освоить темы,
00:09:12о которых мы говорим. Вы также получите скидку 20% на годовую подписку Premium,
00:09:17открывающую доступ ко всем курсам по математике и IT. Кликайте по ссылке в описании
00:09:22или сканируйте QR-код, чтобы получить бесплатный 30-дневный пробный период. На этом все.
00:09:28Если хотите поддержать наш канал, вы можете сделать это с помощью кнопки «Суперспасибо».
00:09:32Спасибо за просмотр, и до встречи в новых видео!