Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Как я создал ИТ-суперагент для Claude Code сотрудников и избавился от роли прокладки между ИИ

Как я создал ИТ-суперагент для Claude Code сотрудников и избавился от роли прокладки между ИИ

Переход на искусственный интеллект в нашей компании столкнулся с неожиданной проблемой: управлять множеством персональных ИИ-агентов оказалось сложнее, чем просто выдать их сотрудникам. Массовое внедрение инструментов автоматизации превратило меня, единственного системного администратора на шестьдесят человек, в живой коммутатор между нейросетями сотрудников и корпоративной инфраструктурой.

В этом материале я подробно расскажу, как мы спроектировали и запустили специализированный ИТ-суперагент, объединивший протокол MCP, два источника знаний, строгую проверку прав и эскалацию запросов в мессенджер.

Что мы пробовали до этого

Изначальный поиск рабочих решений сопровождался тестированием различных подходов. Сначала мы пытались создавать специализированных агентов под узкие задачи, однако каждый раз сталкивались с неучтенными нюансами инфраструктуры, о которых знал лишь конкретный исполнитель. Попытки доработки затягивались надолго и не приносили желаемой стабильности.

Реклама
Пример конфигурации безопасного подключения по протоколу MCP
Пример конфигурационного файла для интеграции клиентского агента с сервером суперагента
Структура хранения баз знаний и векторных таблиц
Организация гибридного поиска по административной документации и корпоративным регламентам
Пример генерации сертификатов безопасности для внутренних сервисов
Консольные команды для выпуска корпоративных сертификатов безопасности для клиентских нод

Затем мы передали процесс создания агентов самим сотрудникам, задействовав платформу Paperclip, концепция которой строится вокруг автономной «компании из агентов» с ведущим аналитиком и генеральным директором. Такой подход тоже не принес успеха по ряду причин. Самостоятельная сборка и настройка агентов оказалась слишком трудоемкой для персонала, а сама платформа проявила излишнюю непрозрачность: агенты периодически зацикливались, отвлекались от исходных задач и впустую сжигали токены без какого-либо практического результата.

Claude Code сотрудникам и две проблемы

Следующим шагом стало более простое и прагматичное решение. Сотрудникам, которые уже имели серьезный опыт взаимодействия с веб-версиями нейросетей, предоставили доступ к Claude Code с предписанными инструкциями и правами на чтение ключевых корпоративных систем, включая CRM, базы 1С, почту и сайты.

Поначалу вся рабочая среда функционировала на едином терминальном сервере под управлением Windows, где я как администратор мог легко корректировать профили, инструкции и разрешенные режимы. Однако несколько пользователей, запустивших параллельно по несколько сессий Claude, мгновенно исчерпали всю оперативную память оборудования. Организация отдельной виртуальной машины для каждого специалиста не планировалась, так как бизнес давно сместился в веб, а люди подключались удаленно с домашних компьютеров через защищенный VPN.

В результате централизованное администрирование фактически разрушилось, поскольку прямой доступ к локальным конфигурационным файлам и разметке сотрудников у меня отсутствовал. Возникла классическая проблема административного посредничества: когда агент специалиста не находил нужные сведения в системе или сталкивался с ограничениями прав доступа, он формировал запрос мне. Я передавал эту задачу собственному Claude, получал экспертный ответ и пересылал его обратно.

Идея: профильный суперагент

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

Необходимость создания именно профильного решения обусловлена особенностями обучения современных языковых моделей. ИИ формирует базу знаний на основе общедоступной теоретической информации из интернета, применяя абстрактные лучшие практики в вакууме. На практике же стандартные рекомендации всегда переплетаются с суровой реальностью: спецификой конкретной инфраструктуры, историческими изменениями конфигураций и негласными внутренними договоренностями.

Суперагент выступает в роли интеллектуального слоя, который обогащает теоретические знания ИИ реальным опытом конкретного предприятия. Логично было разделить такие суперагенты по ключевым бизнес-направлениям вроде юриспруденции, маркетинга или информационных технологий, начав разработку с наиболее близкой мне ИТ-сферы.

Как устроено

