Иллюстрация сгенерирована для редакции Hi-Tech Obzor.
Полтора месяца назад я поставил AI-агента на домашний сервер и отдал ему три рутинные задачи: обновления приложений, партнёрские публикации и статьи для двух сайтов. Ниже — что из этого получилось, с цифрами из собственных логов агента, включая неудачные запуски и то, что пришлось переделывать.
Все три — про повторяющиеся действия, где человек ошибается не от незнания, а от усталости.
Первая. Каждое утро проверить, не вышло ли обновление приложения для Android TV: скачать, отсеять мусор, опубликовать пост. Полчаса, но каждый день.
Вторая. Партнёрские ссылки. Взять пост, найти в нём ссылку, убедиться, что она живая, сделать свою, переписать текст так, чтобы он не был копией, прикрепить картинку товара, выложить. Пять-семь минут на позицию.
Третья. Статьи на сайты про технику: найти источники, проверить цифры, собрать структуру, расставить метатеги, проследить, чтобы кэш обновился.
Агент — это Hermes, поставлен на обычный домашний сервер под Ubuntu. Дальше нужен провайдер моделей.
Стандартный путь — завести аккаунты у Anthropic, OpenAI, Google и DeepSeek: пять ключей, пять биллингов, пять наборов лимитов, пять мест, где что-то может отвалиться. Я пошёл другим путём и подключил PlusVibeAPI как один OpenAI-совместимый эндпоинт.
Технически это заняло минут пятнадцать. Провайдер описывается в конфиге четырьмя полями: базовый URL, режим API (chat_completions), имя переменной окружения с ключом и список моделей. Дальше агент общается с ним ровно так же, как с официальным API OpenAI — тот же формат запроса /v1/chat/completions, тот же формат ответа, никаких адаптеров.
Что это дало на практике — один ключ и один баланс на весь стек. В каталоге провайдера больше сотни моделей: Claude, GPT, Gemini, DeepSeek, Qwen, GLM, Grok, Kimi, Mistral, MiniMax, Perplexity. Переключение между ними — правка одной строки в конфиге, а не новый договор с новым вендором.
Ссылка выше реферальная: если оформите подписку по ней, автор получит бонус от сервиса. Цена для вас от этого не меняется.
Это то, что я понял не сразу: разные задачи должны идти на разные модели. Дорогая нужна там, где она действительно думает. Дешёвая — там, где она переписывает текст по шаблону.
В логах появилось HTTP 503: Сервис временно перегружен. Не каждый день, но регулярно, обычно в часы пик. По стандарту RFC 9110 это «сервер временно не может обработать запрос» — штатная ситуация, которую положено пережидать.
Для чата это «нажми ещё раз». Для конвейера, который должен отработать в 10:00 без меня, — провал задачи: пост не вышел, статья не опубликовалась, а я узнал об этом вечером.
Решение — цепочка резервных моделей. Основная, за ней ещё четыре на разных моделях и провайдерах. Если первая отвечает 503 или таймаутом, агент молча переключается на следующую и доводит работу до конца. Я вижу это в логе, но не вижу в результате.
Урок, который стоил нескольких сорванных публикаций: надёжность системы — это не самая умная модель, а самая скучная цепочка отказов. Один провайдер — одна точка отказа. Пять в цепочке — уже нет.
Всё ниже — из логов самого агента, а не из ощущений.
Показатель | Значение |
|---|---|
Период работы | 76 дней |
Запусков агента | 3 525 |
В среднем в день | 46 запусков |
Пиковый день | 74 запуска |
Обработано токенов всего | 6,54 млрд |
Из них через модели PlusVibeAPI | 801,6 млн |
В среднем в день | 86 млн токенов |
Задач по расписанию | 21 |
Постов в Telegram-канал | 345 |
Обработано партнёрских позиций | 945 |
Запусков с ошибкой | 241 (6,8%) |
Здесь нужна честная оговорка, иначе цифры врут.
«6,5 млрд токенов» звучит громко, но это не 6,5 млрд слов. Каждый ход агента отправляет модели всю историю диалога заново — поэтому входных токенов в разы больше выходных, и тарифицируются они по разной цене (прайс провайдера). У меня соотношение примерно 91 к 1: 6,46 млрд на вход, 70,8 млн на выход. Вот второе число — это реальный объём написанного текста. Первое — объём перечитанного.
И ещё одна честная цифра: 6,8% запусков завершились ошибкой. Это не сбой сервиса — это сумма всего: перегруженных ответов, таймаутов, кривых промптов, битых файлов и одного случая, когда служебный кэш положил сразу все задачи. Система, которая заявляет 100% успеха, просто не логирует ошибки.
Логика простая. В 9 утра задача по расписанию обходит источники, скачивает найденные сборки и прогоняет их через фильтр. Фильтр отсекает всё не по теме: телефоны, VPN, файлы больше 50 мегабайт, мусорные сборки. Остальное складывается в очередь. С 10 до 17 часов публикатор берёт позиции из очереди и выкладывает — по одной, с проверкой, что файл на месте и версия совпадает.
Самое полезное здесь — не публикация, а фильтр. Публиковать агент умеет и без меня, а вот не публиковать лишнее — это то, что отличает рабочий конвейер от ленты мусора.
Каждая — это пять-семь минут ручной работы. Что делает агент: разворачивает короткую партнёрскую ссылку в канонический адрес и проверяет, что товар ещё продаётся; создаёт новую ссылку со своей маркировкой; переписывает текст так, чтобы он не совпадал с исходником; вытаскивает из медиаблока фотографию именно товара, а не аватарку канала; публикует. Дедупликация по идентификатору исходного сообщения — чтобы один пост не ушёл дважды.
Отдельно про маркировку. Партнёрская ссылка возвращает рекламный идентификатор вместе с адресом, и он попадает в текст поста сразу, а не «добавим потом». Это требование закона, и такие вещи лучше один раз зашить в код, чем помнить про них каждый вечер.
Два сайта про технику, по три статьи в неделю на каждом. Тему выбирает не модель, а скрипт: он читает контент-план, сверяет адреса с уже опубликованным и отдаёт агенту первую свободную тему. Модель не может «забыть» тему или взять ту, что уже вышла.
Редполитика зашита жёстко: минимум два источника, из них хотя бы один первичный — стандарт, документация, спецификация; проверка на дубликат перед публикацией; никаких заявлений о личных испытаниях, если испытаний не было; цифры только из источников.
Автоматизация вскрыла два дефекта, которые глазами я бы не нашёл никогда. Первый: тема сайта выводила заголовок дважды, а на мобильных не выводила вообще — ноль H1, то есть для поисковика статья без заголовка. Второй: плагин «защиты внешних ссылок» оборачивал все адреса в служебный редирект, а тот отдавал 404 — то есть все ссылки на источники были битыми.
За 76 дней агент отработал 3 525 запусков: 345 постов, 945 партнёрских позиций, десятки статей — и всё это с одним человеком, который в основном читает уведомления.
Это не «ИИ заменил команду». Это «ИИ забрал ту часть работы, которую человек делает хуже машины»: не забыть, не пропустить, не перепутать версию, не выложить дважды, поставить маркировку в нужное поле. Всё, что требует вкуса и решения, осталось за мной — редполитика, выбор тем, что публиковать, а что нет.
Главное, что я вынес: начинать надо не с модели, а с конвейера. Модель можно поменять за минуту — я менял её десятки раз. А вот конвейер, фильтры и цепочка отказов — это то, что делает результат повторяемым.
Кстати, для домашнего сервера под такие задачи не нужна отдельная стойка: подойдёт обычный компактный мини-ПК — мощности в нём с запасом, а потребление и шум в разы ниже.
Современное информационное общество функционирует в условиях непрерывного роста объемов передаваемых данных. Классические стандарты мобильной связи…
Разбираем Amlogic S905X5M: 6 нм, Cortex-A55 до 2,5 ГГц, Mali-G310 V2, AI-SR и HDMI 2.1.…
Четыре рабочих способа поставить APK на приставку или телевизор с Android TV: Downloader с пульта,…
Пошаговое руководство: как проверить совместимость приставки, включить ADB, пропатчить boot.img в Magisk 31.1 и прошить…
Складные смартфоны перестали быть экспериментом для энтузиастов и постепенно превращаются в отдельный класс устройств для…
ИИ нужно использовать как рабочий инструмент, но не подменять им проектирование, SEO и контроль качества…