ИИ-агент для 1С под NDA: Как я научил локальную LLM писать запросы, понимать регистры и СКД

05.05.26

Интеграция - Нейросети

Подружить ИИ и 1С:ЗУП — задача со звездочкой. Зарплата, персональные данные строжайше запрещено отправлять в облачные API. Но первой линии поддержки нужен умный помощник для поиска ошибок расчетчиков. Я решил эту проблему, спроектировав ReAct-агента для работы в полностью закрытом контуре на базе локальной модели Gemma-4:31b и LangGraph. В этой статье (которая является скорее моим инженерным дневником) я расскажу, почему классический RAG не работает для 1С, как я отучил нейросеть галлюцинировать запросы, научил её читать метаданные и программно превращать таблицы СКД в плоский JSON. Разбор архитектуры, куски кода и видео работы моего ИИ под катом.

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО

Наименование Скачано Бесплатно
Выгрузка расширения 1С:ЗУП и проект на Python
.zip 182,68Kb
159 Скачать бесплатно

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Когда заходит речь об интеграции LLM (больших языковых моделей) и корпоративных систем, первый же вопрос от службы безопасности звучит так: «А куда полетят данные?».

В случае с какими-нибудь CRM или складским учетом еще можно подискутировать. Но когда дело касается 1С:ЗУП — это глухая стена. Ни один вменяемый ИТ-безопасник не разрешит работать с облачной LLM.

Поэтому моя задача звучала амбициозно: спроектировать архитектуру ИИ-агента, который сможет автономно расследовать ошибки расчетчиков в ЗУП, но при этом будет готов к развертыванию в полностью закрытом контуре на локальных моделях.

В этой статье (которая является скорее инженерным дневником, чем презентацией готового коробочного продукта) я расскажу, как я отказался от классического RAG, познакомили LLM с метаданными 1С и заставили нейросеть писать валидные 1C запросы, получая по рукам от HTTP сервиса 1С в случае ошибки.

(Спойлер: пока сервера под локальные модели уровня Gemma-4:31b находятся в стадии закупки, архитектуру я обкатывал на облачных API, так как код оркестратора от этого не меняется. Но обо всем по порядку).

 

Проблема: Почему обычный RAG не работает для 1С?

Классический подход к ИИ в бизнесе сейчас выглядит так: берем документацию, скармливаем в векторную базу данных (Chroma/Pinecone), подключаем LLM. Пользователь задает вопрос, ИИ находит похожий кусок текста и генерирует ответ (это и есть RAG — Retriever-Augmented Generation).

Для первой линии поддержки это работает неплохо, когда нужна справочная информация. Но когда бухгалтер или сотрудник службы поддержки пишет:

«Почему у Солодовниковой М.П. в Начислении ЗП №25 НДФЛ посчитался как 8515 рублей, хотя оклад 65 000? По моим расчетам должно быть 8450!»

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

Нам нужен был не умный справочник. Нам нужен был автономный агент.

 

Концепция ReAct: Даем ИИ "руки" и "глаза"

Я использовал паттерн ReAct (Reasoning and Acting) на базе фреймворка LangGraph (Python).
Суть в том, что мы даем языковой модели набор инструментов (tools) в виде HTTP-вызовов к серверу 1С. Получив вопрос, агент вступает во внутренний цикл:

  1. Thought (Мысль): «Так, меня просят проверить НДФЛ. Сначала мне нужно получить данные из этого документа».

  2. Action (Действие): Вызывает метод API get_calculation_details.

  3. Observation (Наблюдение): Получает JSON с табличной частью документа.

  4. Thought (Мысль): «Ага, я вижу оклад 65 000 и НДФЛ 8515. Действительно, не сходится. Пойду поищу историю начислений в регистрах за прошлые месяцы».

  5. Action (Действие): Пишет 1С запрос и дергает API execute_1c_query.

  6. И так далее, пока не найдет ответ.

Как это выглядит на практике (Разбор реального кейса)

Давайте посмотрим на то, как агент разбирает ту самую проблему с Солодовниковой из примера выше.

Демонстрация работы агента в интерфейсе 1С и терминале.

 

Давайте заглянем под капот и почитаем реальные логи оркестратора. Наблюдать за ходом мыслей ИИ — отдельный вид удовольствия. Модель ведет себя как настоящий стажер, который впервые открыл консоль запросов 1С и собирает все грабли синтаксиса. Но, в отличие от человека, она не впадает в депрессию, а методично исправляет свои ошибки.

 
 Лог работы агента в терминале

 

Шаг 1. Погружение в контекст
Получив задачу («проверь начисленный НДФЛ по Солодовниковой...») агент первым делом читает локальную шпаргалку docs/Начисление зарплаты и взносов.md. Затем он дергает инструмент get_1c_calculation_details и получает табличную часть документа.

 

Шаг 2. Первая ошибка (Незнание таблиц)
Агент решает проверить налог запросом к документу и пишет:

ВЫБРАТЬ НДФЛ.ФизическоеЛицо...

Наш сервис 1С возвращает агенту ошибку: Поле не найдено "НДФЛ.Регистратор".
ИИ извиняется (внутренне), переписывает запрос правильно и успешно вытаскивает сумму налога из документа — 8 515 руб.

 

Шаг 3. Идем в регистры и ломаемся об Перечисления
Дальше агент понимает: чтобы найти причину расхождения, нужно лезть в историю — в РегистрНакопления.НачисленияУдержанияПоСотрудникам. Он пишет запрос, пытаясь отфильтровать НДФЛ через перечисление: ЗНАЧЕНИЕ(Перечисление.ВидыВзаиморасчетовССотрудниками.НДФЛ).
И снова получает по рукам от 1С Неверные параметры "Перечисление.ВидыВзаиморасчетов...".

 

Шаг 4. Осознание структуры
Агент понимает, что галлюцинирует архитектуру ЗУП. Он вызывает инструмент get_metadata("РегистрНакопления.НачисленияУдержанияПоСотрудникам").
Наш сервис отдает ему JSON со всеми измерениями, ресурсами и реквизитами регистра.

 

Шаг 5. Боль, страдания и синтаксис 1С
Получив метаданные, агент пытается написать правильный запрос, но тут начинается череда великолепных ошибок, знакомых каждому начинающему 1С-нику:

  1. Ошибка даты: Агент пишет условие Период <= '2021-09-30'. 1С падает: Синтаксическая ошибка "'2021-09-30'" (забыл слово ДАТА).

  2. Ошибка GUID'а: Агент решает использовать параметры. Он создает параметр &ФизЛицо, но вместо GUID'а сует туда строку с ФИО: "Солодовникова Мария Пахомовна". Наш Python-оркестратор ловит ошибку от 1С: ОШИБКА: Битый GUID или объект не существует.

  3. Ошибка ПРЕДСТАВЛЕНИЯ: Агент решает обойти GUID и ищет по строке: ПРЕДСТАВЛЕНИЕ(НачислениеУдержание) ПОДОБНО "%НДФЛ%". 1С снова неумолима: Неверные параметры "ПОДОБНО" (нельзя использовать ПОДОБНО к функции ПРЕДСТАВЛЕНИЕ).

 

Шаг 6. Финальный успех и победа над контекстом
Спустя 4 итерации правок, агент находит верный синтаксис. Запрос отрабатывает и выплевывает 290 строк истории по НДФЛ сотрудника, начиная аж с 2012 года!
Срабатывает наш предохранитель: 1С обрезает выборку до 100 строк и шлет агенту предупреждение: "Запрос вернул слишком много данных... Чтобы не переполнять контекст, показаны только первые 100".

Этих данных агенту хватает. Он анализирует полученный JSON истории и выдает подробный ответ с разбором базы налогообложения.

Агент делает математический расчет: (65 000 + 500) * 13% = 8 515 руб. и выводит в интерфейс красивый, аргументированный ответ о том, что ошибки нет — система правомерно обложила налогом расходы на проезд.

 

Скриншот ответа агента из переписки в интерфейсе 1С

 

Но чтобы заставить LLM работать с 1С так стройно, нам пришлось решить несколько серьезных архитектурных проблем.

 

Обучаем LLM "видеть" 1С: Метаданные, безопасный запрос и СКД

 

Локальные модели (да и облачные тоже) имеют одну неприятную особенность — они обожают галлюцинировать. Если попросить ИИ написать запрос для 1С:ЗУП, он с радостью сгенерирует что-то вроде:

ВЫБРАТЬ * ИЗ Документ.НачислениеЗарплаты.Сотрудники

