Современные возможности искусственного интеллекта по анализу информации, а также способность языковых моделей взаимодействовать с внешними инструментами подтолкнули меня к разработке решения, которое вы сейчас видите.
Благодаря ему, без сложных настроек и программирования, пользователи могут легко ставить задачи для ИИ прямо в 1С.
Процесс прост:
- Программист наполняет базу инструментов для ИИ;
- Пользователь создает сценарии задач для ИИ в виде шаблонов;
- ИИ, при помощи инструментов, выполняет сценарии из шаблонов.
Обратите внимание, что взаимодействие с ИИ по API реализовано через внешние обработки. Благодаря этому моё решение может работать практически с любой языковой моделью, поддерживающей API-интерфейс. Всё зависит от того, какая внешняя обработка будет добавлена в справочник.
Содержимое архива
В архиве проекта вы найдёте следующие файлы:
- Демо-база: Готовая база для быстрого ознакомления с возможностями решения.
- Обработки для доступа по API: Эти обработки предназначены для загрузки в справочник "Программные интерфейсы" и обеспечивают взаимодействие с ИИ. В комплекте Gemini и Deepseek.
- Дополнительные обработки: Примеры для быстрой интеграции решения в ваши существующие конфигурации.
- Текстовая инструкция.
Запуск демонстрационной базы
Чтобы оценить все возможности моего решения, рекомендую развернуть копию демо-базы. Это можно сделать как в файловом, так и в клиент-серверном варианте — тип базы не имеет значения. Важно лишь использовать относительно новую версию платформы 1С:Предприятие. Проект успешно протестирован и показал стабильную работу на версии 8.3.20. Для использования более ранних версий противопоказаний нет, главное поддержка актуальных версий TLS со стороны 1С.
Особенности конфигурации
Представленная конфигурация является одной из ранних версий проекта. Я постоянно вношу изменения и доработки, добавляю новый функционал и оптимизирую существующий код. Тем не менее, даже эта версия успешно справляется со своими задачами.
Конфигурация спроектирована таким образом, чтобы обеспечить максимально лёгкую интеграцию в различные типовые решения 1С, такие как УПП 1.3, УТ 3.5, а также в любые другие конфигурации, поддерживающие управляемые формы.
Важные моменты при переносе кода
Если вы планируете переносить код в свою рабочую базу, обратите внимание на несколько ключевых аспектов:
Объекты с префиксом "_Демо": В конфигурации присутствуют объекты, имена которых начинаются с префикса "_Демо". Это либо демонстрационные объекты, либо заглушки, предназначенные исключительно для примера. Их не нужно переносить в вашу рабочую базу.
Использование кода из БСП: В проекте частично использован код из БСП версии 3.1.3.577. Поскольку БСП, даже в минимальном варианте, оказалась достаточно громоздкой, я перенес только несколько необходимых объектов. В некоторых общих модулях код был закомментирован. ВАЖНОЕ ЗАМЕЧАНИЕ: Если при переносе в вашей базе уже есть аналогичные объекты, необходимо оставить существующие объекты и не заменять их объектами из демо-базы!
Объекты конфигурации
При работе с развернутой демо-базой вы столкнётесь со следующими справочниками:
- Справочник "Шаблоны сценариев": Это основной инструмент для пользователей. Здесь описываются этапы выполнения задач для ИИ, а также указываются доступные ему инструменты на каждом этапе. Именно тут пользователь определяет логику работы виртуального ассистента.
- Справочник "Программные интерфейсы": Заполнение этого справочника — задача технического специалиста. В нём хранятся внешние обработки, обеспечивающие взаимодействие с различными моделями ИИ по их API.
- Справочник "Инструменты ассистентов": Этот справочник наполняется программистом. Он содержит различные инструменты, которые ИИ может использовать для выполнения поставленных пользователем задач в 1С.
- Справочник "Настройки сценариев": Заполняется техническим специалистом. В этом справочнике хранятся системные инструкции и общие настройки(в новых версиях), которые применяются к наборам шаблонов сценариев .
Подготовка к работе
После разворачивания демо-базы необходимо выполнить два основных шага для подготовки к работе: настроить "программный интерфейс" и скорректировать "настройки сценариев".
Подготовка программного интерфейса
Справочник для настройки интерфейсов находится по пути: "Виртуальные ассистенты - Программные интерфейсы".
Для настройки интерфейса достаточно ввести ключ API.
Для Gemini вы можете получить бесплатный ключ API по адресу: https://aistudio.google.com/app/apikey.
Для Deepseek ключ API доступен после регистрации здесь: https://platform.deepseek.com/api_keys. Обратите внимание: для использования этого сервиса потребуется пополнить баланс.
Ключ вводится в карточке интерфейса после нажатия кнопки "Настроить".
Проверить корректность введённых данных можно прямо в форме интерфейса, нажав кнопку "Проверить".
Подготовка настроек сценариев
Каждый сценарий в системе использует определённую настройку, где указан программный интерфейс для взаимодействия с ИИ. Убедитесь, что во всех элементах справочника настроек сценариев указан тот интерфейс, который вы настроили и успешно проверили на предыдущем этапе.
Справочник настроек сценариев доступен по пути: "Виртуальные ассистенты - Настройки сценариев".
Тестирование решения
"Быстрый" тест
В качестве первого теста предлагаю выполнить сценарий, который анализирует текст назначения платежей в платежных документах, извлекает оттуда номера и даты заказов, находит соответствующие заказы в системе и затем добавляет их в платежки.
Для начала откройте список платежных документов: "Демо - Поступление безналичных ДС".
В списке вы увидите документы, а для наглядности будет выведена отметка, указывающая, обработан документ или нет.
Нажмите кнопку "Запустить сценарий" в списке документов. ИИ начнёт выполнять сценарий согласно заданному шаблону.
После завершения сценария в списке появятся отметки для некоторых документов. Обратите внимание: если в назначении платежа содержится сложный текст, выполнение сценария с использованием Deepseek может занять до 10 минут.
Сообщения пользователю от ИИ в журнале регистрации можно найти по событиям с префиксом “Работа ассистента.”. Просмотреть журнал можно здесь: “Функции для технического специалиста - Стандартные - Журнал регистрации”.
Отладка и пошаговое тестирование
Чтобы детально изучить работу системы, предлагаю использовать функцию пошаговой отладки.
Прежде всего, верните документы к исходному состоянию и сбросьте отметки, нажав "Отменить изменения" в списке платежных документов.
Затем откройте шаблон сценария, нажав кнопку "Открыть шаблон" в том же списке. Шаблон называется "Заполнение заказов(счетов) в платежках".
В открывшемся окне вы увидите иерархию этапов, которые ИИ проходит последовательно при выполнении сценария.
Для пошаговой отладки нажмите кнопку "Тестирование".
Откроется форма пошагового тестирования инструкций (промптов). Этот инструмент позволяет вам шаг за шагом отправлять промпты языковой модели и анализировать ответ ИИ.
В верхней части окна будет отображаться текущая инструкция (промпт). При нажатии на кнопку "Выполнить" инструкция передаётся языковой модели.
Результат выполнения отображается в нижней части окна. Обычно это инструмент, который ИИ рекомендует для выполнения указанной инструкции.
В любой непонятной ситуации вы можете задать вопрос языковой модели, нажав кнопку "Вопрос".
Чтобы одобрить выбор инструмента, достаточно нажать "ОК".
Дополнительный пример
Вы также можете протестировать заполнение сегмента номенклатуры, открыв список по пути: "Демо - Номенклатура".
Программный запуск
Код для запуска сценария по шаблону прост:
// Запускает выполнение сценария по шаблону.
// Возвращает структуру с результатом выполнения.
//
// Параметры:
// ШаблонСценария - Ссылка - шаблон сценария для выполнения.
// ОбъектыНазначения - Массив - коллекция доступная при вызове инструментов.
// УникальныйИдентификатор
// - Неопределено - хранилище на один запрос сервера.
// - Уникальный идентификатор - идентификатор формы для временного хранилища.
//
Функция ЗапуститьСценарийШаблона(ШаблонСценария, ОбъектыНазначения, УникальныйИдентификатор = Неопределено)
Если УникальныйИдентификатор = Неопределено Тогда
УникальныйИдентификатор = Новый УникальныйИдентификатор();
КонецЕсли;
АдресХранилища = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
ПараметрыЗапуска= Новый Структура();
ПараметрыЗапуска.Вставить("ОбъектыНазначения", ОбъектыНазначения);
ПараметрыЗапуска.Вставить("ШаблонСценария", ШаблонСценария);
МодульМенеджера = Справочники.ШаблоныСценариевВиртуальныхАссистентов;
МодульМенеджера.ЗапуститьСценарийЗадачи(ПараметрыЗапуска, АдресХранилища);
ДанныеРезультата = ПолучитьИзВременногоХранилища(АдресХранилища);
Возврат ДанныеРезультата;
КонецФункции // ЗапуститьСценарийШаблона()
Заключение
ИИ — это мощный инструмент, но он не идеален и может ошибаться. Его сильная сторона — анализ, рассуждения и принятие решений на основе предоставленных данных, а не точные математические вычисления.
Поэтому я не рекомендую возлагать на ИИ задачи, требующие обработки больших объёмов данных или выполнения сложных арифметических расчётов и формул. Для этих целей гораздо эффективнее использовать саму учётную систему 1С, которая для этого и предназначена.
Идеальная конфигурация, на мой взгляд, выглядит так:
- 1С: Хранит и рассчитывает все ваши данные.
- ИИ: Анализирует эти данные, выявляет закономерности и помогает принимать решения, выступая в роли интеллектуального ассистента.
Помните: все инструкции и шаблоны для ИИ должны быть максимально чёткими, не содержать двусмысленностей и противоречий. Это залог корректной работы вашего ИИ-помощника.
Upd 31.07.2025 Обновлен архив: исправлены ошибки
Upd 07.08.2025 Обновлен архив: исправлены ошибки, добавлено описание структуры запроса, добавлена обработка для доступа к API GigaChat (GigaChat используете на свой страх и риск)
Вступайте в нашу телеграмм-группу Инфостарт