Предисловие. Продолжаю публиковать свои наработки и мысли по работе с ИИ. На этот раз я решил что просто собирать информацию с сервисов или агентов генерировать ответ это интересно, но скучно. Надо что бы система могла делать сложные действия. Для выполнения сложного действия нужен программа или я как это назвал сценарий. Сценарий работает исходя и списка доступных сервисов который есть у него. Доступные сервисы предполагают не только получения информации но и действия . К примеру отправка письма или приведение в действие какого либо устройства с необходимый для работы параметрами. Генерация сценария это только первый этап работы по обработки сложных запросов. Но начнем с него. Дальше с полученным json кодом будет работать интерпретатор. Его я буду рассматривать в следующих статьях. Наверное. Но это не точно может мне будет лень продолжать. Так что начнем вот сама статья.
В современном мире автоматизации бизнес-процессов одной из ключевых проблем остается координация различных сервисов и инструментов для выполнения комплексных задач. Представьте систему, которая способна не только понимать ваши запросы на естественном языке, но и автоматически генерировать последовательности действий, объединяющие различные API и сервисы. Именно такую задачу решает ScenarioGenerator — интеллектуальный координатор рабочих процессов.
Как работает система
Архитектура решения
ScenarioGenerator построен на принципе декомпозиции задач. Когда пользователь формулирует запрос, система:
Анализирует доступные ресурсы из конфигурационного файла
resources.jsonСоздает интеллектуальный промт для языковой модели
Генерирует JSON-сценарий с последовательностью шагов
Валидирует результат и возвращает готовый план действий
# Пример конфигурации инструментов
{
"resources": [
{
"name": "vessels_radius_search",
"description": "Поиск судов в радиусе от указанных координат",
"type": "http",
"url": "http://127.0.0.1:12323/vessels/radius"
},
{
"name": "email_service",
"description": "Сервис для работы с электронной почтой",
"type": "http",
"url": "http://127.0.0.1:12322/emails"
}
]
}
Практическое применение
Пример 1: Логистическая аналитика
Запрос: "Найти суда рядом с портом Владивосток и отправить уведомление по email"
Сгенерированный сценарий:
{
"scenario": [
{
"step": 1,
"tool": "vessels_radius_search",
"purpose": "Поиск судов в радиусе 50 км от порта Владивосток",
"parameters": {
"latitude": 43.133,
"longitude": 131.900,
"radius_km": 50
}
},
{
"step": 2,
"tool": "email_service",
"purpose": "Отправка отчета по найденным судам",
"parameters": {
"recipient": "logistics@company.com",
"subject": "Отчет по судам в порту Владивосток"
}
}
]
}
Пример 2: Бизнес-аналитика
Запрос: "Найти в базе документов информацию о поставщиках и сравнить с номенклатурой из 1С"
Сгенерированный сценарий:
{
"scenario": [
{
"step": 1,
"tool": "chroma_vector_db",
"purpose": "Семантический поиск документов о поставщиках",
"parameters": {
"query": "поставщики контракты договоры",
"limit": 10
}
},
{
"step": 2,
"tool": "1c_products",
"purpose": "Получение номенклатуры товаров для анализа",
"parameters": {
"category": "all",
"limit": 100
}
}
]
}
Технические особенности
Интеграция с LM Studio
Система использует локальную языковую модель через LM Studio API, что обеспечивает:
Конфиденциальность данных — все обработки происходят локально
Гибкость в выборе моделей
Контроль над качеством генерации через параметры temperature и max_tokens
response = requests.post(
self.lm_studio_url,
json={
"messages": [
{"role": "system", "content": "Ты создаешь JSON сценарии..."},
{"role": "user", "content": prompt}
],
"temperature": 0.1, # Низкая температура для детерминированности
"max_tokens": 2000
},
timeout=90
)
Обработка ошибок
Система включает многоуровневую обработку ошибок:
Проверка доступности инструментов
Валидация JSON-ответов
Обработка сетевых сбоев
Резервные сценарии при недоступности сервисов
Преимущества подхода
Для бизнеса
Сокращение времени на проектирование workflows
Унификация процессов взаимодействия с различными API
Масштабируемость — легко добавлять новые инструменты
Документирование процессов через автоматически генерируемые сценарии
Для разработчиков
Чистая архитектура с разделением ответственности
Простота расширения функциональности
Логирование и отладка сложных последовательностей
Переиспользование существующих сервисов
Перспективы развития
Текущая реализация открывает путь для множества улучшений:
Визуальный редактор сценариев
Система мониторинга выполнения workflows
Машинное обучение для оптимизации последовательностей действий
Интеграция с оркестраторами т
Система шаблонов для часто используемых сценариев
Заключение
ScenarioGenerator представляет собой мост между естественным языком и технической реализацией сложных процессов. Эта система не просто автоматизирует рутинные задачи — она создает новый уровень взаимодействия человека с цифровой инфраструктурой, где сложные технические последовательности становятся доступными через простые запросы на естественном языке.
В эпоху, когда количество инструментов и сервисов растет экспоненциально, способность эффективно координировать их работу становится ключевым конкурентным преимуществом. ScenarioGenerator предлагает элегантное решение этой проблемы, открывая новые возможности для автоматизации бизнес-процессов.
Продолжение наверное последует.
mimocrocodile007
по сути ничего нового, простая аккумуляция решений, что уже были в голове, но при этом есть особое изящество в том как просто автор это описал. Статья как бы говорит: это просто, это логично и эффективно, ты можешь взять и сделать)
stilrambler Автор
Когда все разложено по полочкам все всегда просто. Если честно я особо и не претендую на НОУХАУ. Можно просто загнать эту статью в тот же деекппиик и она даст тебе рабочий код. Все просто.