(Спойлер: табличная часть называется Начисления, а не Сотрудники).

Чтобы наш агент не фантазировал, я не стал загружать структуру всей конфигурации ему в системный промпт (это съело бы весь контекст). Вместо этого мы дали ему инструменты динамического исследования базы.

 

1. «Очки» для нейросети: инструмент get_metadata

Когда агент сомневается в именах таблиц или полей, он вызывает HTTP-метод get_metadata, передавая имя объекта (например, РегистрНакопления.НачисленияУдержанияПоСотрудникам).

На стороне 1С мы программно читаем метаданные и собираем их в удобный JSON. Но мы отдаем не просто шапку и табличные части. Для ЗУП критически важно знать архитектуру регистров, поэтому мы бережно собираем коллекции:

// Выдержка из HTTP-сервиса 1С
Ответ.Вставить("name", ОписаниеМетаданных.Имя);
Ответ.Вставить("dimensions", МассивИзмерений); // Измерения регистра
Ответ.Вставить("resources", МассивРесурсов);   // Ресурсы
Ответ.Вставить("attributes", МассивРеквизитов); // Реквизиты
Ответ.Вставить("standard_attributes", МассивСтандартных); // Регистратор, Период и т.д.

Инсайт: Локальным моделям уровня Gemma-4:31b этого хватает с головой, чтобы построить в уме идеальную схему таблиц и написать рабочий запрос без ошибок (почти).

 

2. Безопасный запрос и укрощение GUID

Отправлять "сырые" строки от ИИ напрямую в Запрос.Выполнить() — это самоубийство. И дело даже не в безопасности самих данных (к счастью, 1С запросы работают только на чтение данных). Проблема в типизации и GUID-ах.

Если ИИ хочет найти данные по конкретному документу, он пишет запрос:
ГДЕ Ссылка = '3e16bbde-f9b8-11eb-80dd-4cedfb682551'
База 1С радостно падает с ошибкой несовместимости типов (Строка и Ссылка).

Мое решение: Я жестко запретил ИИ использовать GUID напрямую в тексте запроса. Вместо этого он обязан передавать их массивом параметров query_parameters (со строгой Pydantic-схемой на стороне Python).

Внутри 1С мы ловим этот массив, парсим тип объекта и конвертируем строку в реальную ссылку:

// Превращаем JSON-параметр от ИИ в ссылку 1С
УИД = Новый УникальныйИдентификатор(ЗначениеGUID);
МассивТипа = СтрРазделить(СтрокаТипа, "."); // Например: "Документ.НачислениеЗарплаты"
КлассОбъекта = НРег(МассивТипа[0]); 
ИмяОбъекта   = МассивТипа[1];

Если КлассОбъекта = "документ" Тогда
    ЗначениеПараметра = Документы[ИмяОбъекта].ПолучитьСсылку(УИД);
// ... устанавливаем Запрос.УстановитьПараметр()

Предохранитель от переполнения контекста:
Что если ИИ напишет ВЫБРАТЬ * ИЗ РегистрНакопления.ОтработанноеВремя без условий? В ЗУП это могут быть миллионы записей. Огромный JSON улетит в Python и гарантированно вызовет OutOfMemory у локальной LLM.

Мы перехватываем этот момент на этапе сериализации:

Если ТаблицаЗначений.Количество() > 100 Тогда
    Ответ.Вставить("warning", "ВНИМАНИЕ! Запрос вернул слишком много данных (" + ТаблицаЗначений.Количество() + " строк). Чтобы не переполнять контекст, показаны только первые 100. Добавь отборы в секцию ГДЕ, используй СГРУППИРОВАТЬ ПО или агрегатные функции (СУММА, МАКСИМУМ).");			
    // Жестко обрезаем ТЗ до 100 строк перед сериализацией в JSON
КонецЕсли;

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

 

3. Как мы научили ИИ использовать отчеты 1С

Вытащить НДФЛ через запрос еще можно. А теперь представьте, что пользователь просит: "Выведи расчетный листок Иванова" или "Покажи штатное расписание". Писать запрос для таких вещей с нуля — это задача более серьезная, данные могут собираться из разных таблиц и иметь тонкие условия запросов.

В 1С уже есть сотни готовых отчетов на СКД. Мы написали инструмент execute_1c_report, который позволяет ИИ запускать типовые отчеты как функции!

Но СКД генерирует красивый табличный документ. LLM такое "кушать" не умеет. Ей нужен плоский JSON.

Я написал программный "бульдозер", который сносит всю визуальную структуру СКД и заставляет ее выплевывать сырые данные в ТаблицуЗначений:

// 1. Очищаем структуру (удаляем визуальные группировки разработчика)
Настройки.Структура.Очистить(); 

// 2. Добавляем ключевые поля, чтобы они не пропали
ПоляДляДобавления = Новый Массив;
ПоляДляДобавления.Добавить("Сотрудник");
// ... добавляем поля в Выбор ...

// 3. Создаем плоскую группировку "Детальные записи"
ГруппировкаДетальныеЗаписи = Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
ГруппировкаДетальныеЗаписи.Использование = Истина;
ГруппировкаДетальныеЗаписи.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));

// 4. Указываем генератор для коллекции значений, а не для ТабДока!
МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));

// Процессор выводит результат прямо в плоскую Таблицу Значений
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.УстановитьОбъект(ТаблицаРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);

ИИ передает параметры (например, { "Сотрудник.Наименование": "Иванов" }), наш код находит их в КомпоновщикНастроек, подставляет и возвращает плоский массив данных. Агент счастлив, разработчик избавлен от написания мега-запросов.

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

 

4. Файловый RAG: Замена векторным базам данных

 

Мы принципиально не используем векторные базы (ChromaDB / FAISS) для работы с архитектурой 1С. Когда расчет ЗУП завязан на десятки общих модулей, кусковое извлечение текста (chunking) убивает логику алгоритма.

Вместо этого мы написали эмулятор работы программиста. У агента есть инструменты для работы с локальной папкой (WORKSPACE_DIR):

  • list_directory (аналог ls) — посмотреть, что лежит в папке.

  • search_in_files (аналог grep) — найти текст (например, формулу) по всем файлам исходного кода 1С (мы просто сделали выгрузку конфигурации в EDT).

  • read_file — прочитать кусок файла (с жестким лимитом на 300 строк).

 

Системный промпт: Как "воспитать" Gemma-4

Локальные модели требуют более жесткого структурирования, чем облачная крупная GPT. Системный промпт нашего агента больше похож на воинский устав. Вот несколько выдержек, которые спасли нас от хаоса:

  • «ТЕБЕ ЗАПРЕЩЕНО отвечать "я не смог получить данные", пока ты не выполнишь ВСЕ шаги поиска» (Лечит лень модели).

  • «ЗОЛОТОЕ ПРАВИЛО 1С:ЗУП: НИКОГДА не вычисляй итоговые суммы из таблиц Документов. Истинные суммы ВСЕГДА бери из РегистрРасчета».

  • «У документов НЕТ реквизита "Наименование". КАТЕГОРИЧЕСКИ ЗАПРЕЩЕНО писать Регистратор.Наименование. Используй функцию ПРЕДСТАВЛЕНИЕ(Регистратор)».

  • «БЕЗ LaTeX: ТЕБЕ КАТЕГОРИЧЕСКИ ЗАПРЕЩЕНО использовать синтаксис LaTeX для математических формул (никаких символов $$, \times). Используй стандартные знаки (, /).»* (1С-ное поле HTML документа ломалось от разметки LaTeX).


Это только начало пути (суровая реальность)

Сразу хочу оговориться: код и архитектура, показанные в этой статье — это не готовый продукт, который можно скачать, нажать «Далее-Далее-Готово» и уволить половину первой линии поддержки. Это концепт, MVP (Minimum Viable Product), инженерный дневник.

Я хотел показать главное: языковой модели можно безопасно доверить базу 1С:ЗУП, не нарушая NDA и законы о персональных данных. Локальная Gemma-4:31b, если дать ей правильные инструменты (метаданные, безопасные запросы, плоские СКД и файловый RAG), способна рассуждать как крепкий разработчик-стажер (а может и сеньор если дообучить).