Первая рабочая версия прототипа написана на Python и насчитывает около четырех тысяч строк кода. В основе лежит связка FastAPI и Model Context Protocol вместе с легковесной базой данных SQLite, функционирующей в режиме Write-Ahead Logging. На разработку ушло всего несколько дней в тесной кооперации с Claude Code. Сервер развернут на внутреннем аппаратном ресурсе за обратным прокси-сервером Nginx и изолирован от внешнего мира — доступ к нему возможен исключительно через корпоративный VPN.

Реклама

Подключение: MCP поверх HTTP

Архитектурно суперагент представляет собой стандартный HTTP-сервис, который для клиентских агентов сотрудников выглядит как полноценный MCP-сервер, работающий по протоколу streamable HTTP. Подключение рабочей среды сотрудника выполняется одной консольной командой с использованием персонального токена авторизации.

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

При этом архитектурная гибкость решения позволяет не привязываться к конкретному вендору: суперагенту абсолютно неважно, какой именно клиентский ИИ использует сотрудник, а клиентскому агенту не требуется понимание внутренней кухни сервиса.

Централизованное управление — одним файлом

Данный подход позволил эффективно решить проблему децентрализации конфигураций. Все регламенты и правила поведения для клиентских агентов теперь хранятся в единственном Markdown-файле на стороне суперагентского сервера. MCP-сервер автоматически передает эти инструкции при первичном подключении и дублирует их в каждом последующем ответе.

Любое изменение конфигурационного файла с последующим перезапуском сервиса мгновенно обновляет логику работы всех подключенных утилит независимо от места их запуска. На стороне сотрудника в базовом файле настроек достаточно прописать минимальный набор инструкций для обращения к инструментам инфраструктурных фактов, проверки прав и консультаций с администратором.

Знания: два RAG-источника

Ответы суперагента строятся не на «галлюцинациях» языковой модели, а базируются на двух независимых источниках корпоративных знаний. Административная база представляет собой структурированный каталог серверов, где для каждого узла выделена отдельная папка с метаданными, описанием операционной системы, установленного софта, сетевых параметров, конфигураций и заметок.

Этот репозиторий синхронизируется через GitLab, а суперагент поддерживает актуальное локальное зеркало, преобразуя его в отдельную векторную таблицу. Полномасштабная индексация силами центрального процессора занимает около девяти минут, после чего выполняется быстрый инкрементальный апдейт по хешам файлов каждые десять минут.

Второй массив данных опирается на общую корпоративную базу знаний компании, развернутую на базе pgvector и содержащую регламенты, должностные инструкции и описания бизнес-процессов. Доступ к этой информации разграничен в соответствии с ролевой моделью сотрудников.

Поиск по административной части реализован как гибридный механизм, объединяющий полнотекстовый поиск SQLite FTS5 и векторные эмбеддинги через локально запущенную модель Ollama. Полученные результаты ранжируются с помощью алгоритма взаимного рангового слияния, гарантируя, что сотрудник получает точные фрагменты с указанием первоисточника для ручной проверки фактов.

На обычные вопросы — без LLM

Одной из самых удачных оптимизаций стало исключение языковой модели из рутинных операций. При обработке запросов на получение инструкций или справочной информации по инфраструктуре тяжелая LLM-модель вообще не задействуется.

Реклама

Программный код самостоятельно проверяет уровень доступа пользователя, фильтрует реестр доступных узлов и передает клиентскому агенту готовый контекст вместе с правилами. Итоговую формулировку ответа генерирует уже локальный агент сотрудника в рамках его личной подписки, что значительно ускоряет обработку запросов и бережет общие лимиты токенов.

Права проверяет код

Разграничение полномочий выстроено на основе жестких программных алгоритмов, исключающих влияние языковой модели на принятие решений о безопасности. Сотрудники объединяются в группы, которым назначаются фиксированные гранты на работу с серверной инфраструктурой по именам, IP-адресам или регулярным маскам.

Уровни доступа градируются от полной невидимости сервера в системе до прав на чтение, диагностику, перезапуск служб, изменение конфигураций и административное управление сетевыми экранами. При отсутствии необходимых прав агент незамедлительно получает отказ в доступе без возможности уговоров или манипуляций с системными промптами.

LLM без рук

Модель искусственного интеллекта на стороне суперагента изолирована от прямых инструментов управления инфраструктурой. Она запускается с пустым списком доступных утилит и строгим запретом на выполнение произвольных команд в изолированной рабочей директории.

