Карточка сценария LLM MCP 

Карточка сценария LLM MCP предназначена для настройки навыка, который может использовать LLM модель и подключённые MCP сервера для автоматического выполнения действий по запросу пользователя в чате Ассистента.

Карточка может находиться в двух режимах:

  • Режим редактирования – при нажатии кнопки редактирования

  • Режим чтения – при создании или открытии сценария

Карточка сценария LLM MCP в режиме чтения содержит следующие поля:

При нажатии на кнопку карточка открывается в режиме редактирования:

Описание элементов в карточке сценария LLM MCP

Название элементаШаблон/ПримерОписание

Тоггл

"Активировать сценарий"

 – 

Тоггл, отвечающий за доступность сценария в чате Ассистента.

  • По умолчанию сценарий создается неактивированным.

  • При активации сценарий будет отображаться в списке навыков в чате Ассистента

  • При деактивации сценарий скрывается из списка навыков в чате Ассистента

Поле

"Название сценария"

Пример:

Сборный сценарий

Название сценария, заданное при создании/редактировании. Отображается в навыке в чате Ассистента и в таблице сценариев

Поле

"Описание"

Пример:

Позволяет использовать поиск по всем группам интеллектуального поиска и запуск процессов в одном

Описание классификатора, заданное при создании/редактировании

Поле

"Приветственное сообщение"

Пример:

Привет! Я твой личный помощник по рабочим вопросам. Моя задача - поиск информации в базе знаний системы и запуск необходимых процессов. Сформулируй свой запрос, и я найду релевантные данные или запущу необходимый процесс.

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

Поле

"Автор"

Шаблон:

<Фамилия И.О.>

Пример:

Константинопольский К. К

ФИО пользователя, кем был создан сценарий

Поле

"Дата изменения"

Шаблон:

dd <краткое название месяца>. yyyy hh:mm:ss

Пример:

29 мая 2024 22:31:01

Дата/время, когда был создан/изменен сценарий.

Поле

"URL Ollama"

Пример:

https://ollama-159.rpa-robin.site:8001

  • Адрес сервера, на котором развёрнут фреймворк Ollama с подключенными моделями

  • Используется для подключения к LLM-модели

Подробнее см. в Подключение модели

Поле

"Название модели"

Пример:

gpt-oss:20b

Указывается название конкретной AI-модели, доступной на сервере Ollama

Поле

"Промпт"

Пример:

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

Обязательное поле для ввода системного промпта (инструкции).

  • Определяет поведение LLM модели, формат ответов и правила взаимодействия с MCP-серверами

  • Для удобства редактирования используется разворачивающийся полноразмерный редактор

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

Более подробно о том, как писать промпт см. в Формирование промпта

Параметры подключения MCP

Кнопка

"Добавить сервер"

 – 

Кнопка для добавления нового MCP-сервера.

  • При нажатии добавляется новый набор параметров:

    • Активировать подключение к серверу

    • Название сервера

    • Ссылка

  • У добавленного сервера тоггл подключения по умолчанию активирован

Тоггл

"Активировать подключение к серверу"

 – 

Тоггл активации подключения

  • По умолчанию активирован

  • При активном состоянии сервер будет использоваться LLM для выполнения запросов пользователя

  • Если подключение неактивно, сервер игнорируется: LLM не сможет к нему обращаться, и команды для этого сервера не будут выполняться

Более подробно про подключение MCP-серверов см. в MCP-сервера

Поле

"Название сервера"

Пример:

ROBIN Process

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

Поле

"Ссылка"

Пример:

https://demo-ent.rpa-robin.site:9443/de/mcp

  • Адрес MCP-сервера, к которому будут направляться команды LLM
  • LLM использует эту ссылку для подключения и вызова методов сервера

Подключение модели

Для работы сценариев LLM MCP необходимо подключение к LLM модели через сервер Ollama. Эта настройка определяет, в какую модель будут отправляться запросы пользователя для анализа и генерации ответов.

URL Ollama – это адрес сервера, на котором развёрнут фреймворк Ollama с доступными AI моделями. LLM модель подключается к этому серверу для обработки запросов пользователя и выполнения действий по сценарию.