Но мы честно признаем текущие ограничения:

  1. Зацикливания. Иногда локальная модель "упрямится". Получив ошибку, она может попытаться отправить тот же самый запрос еще раз. Именно поэтому в оркестраторе LangGraph мы используем жесткое ограничение количества шагов (max_iterations), а в промпте пишем капсом запреты на повторение ошибок.

  2. Ограничения контекста. Контекстное окно не бесконечно. Если агент прочитает три длинных общих модуля подряд и запросит таблицу на 500 строк, он просто "забудет" изначальный вопрос пользователя. Поэтому строгая обрезка строк (как в read_file, так и в запросах) — это вопрос выживания агента.

 

Куда мы движемся дальше?

Текущая реализация (чат в интерфейсе 1С с ожиданием ответа) — это лишь первый шаг. Сейчас это начало, тесты, но в моем бэклоге еще много планов по развитию этой архитектуры:

  • Асинхронность и фоновые задания. Ждать 40-60 секунд, пока агент анализирует логику вытеснений, глядя в зависший интерфейс 1С не хорошо. Мы планируем перевести общение в асинхронный формат. Например бухгалтер задает вопрос, 1С ставит фоновое задание, и когда агент находит ответ — пользователю приходит уведомление (Система Взаимодействия 1С например).

  • Проактивный аудит («Ночной дозор»). Зачем ждать вопроса от расчетчика? Агент может запускаться по регламентному заданию ночью: формировать типовые СКД-отчеты по проверке НДФЛ, искать минуса в регистрах, несостыковки в документах . К утру на столе у бухгалтера будет лежать сгенерированный отчет: "За ночь найдено 3 аномалии, вот причины, вот документы, в которых нужно поправить даты, суммы и т.д".

  • Дообучение модели. Сейчас мы тратим много токенов в системном промпте, объясняя модели особенности синтаксиса 1С (что нет COUNT, а есть КОЛИЧЕСТВО, что нужно использовать ПРЕДСТАВЛЕНИЕ() и т.д.). В планах — собрать датасет из успешных запросов к 1С и дообучить локальную модель (LoRA,DoRA), чтобы она писала запросы к 1С интуитивно. Благо БСП распространяется по лицензии Attribution 4.0 International (CC BY 4.0) и из нее можно брать легально качественные примеры. В перспективе можно на лету собирать данные для дообучения например с помощью ATLAS (Adaptive Teaching and Learning Alignment System).

  • Чтение кода через AST. Сейчас агент ищет код 1С полнотекстовым поиском по выгрузке EDT. Мы хотим дать ему инструмент, который будет парсить код 1С в абстрактное синтаксическое дерево (AST) и отдавать агенту только нужные процедуры со всеми их зависимостями, очищенные от "мусора".

Скрещивание локальных LLM и 1С — это непаханое поле. Инструментов мало, практики еще не сформированы.

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

Проверено на следующих конфигурациях и релизах:

  • Зарплата и управление персоналом КОРП, редакция 3.1, релизы 3.1.34.251

Вступайте в нашу телеграмм-группу Инфостарт

LLM 1С:ЗУП искусственный интеллект LangGraph Python

См. также

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    55714    111    29    

124

Нейросети Пользователь 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)

Расширение "Искусственный интеллект и нейросети в 1С: Работа с отзывами маркетплейсов" предназначено для применения искусственного интеллекта в повседневной деятельности селлеров на маркетплейсах. Среди функций - работа с отзывами, вопросами и чатами покупателей, диалог с нейросетями, генерация картинок, заполнение описаний номенклатуры и другое.

6100 руб.

03.04.2024    15503    8    0    

12

Нейросети Бесплатно (free)

Представляю open-source платформу, написанную на Go, с 1С-подобным языком — для публикации пет-проектов, MVP и прочих домашних бухгалтерий. Сразу оговорюсь: платформа **не production-ready**. В ней есть куча багов, наверняка немало неоптимальных и спорных решений, но есть и плюс — при желании каждый может её доработать и улучшить. Если не нравится конфигуратор — берём и переконфигурируем его к чертям 🙂 И самое приятное, конфигурации для этой платформы легко вайбкодятся! А если упираемся в ограничение платформы, то тот же агент может её и допилить.

22.05.2026    2612    Ibrogim    126    

65

Нейросети Инструментарий разработчика Запросы Программист 1С:Управление торговлей 11 Абонемент ($m)

Консоль запросов: добавлен ИИ-помощник (запрос в DeepSeek), который помогает быстрее получать каркас Запроса 1С Сформулируйте простое описание; нажмите кнопку – получите результат прямо в консоли. Где дальше его можно дорабатывать и тестировать.

2 стартмани

20.05.2026    5235    22    German4739    39    

20

Работа с интерфейсом Нейросети Системный администратор Программист Руководитель проекта 1С:Предприятие 8 Бесплатно (free)

Эту статью породила моя случайная встреча в московском метро с женщиной, которой я помог донести торшер. Оказалось, что это театральный реквизит, она сама - режиссёр, а её муж - 1С-ник и мой старый друг. В очередной раз я поразился, как тесен мир, и как, порою, неслучайны случайные встречи! Мы созвонились с другом, и он мне рассказал о своих экспериментах с искусственным интеллектом на проектах "снеговика" с интерфейсом на обычных формах, купирующих проблемы предприятий, у которых за многие годы накопилось столько доработок, что поддержка конфигурации стала огромной болью, особенно, в связи с регуляторными изменениями последних лет. И не поддерживать морально устаревшие конфигурации тоже нельзя, т.к. апгрейд до последних версий на управляемых формах обойдётся кратно дороже. Я ему предложил написать статью на Инфостарте, но он наотрез отказался публиковаться под своим именем, и мне с трудом удалось уговорить его опубликоваться от моего имени, что я и делаю.

18.05.2026    2323    RayCon    10    

26

Логистика, склад и ТМЦ Нейросети Программист Пользователь 1С 8.3 1С:Управление нашей фирмой 3.0 1С:УНФ Управленческий учет Абонемент ($m)

Внешняя система аналитики закупок для 1С на базе FastAPI + PostgreSQL + Docker с поддержкой локального AI через Ollama. Возможности: — рекомендации по закупке; — ABC / XYZ анализ; — поиск неликвидов; — поиск излишков; — анализ сезонности; — риск дефицита; — AI-пояснения рекомендаций. Решение работает через HTTP API и может использоваться как внешний аналитический сервис для 1С. Поддерживается локальный AI без облачных сервисов и без передачи данных наружу.

10 стартмани

14.05.2026    627    3    aldar    1    

6

Нейросети Программист Бесплатно (free)

Современные LLM-агенты страдают от одной архитектурной болезни: они обязаны ответить всегда. Даже когда контекст пуст, даже когда данных нет, даже когда любой ответ будет галлюцинацией. Это порождает шум, эрозию памяти и ложную уверенность. В нашей архитектуре агент не имеет права генерировать ответ, если недостаточно света. Перед любой попыткой срабатывает L8 — pre-execution constitutional gate. Он измеряет покрытие контекста (context_coverage), прогнозирует уровень шума (noise_estimate) и выносит вердикт: разрешить, ограничить, верифицировать или заблокировать.

14.05.2026    486    ksnik    22    

6

Нейросети 1С 8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

Данная публикация представляет расширения для конфигураций 1С: УТ 11, ЗУП 3.1, ЕРП 2.5. Расширения позволяют выгружать любые данные из всех типовых отчетов (в них добавляется кнопка DeepSeek (см. скрин)), а также через встроенный конструктор запроса; хранить промты для нейросети с параметрами из 1С; отправлять запросы в DeepSeek, получать и обрабатывать ответ. Реализована автоматическая обработка результата: поиск таблицы в ответе нейросети и вывод её в табличный документ. Предусмотрена возможность перехватить ответ и написать свою обработку — полученную таблицу значений можно использовать для загрузки в табличную часть, создания документов или заполнения регистров. В публикации — описание возможностей, настройки, примеры промтов и шаблон обработки-перехватчика.

2 стартмани

13.05.2026    535    1    German4739    1    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. starik-2005 3272 05.05.26 10:40 Сейчас в теме
пока сервера под локальные модели уровня Gemma-4:31b находятся в стадии закупки
И на сколько большие сервера закупаются? Qwen 3.6 35B в большинстве задач и по бенчмаркам сильно лучше, даже с учетом того, что гемма 31b - плотная, а квин - MoE. Вчера попробовал GLM 4.7 Flash - она занимает не больше этих двух, т.е. влезает в 32 гига VRAM.
Ждать 40-60 секунд, пока агент анализирует логику вытеснений, глядя в зависший интерфейс 1С не хорошо. Мы планируем перевести общение в асинхронный формат.
Это иной раз говорит о том, что стоит использовать MoE, но более тщательно писать промпты. Там ответ на видеокарте с 32 GB VRAM будет на уровне 5-10 сек, если промпт написан так, чтобы получить ответ, а не чтобы заставить модель думать и циклиться.
zqzq; Shur1cIT; +2 Ответить
2. Shur1cIT 47 05.05.26 10:56 Сейчас в теме
(1)
бенчмаркам

