# Обзор MAS (старая версия)



# Обзор разработки ИИ-агентов на Metabot

## Введение

**Metabot** — это универсальная **low-code / full-code платформа**, объединяющая возможности чат-ботов, интеграций и backend-автоматизации.  
Она служит коммуникационным и интеграционным ядром, где можно проектировать бизнес-процессы, собирать ассистентов и подключать внешние сервисы.

На этой основе создан **Metabot Agent Stack (MAS)** — фреймворк для разработки **интеллектуальных ассистентов и мультиагентных систем**, где можно:

- подключать любые LLM;
- интегрировать базы знаний;
- строить цепочки reasoning;
- и управлять всем этим без кода.

MAS использует компоненты платформы (скрипты, атрибуты, API-шлюзы, базу знаний, трассировку) и расширяет их возможностями работы с **LLM, RAG-поиском и reasoning-цепочками**.

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

---

## Основные компоненты

Все компоненты вместе формируют [Metabot Agent Stack (MAS)](https://docs.metabot24.ru/books/06-iskusstvennyi-intellekt-ii/page/metabot-agent-stack-mas):

<table id="bkmrk-%D0%9A%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82-%D0%9D%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5" style="width: 100%;"><thead><tr><th style="width: 15.814%;">Компонент</th><th style="width: 84.1448%;">Назначение</th></tr></thead><tbody><tr><td style="width: 15.814%;">Run asynchronous API-request</td><td style="width: 84.1448%;">Команда для выполнения асинхронного API-запрос c замыканием состояния на текущей команде и ожиданием результата выполнения запроса. Через нее происходит обращение к LLM.</td></tr><tr><td style="width: 15.814%;">LLMClient</td><td style="width: 84.1448%;">Универсальный компонент для работы с языковыми моделями (OpenAI, Claude, YandexGPT, GigaChat и др.) через API. Поддерживает синхронные и асинхронные запросы.</td></tr><tr><td style="width: 15.814%;">Snippets</td><td style="width: 84.1448%;">Параметризуемые фрагменты кода и настроек, которые позволяют конфигурировать агента под конкретный проект.</td></tr><tr><td style="width: 15.814%;">Knowledge Base</td><td style="width: 84.1448%;">База знаний на PostgreSQL с поддержкой PgVector. Позволяет хранить документы, разрезать их на чанки, векторизировать и выполнять семантический поиск.</td></tr><tr><td style="width: 15.814%;">KnowbaseSearch</td><td style="width: 84.1448%;">Компонент для RAG-поиска (Retrieval Augmented Generation). Ищет релевантные фрагменты знаний и формирует контекст для LLM.</td></tr><tr><td style="width: 15.814%;">Custom Tables</td><td style="width: 84.1448%;">Пользовательские таблицы для хранения данных, промптов и контекстов.</td></tr><tr><td style="width: 15.814%;">Txt Importer</td><td style="width: 84.1448%;">Скрипт для импорта текстовых файлов, разрезки на чанки и векторизации (эмбеддинги).</td></tr><tr><td style="width: 15.814%;">Tracing</td><td style="width: 84.1448%;">Встроенная трассировка запросов и ответов LLM — для отладки и анализа reasoning-процессов.</td></tr><tr><td style="width: 15.814%;">API/Webhooks</td><td style="width: 84.1448%;">Встроенные средства интеграции с внешними системами и сервисами.</td></tr></tbody></table>

---

## Как работает агент в Metabot 

Создание ИИ-агента в **Metabot** строится вокруг **сценария (script)**. Сценарий описывает последовательность шагов взаимодействия с пользователем и внешними системами.

1. Пользователь пишет сообщение в чат (Telegram, WebChat, WhatsApp).
2. Скрипт получает это сообщение и вызывает **LLMClient** внутри команды **Выполнить асинхронный API-запрос** — формируется запрос (prompt) к языковой модели.
3. Ответ модели возвращается в нужную точку сценария и используется для следующего шага.

Пример логики:

> Пользователь задаёт вопрос → скрипт вызывает LLMClient → LLM обращается к базе знаний → формируется ответ → отправляется пользователю.

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

---

## 📚 Работа с базой знаний

**Metabot** поддерживает **векторную базу знаний** с возможностью гибридного поиска.

- **Импорт данных:** файлы (PDF, TXT, DOCX) можно загружать через Txt Importer, который разбивает их на чанки и векторизирует.
- **Поиск:** компонент KnowbaseSearch позволяет выполнять семантический поиск (по смыслу), а компонент кастомной таблицы позволяет реализовать поиск по точному совпадению.
- **Контекст:** найденные фрагменты подаются в LLM, обеспечивая точные и осмысленные ответы.

---

## Конфигурация и хранение настроек

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

Для каждого ассистента можно хранить:

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

---

## **Отладка и трассировка**

Для разработки ИИ-агентов крайне важно видеть, **почему** модель дала тот или иной ответ. В **Metabot** встроена система трассировки:

- журнал запросов и ответов;
- сохранение контекста промптов;
- визуальная отладка reasoning-потока.

Это помогает быстро улучшать промпты и повышать точность ответов.

---

## **Интеграции и API**

**Metabot** легко соединяется с внешними системами:

- CRM
- ERP и LMS
- DataLens, Google Sheets, SQL-базы
- API партнёров и внутренних сервисов

Встроенные Low-code возможности позволяют строить интеграции без необходимости писать сложный backend.

---

## **📎 Полезные уроки и материалы**

📚 *Смотрите также:*

- [Работа с LLMClient](https://docs.metabot24.ru/books/06-iskusstvennyi-intellekt-ii/page/llmclient)
- [Сниппеты и конфигурация агентов](https://docs.metabot24.ru/books/06-iskusstvennyi-intellekt-ii/page/snippets)
- [База знаний и семантический поиск](https://docs.metabot24.ru/books/06-iskusstvennyi-intellekt-ii/page/knowledge-base)
- [Трассировка и отладка](https://docs.metabot24.ru/books/06-iskusstvennyi-intellekt-ii/page/tracing)
- [Интеграция с внешними API](https://docs.metabot24.ru/books/06-iskusstvennyi-intellekt-ii/page/api-integrations)

# Metabot Agent Stack (MAS)

Мир переходит от интерфейсов кликов к взаимодействию с ИИ через **естественный язык**. Ассистенты и агенты становятся основой нового поколения программ — они умеют **понимать контекст, учиться и действовать**.

Но как программировать таких агентов — без сложной архитектуры и кода?

Ответ — **MAS (Metabot Agent Stack)**. Это не просто набор инструментов.  
MAS — это **фреймворк проектирования разумных агентов**, встроенный в инфраструктуру Metabot.

<div contenteditable="false" id="bkmrk--0">---

</div>## **Что такое MAS**

**MAS (Metabot Agent Stack)** — это архитектурный стек, который объединяет:

- 🧠 **LLM‑интеграцию** (OpenAI, Claude, GigaChat, Gemini и др.);
- 📚 **векторные базы знаний** (PgVector, ClickHouse, Elastic);
- ⚙️ **Low‑code/Full-code сценарии и скрипты** на JavaScript;
- 🔀 **интеграцию с API и CRM/ERP системами**;
- 🗂️ **память и атрибуты** для хранения контекста;
- 🛰️ **агентные пайплайны и маршрутизацию намерений.**

MAS разворачивается поверх платформы Metabot и превращает её из конструктора чат‑ботов в **полноценную мультиагентную среду**.

<div contenteditable="false" id="bkmrk--1">---

</div>## **Архитектура MAS**

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

<table id="bkmrk-%D0%9A%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82-%D0%9D%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5"><tbody><tr><th>Компонент</th><th>Назначение</th></tr><tr><td>**Intent Router**</td><td>Анализирует запрос пользователя и направляет его в нужный агент.</td></tr><tr><td>**RAG‑агент**</td><td>Извлекает информацию из внутренних документов, формирует контекст и передаёт в LLM.</td></tr><tr><td>**SQL‑агент**</td><td>Строит SQL‑запросы к базам данных и формирует аналитические ответы.</td></tr><tr><td>**Knowledge Base Search**</td><td>Обеспечивает семантический поиск по базе знаний.</td></tr><tr><td>**LLMClient**</td><td>Управляет вызовами языковых моделей и их конфигурацией.</td></tr><tr><td>**Snippets**</td><td>Хранят параметры, промпты и настройки агента.</td></tr><tr><td>**Tracing**</td><td>Отслеживает взаимодействия и reasoning‑потоки между агентами.</td></tr></tbody></table>

MAS поддерживает работу **в мессенджерах, web‑чатах, корпоративных интерфейсах** и может интегрироваться с BI‑инструментами и DataLens.

<div contenteditable="false" id="bkmrk--2">---

</div>## **MAS vs другие фреймворки**

<table id="bkmrk-%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C-mas"><tbody><tr><td>Функциональность</td><td>**MAS (Metabot)**</td><td>**LangChain/LangGraph**</td><td>**LlamaIndex**</td><td>**Botpress / Rasa**</td></tr><tr><td>Память и контекст</td><td>✅</td><td>⚠️ вручную</td><td>⚠️ ограничено</td><td>✅ FSM</td></tr><tr><td>Поддержка RAG</td><td>✅</td><td>✅</td><td>✅</td><td>⚠️ частично</td></tr><tr><td>Асинхронность</td><td>✅</td><td>⚠️ зависит от infra</td><td>⚠️</td><td>⚠️</td></tr><tr><td>Flow Logic</td><td>✅ (визуально)</td><td>⚠️ вручную</td><td>⚠️</td><td>✅</td></tr><tr><td>Интеграции (API, CRM, SQL)</td><td>✅ встроенные</td><td>❌</td><td>⚠️</td><td>⚠️</td></tr><tr><td>JS + Low‑Code</td><td>✅</td><td>❌ (Python)</td><td>❌ (Python)</td><td>✅</td></tr><tr><td>Поддержка мессенджеров</td><td>✅</td><td>❌</td><td>❌</td><td>✅</td></tr><tr><td>Запуск без кода</td><td>✅</td><td>❌</td><td>❌</td><td>⚠️</td></tr></tbody></table>

**MAS** занимает нишу между классическими LLM‑фреймворками и бизнес‑платформами:  
он даёт **архитектурную гибкость LangChain/LangGraph**, но упрощает программирование.

<div contenteditable="false" id="bkmrk--3">---

</div>## **🧬 MAS как философия**

> “Нейросети не мыслят. Интеллект рождается в инфраструктуре вокруг них.”  
> — Юрий Гарашко, *«Сети жизни vs Deep Learning»*

MAS воплощает идею **событийно‑коммуникативной архитектуры**:  
агент не существует изолированно, а живёт в потоке событий, контекстов и действий.

Каждый агент хранит собственную память, имеет зону ответственности и взаимодействует через Intent Router.  
Вся система строится вокруг **атрибутов лида** — единой модели состояния, что позволяет связывать диалоги, данные и действия без написания backend‑кода.

<div contenteditable="false" id="bkmrk--4">---

</div>## **Что даёт MAS разработчикам и бизнесу**

- Быстрая сборка LLM‑ассистентов под любые задачи.
- Поддержка RAG‑поиска и работы с корпоративными базами.
- Интеграция с CRM, ERP, LMS, аналитикой и BI‑дашбордами.
- Автоматизация поддержки, обучения и документооборота.
- Простое масштабирование от одного агента к мультиагентной сети.

MAS позволяет компаниям перейти от «чат‑ботов с ИИ» к **когнитивным операционным системам** — где агенты не просто отвечают, а **управляют процессами и принимают решения.**

<div contenteditable="false" id="bkmrk--5">---

</div>## **📚 Рекомендуемые материалы**

- <a>Работа с LLMClient</a>
- <a>Knowledge Base и RAG</a>
- <a>Snippets и конфигурация агентов</a>
- <a>Tracing и отладка reasoning</a>
- <a>Интеграция с внешними API</a>

<div contenteditable="false" id="bkmrk--6">---

</div>Следующий шаг: изучите <a>уроки по MAS</a> и попробуйте создать собственного агента — участника предстоящего *Баттла ассистентов и рыцарей*!