С появлением технологий искусственного интеллекта в экосистеме 1С перед разработчиками встал резонный вопрос: насколько эти инструменты применимы в реальной работе? Сможет ли ИИ написать ERP с нуля или хотя бы упростить рутинные задачи в конфигураторе? В этой статье мы подробно проанализируем текущее состояние сервиса «1С:Напарник», разберем его сильные и слабые стороны, а также сравним его работу с классическими методами разработки.
Для начала выясним важный технический нюанс. Если вы привыкли работать «по старинке» в обычном конфигураторе, то встроенного ИИ вы там не обнаружите. Рассмотрим подробнее: «1С:Напарник» — это специализированный ассистент, который интегрирован исключительно в среду разработки 1С:EDT (Enterprise Development Tool). Это облачный сервис, базирующийся на больших языковых моделях (LLM), которые были дополнительно обучены на программном коде типовых конфигураций и документации к платформе.
Разберем основные задачи, которые ставит перед собой этот инструмент:
Проанализируем амбициозный вопрос о написании ERP с нуля. На текущем этапе развития ответ отрицательный. И вот почему: разработка в системе «1С:Предприятие» — это не только написание текстов модулей. Это прежде всего проектирование метаданных. Рассмотрим ситуацию: чтобы создать документ или справочник, нужно определить его структуру в дереве конфигурации, настроить типы реквизитов, связи, формы и права доступа. На данный момент «1С:Напарник» не умеет визуально проектировать объекты метаданных, для этих целей разработчикам все еще нужны классические инструменты или специализированная подсистема для проектирования архитектуры информационных систем.
Более того, как отмечают практикующие коллеги, уровень «Напарника» сейчас сопоставим с ранними версиями IntelliCode. Основная проблема заключается в ограниченном контексте. Рассмотрим это подробнее: ассистент зачастую видит только текущий открытый модуль. В то время как современная разработка на базе БСП предполагает десятки вложенных вызовов из разных общих модулей. Чтобы быстрее ориентироваться в таких конструкциях, программисту полезно иметь под рукой справочник по методам БСП с примерами использования. Без понимания всей структуры проекта ИИ часто выдает ошибочные рекомендации.
Посмотрим на конкретный пример задачи: нужно удалить строки из таблицы значений по определенному условию (например, по конкретной номенклатуре). Выясним, что предложил ИИ и как это реализовал бы опытный разработчик.
Предложение от «1С:Напарника» часто выглядит как классический алгоритм из учебников по другим языкам программирования:
// Удаляем строки в цикле с конца
Для Индекс = ТаблицаЗначений.Количество() - 1 По 0 Цикл
ТекущаяСтрока = ТаблицаЗначений[Индекс];
Если ТекущаяСтрока.Номенклатура = НоменклатураНабора Тогда
ТаблицаЗначений.Удалить(ТекущаяСтрока);
КонецЕсли;
КонецЦикла;
Этот код рабочий, но он не учитывает специфику платформы 1С. Проанализируем ситуацию: в языке 1С есть более эффективные штатные механизмы для подобных манипуляций. Разберем правильный подход, который сэкономит ресурсы системы и будет более читаемым:
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Номенклатура", НоменклатураНабора);
МассивСтрокДляУдаления = ТаблицаЗначений.НайтиСтроки(ПараметрыОтбора);
Для Каждого СтрокаТЗ Из МассивСтрокДляУдаления Цикл
ТаблицаЗначений.Удалить(СтрокаТЗ);
КонецЦикла;
Использование метода НайтиСтроки() работает быстрее и считается «хорошим тоном» в 1С-разработке. ИИ же часто склонен предлагать универсальные циклы Для, так как он обучался на огромных массивах кода, где такие конструкции преобладают.
Если возможности штатного «Напарника» в EDT вам кажутся недостаточными, проанализируем альтернативные пути автоматизации труда программиста. Опытные коллеги рекомендуют использовать связку инструментов, которые позволяют подключать любые современные LLM (например, Claude 3.5 Sonnet или GPT-4o) напрямую в среду разработки. Популярным решением также является интеграция с YandexGPT для использования ИИ в качестве помощника.
Рассмотрим по шагам эффективный стек инструментов:
Выясним преимущества использования сторонних моделей. Современные универсальные ИИ-агенты зачастую лучше справляются со сложной логикой. Рассмотрим пример использования функций типа ОтобратьКоллекциюЛкс из инструментов разработчика, которые позволяют писать компактный код, имитирующий функциональное программирование:
// Пример использования псевдолямбды для фильтрации
МассивНужныхОбъектов = ОтобратьКоллекциюЛкс(ТЗ, "Реквизит >= 5");
Такой подход позволяет писать меньше строк кода, что, в свою очередь, облегчает работу самому ИИ при анализе вашего проекта. Меньше кода — меньше токенов — меньше вероятность ошибки.
Важно понимать, что стратегия фирмы 1С направлена не только на помощь программистам. Рассмотрим более широкую перспективу: ИИ внедряется в платформу для решения бизнес-задач пользователей. Разберем наиболее перспективные направления:
Как отмечают участники обсуждения, для бизнеса отдача от ИИ в прикладных задачах может быть несопоставимо выше, чем просто ускорение написания кода. Однако для разработчика знание этих инструментов становится обязательным навыком. Мы рекомендуем уже сейчас начинать освоение 1С:EDT, так как именно эта среда будет получать все самые передовые обновления, связанные с ИИ-ассистентами.
Подведем итог нашему анализу. Стоит ли заморачиваться с «1С:Напарником»? Определенно да, если вы готовы переходить на EDT. Он поможет быстрее писать простые обработчики, объяснит смысл сложных функций в БСП и создаст шаблоны тестов. Однако не стоит ожидать от него чуда: за архитектуру, контроль типов и проверку запросов на лишнюю выборку и разыменование по-прежнему отвечает человек.
Помните: ИИ — это не замена программисту, а «умный Т9» для кода. Используйте его для рутины, но всегда проверяйте результат на соответствие стандартам разработки 1С. Только совместная работа человека и алгоритма позволит достичь максимальной эффективности в современных реалиях автоматизации бизнеса.