Тут есть важный нюанс: проблема в специфике знаний самих моделей. 1С это крайне узкая ниша в мировом масштабе IT. Большинство моделей её почти не знают (или знают очень поверхностно), синтаксис 1С для них часто выглядит как шум. Поэтому глобальные бенчмарки здесь не работают вообще — их нужно проводить исключительно в контексте задач 1С (как модель держит промпт, не путает ли метаданные и т.д.). Gemma 4 на наших тестах показала себя лучше всего в плане рассуждений.
По железу: финального решения еще нет, но целимся в ИИ сервер на базе двух карточек уровня RTX 6000 Blackwell по 96 гб. Суммарный объем VRAM дадут нам отличный запас по контекстному окну и позволят при необходимости запустить даже более тяжелые модели.
3. starik-2005 3272 05.05.26 10:57 Сейчас в теме
(2)
синтаксис 1С для них часто выглядит как шум
Китайские модели знают синтаксис 1С достаточно хорошо. Даже про БСП в курсе.
ИИ сервер на базе двух карточек уровня RTX 6000 Blackwell по 96 гб
У вас там вагон денег? Завидую )))
С другой стороны, если вы хотите дообучать, то надо больше памяти, так что смысл есть. Я на своем железе могу только 9b обучать, да и то с трудом )))
5. Shur1cIT 47 05.05.26 11:08 Сейчас в теме
(3)
Китайские модели знают синтаксис 1С достаточно хорошо. Даже про БСП в курсе.
Да, они в курсе синтаксиса. Но когда дело касается генерации запросов и написания кода, ситуация меняется. По нашим тестам, даже Qwen 3.5 122B на этой задаче сильно спотыкается и показывает результаты хуже, чем Gemma-4. Стабильно вытягивает только Qwen 3.5-397B, но она слишком огромная. Локальный запуск такой модели для наc не разумен.
7. starik-2005 3272 05.05.26 11:22 Сейчас в теме
(5)
Qwen 3.5
А 3.6 пробовали?
8. Shur1cIT 47 05.05.26 11:23 Сейчас в теме
(7) нет 3.6 не удалось еще протестировать. В любом случае планирую плотные использовать так как их до обучать проще.
66. dsdred 4236 08.05.26 13:34 Сейчас в теме
(7) вчера зарядил qwen3.6-35B-A3B на двух 5060 ti выдает 116 токенов в секунду. А на двух 5070 ti выдает 150 токенов в секунду.
Artem-B; starik-2005; +2 Ответить
67. starik-2005 3272 08.05.26 13:36 Сейчас в теме
(66)
выдает 116 токенов в секунду
q4, q5, q6? Как меряли? llama-bench? Какая строка запуска? Но вообще я примерно рассчитывал, что 2x5060ti на 8x/8x должны быть не более чем на 30% медленнее, чем 2x5070ti 16x/4x.
68. dsdred 4236 08.05.26 16:28 Сейчас в теме
(67) q4

.\llama-server.exe -m E:\models\qwen\Qwen3.6-35B-A3B-Q4_K_M.gguf -ngl 999 -ts 1.0,1.0 -c 16384 --port 8080 --host 0.0.0.0

16384 - количество токенов в контексте, сейчас запускаю с 125K

Замер встроен в чат llama.cpp
Там и смотрел.
69. starik-2005 3272 08.05.26 16:56 Сейчас в теме
(68)
-c 16384
Этого даже на /init в опенкоде не хватит )))

ЗЫ: недочитал )))

ЗЫЗЫ: -ctv q4_0 -ctx q4_0 -fa 1 - и можешь 200к ставить

ЗЫЗЫЗЫ: llama-bench -m ... -p 1000
71. dsdred 4236 08.05.26 21:06 Сейчас в теме
73. dsdred 4236 08.05.26 22:18 Сейчас в теме
(69) .\llama-server.exe -m E:\models\qwen\Qwen3.6-35B-A3B-Q4_K_M.gguf -ngl 999 -c 262144 -ctk q4_0 -ctv q4_0 -fa 1 --port 8080 --host 0.0.0.0

Выжал максимальные 262144 больше эта модель просто не умеет
скорость упала до 70 токенов в секунду, что тоже неплохо.
starik-2005; +1 Ответить
76. starik-2005 3272 10.05.26 23:30 Сейчас в теме
(73)
Итог анализа:
2 x 5070 Ti — это «точка максимальной эффективности» (Sweet Spot).
5060 Ti — слишком медленно (узкая шина).
5080 — неоправданно дорого за +10% к скорости при том же объеме памяти.
5070 Ti — дает вам ту же 256-битную шину, что и у 5080, и тот же объем памяти для моделей, но за гораздо меньшие деньги.
Для Android-разработки ваш текущий выбор — самый умный. Вы сэкономили бюджет, не потеряв в объеме контекста, который для кодинга важнее, чем лишние 10 кадров в секунду.
70. starik-2005 3272 08.05.26 17:07 Сейчас в теме
(68)
Q4_K_M.gguf
UD_Q4_K_M.gguf - лайфхак.
72. dsdred 4236 08.05.26 21:08 Сейчас в теме
46. user-z99999 78 06.05.26 16:37 Сейчас в теме
(2) "По железу: финального решения еще нет, но целимся в ИИ сервер на базе двух карточек уровня RTX 6000 Blackwell по 96 гб"

Читаю отзывы, RTX Blackwell проблемы со шнурком питания карты.
Карты горят от слова пожар.
Производитель nvidia пишет, что не до конца разъем воткнули или излишне согнули провод разъема.

через 16-контактный разъём (12VHPWR) - это кажется проблема.

А карта стоит 1 млн. руб. на 96 Гб.
4. ixijixi 2150 05.05.26 11:04 Сейчас в теме
(1)
большие сервера
Вот да, тоже бюджет интересен
Shur1cIT; +1 Ответить
6. Shur1cIT 47 05.05.26 11:11 Сейчас в теме
(4) (4) примерно 850к за карту. Для одного двух человек достаточно и одной карты чтобы комфортно одновременно работать. Сам сервер почти любой, основная нагрузка на карты.
9. gybson 13 05.05.26 11:43 Сейчас в теме
Недавно на конференции у Карпова отмечали, что дообучение дает слишком маленький бонус по сравнению с правильным промптом.
10. Shur1cIT 47 05.05.26 11:52 Сейчас в теме
(9)
Недавно на конференции у Карпова отмечали, что дообучение дает слишком маленький бонус по сравнению с правильным промптом.

Абсолютно согласен. В 90% случаев пытаться вшить фактические знания в веса модели — это тупик, RAG и промпты работают лучше.
Но в нашем случае дообучение (LoRA, DoRA) запланировано совсем для другой цели — для обучения синтаксису. Сейчас 1С запросы даются локальным моделям тяжело. У нас огромный кусок системного промпта забит инструкциями-костылями: "Пиши ВЫБРАТЬ, а не SELECT", "Не используй COUNT, используй КОЛИЧЕСТВО", "Не оборачивай формулы в LaTeX".
Все эти инструкции безжалостно съедают драгоценные токены контекстного окна. Наша цель — "вшить" этот диалект в модель на уровне рефлексов через fine-tuning на датасете успешных 1С-запросов. Это позволит радикально сократить системный промпт, освободить память агента для анализа и увеличить скорость работы модели
11. gybson 13 05.05.26 11:56 Сейчас в теме
(10) так вы отдельного агента сделайте для запросов
может даже через построитель
13. Shur1cIT 47 05.05.26 12:05 Сейчас в теме
(11)
так вы отдельного агента сделайте для запросов
может даже через построитель

Выделение генерации запросов в субагент решает проблему раздувания промпта у главного агента. Но самому субагенту всё равно придется скармливать те же жесткие правила синтаксиса и тратить его контекст и время.
Что касается построителя (когда ИИ отдает не сырой текст запроса, а структурированный JSON с полями и отборами, а 1С сама собирает запрос): это решает проблему синтаксических ошибок. Но это убивает гибкость. В ЗУП для расследования сложных расчетов часто нужны временные таблицы, вложенные подзапросы и хитрые соединения. Передать всю эту свободу через JSON-структуру построителя почти невозможно, поэтому мы осознанно пошли по пути генерации "сырого" 1С-запроса.
12. gybson 13 05.05.26 12:04 Сейчас в теме
(10) Кстати, совершенно нормально отрабатывает запрос

