Чего ИИ-агент в 1С не может — и не сможет

26.08.26

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

За год работы с агентом накопился список ситуаций, где он бессилен структурно — не «пока не умеет», а не сможет по природе задачи. Общее у всех: агент не падает. Он уверенно выдаёт результат, который выглядит правильным, и его собственные проверки это подтверждают. Шесть категорий: что видно только глазами, что создаётся только формой, что названо не так, как выглядит, чего нет, хотя должно быть, что знает только владелец бизнеса, и что молча не падает.

Зачем эта статья

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

Но за год накопился список ситуаций, где агент бессилен структурно. Не «пока не умеет» и не «нужна модель получше», а не сможет по природе задачи. И знать этот список полезнее, чем очередной восторженный кейс: именно в этих местах вы потеряете день, будучи уверенными, что всё под контролем.

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


1. То, что видно только глазами

Агент работает с текстом: код, логи, JSON. Всё, что существует только как отрисованный интерфейс, для него не существует.

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

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

Что с этим делать. Открывать и смотреть. На Linux-сервере это означает запуск клиента под виртуальным экраном, скриншот и клики через утилиты автоматизации. Технически возможно, но:

  • нужные утилиты на сервере может не оказаться — у меня на одной машине были только виртуальный экран и просмотр дерева окон, чего для кликов недостаточно;
  • модальное окно в невидимом экране вешает процесс молча. Первый запуск любой внешней обработки ловит предупреждение безопасности, и вы наблюдаете команду, которая «выполняется» третий час;
  • дисплеев в системе бывает несколько, и окно живёт только на одном — придётся сначала найти, на каком.

Реалистичный вывод: финальную проверку интерфейса делает человек. Автоматизировать её дороже, чем открыть и посмотреть.


2. То, что создаётся только формой

Самый дорогой случай из всех, потому что он проходит все проверки.

Задача была завести виды карт лояльности программно:

Элемент = Справочники.ВидыКартЛояльности.СоздатьЭлемент();
Элемент.Наименование = "Промокод 15%";
Элемент.Записать();

Объект создаётся. Поиск по наименованию его находит. Метод проверки честно отвечает «созданы, существуют». Всё зелёное.

А в форме выбора этих элементов нет.

Причина: форма при интерактивном создании заполняет обязательные реквизиты сама. Пустыми остались статус, тип карты и — главное — дата начала действия, по которой идёт отбор «действует на дату». Элемент существует, но не действует ни в одну дату, поэтому формы его отфильтровывают.

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

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


3. То, что названо не так, как выглядит

Агент ищет по именам. Предметная область 1С регулярно устроена так, что имя и отображение расходятся.

Значения перечислений подбираются по синониму. На форме вы видите «Скидка (наценка) процентом» — это синоним. Внутреннее имя лежит в метаданных и может отличаться как угодно. Когда бизнес формулирует требование, он говорит синонимами. Агент ищет по именам и не находит.

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

Подчинённость не видна в списке реквизитов. Справочник карт лояльности подчинён виду карты. Обращение к виду как к реквизиту даёт «поле объекта не обнаружено». Правильно — через владельца, и второй параметр метода выборки как раз владелец. По списку реквизитов это не выводится никак.

Работающий приём: смотреть, как с объектом работает типовой код. Я нашёл ответ, прочитав типовую процедуру расчёта скидки — там видно, каким способом платформа сама ищет карту. Это надёжнее, чем гадать.

Реквизит шапки неотличим от реквизита табличной части. Продавец у чека лежит в табличной части «Товары», а не в шапке — в шапке только кассир. Если искать по выгруженному XML, имя найдётся, но по виду фрагмента невозможно понять, где оно находится: разметка одинаковая. Нужно смотреть контекст на несколько уровней вверх, чего текстовый поиск не делает.

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


4. То, чего нет, хотя должно быть

Класс ошибок, где агент строит корректную логику на несуществующем основании.

Нулевая длина кода. У справочников складов и касс длина кода нулевая — реквизита Код физически не существует. В запросе это честная ошибка «поле не найдено». А вот в объектной модели обращение к коду молча возвращает пустую строку. Код компилируется, выполняется, не падает.

Последствие у меня было такое: расширение годами отправляло во внешнюю систему поле с кодом магазина, собранное из этого реквизита. Оно всегда было пустым. Никто не замечал, потому что приёмник просто клал пустую строку в базу.

