Три ИИ-агента на одном дешёвом инференсе

Как мы за 3 дня собрали экосистему из трёх ИИ-агентов на одном дешёвом инференсе: support-бот, admin-бот и маркетинговые userbot'ы

дешёвый инференс для ИИ-агентов, архитектура агентов Hermes, MCP-сервер ролевой доступ, router.mingles.ai, ферма ботов для маркетинга, изоляция профилей агентов

Коллеги! Это дев-команда. Последние пару вечеров мы занимались тем, что любой, кто делал ИИ-агента, узнает с полуслова: «а давайте ещё одного».

Сначала был один support-бот. Потом ему понадобился «начальник» (admin). Потом мы поняли, что та же инфраструктура отлично тащит маркетинговых ботов.

Три разных агента, три роли — но общий мозг, общий слой инструментов и один кошелёк.

Рассказываю, как мы это собрали.


Архитектура: три слоя

У нас вышла трёхслойная конструкция. Каждый слой меняется независимо:

Слой Что делает
Инференс Роутер вместо OpenAI/Anthropic (дешёвый)
Агенты Рантайм Hermes с изолированными профилями
Инструменты Один MCP-сервер с ролевым доступом

Слой 1 — Инференс: наш роутер вместо OpenAI

Все агенты думают через наш собственный OpenAI-совместимый роутер router.mingles.ai. Он стоит поверх децентрализованной сети инференса.

Для агента это три параметра:

  • URL — router.mingles.ai
  • ключ — ваш API-ключ
  • модель — что гоняем (у нас Kimi-класс + два open-weight в fallback)

Меняешь base URL на роутер — и готово. Весь код продолжает работать, просто ходит в другое место. И стоит кратно дешевле.

Бонус: fallback-цепочка. Если модель отвалилась (503), рантайм переключается на следующую в списке. Агент даже не замечает.


Слой 2 — Агенты: рантайм Hermes

Агенты крутятся на Hermes (nousresearch/hermes-agent). Это рантайм, который мы взяли как базу, чтобы не писать оркестрацию диалога с нуля.

Схема: один контейнер → несколько «профилей» → по одному шлюзу (gateway) на профиль. Всё под s6-супервизией.

Каждый профиль полностью изолирован: свой конфиг, своя память, свои сессии и свой Telegram-бот.

Как настраивали:

  • Профиль = YAML-файл с моделью, fallback-цепочкой, Telegram-ботом, MCP-сервером.
  • Секреты — из окружения, не в гите.
  • Каналы: у каждого агента свой Telegram-бот. Support-бот публичный (для всех), admin-бот приватный (allow-list по user id).
  • Support дополнительно отдаёт HTTP-эндпоинт для чат-виджета на сайте.

Грабли, которые запомнили:

  • провайдер модели должен быть custom, а не openai — иначе падает с ошибкой 422.
  • Telegram-allow-list читается из .env, а не из конфига. Учли, зашили в скрипт синхронизации.

Итог: добавить агента = накатить новый YAML-профиль и засинкать. Не переписывать систему.


Слой 3 — Инструменты: MCP с ролевым доступом

Самое важное решение: все инструменты живут за одним MCP-сервером. И решает, что агенту можно, не LLM — а сервер.

Как работает:

  • каждый агент авторизуется в MCP-сервере bearer-токеном
  • каждый токен привязан к роли
  • у каждой роли — белый список имён инструментов
  • гейт проверяется на стороне сервера, в момент вызова — не в промпте и не в модели
Читать ещё  ЕС берётся за дата-центры: как ИИ «съедает» энергию

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

Агент Роль Что может
Support support_escalation читать аккаунт/usage/ошибки, открывать тикеты, эскалировать на человека
Marketing marketing_partner только чтение: аналитика роста, партнёрские данные
Admin/Ops admin_executor привилегированная операционка под гейтом и аудитом

Добавить возможность = дописать имя инструмента в список роли и пересобрать сервер. Убрать = удалить строку.

Суперспособности под конкретного агента — это просто ещё один MCP-сервер в профиле: база знаний, веб-поиск, браузер, продуктовая аналитика. Маркетинговый агент собрал себе все четыре плюс read-only аналитику — может гуглить и смотреть лендинг, но не трогает биллинг.


Маркетинговые боты: userbot-ферма

Когда есть дешёвый инференс и изоляция профилей, маркетинговый агент — это тот же конструктор, повёрнутый наружу.

Сейчас в работе 3–5 userbot’ов. Каждый:

  • отдельный аккаунт со своим прокси-профилем (один аккаунт = один IP)
  • своя персона (характер, тон, стиль)
  • зашитые лимиты: 5 сообщений в день, рандомные тайминги, постепенный прогрев
  • две стратегии: личка и чаты

Всё стекается в мини-CRM: кто ответил, кто прогрет, кого передать живому менеджеру. А думают боты через router.mingles.ai, поэтому даже живые диалоги на нескольких аккаунтах — не расходы.


Сетевая безопасность

Контейнер с агентами:

  • не имеет доступа к БД
  • не публикует портов наружу
  • исходящие маршруты — только: роутер инференса, Telegram API, изолированный мост к MCP-серверу
  • нет docker.sock, нет shell-инструментов

Все side-effect’ы идут через аудируемые MCP-вызовы.

Принцип: fail closed — при сомнении система отказывает, а не рискует.


Что в итоге

За 2–3 дня мы собрали не «бота», а маленькую экосистему из трёх типов агентов на трёх сменных слоях:

  • дешёвый инференс через свой роутер
  • изолированные агенты на Hermes
  • единый role-gated слой инструментов на MCP

Support отвечает клиентам. Admin присматривает и подключает людей. Маркетинг-боты нативно ведут переписку и наполняют CRM.


Если вы тоже хотите

Если вы агентство, которое делает ИИ-агентов, или вайбкодер с идеей — мысль простая:

Поставьте URL router.mingles.ai, свой ключ и модель — и считайте не счёт за инференс, а то, что агенты приносят.

Мы пока на ранней стадии, гоняем на 3–5 аккаунтах и собираем цифры. Как нащупаем рабочую связку — поделимся числами. А пока — идите и стройте свою ферму. Мозг для неё уже есть.

Селектел- инфраструкткра для АИ

Источник
habr.com

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»

Получайте новости ПЕРВЫМИ!

X