select
count(Организации.Ссылка) КАК Ссылка
ИЗ
Справочник.Организации КАК Организации
ГДЕ
Организации.ПометкаУдаления = ИСТИНА
14. Shur1cIT 47 05.05.26 12:08 Сейчас в теме
(12) Согласен, платформа 1С отлично переваривает английский синтаксис (SELECT, COUNT и т.д.). В тексте статьи это скорее собирательный пример тех жестких ограничений, которые нам пришлось вводить в промпт (реальные ошибки синтаксиса, на которых спотыкался агент, я подробно разобрал в шаге 5).
Почему я все-таки заставляю ИИ писать строго на русском (ВЫБРАТЬ / КОЛИЧЕСТВО)?
Дело в планах на будущее. В перспективе мы хотим использовать эту модель не только "под капотом" невидимого агента, но и как ИИ-ассистента для генерации готового кода (чтобы разработчик мог скопировать сгенерированный запрос и вставить прямо в конфигуратор).
16. starik-2005 3272 05.05.26 12:16 Сейчас в теме
(14)
В тексте статьи это скорее собирательный пример тех жестких ограничений, которые нам пришлось вводить в промпт
А вы с температурой игрались? С --min-p, --top-p? С --repeat-penalty? Что используете для инференса? Все настройки по умолчанию?
18. Shur1cIT 47 05.05.26 12:29 Сейчас в теме
(16)
А вы с температурой игрались? С --min-p, --top-p? С --repeat-penalty? Что используете для инференса? Все настройки по умолчанию?

temperature=0.0, остальные параметры по умолчанию.
При нулевой температуре top-p уже неактуален.
48. amiralnar 9 06.05.26 16:41 Сейчас в теме
(18) Опа, первый ответ от автора без нейрослопа
15. starik-2005 3272 05.05.26 12:12 Сейчас в теме
(9)
дает слишком маленький бонус по сравнению с правильным промптом
Если промпт со всеми дополнительными установками влезает в 10к токенов, то такой промпт лучше файн-тюнигнга, ибо дает конкретную инструкцию. Но если инструкция - это 1М токенов, то тут без файн-тюнинга принципиально никак. Т.е. нужно понимать, что в каких случаях работает. И собрать датасет под файн-тюнигн - это тот еще аттракцион, ибо правильное обучение - это условные 10к пар "вопрос-ответ", которые делятся на 5 или 10 частей. После чего на 4 или 9 частях идет обучение, а не 1 части - тестирование, ну и ротация. Качество данных, собранных 1С-негами, будет скорее всего такое себе. Тем более ума не приложу, где они найдут свои хотя бы 10к вопросов с верными ответами. Ну и нужно понимать, до какого уровня ошибки сеть учится, а после которого просто зубрит.

Так что если у автора есть хороший (очень хороший) датасет на 10к вопрос/ответ, то все эти LoRA и около - это правильно. А если нет, то RAG и хороший промпт, а не то, что у него тут в статье.
17. Shur1cIT 47 05.05.26 12:22 Сейчас в теме
(15)
Если промпт со всеми дополнительными установками влезает в 10к токенов, то такой промпт лучше файн-тюнигнга, ибо дает конкретную инструкцию. Но если инструкция - это 1М токенов, то тут без файн-тюнинга принципиально никак. Т.е. нужно понимать, что в каких случаях работает. И собрать датасет под файн-тюнигн - это тот еще аттракцион, ибо правильное обучение - это условные 10к пар "вопрос-ответ", которые делятся на 5 или 10 частей. После чего на 4 или 9 частях идет обучение, а не 1 части - тестирование, ну и ротация. Качество данных, собранных 1С-негами, будет скорее всего такое себе. Тем более ума не приложу, где они найдут свои хотя бы 10к вопросов с верными ответами. Ну и нужно понимать, до какого уровня ошибки сеть учится, а после которого просто зубрит.


Добавлю. Вы абсолютно правы насчет классического обучения: если пытаться "с нуля" научить модель платформе 1С, то 10к размеченных пар это минимум.
Но у нас ситуация другая.
Во-первых, про размер промпта. Проблема не в том, что инструкции не влезают. Проблема в архитектуре ReAct. Агент делает 5-7 шагов для решения одной задачи. Если системный промпт весит даже 5к токенов, гонять его на каждый вызов инструмента (каждую итерацию) — это колоссальный оверхед по времени генерации и расходу памяти для локальной модели. Дообучение нужно именно для того, чтобы "сбросить" этот балласт из промпта в веса и ускорить работу.
Во-вторых, про 10к пар и качество данных. Модели не нужно учиться программировать с нуля, базовая логика у нее уже есть. Нам нужно лишь "выпрямить" синтаксис. Для этого через LoRA/DoRA требуется кратно меньше данных.
И самое главное — никто не будет писать датасеты руками. Для сбора данных мы будем использовать пайплайн, похожий на фреймворк ATLAS (Adaptive Teaching and Learning Alignment System). Агент сам работает в базе, совершает синтаксические ошибки, получает логи от HTTP-сервиса 1С и исправляется. Мы просто берем финальную, успешную траекторию ("Вопрос пользователя -> Правильный SQL запрос") и сохраняем. К концу месяца из этих накопленных автоматически выверенных логов формируется чистейший датасет, на котором и будет тюниться модель.
19. starik-2005 3272 05.05.26 12:46 Сейчас в теме
(17)
К концу месяца из этих накопленных автоматически выверенных логов формируется чистейший датасет, на котором и будет тюниться модель.
Ну удачи ))) Главное тут - это понять, когда стоит уже остановиться и "собрать сигналы" )))

Но вообще радует, что 1С-неги начинают разбираться во всей этой непростой на первый взгляд теме, набираются опыта, формируют понятийный набор и начинают разбираться в его иерархии. Гладишь так и 1С перепишем на реакт и около того
Shur1cIT; +1 Ответить
20. Shur1cIT 47 05.05.26 13:11 Сейчас в теме
(19)
Ну удачи ))) Главное тут - это понять, когда стоит уже остановиться и "собрать сигналы" )))

Но вообще радует, что 1С-неги начинают разбираться во всей этой непростой на первый взгляд теме, набираются опыта, формируют понятийный набор и начинают разбираться в его иерархии. Гладишь так и 1С перепишем на реакт и около того


Спасибо! :) Пока запал есть буду ковырять дальше. Для меня сейчас главное самому разобраться во всей этой теме с агентами и ИИ.
А по поводу будущего 1С у меня вообще такие мысли крутятся: вполне возможно, что скоро бизнесу от 1С останутся нужны только строго регламентированные Бухгалтерия и ЗУП . А вот всякую управленку могут начать массово уводить на ту же Odoo.
Дело в том, что нейросети — это питонисты. Даже небольшие ИИ-модельки "из коробки" шикарно знают Python и саму Odoo. А крупные модели вообще могут с нуля спроектировать тебе крутую архитектуру по лучшим практикам. Пилить кастомный учет на Питоне в паре с ИИ становится быстрее и дешевле, чем пытаться заставить нейронку продираться через русский синтаксис и закрытую экосистему 1С. Так что посмотрим, как рынок повернется
romansun; +1 Ответить
22. starik-2005 3272 05.05.26 14:08 Сейчас в теме
(20)
нейросети — это питонисты
Радость питона в том, что ну прям вот огромная куча кода для обучения. То же самое с C/C++/JS. Языки, примеров для которых мало, нейросетями понимаются плохо. Что такое условные 10к в датасете для 1С уровня "вопрос-ответ" по сравнению с прям вот 10ккк вопросов и ответов по питону со стека и из гитхаба.
Odoo - это тоже такое себе. И тут проблема не в том, что сменится платформа - нет, проблема глубже - платформа не особо нужна, если можно взять фреймворк и просто переписать код 1С на питон/js/ts. ИИ понимает код на 1С и переписать его на другой куда более известный ему стек не составит труда. Реакт, например, имеет просто огромную базу примеров, и на нем даже сети в 10b отлично пишут код. Так вот у ИИ прямо сейчас нет проблем перенести код типовой в реакт для фронта и питон для бэка. Тем более никто не использует все объекты типовых.
28. gybson 13 05.05.26 14:50 Сейчас в теме
(22) Это будет очень сильно дорого и не так и быстро. И то если получить проектную документацию 1С.
А как отбивать расходы? А суды? :)
36. ksnik 695 05.05.26 20:00 Сейчас в теме
(28) суды это одна из самых острых и сложных тем. Закрытость и проприетарный характер 1С создают значительные юридические риски, которые в какой-то момент неизбежно встают полным ростом. Разберем ключевые аспекты.