Поля, заполненные в теории. Артикул номенклатуры у меня заполнен ровно у одного товара из четырёх с лишним тысяч — де-факто идентификатором служит штрихкод. Одно из дополнительных свойств заведено дважды разными элементами и склеивается только по имени. Служебные разделы номенклатуры выглядят как обычные и попадают в отчёты, если их не исключить.

Агент, строя логику, разумно предполагает, что артикул — это идентификатор товара. Разумно и неверно.

Что с этим делать. Прежде чем строить логику на поле — посмотреть, насколько оно реально заполнено. Один запрос с подсчётом непустых значений. И правило: если поле в интеграции всегда пустое, проверьте, существует ли оно вообще у источника — прежде чем искать ошибку в передаче.


5. То, что знает только владелец бизнеса

Самое фундаментальное ограничение, и оно не лечится ни моделью, ни документацией.

Реальный случай. Клиент со статусом «сотрудник, 15%» и персональной кампанией «30% на категорию» получил на кассе 45%. Технически всё работало правильно: внешняя система считала персональную скидку от полной цены и про статусную не знала, а форма кассира клала её поверх уже посчитанной автоматической.

Вопрос: это баг или нет?

Ответ зависит от того, как должно быть по бизнесу: складываются скидки или персональная заменяет статусную. Оба варианта осмысленны. Оба реализуемы. Правильный знает владелец, и он его сообщил — персональная заменяет.

Ни один агент этого не выведет. Ни из кода, ни из документации, ни из данных. Это не техническая задача.

Сюда же — вся категория вопросов вида «а что считать правильным»: должна ли скидка ложиться на товары из чёрного списка бонусов, считаются ли каналы продаж одинаково, что делать с остатком сертификата при частичной оплате.

Что с этим делать. Получать ответ до постановки задачи, а не после выката. И записывать в журнал проекта вместе с обоснованием — иначе через полгода вопрос вернётся, и никто не вспомнит, почему решили так.


6. То, что молча не падает

Отдельная категория, объединяющая половину предыдущих.

  • LoadConfigFromFiles не компилирует и возвращает нулевой код возврата на заведомо битом модуле;
  • обращение к несуществующему коду справочника возвращает пустую строку без ошибки;
  • программно созданный объект записывается без обязательных реквизитов;
  • после перезапуска сервера умирает демон администрирования, и команда снятия блокировки базы молча не выполняется;
  • скрипт восстановления оборвался на середине — команды «выполнились», база осталась закрытой для пользователей.

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

Что с этим делать. Проверять состояние независимым способом. Для кода — повторный дамп расширения и сравнение с тем, что вы правили, обязательно исключая служебный файл с версиями выгрузки. Для доступности базы — не статус скрипта, а живой запрос к HTTP-сервису. Для данных — не «записалось без ошибки», а чтение того, что записалось.


Чего в этом списке нет

Для равновесия: то, что агент делает отлично и где сопротивляться бессмысленно.

Разбор незнакомой конфигурации, поиск нужного регистра по смыслу, написание запросов, работа с пакетным режимом, разбор JSON от интеграций, инвентаризация существующих HTTP-методов, массовые механические правки, черновик документации по факту сделанного. На всём этом он экономит часы, и мой список ограничений не отменяет ни одного пункта.

Ограничения сосредоточены ровно в двух местах: интерфейс и смысл. Всё, что между ними — код, данные, команды, — его территория.


Выводы

1. Агент не падает — он уверенно ошибается. Это опаснее падения, потому что не создаёт сигнала.

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

3. Программно созданный объект сверяйте с созданным вручную. Форма заполняет то, чего не заполняет код, и различие не видно ни одной программной проверкой.

4. Прежде чем строить логику на поле — проверьте, что оно существует и заполнено. Нулевая длина кода и пустой артикул выглядят одинаково: молча.

5. Что считать правильным — знает владелец бизнеса. Получайте ответ до задачи и записывайте вместе с обоснованием.

6. Успешный код возврата ничего не гарантирует. Проверяйте состояние независимо от того, что сказал скрипт.

Мой опыт года работы в таком режиме сводится к простому: агент радикально ускоряет всё, что можно выразить текстом, и не помогает вообще там, где нужно посмотреть глазами или спросить у человека. Знание границы между этими областями — и есть основная компетенция, которая сейчас нарабатывается.

Если у вас есть случаи из своей практики, которые в этот список просятся, — напишите в комментариях. Мне интересно, где ещё проходит эта граница.


Платформа 8.3.27, УТ 11.5. Все случаи — с боевых баз розничной сети, ни один не является гипотетическим.

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

ИИ агент ограничения УТ 11.5 формы перечисления предметная область отладка практика

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

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

См. также

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

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