URL Ollama

В поле необходимо указать:

  • Полный адрес работающего сервера Ollama с указанным портом и протоколом (http:// или https://)

  • Сервер должен быть доступен из системы Ассистента

Название модели

  • Имя конкретной LLM модели на сервере Ollama, которую будет использовать сценарий

  • Например: gpt-oss:20b

LLM использует название модели, чтобы понимать, какая конкретно модель будет обрабатывать запросы. Если на сервере развернуто несколько моделей, имя помогает выбрать нужную

Примечания:

  • URL Ollama используется только для подключения LLM и не влияет напрямую на MCP-сервера.

  • Неправильно указанный URL приведёт к ошибке при запуске сценария, так как LLM не будет доступна и не сможет обработать запросы

Формирование промпта

Промпт – это системная инструкция, которая задаёт контекст для работы LLM модели и определяет правила её ответов на запросы пользователя. От того, насколько чётко и правильно написан промпт, зависит корректность выполнения различных сценариев.

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

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

Основные рекомендации

1. Определить роль модели

Так модель будет понимать, кем она является и какую задачу выполняет.

Если не определить роль, модель может неправильно интерпретировать запросы, выдавать ответы не по контексту или пытаться решать задачи за пределами сценария.

Пример:

Ты – Робин, виртуальный ассистент, помогающий пользователям работать с системой управления процессами Robin.

2. Ясно указать общие функции и возможности

Опишите, что модель может делать: работать с документами, запускать процессы, консультировать и т.д.

Так модель будет понимать, какие действия она может выполнять, а какие нет. 

Пример:

Ты умеешь: 1. Искать информацию в документах через MCP-сервер документов 2. Консультировать и запускать рабочие процессы через MCP-сервер процессов

3. Указать общие правила поведения

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

Это особенно важно для моделей, склонных к "галлюцинациям"

Пример:

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

4. Указать условия и исключения

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

Пример:

Если пользователь просит составить текст, письмо или отчёт, формируй текст в соответствии с инструкцией.

Если запрос неполный или неясный, попроси уточнение, прежде чем предпринимать действия.

5. Указывать, какие серверы и методы использовать

Если в сценарии используются MCP-сервера, модель может неправильно подбирать нужный сервер или метод под запрос пользователя.

В таком случае можно уточнить, для какой задачи какой сервер и какие методы в нем использовать. Названия серверов можно увидеть в настройке сценария LLM MCP в параметре "Параметры подключения MCP".

Пример:

Для работы с документами используй MCP сервер документов ROBIN AI, для запуска процессов – MCP сервер Process

6. Разделить задачи

Так модель будет четко понимать, как решать конкретную задачу пользователя.

Пример:

1. Работа с документами:

<Все действия, инструкции, примечания, условия для работы с документами>

2. Работа с рабочими процессами:

<Все действия, инструкции, примечания, условия для работы с процессами>

7. Указать инструкцию для каждой задачи

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

Для каждой задачи в инструкции можно также указывать конкретные методы MCP-серверов, которые модель должна вызвать, чтобы выполнить задачу. 

Пример:

Инструкции:

1. Веди диалог, расскажи пользователю о своих возможностях
2. Выясни процесс, который пользователь хочет запустить
3. Определи значения всех параметров процесса из списка Parameters. Перед уточнением просмотри всю историю общения и постарайся определить параметры сразу.
4. Если при запуске процесса возвращена ошибка – не перезапускай автоматически, только по новой просьбе пользователя.
и т.д.

Если пользователь спрашивает, какие процессы доступны:

  1. Вызови list_processes с pageNumber = 1 и пустым message.
  2. При запросе "показать ещё" или аналогичных – вызывай list_processes с pageNumber = 2, 3 ....

8. Использовать четкие формулировки и согласованные инструкции

Каждая конкретная задача может требовать дополнительных указаний, но они не должны противоречить общим правилам промпта. 

Чем точнее промпт, тем меньше вероятность, что LLM выдаст неверный ответ.

Пример плохого промпта:

  • Общие правила: "Отвечай только на основе предоставленных данных, не добавляй вымышленные факты"

  • Конкретная задача: "Для составления креативного письма можешь придумывать детали"

MCP-сервера

MCP-сервер – это программа (локальная или удалённая), которая состоит из набора функций (методов). Каждая функция умеет выполнять конкретное действие, например:

  • открыть сайт

  • собрать данные с сайта
  • отправить письмо

  • запустить процесс в системе

  • искать информацию по группе документов
    и т.д.

Принцип работы

Когда пользователь отправляет запрос в чате, модель анализирует его и решает, что для выполнения задачи может понадобиться MCP-сервер. Если сервер подключен:

  1. Модель выбирает нужный MCP-сервер

  2. Выбирает подходящую функцию (метод) этого сервера

  3. Заполняет параметры функции (например, адрес сайта, текст письма, дату)

  4. MCP-сервер выполняет действие – получает информацию, отправляет письмо, запускает процесс и т.д.

  5. Результат возвращается модели, а она формирует ответ для пользователя.

Преимущества

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

MCP-сервера расширяют возможности LLM:

  • автоматизация задач

  • доступ к внешним данным и системам

  • интеграция с разными сервисами через единый интерфейс

Подключение MCP-сервера в Сценарий

Для подключения MCP-сервера в системе Ассистента необходимо указать URL MCP-сервера – адрес, по которому LLM в Ассистенте сможет обращаться к серверу для вызова его методов.

URL MCP-сервера – это адрес сервиса, который реализует MCP-протокол и предоставляет набор методов, доступных для использования в сценариях LLM MCP.

Если URL указан неверно или сервер недоступен, сценарии LLM MCP не смогут использовать методы этого сервера.

Примеры реализованных MCP-серверов для работы с процессами и документами

В Ассистенте есть готовые специализированные MCP-серверы для работы с процессами и документами интеллектуального поиска. Каждый сервер подключается отдельно и предоставляет собственный набор методов (tools), доступных для использования в сценариях LLM MCP.

URL MCP-сервера формируется на основе базового адреса системы (стенда), который может отличаться.

Базовый адрес – это адрес системы до сегментов /de или /assistant. В зависимости от окружения (demo, test, prod и т.д.) базовый адрес изменяется, а путь MCP-сервера остаётся фиксированным.

Сервер по работе с процессами

Шаблон:

https://<базовый_адрес_системы>/de/mcp

Пример:

Пример для демо-стенда – https://demo-ent.rpa-robin.site:9443/de/mcp

MCP-сервер процессов предназначен для поиска и запуска процессов в системе по запросу пользователя.

Доступные методы (tools)

Сервер предоставляет следующие ключевые методы:

  • list_processes
    Возвращает список доступных процессов, которые может запускать пользователь

  • run_process
    Запускает выбранный процесс с переданными параметрами

Рекомендации по публикации процессов

При работе с MCP-сервером процессов LLM анализирует запрос пользователя не только по названию процесса, но и по его описанию.

Например, при запросе пользователя "Оформи отпуск вне графика" LLM при выборе подходящего процесса ориентируется на:

  • наименование процесса

  • описание процесса

  • степень смыслового соответствия запроса пользователя указанным данным

Чтобы избежать запуска некорректного процесса, рекомендуется:

  • при публикации процесса задавать наименование, которое однозначно отражает его назначение

  • заполнять описание процесса полноценным текстом, поясняющим:

    • цель процесса

    • особенности его выполнения

    • ключевые отличия от схожих процессов

Пример использования сервера процессов:

Сервер по работе с документами интеллектуального поиска

Шаблон:

https://<базовый_адрес_системы>/assistant/mcp

Пример:

Пример для демо-стенда – https://demo-ent.rpa-robin.site:9443/assistant/mcp

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

Последовательность работы и доступные методы:

1. Ассистент вызывает метод get_search_documents для получения списка доступных групп документов.

2. Для каждой полученной группы Ассистент вызывает метод get_search_answer, передавая:

  • id группы
  • оригинальный запрос пользователя
  • извлекает значение из поля answer

Если ответ не найден – выполняется запрос к следующей группе до того, пока не вернется ответ.
Если ответ найден – он возвращается пользователю дословно, без изменений.

Пример использования сервера интеллектуального поиска:

  • Нет меток