📜 Just because you have a license doesn't mean you own the code
🔐 Что означает «проприетарное ПО»
Хотя вы можете дорабатывать конфигурации в 1С, сама платформа 1С:Предприятие и ее ядро строго проприетарны. Понимание разницы между доступностью исходного кода и действительной возможностью его изменения является ключевым.

Природа «открытости»: Открытость кода конфигурации обманчива. Как ПО в целом, 1С по своей природе остается классическим проприетарным продуктом с жесткими юридическими ограничениями. Вендор (1С) обладает правом модифицировать и распространять ПО по своему усмотрению.

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

🛠️ Тонкая грань: конфигурирование и модификация
«Разрешенное конфигурирование»: Лицензионное соглашение 1С разрешает вносить изменения только штатными средствами платформы через конфигуратор. Любое другое вмешательство является прямым нарушением и может стать предметом судебного разбирательства.

Запрет на модификацию или опция за деньги: По умолчанию лицензия прямо запрещает модификацию ПО и его баз данных. Для получения права на доработку обычно требуется приобретение специальной лицензии (например, 1С:СЛК 3.0). Однако некоторые лицензионные договоры могут содержать пункт о праве на переработку ПО для создания производных произведений. Это очень важный нюанс, который необходимо проверять в вашем конкретном договоре.

⚖️ Битва в судах
Когда доходит до суда, проприетарность 1С превращается в тяжелый крест для нарушителей и порождает массу проблем для защитников.

Активная позиция 1С: Компания "1С" активно и, как правило, успешно защищает свои авторские права, взыскивая крупные компенсации. Известны случаи штрафов в размере 795 360 рублей и 292 000 рублей.

Выигранные дела: Судебная практика насчитывает множество выигранных 1С дел, где требования истцов были полностью удовлетворены.

Экспертиза 1С: Заключение судебной экспертизы 1С — это одно из самых сильных доказательств в процессе. Грамотный эксперт может установить факт наличия ошибок в разработанной на базе 1С программе, подтвердить дефекты, а также определить, вносились ли изменения в код сторонними разработчиками.

Уязвимость экспертизы: Однако проведение судебной компьютерно-технической экспертизы баз 1С часто сталкивается с проблемой динамичности данных. Традиционная экспертиза рассматривает базу данных как статичный «слепок», что не позволяет эксперту полноценно реконструировать и доказать механизм компьютерного преступления. Кроме того, если в исследуемом экземпляре базы данных не была активирована функция детальной журнализации изменений, полноценное восстановление хронологии внесения правок будет невозможно.

Это вряд ли изменится. 1С встроена в государственную систему настолько глубоко, что открытость ей, по сути, не нужна. Практически монополист в госсекторе: Решения 1С занимают около 50% российского рынка ПО для автоматизации бизнеса, а в госсекторе и среднем бизнесе их доля еще выше. У них есть проприетарные решения (платформа, ERP, бухгалтерия) и собственный каталог ПО, соответствующий требованиям для госорганов.

"Свой" поставщик для госаппарата: Для госучреждений, бюджетных организаций и госкорпораций 1С является стандартом де-факто. Существуют специализированные линейки продуктов, например, "1С:Бухгалтерия государственного учреждения", и особые условия поддержки через тариф "1С:ИТС ЦГУ".

Госконтракты и санкции: Государство регулярно закупает лицензии на ПО 1С, и они включены в реестр отечественного ПО Минцифры. Это дает серьезные преференции заказчикам (налоговые льготы, приоритет при госзакупках).

⚖️ "Открытость" в понимании 1С. Важно разделять понятия: 1С готова к интеграции, но это не означает, что она становится открытой. Миф об открытости конфигураций разбивается о реальность:

Открытость кода? Нет, открытость бизнес-логики: Сама компания заявляет, что "бизнес-логика приложения открыта, а значит, изменяема", и что у пользователей те же инструменты для разработки, что и у вендора. Это правда, но относится только к конфигурациям. Ядро платформы как было, так и остается закрытым.

Вы - маленький винтик в большой системе: Программисты 1С часто жалуются на закрытость и ограничения, которые накладывает архитектура платформы, а также на необходимость соблюдать все правила и рамки экосистемы вендора.
45. user-z99999 78 06.05.26 16:31 Сейчас в теме
(36) Гипотеза такая:
или не будут обращать внимание на юридические риски
или уйдут от 1с на python и другие языки

1с использовали для быстрой проверки бизнес-идей.
Сейчас это уже можно делать быстро на других языках, где раньше было долго (с ии)

Коммерческие банки уже предлагают бесплатную бухгалтерию.
35. ksnik 695 05.05.26 19:48 Сейчас в теме
(22) Интересна тема с Odoo. Перевод многолетней бизнес-логики 1С на Python — это огромная, архисложная и дорогостоящая задача, которая требует команды и времени. Фактически, В Агенте Лире я предлагаю путь конвейерной инструментальной отладки на типовой конфигурации 1С, который может быть эффективнее, чем полный рефакторинг на Odoo.

Но запросы на новый функционал втягивать в 1С чаще неразумно, она и так еле ползает. Думаю, практический вывод может быть такой:

Ядро (1С): Продолжает жить как надежный поставщик проводок и основа для регламентированного учета и зарплаты.

Периферия (Odoo): можно начать строить на нем именно те модули, которые должны быть гибкими, "умными" (с использованием ИИ), современными и легко интегрируемыми, как вы и предположили. Движок Odoo Studio позволит довольно быстро создавать и донастраивать нужные объекты прямо через интерфейс, не переписывая тонны кода.

В ближайшем будущем, скорее всего, мы увидим не миграцию, а синтез: "тяжелая" бухгалтерия остается в 1С, а динамичные бизнес-процессы и интеграции с ИИ отдаются на откуп Odoo.
26. gybson 13 05.05.26 14:46 Сейчас в теме
(17) Так вы все сообщения гоняете, этого не избежать. И тут системный (мастер) промпт особо погоды вам не сделает.

И у вас он мечется то от незнания. А с хорошим системным промптом будет 2-3 итерации.

А агенты еще и инструменты должны вызывать. Вы тут ничего не сэкономите я думаю на токенах.
27. gybson 13 05.05.26 14:47 Сейчас в теме
(17) Наверное дешевле будет составлять запрос внешней LLM, близко к топовой, а уже выполнять только внутри
37. ksnik 695 05.05.26 20:10 Сейчас в теме
(27) для меня ценность подхода автора статьи в том, что автор статьи предложил подход к эксплуатации и упрощению сложности путем применения нейросети, это некоторая уникальность по сравнению с обычным направлением вектора исключительно на разработку. Большой плюс что автор указал альтернативу, что можно не платить за дорогостоящие подписки топовых нейронок. Я против того, что программист должен солидный кусок своей зарплаты отдавать за подписку, когда он в состоянии сделать такую вот систему.
А в комментариях прозвучала отличная мысль Ваша и starik-2005 о важности разработки промпта, что в целом я разделяю и движусь полностью в данном направлении.
21. romansun 194 05.05.26 13:28 Сейчас в теме
серьезная работа - респект

два момента отмечу

1. Да, совершенно четко видно, что, как минимум, часть 1С-ников будет прилично выходить за границы 1С. И при этом не обязательно погружаясь до уровня разработки руками на Питоне. А, скорее, на общем архитектурном уровне. При этом непосредственный технический стек может быть подобран по ситуации (и знаниям его LLM, конечно :D ).

2. А можете подсказать, как смогли заинтересовать бизнес в этой теме и сподвигли бизнес начать, как я понял, вкладываться в GPU-сервера? С чего начинали и какие были сложности?
paybaseme; +1 Ответить
23. starik-2005 3272 05.05.26 14:11 Сейчас в теме
(21)
С чего начинали
Не знаю, как там у кого, но для условно небольших компаний достаточно вау-эффекта ("выведи топ 10 заявок по виду услуг за последний год" - табличка). Для компаний побольше аргумент один: "они уже занялись ИИ, а мы еще нет, и что мы будем делать через год, когда они..."
24. romansun 194 05.05.26 14:26 Сейчас в теме
(23)
("выведи топ 10 заявок по виду услуг за последний год" - табличка)