15250 руб.

25.08.2025    67576    137    38    

144

SALE! %

Банковские операции Обмен с интернет-банком Мастера заполнения Нейросети Программист Бухгалтер Пользователь 1С:Предприятие 8 1C:ERP 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:ERP. Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

Корректируйте банковские документы быстро и легко! Создайте правило обработки — и оно автоматически применится при загрузке выписки (отбор по любому реквизиту или регулярному выражению). Решение заполняет расшифровку платежа, комиссию эквайринга, подбирает ведомости на выплату зарплаты, помечает дубли из банка на удаление и многое другое. Доплачивать за алгоритмы не нужно — они включены в решение. Обработка работает при загрузке из файлов клиент-банка и через DirectBank. Новое — искусственный интеллект: модель приводит нестандартные назначения платежа к виду, понятному алгоритмам, а ИИ-ассистент прямо в 1С консультирует по решению и разбирает код правил и алгоритмов. Поддерживаются локальные и облачные OpenAI-совместимые модели — данные могут не покидать ваш контур.

15250 руб.

20.12.2024    18139    91    29    

80

Нейросети Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Платные (руб)

Задавайте вопросы базе 1С обычными словами: получайте данные, находите ошибки и связанные документы, проверяйте права, работайте с вложениями и контролируемо вносите изменения. Всё это работает в самой программе, а Codex и Claude подключаются по желанию.

15989 руб.

30.07.2026    6304    17    4    

15

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

Практический эксперимент по использованию ИИ при обновлении расширений 1С. Сравниваются GigaChat-2-Pro и локальный Qwen3-Coder 30B на реальных конфликтах BSL-кода. Показано, как модели анализируют изменения типовой конфигурации, где могут ошибаться даже с высокой уверенностью и почему рекомендации AI необходимо дополнительно проверять алгоритмически и в тестовой базе 1С.

24.08.2026    735    aldar    10    

8

Нейросети Программист 1С:Предприятие 8 Бесплатно (free)

В этой статье расскажу, как реализовал с помощью LLM полноценную генерацию кода для 1С (BSL) в популярном Open Source API-клиенте Bruno.

21.08.2026    960    malikov_pro    9    

9

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

Один проход модели по вопросу из 28 знаков стоит 631 296 умножений и 4,8 секунды. Столько берёт языковая модель на 21 920 параметров, посчитанная прямо в 1С средствами самой платформы. На ней разбираю по шагам, что стоит за каждым словом из модного словаря: токен, словарь, вектор символа, вес, слой, голова внимания, контекст, softmax, температура, KV-кэш. Отдельно про температуру - она вообще не про креативность и управляет выбором буквы уже после того, как модель закончила работу. Отдельно про галлюцинацию - показываю в цикле генерации место, куда физически невозможно вставить "не знаю". Плюс расчёт потолка для встроенного языка, замер цены размера модели и история про метод платформы, которого не существует.

20.08.2026    4722    nedomolkov.ivan    11    

20

Инструментарий разработчика Нейросети Программист 1С 8.3 Бесплатно (free)

Стенд, на котором языковую модель видно изнутри: настоящий трансформер посчитан с нуля на встроенном языке, без внешних компонент, ONNX, Native API и обращений наружу. Три кнопки: полный ответ с отчётом о числе умножений и секундах, один проход модели с вероятностями всех 36 символов алфавита столбиком, и разбор устройства - алфавит, номера токенов, размерности. Поле температуры показывает, что выбор буквы делает не сама модель, а код снаружи: при нуле ответ повторяется слово в слово, при пятёрке текст рассыпается на слоги. В комплекте два файла: модель на 21 920 параметров отвечает за 7-13 секунд, вчетверо более крупная примерно за 28. Веса лежат макетом внутри, скачивать и настраивать нечего. Знаний о мире у модели нет: она помнит сорок фраз про объекты 1С, и на вопрос вне этого набора отвечает бессмыслицей с той же уверенностью.

20.08.2026    3703    84    nedomolkov.ivan    0    

15

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

Код от агента выглядит хорошо, но между «агент выдал код» и «код работает в боевой базе» лежит дистанция, которую никто не проходит за вас. Как я обвесил её конвейером из семи ролей на боевой 1С:БП КОРП с БИТ.ФИНАНС: устройство конвейера, почему «критично» у агента не значит «дефект», шесть промахов, прошедших конвейер насквозь, один дефект, доехавший до боевой базы, и честный список того, чего я не измерял.

19.08.2026    1881    VlaMax    35    

13
Для отправки сообщения требуется регистрация/авторизация