Труды КНЦ (Технические науки вып.3/2025(16))

Часть ИС, выступающая в роли интеллектуального агента, реализована как LangGraph- приложение [18] с архитектурой ReAct (Reasoning + Acting). В нем создается MCP-клиент с использованием интерфейса MultiServerMCPClient. Таким образом, агент запускает MCP-сервер как дочерний процесс и общается с ним через стандартные потоки ввода-вывода (stdio). Пример конфигурации представлен на листинге 2. client = MultiServerMCPClient( { "vk_server": { "transport": "stdio", "command": sys.executable, "args": [str(Path(__file__).parent / "mcp_vk.py")], } } ) Листинг 2. Инициализация клиента описанием целевого MCP-сервера Соединение агента с большой языковой моделью происходит с помощью конфигурации, представленной на листинге 3. Языковая модель развернута на локальном сервере ИИММ. При необходимости можно подключать языковые модели, размещенные как на локальных, так и на облачных ресурсах. Для более детерминированных ответов модели в настройках подключения к модели параметр температуры (temperature) установлен в нулевое значение. Интеграция языковой модели и полученных из MCP-сервера инструментов происходит в процессе формирования специализированного реактивного объекта. model = ChatOpenAI( model="reedmayhew/claude-3.7-sonnet-reasoning-gemma3-12B", base_url="http://адрес-сервера-иимм:11434/v1/", api_key="none", temperature=0, max_tokens=4096) tools = await client.get_tools() agent = create_react_agent(model, tools) Листинг 3. Инициализация подключения агента кбольшойязыковоймодели На рисунке 4 в виде UML-диаграммы последовательности представлено взаимодействие компонентов ИС в процессе отправки запроса пользователя агенту на открытие чата и парсинг сообщений. Агент, получив запрос, обращается к большой языковой модели для выбора подходящих инструментов. Языковая модель анализирует запрос и возвращает агенту информацию о необходимых инструментах. В данном случае это «open_chat» и «parse_messages». Этот вызов передается через «MultiServerMCPClient» к MCP-серверу, который выполняет соответствующую функцию, ранее представленную на листинге 1. В свою очередь, MCP-сервер вызывает ранее реализованные методы «open_chat» и «parse_messages», которые с помощью модуля веб-роботизации Selenium выполняют операции в веб-версии мессенджера «ВКонтакте». На рисунке 5 в виде UML-диаграммы развертывания представлена ИС автоматизированного мониторинга чатов «ВКонтакте» с использованием интеллектуального агента. ИС разворачивается в двух изолированных докер-контейнерах. Контейнер «mcp-vk-server» содержит MCP-сервер, предоставляющий инструменты парсинга, а также исходную ИС, в которой реализованы функции для работы веб-робота в браузере с помощью библиотеки Selenium. В контейнере «mcp-client» реализован интеллектуальный агент на базе фреймворка «LangChain», который отвечает за планирование действий, обработку диалога, и в нем же располагается MCP-клиент для подключения к MCP-серверу, чтобы получить список доступных агенту инструментов. Труды Кольского научного центра РАН. Серия: Технические науки. 2025. Т. 16, № 3. С. 5-21. Transactions of the Kola Science Centre of RA s . Series: Engineering Sciences. 2025. Vol. 16, No. 3. P. 5-21. © Федоров А. М., Датьев И. О., Илясов М. О., Вишняков И. Г., Базегский М. О., Фигуркин Д. С., Любимова К. Д., 2025 15

RkJQdWJsaXNoZXIy MTUzNzYz