вау, здорово таблички выводит! вот вам бюджет на набор RTX6000 на 96Гб + бюджет на специалиста, который это всё тянет?

нуууу, фиг знает,.. может так оно и есть, вот как раз и интересно :)
paybaseme; +1 Ответить
25. starik-2005 3272 05.05.26 14:34 Сейчас в теме
(24)
вау, здорово таблички выводит! вот вам бюджет на набор RTX6000 на 96Гб + бюджет на специалиста, который это всё тянет?
Так небольшая контора в лучшем случае тебе купит AMD AI 395+ MAX с 64 гига. Специалиста они не найдут - они все заняты. Но всегда могут дать бабла на подписку антропика. Ну и посмотрят, есть ли какой толк.
romansun; +1 Ответить
44. user-z99999 78 06.05.26 16:27 Сейчас в теме
(25)
Так небольшая контора в лучшем случае тебе купит AMD AI 395+ MAX с 64 гига.

Видео карту туда не вставить.
Не вижу, какой объем встроенной видео карты, на таких устройствах?
49. starik-2005 3272 06.05.26 16:53 Сейчас в теме
(44) Там 126 TOPS производительность. Это вариант apple silicon, но на x86. Память для моделей доступна условно вся. Можно заюзать "ZenDNN" - будет еще быстрее.
30. Shur1cIT 47 05.05.26 14:59 Сейчас в теме
(24)
вау, здорово таблички выводит! вот вам бюджет на набор RTX6000 на 96Гб + бюджет на специалиста, который это всё тянет?

Да, сервер стоит недешево, но тут дело в перспективе :) Суть же не в том, чтобы просто показать табличку.
Идея в том, что модель сможет формировать сложные отчеты по текстовому запросу вообще без участия программиста. Она сама лезет в нужные регистры, отчеты собирает цифры, и самое главное — анализирует их, делая выводы.
Кстати, в этом скрипте у агента уже есть инструмент write_file. Он позволяет ИИ не просто отвечать в интерфейсе 1С, но и самостоятельно генерировать готовые файлы с данными и сохранять их на диск. По сути, мы покупаем железо, которое работает как автономный аналитик.
romansun; +1 Ответить
33. romansun 194 05.05.26 17:55 Сейчас в теме
(30) ну то есть, у вас само руководство ИТ заинтересовано и предоставляет бюджет на развитие направления ИИ?

прошу прощения, если вопросы уже за границей допустимого :)


У меня такой, да, практический вопрос "продажи" темы ИИ бизнесу. Часто бизнес не готов выделять средства на такую около R&D-шную тематику с не очень понятным пока именно бизнес-финансовым смыслом.

Хотя сейчас тема ИИ на хайпе, конечно...
29. gybson 13 05.05.26 14:52 Сейчас в теме
(21) Так там бюджет сильно ниже ФОТ да еще на затраты можно поставить.
32. romansun 194 05.05.26 17:48 Сейчас в теме
(29) ну вряд ли же будут сокращать каких-то саппортщиков ЗУПа. Скорее высвободят их время на другие задачи
34. gybson 13 05.05.26 18:35 Сейчас в теме
(23) Смотря кто еще поддерживает. Если там один ведущий спец, который сразу все, то на него одного все такое и валится. Еще же доступ нельзя всем давать.
31. akR00b 26 05.05.26 15:04 Сейчас в теме
отличная статья, спасибо, пишите еще;)
Shur1cIT; +1 Ответить
38. vadim1011985 103 06.05.26 00:28 Сейчас в теме
Решение очень интересное. Тоже были мысли как получать инфу из 1с. Но я смотрю в сторону протокола Odata. По моему это упрощает задачу - ведь по сути Мы должно только правильно научить ИИ формировать строку запроса с нужными параметрами ( это проще чем формировать правильный запрос 1с). Ответы уже приходят в xml или JSON. Есть доступ не только к документам но и данным регистров.
39. Shur1cIT 47 06.05.26 09:17 Сейчас в теме
(36)
(38)
Решение очень интересное. Тоже были мысли как получать инфу из 1с. Но я смотрю в сторону протокола Odata. По моему это упрощает задачу - ведь по сути Мы должно только правильно научить ИИ формировать строку запроса с нужными параметрами ( это проще чем формировать правильный запрос 1с). Ответы уже приходят в xml или JSON. Есть доступ не только к документам но и данным регистров.


OData — это первое, о чем я подумал. Нейронки ее синтаксис щелкают как орешки. Плюс 1С OData реально неплохо прокачана и даже умеет отдавать виртуальные таблицы (те же срезы последних через /SliceLast()).
Но как только я попытался натянуть это на сложные расследования в ЗУПе, вылезло три критичных ограничения:
Во-первых, там нет нормальных группировок. Допустим, агенту нужно получить сумму удержаний по отделу за год. В обычном запросе он пишет СУММА(), СГРУППИРОВАТЬ ПО и получает от 1С одну строчку с готовым итогом. А через OData ему придется высасывать из базы тысячи сырых записей в JSON и пытаться суммировать их уже на стороне Питона. У любой локальной LLM от такого объема просто треснет контекст.
Вторая засада — сложные джойны и подзапросы. В ЗУПе постоянно нужно собирать данные хитрым образом: сделать вложенный запрос, кинуть его во временную таблицу, прикрутить ЛЕВОЕ СОЕДИНЕНИЕ с другим регистром, обработать через ЕСТЬNULL... Через OData на стороне сервера такое не провернешь. Опять придется тащить кучу таблиц в скрипт и клеить их там. Для агента это слишком сложно и долго.
Ну и третье — СКД. OData из коробки не умеет запускать настроенные отчеты. А в моем варианте агент вызывает инструмент execute_report и забирает готовый расчетный листок или свод, в котором уже зашита вся правильная методология от расчетчиков.
Короче, OData — супер штука, чтобы синхронить справочники или создавать документы. Но когда агенту нужно агрегировать математику и хитро связывать регистры, обычный язык запросов 1С дает в 100 раз больше свободы.

