сайт в бете
нашли баг? напишите
левин. записаться
весь блог

Приватный ИИ-агент на своём железе: собираем связку Qwen 3.5 7B и Smolagents

Разбираю, как поднять рабочего ИИ-агента локально, без облака и утечки данных наружу: локальная модель Qwen 3.5 7B плюс лёгкий фреймворк Smolagents. С честным списком того, где 7B упирается.

Л
Проект Левин
автор
Приватный ИИ-агент на своём железе: собираем связку Qwen 3.5 7B и Smolagents

Я долго откладывал этот эксперимент. Казалось, что локальный агент — это возня с драйверами ради модели, которая всё равно уступает облаку. Собрал связку и передумал. Для узких рабочих задач приватный агент на своём железе закрывает 80% того, ради чего я раньше ходил в API. Расскажу, как это выглядит на практике.

Зачем держать агента у себя

Главная причина одна — данные остаются со мной. Агент читает мои внутренние документы, выгрузки из аналитики, черновики клиентских стратегий, и я хочу быть уверен, что всё это лежит только на моей машине. Ни один провайдер этих файлов не видит, логировать нечего.

Документы, привязанные к локальной машине, без связи с сетью

Второе — предсказуемая стоимость. Локальный прогон стоит электричества. Можно гонять агента в цикле сотни раз на отладке и вообще не смотреть на счётчик токенов. Мне как исполнителю это развязывает руки: экспериментируй сколько влезет.

Третье — автономность. Интернет отвалился, у провайдера сбой, лимиты кончились — агент на своём железе продолжает работать.

Почему именно Qwen 3.5 7B

Модель на 7 миллиардов параметров после квантизации помещается в память обычной пользовательской видеокарты. Ей не нужен сервер за конские деньги. При этом последние поколения Qwen заметно подтянулись в двух критичных для агента вещах: следование инструкциям и генерация кода.

Агенту нужна прежде всего дисциплина. Он должен понять задачу, выбрать инструмент, вызвать его с правильными аргументами и разобрать ответ. Эрудиция тут вторична. С такой работой 7B-модель справляется стабильно, если задачи узкие и хорошо описаны. Запускаю через Ollama — самый ленивый путь: одна команда, и у тебя локальный OpenAI-совместимый эндпоинт.

Что делает Smolagents

Smolagents — маленький агентный фреймворк от Hugging Face. Его фишка в том, что агент пишет свои действия обычным кодом на Python. Никакого громоздкого JSON с вызовами инструментов. Модель генерирует короткий скрипт, фреймворк исполняет его в песочнице, результат возвращается обратно в диалог. Для слабой локальной модели это подарок: пару строк питона написать проще, чем безошибочно заполнить сложную схему аргументов.

Код исполняется в изолированной песочнице, результат возвращается

Сам фреймворк лёгкий, без десятка зависимостей и слоёв абстракций. Мне это близко: чем меньше кода между мной и моделью, тем меньше мест, где что-то молча ломается.

Как я собирал связку

Порядок вышел такой:

  • Поднял Qwen 3.5 7B в Ollama, проверил, что эндпоинт отвечает.
  • Подключил его к Smolagents как локальную модель через OpenAI-совместимый интерфейс.
  • Дал агенту два-три своих инструмента: поиск по локальным файлам, вызов калькулятора, запрос к моей аналитике.
  • Прогнал на реальной рабочей задаче — свести данные из нескольких выгрузок и выдать короткий вывод.

Первые прогоны были кривыми: модель то забывала вернуть результат, то плодила лишние шаги. Замена модели тут не поможет. Помогает точный системный промпт и короткое описание инструментов. Чем яснее сказано, что делает каждый инструмент и в каком виде ждём ответ, тем ровнее работает 7B.

Где 7B честно упирается

Не хочу продавать сказку. Локальная модель на 7 миллиардов параметров — рабочая лошадка с потолком.

Длинные цепочки рассуждений она держит хуже облачных гигантов. Если задача требует пяти-шести последовательных выводов с ветвлениями, растёт шанс, что агент собьётся на середине. Я разбиваю такие задачи на короткие шаги и не жду от одного прогона слишком многого.

Сложный незнакомый код она пишет с ошибками. Для агентных действий из пары строк этого хватает. Для генерации целого модуля — уже нет.

Редкие узкоспециальные знания в 7B просто не помещаются. Когда нужна широкая эрудиция, я всё ещё иду в большую модель. Локальный агент закрывает повторяющиеся операции над моими же данными.

Что забрать с собой

Приватный агент на своём железе — это уже не игрушка для энтузиастов. Связка Qwen 3.5 7B и Smolagents собирается за вечер и честно тянет узкие рабочие задачи: разобрать файлы, посчитать, свести, выдать вывод. Данные остаются у тебя, стоимость прогонов около нуля, потолок модели известен заранее.

Совет тем, кто пробует впервые: начните с одной понятной задачи и двух инструментов. Расширяйте связку, когда убедитесь, что базовый цикл работает стабильно. Так вы быстро нащупаете, где локальной модели достаточно, а где всё же стоит дёрнуть облако.

теги #ии-агент#qwen#smolagents#локальный ии#ollama#приватность

один разговор — и поймём, чем я могу помочь.

В эпоху ИИ человеку нужен человек. Сяду рядом и доведу до результата — встреча длится столько, сколько нужно. Без скрипта продаж и пакетов «за 999 000 ₽». Если пойму, что помочь не смогу, — скажу сразу.