Несколько месяцев продолжался ресёч и далее собственно уже разработка в рамках проектов OneRPA
и EmplDocs.
Немного расскажу, что "под капотом" и зачем мы это всё делали в 1С.
Но сперва немного теории:
Что такое RAG системы?
Retrieval Augmented Generation - это когда пользователь пишет запрос к LLM, а вы к нему подмешиваете данные из ваших корпоративных систем.
Сама идея стара как мир. Название просто модное.
Примерно как и RPA в свое время. Просто если развитию RPA придало неплохой буст развитие CV в те времена повсеместное, то RAG системы - очевидное следствие появления и развития LLM.
2022-ой год кроме известных печальных событий подарил нам приятные истории в мире NLP виде революционных моделей GPT.
На самом деле революция началась существенно раньше - где-то с появлением архитектуры трансформеров, т.е. по факту BERT уже был весьма хорош, и был виден потенциал, но, конечно, успеха GPT никто не ожидал.
И сразу после того, как все поняли, что GPT - это "гейм ченджер", естественно, его ринулись применять везде, где надо и не надо. Но быстро стало очевидно, что LLM модели как "более продвинутый google" слишком мало для реальных внедрений в реальный бизнес. А именно эта история нас двигает вперёд, без применения в реальных задачах бизнеса технология просто "дорогая игрушка".
Что нужно для внедрения LLM в бизнесе:
- OnPremise
- Доступ к корпоративным данным
Про OnPremise мы поговорим отдельно. Пока главное, что хотел сказать, это то, что системы, которые используют LLM и обогащают контекст за счет корпоративных данных, называют RAG системами. И да, конечно, консультанты скажут вам, что всё существенно сложнее сложнее :). Теперь давайте разберёмся с ИИ агентами:
Что такое ИИ агент?
Кроме того, что система имеет доступ и использует корпоративные данные в своей работе, постепенно появился класс систем, которые стали называть ИИ агентами (да-да, теперь мы уже не изменим тот факт, что LLM для всех стали "ИИ", несмотря на весь спектр технологий, которые мы причисляем к ИИ).
Какой-то четкой классификации, что есть ИИ агент, вы не найдёте.
Но давайте чуть проще - от общего к частному:
1) ИИ - по сути очень много всего, включая ML\NLP\CV\OCR и ещё кучу направлений характеризуется не детерменированным алгоритмом принятия решений, а на основе обучения (статистики)
2) LLM - современное направлении ИИ - те самые модели, которые дают "фантастические" результаты используя архитектуры GPT произвольные от них в несколько проходов\направлений, встроенные векторы контекста кучу параметров и т.п.
3) RAG - это когда чатика с LLM нам уже мало и мы подсовываем модели в том или ином виде корпоративные данные
4) AI агент - это когда модели подсовываются корпоративные данные, но ещё добавляется "память", что она делала и как кому отвечала и что кто спрашивал, появляется какое то планирование и добавляются различные тулзы вроде "проведи документ в корп системе" или "поищи по корпоративной базе знаний"... Основной акцент на автономности...
На этом с теорией разобрались, давайте попробуем ответим на главный вопрос:
Зачем нам ИИ агенты в 1С?
Ну как минимум потому, что у конкурентов они уже есть:
Притом ещё и с возможностью "разработки"
Или даже у SalesForce так:
Крупнейшие мировые вендоры ERP\CRM уже активно пилят ИИ Агентов.
В 1С на момент начала 2025-го года ИИ агентов мне лично найти не удалось, поэтому в рамках проекта OneRPA мы запилили конструктор ИИ агентов и интерфейс для взаимодейтсвия с ними для 1С.
А в рамках проекта EmplDocs мы разработали и стали внедрять уже Production ИИ агентов в HR.
Зачем ещё ИИ агенты именно в 1С? Да очень просто - корпоративные знания, связанные с деятельностью компании и используемые для принятия решений, как правило, находятся в 1С, если вы живёте в РФ. А кроме фундамента корпоративных знаний в компании обычно есть разве что производственная система, которая может быть не привязана к платформе 1С в зависимости от задач или база знаний, для которой уже давно существуют RAG системы и ИИ агент как таковой не сильно полезен.
Соответственно в 1С ИИ агенты это просто необходимая история, которая будет существенно упрощать нам и пользователям жизнь уже очень и очень скоро
Более того, потребность была осознана кажется ещё до появления и массового распространения современных LLM.
Все же помнят вот эту историю?
Без LLM она вряд ли была настолько удобна и востребована + интерфейс "внутри 1С", конечно, не делает её популярнее.
Но тем не менее, вряд ли данное решение разрабатывали в тиражном продукте просто "из интереса".
Так или иначе, думаю это скоро изменится если уже не изменилось и у меня просто нет актуальной информации.
Что же касается ИИ агентов, то самое время их делать именно сейчас, месяц назад было рано. Через месяц будет поздно :).
Почему же ИИ агентами надо заниматься сейчас?
А виновники всему вот эти ребята:
И
Кто то сейчас думает и что я к ним прикопался? Всё таки модели от OpenAI дают лучший результат...
Да, несомненно, модели от OpenAI обеспечивают лучший результат, вот только... Они в облаке. И дело тут не только в стоимости (хотя она тоже важна).
Готовы вы персональные данные сотрудников, финансовую информацию или что-то ещё отдать в облако? Ещё и трансграничную передачу... это уже совсем ай ай. Мир сейчас не такой приятный и в нём бегают не только розовые пони.
С учетом того, что модели явно учатся на передаваемой им информации, надо быть очень смелым человеком чтобы это сделать.
Вообщем суть в том, что лично для меня ИИ агенты обрели буст и стали "must have" инструментарием с появлением DeepSeek.
Теперь есть возможность в принципе компании любого масштаба развернуть себе локальную LLM приличного качества.
LLama, конечно, была достаточно давно, но разница с передовыми моделями OpenAI всё-таки была слишком существенной.
Как выглядят ИИ агенты в 1С сейчас?
ИИ аегнтов мы пока сделали в EmplDocs и отдельным модулем в рамках OneRPA.
Но EmplDocs вцелом решение достаточно специализированное и ИИ агентов мы там разработали используя достаточно классический инструментарий.
Так что рассказать и поделиться особо нечем, кроме разве что результатов, о которых я уже собственно писал: //infostart.ru/1c/articles/2326735/
А вот ИИ агенты в OneRPA уже несколько более интересная история:
И OneRPA мы теперь называем в том числе APA системой (Agentic Process Automation).
До завершения первых внедрений (сторонними командами) наверное будем держать в закрытой бета. Но как люди освоят - будет уже совсем другая история.
Сам интерфейс пользователя внутри 1С выглядит как-то так:
Как видите, ничего в нём особо умного нет. Но как бы и не должно быть.
Сейчас работаем над тем, чтобы всё-таки прикрутить распознавание голоса, то ли локальное, то ли уже самой LLM отдать или специализированное решение использовать.
Чат сделан именно в Web варианте осознанно - для того чтобы обратиться к ИИ агентам можно было не открывая непосредственно интерфейс 1С. Тут вопросы и доступов и удобства использования и лицензирования.
В целом достаточно удобно.
Сам процесс использования выглядит следующим образом:
- берётся виртуальная машина в формате OVF (или скрипты развёртывания)
- С этой машины публикуется Web интерфейс чата, который связан с LLM
- В 1С добавляется и публикуется расширение, в настройках машины с LLM указывается адрес API опубликованного расширения, посредством которого и осуществляетя вся "магия управления"
- Загружаются сами разработанные ранее агенты, или разрабатываются новые.
А что под капотом?
Из чего всё это состоит?
На VM установлен DeepSeek запущенный лёгким движением руки с ollama.
Сверху там же находится Open-WebUI для того чтобы у наших агентов был интерфейс чата.
Там же развернута Milvus - для памяти наших агентов
При обращении в чат происходит вызов LangChain а через него уже обращение к LLM.
Переписку LangChain соответственно "запоминает" в векторной БД.
LangChain же обращается в 1С для инициализации агентов, использования отдельных tool-ов и знаний.
Контекст стараемся экономить насколько это возможно, соответственно придётся "платить" долесекундными зажержками на обращение в 1С за данными по мере необходимости.
При этом сама разработка агента не требует знания всего что перечислено выше.
По сути это следующие шаги:
- создание самого агента, включая описание назначения, начального промпта, описания контекста при котором должны быть обращения именно к этому агенту
- Описание знаний к которым будет обращаться ИИ агент. По сути запрос в 1С, описание его назначения и колонок получаемого результат
- Описание действий ИИ агентов. Вот тут может придётся немного покодить. ИИ агент может вызвать именно действия (разделение специфично для 1С) по вводу документа в 1С, передав на вход json в нужном формате. Формат, кстати, тоже описывается отдельно.
Самое интересное относительно классической разработки, что никакого чёткого алгоритма действий или даже какой то финальной схемы работы.
"магия" заключается в том, что мы описывам только итог и некоторую специфику поведения, всю промежуточную часть ИИ агент может "додумать" сам.
Такая логика обеспечивает ИИ агентам большую автономность чем классическим чатботам, а также существенно боле высокое качество получаемых в итоге решений.
Самое трудное во всём этом занятии - тестирование работы агента в различных ситуациях и корректировка поведения только промптами и описанием запросов и итогов. Самое интересное ещё в том, что поведение может отличаться в зависимости от используемой модели. Поэтому использование локальной модели с агентами разработанными и протестированными для неё - намного более стабильная история.
Пока при разработке ИИ агентов мы не используем файнтюнинг, хотя его использование конечно может позволить добиться куда более впечатляющих резуальтатов для конкретной компании и области знаний, но по соотношению затраты\результат кажется не в нём ключ к успеху.
Касательно технологического стека, я пожалуй отвечу сразу на популярные вопросы:
Почему не сервер взаимодействия?
Во-первых он мне просто не нравится как по интерфейсу так и по функционалу. Во-вторых, онпремис он тяжеловесен чрезвычайно, и лицензируется, что для "чатика" кажется ту мач. В-третьих, насколько я помню, клиент - только платформа 1С, а следовательно использование достаточно ограничено.
Почему не использовал функционал чат ботов в 1С?
Да, они работают без сервера взаимодействия, но как минимум чатбота нельзя добавить расширением, а это достаточно принципиальный момент. Менять конфигурацию во имя ИИ агентов как то не хочется. Всё таки они относительно "сбоку" к основному функционалу.
Ну и с LangChain взаимодействие кажется было бы труднее чем сейчас.
Итого
Разрабатывать ИИ агентов, я думаю, скоро мы будем все. В OnePRA, в чистом Python, появится что то в платформе 1С или ещё каким то образом - на знаю.
Смысл в том что самое время начинать если уже не заканчивать. Предполагаю что интерфейс будет меняться, и скоро "формы с кучей кнопочек" которым надо отдельно учиться уступят место интерфейсам с использованием естественного языка. А если уже говорить что такие интерфейсы совмещаются с обучением и некоторой степенью автономности, то выглядит вообще как сказка. LLM вошли в фазу вполне доступных каждому решений, так что готовимся, господа. Или начинайте писать свой фреймворк (что собственно не сложно) или Welcome в OneRPA, или знания Python и наскольких общих фреймворков крайне пригодятся.
На этом всё. Тут должны были быть контакты, гитхаб, телеграм канал. Но всего этого нельзя, так что как есть...