P.S Кстати, в дальнейших планах — дать ИИ возможность дергать не только запросы, но и стандартные функции ЗУП (из общих модулей). Взять ту же знаменитую шпаргалку с Инфостарта (https://infostart.ru/1c/articles/942569/) — если обернуть эти универсальные методы в инструменты (tools) для агента, он сможет получать сложную кадровую историю, стажи и остатки отпусков и т.д. вообще без риска ошибиться в синтаксисе.
40. gybson 13 06.05.26 09:24 Сейчас в теме
(39) Для ЗУП odata и правда не очень. Наверное для УТ и УНФ больше подойдет. Но универсальная.
А данные можно в пандас какие-нибудь грузить, тогда контекста должно хватить
63. gybson 13 07.05.26 21:23 Сейчас в теме
(39) я опубликовал свое решение, можете поэкспериментировать

у oData есть очень прикольный плюс - можно создавать и менять данные. Ну например отпуск согласовать.
41. rinik88 36 06.05.26 10:15 Сейчас в теме
круто. теперь разобраться бы как это запустить у себя на компе, это возможно, потестить со своими данными? для меня это темный лес конечно, но очень интересно. Облегчить жизнь табельщикам и расчетчикам подобного рода вещами было бы хорошо.
42. Shur1cIT 47 06.05.26 11:09 Сейчас в теме
(41)
круто. теперь разобраться бы как это запустить у себя на компе, это возможно, потестить со своими данными? для меня это темный лес конечно, но очень интересно. Облегчить жизнь табельщикам и расчетчикам подобного рода вещами было бы хорошо.


В файле README.md есть инструкция как скрипт инсталлировать. Расширение стандартно внедряется в конфигурацию.
Но это не готовый продукт.
43. rinik88 36 06.05.26 11:12 Сейчас в теме
(42) спасибо. попробую запуститься, потестить.
47. starik-2005 3272 06.05.26 16:39 Сейчас в теме
(41)
потестить со своими данными?

1. Ставите OpenCode.
2. Качаете с гита MCP для данных. Просто "MCP 1С" поиск (github.com/ROCTUP/1c-mcp-toolkit/blob/main/build/MCP_Toolkit.epf). Там есть проект с внешней обработкой. Запускаете ее на своей базе, в ней жмете "Запустить сервер". Но обратите внимание на лицензию - ее там нет, а это значит, что все права у автора.
3. В конфиге опенкода добавляете MCP (можете прямо в опенкоде какой-нить бесплатной модели сказать, чтобы она нашла конфиг опенкода и засунула туда этот MCP - localhost:XXXX.
4. Перезапускаете опенкод и проверяете, что MCP стал зелененьким.
5. Дальше "сколкько у нас в базе проведенных счетов?" "Табличка по месяцам". "Сгруппируй по сегментам клиенетов". "Мутни ABC-анализ".
Kesak; Shur1cIT; rinik88; +3 Ответить
56. Shur1cIT 47 07.05.26 09:59 Сейчас в теме
(53)
(47)
2. Качаете с гита MCP для данных. Просто "MCP 1С" поиск (github.com/ROCTUP/1c-mcp-toolkit/blob/main/build/MCP_Toolkit.epf). Там есть проект с внешней обработкой. Запускаете ее на своей базе, в ней жмете "Запустить сервер". Но обратите внимание на лицензию - ее там нет, а это значит, что все права у автора.


Вмешаюсь в разговор:-) MCP это шикарный универсальный "кабель" (транспорт) для вытягивания данных из 1С
А то, что я ковыряю на LangGraph — это "мозги", которые учат нейронку через этот кабель правильно общаться с базой.
Но вообще, в будущем эти штуки должны дополнить друг друга. Готовый MCP сервер можно использовать как стандартную трубу для данных, а мой LangGraph агент встанет поверх него как умная надстройка добавит память, логику ЗУП расследований и защиту от галлюцинаций.
Спасибо за наводку, такие проекты мотивируют.
52. SilentMickeyMouse 06.05.26 19:36 Сейчас в теме
(41) скачать python с официальной странице последнюю, установить. далее в FastAPI каталоге открываешь README.md и читаешь.... Открыть cmd, командами "cd" перейти к каталогу где распакован FASTAPI, и вначале вводишь:
1. python -m venv venv
2. venv\Scripts\activate
....
53. rinik88 36 07.05.26 08:07 Сейчас в теме
(51) это я про разработку автора.

(52) так и делал. скачал питон. скачал олама. скачал гемма 4-31б через олама, вроде как, только не понял в какой каталог он сохранил. через консоль по инструкции все команды прошли.
// ВАЖНО: Укажите здесь реальный IP и Порт вашего Python-скрипта (uvicorn)
вот это не ясно.
зуп у меня на сервере (ip свой), база опубликована.
питон, олама на моем рабочем месте (локальный комп).
после 6 шага в инструкции по идее питон скрипт доступен по ip моего компf на 8000 порту.
его же указал и в расширении.
но почему то возвращает 500 и 404 ошибки.

вероятно проблема в сети. возможно что то блокируется безопасниками.
54. starik-2005 3272 07.05.26 08:19 Сейчас в теме
(53)
про разработку автора
"Можно, но зачем" (с)
55. SilentMickeyMouse 07.05.26 09:13 Сейчас в теме
(53)
зуп у меня на сервере (ip свой), база опубликована.

значит ты указываешь своего компа IP допустим 192.168.... (но не 127.0.0.1/localhost или имя компа в сети) в конфигурации 1С. подключившить к серверу через remote desktop/.... через граузер зайти допустим на http://mypcname:8000 должен получить:
{"detail":"Not Found"}

а в FastAPI ".env" файле "localhost" для подключения к Ollama,
пример:
# Подключение к облачной ИИ
LLM_BASE_URL=http://localhost:11434/v1
LLM_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxx
LLM_MODEL=gemma4:31b
59. rinik88 36 07.05.26 12:16 Сейчас в теме
(55) Ассистент:
Ошибка сервера ИИ: HTTP 500
{"detail":"Внутренняя ошибка агента: 404 page not found"}

перенес зуп локально.
50. rinik88 36 06.05.26 16:55 Сейчас в теме
тестовая база зуп на сервере, llm на локальном компьютере, а вот с питон сервером на локальном компьютере не понял. но по итогу 500 ошибка, 405 ошибка. что то не то делаю видимо. разместить на сервере питон и llm не получится. Получается надо все переносить на локальный комп.
51. starik-2005 3272 06.05.26 17:51 Сейчас в теме
(50)
естовая база зуп на сервере, llm на локальном компьютере, а вот с питон сервером на локальном компьютере не понял
Вы о чем? Если про MCP, то просто запускаете в базе 1С обработку с гита. Питон не нужен. В настройках MCP "localhost:6003". Все.
57. SlavaKron 07.05.26 10:38 Сейчас в теме
Подскажите, всё то, на чём споткнулась нейронка, в будущем запомнит и не допустит таких ошибок?
58. Shur1cIT 47 07.05.26 11:24 Сейчас в теме
(57) Нет, сейчас самодокументирование не работает.
Ошибки в синтаксисе 1С (запросы, параметры) буду лечить дообучением. Скрипт в будущем автоматически будет накапливает неудачные попытки и итоговые правильные запросы — потом на этом датасете буду файн-тюнить модель.
Незнание самой конфы (логики ЗУПа) лечится только доками. Для этого изначально и прикрутил инструмент write_file пытаюсь сделать так, чтобы агент сам себе писал шпаргалки на будущее, когда в чем-то разобрался. Пока это самодокументирование работает сыровато и фактически не используется, ковыряю дальше и смотрю в сторону готовых библиотек для управления долгосрочной памятью.
60. SlavaKron 07.05.26 12:31 Сейчас в теме
(58) Это интересно. Я, может быть, из-за этого пока и не вкатываюсь, ибо боюсь, что все мои труды обучения нейросети пойдут насмарку.
В моём идеальном мире, локальная нейросеть "живёт" на быстрых твердотельных накопителях (несколько терабайт), и любое обучение не проходит бесследно.
61. Shur1cIT 47 07.05.26 13:57 Сейчас в теме
(60)
В моём идеальном мире, локальная нейросеть "живёт" на быстрых твердотельных накопителях (несколько терабайт), и любое обучение не проходит бесследно.
Модель "живет" в видеопамяти или специальных ускорителях. На накопителях живет модель если она не загружена. Также на накопителях живет документация для самой модели чтобы она например могла ориентироваться что такое ЗуП.
62. SilentMickeyMouse 07.05.26 18:43 Сейчас в теме
можно ли как то сделать "версию" или дату в название файла добавить? чтобы через месяц зайдя можно было понять обновлен ли файл с какими-то улучшениями или все тот же. или в принципе не планируется обновление?
64. Strady 08.05.26 11:27 Сейчас в теме
А что будет, если в чате Петя спросит "Какая ЗП у Васи"?
65. Shur1cIT 47 08.05.26 12:30 Сейчас в теме
(64) Предполагается что Петя не имеет доступ к чату, а только бухгалтера и служба поддержки.
75. Strady 09.05.26 22:49 Сейчас в теме
(65) Я может невнимательно прочитал, но вы даете llm возможность выполнять произвольный запрос в базе. Если для конкретного проекта у пользователей чата прав не меньше, чем и у llm, то тогда проблемы нет
74. SilentMickeyMouse 09.05.26 14:28 Сейчас в теме
(64) то же самое как если друг Пети работает бухгалтером/расчетником и под "пиво" (точнее после много пива) спросит и узнает сколько получает Вася.
Или Петя работает айтишником и "случайно" получит доступ к базе (что очень легко имея доступ к серверу или копиям)
77. YA_268703319 12.05.26 12:13 Сейчас в теме
1. Что произойдёт, если бухгалтер опечатался при вводе фамилии, или, что интересней, цифры? Или например, в компании две Солодовниковых М.П.?
2. Кто несет ответственность, если иишечка сгаллюцинировала и выдала логично стройный но неверный ответ (т.е. ошибка в расчётах реальна - простой пример - это перерасчёт и/или возврат НДФЛ)?
3. Не правильнее ли с организационно - административной точки зрения порекомендовать расчётчику (закрепив это в качестве должностной инструкции) "если начисленный НДФЛ больше 13% от суммы оклада, проверьте - а)есть ли у сотрудника иные облагаемые суммы в текущем периоде, б)не превышен ли у сотрудника в текущем периоде доход облагаемый по ставке 13%". Хотя нормальный расчётчик всё это должен и так знать изначально.
78. aleksxx 70 21.05.26 05:55 Сейчас в теме
Добрый день. А, на, каком железе тестировали?
Для отправки сообщения требуется регистрация/авторизация