Если для ответа на вопрос требуется диагностика, модель возвращает структурированный JSON-запрос на проведение конкретной проверки. Программный код выполняет эту проверку строго с правами инициировавшего запрос сотрудника, ограничивая количество итераций и защищая систему от несанкционированного вмешательства.

Администратор — одной кнопкой

Многоступенчатый диалог между клиентским агентом и суперагентом позволил полностью автоматизировать стандартные запросы. Каждый этап консультации завершается присвоением определенного статуса, позволяя агентам в большинстве случаев находить компромисс самостоятельно.

В ситуациях, требующих ручного вмешательства, система инициирует процедуру эскалации. В мой персональный мессенджер поступает лаконичный запрос с описанием проблемы, предложением суперагента и интерактивными кнопками подтверждения или отмены, позволяя принимать решения в один клик.

Безопасность и журнал

Вопросы информационной безопасности и прозрачности всех операций были заложены в архитектуру прототипа с первых дней разработки. Система ведет детальный журнал всех вызовов и запросов с глубиной хранения данных до девяти месяцев, а все изменения в матрице прав фиксируются в рамках единых транзакций.

Встроенные механизмы автоматического маскирования персональных данных и конфиденциальной информации сканируют весь входящий и исходящий контекст. Специализированные алгоритмы детектируют попытки передачи номеров телефонов, платежных карт, паспортных данных и пресекают угрозы промпт-инъекций или несанкционированных выгрузок баз данных.

Где я ошибся в идее

Изначально ключевой фишкой проекта планировалась автоматическая проверка планов действий: агент сотрудника формирует план выполнения задачи, суперагент корректирует его с учетом реальной инфраструктуры, после чего запускается исполнение. Однако в ходе пилотного тестирования от этой концепции пришлось временно отказаться.

Поскольку права сотрудников в текущем контуре ограничены исключительно чтением, проверять корректность планов изменений не имеет практического смысла. Тем не менее метод остался доступен через REST-интерфейс в качестве инструмента для получения экспертного второго мнения.

Что пригодится, если будете делать похожее

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

Длинные ответы — асинхронно, и поднимите таймаут клиента

Генерация ответа со стороны языковой модели может занимать до двух минут, в то время как стандартные настройки таймаутов у клиентов вроде Claude Code срабатывают значительно быстрее. Разрыв соединения приводит к ситуации, когда сервер продолжает формировать ответ, но клиент его уже не получает.

Для устранения этой проблемы необходимо принудительно увеличивать клиентские таймауты в конфигурационных файлах и изначально проектировать все ресурсоемкие процессы по асинхронной схеме. Разделение запросов на отправку и последующую проверку статуса через механизм опроса гарантирует, что ни одно сообщение не потеряется при обрыве связи.

Внутренний сервис по HTTPS: Claude Code не доверяет самоподписанному сертификату

Поскольку клиентские агенты функционируют на базе среды Node.js, использование самоподписанных сертификатов безопасности для внутренних HTTPS-сервисов приведет к ошибкам подключения. Единственно верным решением становится выпуск сертификатов через собственный корпоративный центр сертификации с обязательным добавлением корневого сертификата на рабочие машины сотрудников.

При генерации сертификатов через OpenSSL критически важно правильно указывать расширение subjectAltName, иначе современные сетевые клиенты будут блокировать соединения даже при полном совпадении доменных имен в поле CN.

LLM на сервисе — общий ресурс, ставьте предохранитель

Общие лимиты токенов в рамках единой корпоративной подписки могут исчерпаться в самый неподходящий момент под воздействием пиковых нагрузок. Предотвратить массовые отказы помогают жесткие ограничения: отказ от вызова тяжелых моделей там, где достаточно обычного программного кода, введение очередей с контролем таймаутов и строгая политика отказоустойчивости.

Эмбеддинги и русский язык

Стандартные англоязычные модели эмбеддингов демонстрируют низкую эффективность при поиске по русскоязычной документации, насыщенной техническими терминами, IP-адресами и сокращениями. Использование многоязычных моделей в паре с гибридным поиском по полнотекстовым индексам позволяет добиться высокой точности выдачи.

Интерфейс эскалации запросов и интеграции с мессенджером
Пример интерфейса быстрой эскалации запросов с интерактивными кнопками управления для администратора

Что есть на рынке

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

Что получилось и что дальше

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

Реклама
01.