Внутри LLM нет ни одного «Если»: почему ИИ в 1С ошибается с остатками
В языковой модели нет бизнес-правил вида «если контрагент из списка, применить скидку». Внутри арифметика над числами-весами, и каждый ответ — вероятное продолжение текста, поиска по базе в нём нет. Поэтому ИИ-ассистент в 1С может уверенно назвать неверный остаток. Лечится так: расчёты и проверки остаются в 1С, модель получает готовые данные.
🧠 Что внутри языковой модели и при чём тут встроенный язык 1С
Откройте код любой языковой модели, и бизнес-логики там не найдёте. Текст режется на токены, токены превращаются в наборы чисел, эти числа слой за слоем умножаются на матрицы весов, а в конце функция softmax выдаёт вероятности следующего слова. Поведение модели записано в числах, подобранных при обучении. У больших моделей таких чисел миллиарды, а операторов «Если» для предметной логики там нет.
Поэтому модель можно написать на любом языке, где есть массивы и циклы, в том числе на встроенном языке 1С. Как учебный эксперимент это работает: матрицы лежат в массивах, умножение идёт вложенными циклами, для softmax хватает функции Exp. Получается маленькая и медленная модель. Язык интерпретируемый, векторных инструкций и видеокарты у него нет, так что для рабочих задач такой вариант не годится. Зато код читается за вечер и показывает главное: знаний о вашем учёте в нём нет.
Строго говоря, условия в коде вывода встречаются, как в любой программе. Но ни одно из них не знает, что такое НДС, остаток или контрагент. Если бы правила жили в модели, их пришлось бы искать в весах: прочитать нельзя, поправить точечно тоже. В конфигурации 1С правило лежит в конкретном модуле, его видно в конфигураторе, у него есть автор и история изменений в хранилище.
Для внедрения 1С отсюда следует практический вывод. Всё, что в учёте должно быть верно всегда (проведение документа, ставка налога, контроль остатка), живёт в конфигурации. Модель эти правила не заменит, а попытка поручить ей контроль заканчивается так, как в следующем разделе.
⚠️ Почему возникает ошибка: ассистент называет остаток, которого нет в базе
Понедельник, 9:40. Закупщик открывает чат с ассистентом и пишет: «Сколько кабеля осталось на складе в Подольске?» Через секунду приходит ответ с точной цифрой. Закупщик оформляет заказ поставщику.
Но цифра не пришла из регистра остатков. Ассистента подключили к модели быстро, без выборки данных из базы, а у модели нет операции «найти запись». У неё есть операция «подобрать следующее слово». Она достроила фразу так, как обычно выглядят такие ответы, поэтому ошибка выглядит как факт: ровный тон и конкретное число.
Ошибка возникает по нескольким причинам:
- ✓Модель не знает вашу базу. Остатки, цены и договоры лежат в 1С, а в весах модели их нет. Без выборки она отвечает «по общему впечатлению».
- ✓Модель отстаёт от законодательства. Она обучена на текстах до определённого дня, и ставки, лимиты и правила заполнения, которые изменились позже, ей неизвестны. В релизе конфигурации они давно обновлены.
- ✓Модель не проверяет себя. Правила «если остаток отрицательный, остановиться» внутри нет, поэтому отрицательный остаток или сумма с лишним нулём проходят дальше без возражений.
- ✓Модель видит только то, что ей передали. Если из-за ограничения длины в запрос попала часть строк, итог посчитан по части данных, и ничто в ответе об этом не говорит.
Ставка в таких историях конкретная. Лишний заказ поставщику замораживает деньги в товаре, который уже лежит на другом складе. Письмо клиенту с чужой ценой приходится отзывать или исполнять в убыток. Документ с неверной ставкой НДС означает уточнённую декларацию. А если в запрос к внешней модели ушли ФИО и телефоны покупателей, у компании появляются вопросы по 152-ФЗ.
🔧 Как исправить: правила остаются в 1С, модель читает и пишет черновики
Схема простая: всё, что можно вычислить и проверить, считает 1С, а модель превращает готовый результат в понятный текст.
Данные берём запросом, а не из памяти модели
Перед каждым ответом конфигурация выполняет запрос к регистру остатков и передаёт результат модели готовыми строками: склад, номенклатура, количество, дата. Модель только формулирует ответ по этим строкам. В интерфейсе рядом с цифрой стоит ссылка на отчёт или документ, откуда она взята. Нет ссылки — нет доверия к цифре. Если запрос вернул пустой результат, ассистент отвечает «в базе данных нет» и ничего не додумывает.
Проверки живут в конфигурации
Ассистент не проводит документы. Он создаёт черновик, а контроль остатков, проверка заполнения и проведение работают так же, как при ручном вводе. Правила, которых нет в типовой конфигурации, разработчик дописывает на встроенном языке: обработчик проверки заполнения, запрет проведения, блокировка. Такая доработка 1С делается один раз и защищает базу и от ошибки человека, и от ошибки модели.
Ассистент работает под отдельным пользователем
Ему заводят отдельную учётную запись с ролью на чтение нужных регистров и создание черновиков. Прав на проведение, удаление и выгрузку клиентской базы у этой записи нет. Если модель ошибётся, ограничения роли остановят ошибку раньше, чем она попадёт в учёт.
Какие задачи отдавать правилам, а какие модели, видно по таблице.
| Задача | Правило в 1С | Языковая модель | Что выбрать |
|---|---|---|---|
| Проверка ИНН контрагента | Контрольные цифры считаются точно | Может ошибиться в цифре | Правило в 1С |
| Расчёт НДС в документе | Типовой алгоритм, обновляется с релизом | Знает ставки на дату обучения | Правило в 1С |
| Остаток по складу | Запрос к регистру даёт точное число | Назовёт правдоподобное число | Запрос в 1С, модель формулирует ответ |
| Черновик письма клиенту по заказу | Шаблон с жёстким текстом | Пишет связный текст под ситуацию | Модель, данные из 1С, проверка человеком |
| Объяснение, почему упал оборот за месяц | Отчёт показывает цифры без комментария | Пересказывает цифры отчёта простым языком | Отчёт в 1С плюс модель для комментария |
🔁 Что делать, если ошибка повторяется
Если ассистент ошибается и после подключения данных, ищите причину в цепочке между базой и моделью. Проверка занимает вечер.
- ✓Возьмите три последних неверных ответа и найдите источник числа в каждом. Если источника нет, запрос к базе не выполнялся.
- ✓Посмотрите журнал запросов на таймауты. Если база отвечает долго, плохо настроенная интеграция молча переключается на ответ «по памяти». Отчёт, который в вашей базе грузится минутами, до ассистента просто не дойдёт.
- ✓Сверьте релиз конфигурации с тем, что ассистент говорит про ставки и правила. Расхождение закрывает обновление 1С до актуального релиза.
- ✓Замерьте сервер. Тест Гилёва оценивает быстродействие в баллах и показывает, упирается ли база в железо. Если она подвисает при закрытии месяца, запросы ассистента добавят нагрузки в тот же час.
- ✓Проверьте, что именно уходит в модель: целиком ли список строк или он обрезан по длине. Обрезанный контекст даёт неполную сумму.
Типичный случай: ассистент называет цену по прайсу прошлого квартала. Запрос берёт значение из справочника, а действует документ установки цен на сегодняшнюю дату. Лечится правильным срезом последних на дату значений, а не новой формулировкой вопроса.
Если за вечер причина не нашлась, нужны сразу администратор и разработчик: один смотрит сервер и журналы, другой запросы и права. Сопровождение 1С и системное администрирование у нас стоит 3 800 ₽ в час.
🛡️ Как предотвратить: внедряем так, чтобы модель не могла навредить учёту
Предотвращение начинается с порядка внедрения.
Сначала учёт, потом ассистент
Ассистент отвечает ровно настолько хорошо, насколько аккуратно заполнена база. Если остатки живут в таблицах Excel, а в 1С их нет, спрашивать у ассистента нечего. Поэтому порядок такой: учёт в типовой конфигурации, потом доработки с правилами, потом всё, что работает поверх базы. Для склада и продаж берут 1С:Управление торговлей, для производства и сложной логистики 1С:ERP. Эту последовательность мы выстраиваем на внедрении 1С: правила закрепляются в конфигурации раньше, чем к базе подключают ИИ-инструменты.
Данные остаются в российском контуре
Если в базе есть персональные данные покупателей (ФИО, телефоны, адреса доставки), их обработка попадает под 152-ФЗ. Закон требует хранить персональные данные граждан России в базах на территории страны, а трансграничная передача идёт по отдельным правилам. Проще держать базу и всё, что к ней обращается, на своём или арендованном сервере 1С. Аренда у нас от 1 100 ₽ в месяц за пользователя.
Действия только с подтверждением человека
Часть операций ассистент не выполняет без нажатия кнопки сотрудником:
- ✓отправка письма или сообщения клиенту;
- ✓создание документа на сумму выше порога, который задаёт владелец процесса;
- ✓любое изменение цен и условий договоров.
Остальное он делает сам, и ошибка в черновике обходится дешевле, чем ошибка в отправленном письме.
Журнал и контроль первых недель
Каждый вопрос и ответ ассистента пишется в регистр сведений: кто спросил, какие строки получила модель, что она ответила. Первые недели ответственный сотрудник просматривает ответы про деньги и количество. Когда расхождения прекращаются, остаётся выборочная проверка. Правила законодательства приходят с релизами конфигурации, а не с моделью, так что регулярные обновления входят в защиту.
Хотите понять, какие правила в вашей базе стоит закрепить до подключения ИИ? Разбор базы считаем по ставке сопровождения, 3 800 ₽ в час.
❓ Частые вопросы
Можно ли написать языковую модель на встроенном языке 1С?
Можно, как учебный эксперимент. Прямой проход модели состоит из умножения матриц и функции softmax, а для них хватает массивов, циклов и Exp. Но язык интерпретируемый, без векторных инструкций и видеокарты, поэтому модель получается маленькой и медленной. Для рабочих задач такой вариант не подходит.
Почему ИИ-ассистент в 1С называет неверные остатки и цены?
У модели нет операции «найти запись в базе», она подбирает вероятное продолжение текста. Если ассистенту не передали данные запросом к регистрам, он достраивает правдоподобную цифру. Исправляется это выборкой из 1С перед каждым ответом и ссылкой на документ рядом с числом, чтобы проверка занимала секунды.
Можно ли доверить ИИ проведение документов в 1С?
Нет, доверять не стоит. Проведение, контроль остатков и проверка заполнения должны работать в конфигурации одинаково для человека и для ассистента. Безопасная схема: ассистент создаёт черновик, работает под отдельным пользователем без права проведения, а документ проводит сотрудник или правило в 1С. Так ошибка модели останавливается ролью и проверками до того, как попадёт в учёт.
Что делать, если ассистент в 1С ошибается снова после настройки?
Ищите причину в цепочке между базой и моделью: найдите источник числа в трёх неверных ответах, проверьте таймауты запросов, релиз конфигурации и длину переданного контекста, затем замерьте сервер тестом Гилёва. Сопровождение 1С и системное администрирование у нас стоит 3 800 ₽ в час.
Где хранить базу 1С, если к ней подключают ИИ-ассистента?
В российском контуре. Персональные данные граждан России по 152-ФЗ хранятся в базах на территории страны, а передача за границу идёт по отдельным правилам. Поэтому базу и всё, что к ней обращается, держат на своём или арендованном сервере 1С. Аренда у нас от 1 100 ₽ в месяц за пользователя.
Или позвоните: +7 906 045-28-27 — в рабочее время с 9:00 до 19:00
Остались вопросы? Нужна помощь?
Менеджеры компании с радостью ответят на ваши вопросы, произведут расчет стоимости услуг и подготовят индивидуальное коммерческое предложение.
Бесплатная консультация

