Многие уже привыкли к мощным коммерческим моделям от таких гигантов, как OpenAI (ChatGPT), Anthropic (Claude) или Google (Gemini). Эти проприетарные (или закрытые) LLM, как правило, доступны через API, их внутренняя архитектура и веса остаются коммерческой тайной, а развитие полностью контролируется компаниями-владельцами.
Однако параллельно активно развивается мир открытых LLM. Ключевое отличие таких моделей – их доступность. Разработчики публикуют архитектуру, а зачастую и веса моделей под свободными лицензиями. Это означает, что любую из таких моделей (при наличии соответствующего оборудования) можно скачать, запустить на собственных серверах в закрытом контуре, а иногда даже дообучить или модифицировать под свои специфические нужды. Это открывает перспективы для компаний, стремящихся к большей кастомизации, контролю над данными и независимости от сторонних провайдеров.
Эта статья посвящена исследованию именно таких, открытых LLM, в контексте специфических задач 1С-разработки и проектирования. Попытаемся понять, насколько они готовы помогать 1С-специалистам в их повседневной работе и могут ли составить конкуренцию своим закрытым аналогам.
Кому может быть интересна эта статья?
- 1С-разработчикам и консультантам, которые хотят понять, чем смогут открытые LLM могут помочь в их повседневной работе.
- Техническим специалистам и руководителям, оценивающим потенциал внедрения AI-инструментов в процессы разработки.
- Энтузиастам в области AI и LLM, исследующим применение моделей в различных предметных областях, включая 1С.
В видео показываю и рассказываю весь процесс тестирования (в числе прочего показываю ИИ-ассистент Cline):
Модели
Для тестирования я отобрал шесть сравнительно свежих и интересных на мой взгляд моделей, которые можно условно разделить на две группы:
Тяжеловесы (требуют серьезных ресурсов):
№ | Имя модели | Разработчик | Параметры, B | Макс. контекст | Дата выхода |
---|---|---|---|---|---|
1 | Llama 4 Scout 17B-16E | Meta | 17 актив / 109 общ. | 10 000 000 ток. | 5 апр 2025 |
2 | Llama 4 Maverick 17B-128E | Meta | 17 актив / 400 общ. | 1 000 000 ток. | 5 апр 2025 |
3 | DeepSeek R1 | DeepSeek | 37 актив / 671 общ. | 128 000 ток. | янв 2025 |
- Llama 4 Scout: Привлекла внимание нереально огромным контекстным окном в 10 миллионов токенов.
- Llama 4 Maverick: Также обладает внушительным контекстным окном (1 миллион токенов) и, будучи крупнее Скаута, должна быть умнее.
- DeepSeek R1: Несмотря на выход более трех месяцев назад, эта модель до сих пор популярна и широко используется.
Перспективные середнячки (потенциально для локального запуска):
№ | Имя модели | Разработчик | Параметры, B | Макс. контекст | Дата выхода |
---|---|---|---|---|---|
4 | Qwen 3-32B (Dense) | Alibaba (Qwen) | 32.8 B | 32 768 натив / 131 072 (YaRN) | 29 апр 2025 |
5 | GLM-4-32B-0414 | THUDM / Zhipu AI | 32 B | 32 000 (нативно) / W76; 128 000 c YaRN | 14 апр 2025 |
6 | Gemma-3-27B-IT | Google DeepMind | 27.4 B | 128 000 ток. | 10 мар 2025 (официальный релиз семейства) |
- Qwen 3-32B: Сравнительно новая модель от Alibaba.
- GLM-4-32B: Модель от перспективной китайской компании THUDM / Zhipu AI.
- Gemma-3-27B-IT: Свободно доступная модель от Google.
Эти модели, при наличии мощной видеокарты или какого-нибудь MacBook Pro, в теории можно запустить локально.
Как тестировали? Методология
Инструменты и окружение
Для взаимодействия с моделями я использовал:
- Visual Studio Code как основную среду разработки.
- AI-ассистент Cline: плагин для VS Code, позволяет писать код с различными LLM (в том числе с запускаемыми локально).
- OpenRouter: шлюз к сотням различных моделей, включая все тестируемые.
Общение с моделями велось на русском языке. Хотя некоторые из них, возможно, лучше понимают английский. Но для 1С-разработчика естественнее работать на родном языке, тем более что и код у нас преимущественно на кириллице.
Все наработки, включая тестовую конфигурацию 1С, промпты и результаты, доступны в GitHub-репозитории проекта. Процесс тестирования отражен в отдельных ветках, названных именами моделей. Каждый коммит в такой ветке – это результат генерации модели по конкретному промпту (текст промпта – в описании коммита).
Задачи на разработку
С каждой моделью решали пять несложных, но разнообразных задач, моделирующих разработку функционала формы документа в простой конфигурации 1С. Цель – проверить базовые навыки генерации кода и работы с типичными объектами платформы.
Список задач:
- Задача 0: Расчет сумм в табличной части документа.
- Описание: В документе с табличной частью
Товары
(поля:Количество
,Цена
,Сумма
,СуммаДопРасходы
,СуммаВсего
) реализовать расчет полейСумма
иСуммаВсего
. Запустить расчет в обработчиках изменения соответствующих полей. - Проверяемые навыки: Синтаксис, основы работы с данными управляемых форм.
- Описание: В документе с табличной частью
- Задача 1: Диалог ввода числа в управляемой форме.
- Описание: Реализовать показ диалога ввода числа (дополнительных расходов) в режиме с обработчиком оповещения. Сделать заготовку обработчика оповещения.
- Проверяемые навыки: Стандартные диалоги платформы, обработчики оповещения в управляемых формах.
- Задача 2: Пропорциональное распределение суммы по базе.
- Описание: Реализовать функцию пропорционального распределения суммы по базе (параметры: массив коэффициентов, сумма, знаки округления). Распределить введенную сумму доп. расходов по полю
Сумма
в ТЧТовары
, результат записать вСуммаДопРасходы
. - Проверяемые навыки: Решение алгоритмических задач, работа с коллекциями (массив).
- Описание: Реализовать функцию пропорционального распределения суммы по базе (параметры: массив коэффициентов, сумма, знаки округления). Распределить введенную сумму доп. расходов по полю
- Задача 3: Программное изменение формы на лету.
- Описание: Добавить на форму новые реквизиты (
СуммаВсегоРегл
в ТЧТовары
,ОбщаяСуммаВсегоРегл
на форму), вывести их в соответствующие места. Код разместить вПриСозданииНаСервере()
. - Проверяемые навыки: Механизмы программного изменения формы.
- Описание: Добавить на форму новые реквизиты (
- Задача 4: Запрос.
- Описание: Реализовать процедуру заполнения добавленных реквизитов.
СуммаВсегоРегл
должна пересчитыватьСуммаВсего
по курсу на дату документа из валюты документа в рубли (валюта регл. учета). Курсы хранятся в регистре сведенийКурсыВалют
.ОбщаяСуммаВсегоРегл
– сумма всехСуммаВсегоРегл
. - Проверяемые навыки: Простой запрос, виртуальная таблица регистра сведений.
- Описание: Реализовать процедуру заполнения добавленных реквизитов.
Полные тексты промптов можно найти в файле Prompts.md
в репозитории.
Методика оценки задач на разработку:
Каждая из 5 задач оценивалась по 4 критериям (максимум 5 баллов за критерий, итого до 20 баллов за задачу, 100 баллов максимум за все):
Критерий | Описание |
---|---|
Ошибки синтаксиса | Наличие синтаксических ошибок. Нет ошибок — 5 баллов, есть — 0. |
Необходимость примеров | Требовалось ли предоставление инструкций с примерами кода. Не требовалось — 5 баллов, требовалось — 0. |
Итерации уточнения | Сколько итераций потребовалось для получения корректного кода. 0 уточнений — 5 баллов, каждое уточнение −1 балл. Более 4 уточнений — 0. |
Качество архитектуры | Соответствие решения стандартам, принципам «хорошего кода» (субъективная оценка от 0 до 5 баллов). |
Подробная методика оценки изложена в файле results/dev/details.md
.
Задачи на проектирование архитектуры
Помимо генерации кода, моделям были предложены две задачи на проектирование конфигурации для учета задач 1С-разработки (в краткой, максимально "творческой" постановке). Оценка проводилась экспертно по следующим аспектам:
- Понимание специфики объектов метаданных 1С (справочники, документы и т.д.).
- Предложение использования стандартные механизмы учета (проведение документов, движения, регистры).
- Соответствие предложенных отчетов стандартным практикам (состав отчетов, использование регистров, в идеале - указание виртуальных таблиц).
- Полнота решения.
Результаты: Как себя показали модели?
Мои подробные впечатления от работы с каждой моделью, комментарии по ходу решения задач и демонстрация процесса есть в видеообзоре. Здесь же я сосредоточусь на сухих цифрах и ключевых моментах.
Генерация кода
Напомню, каждая из 5 задач оценивалась по 4 критериям, максимум 20 баллов за задачу и 100 баллов за все.
Llama 4 Scout
№ | Задача | Ошибки синтаксиса | Необходимость примеров | Итерации уточнения | Качество архитектуры | Итог (28) |
---|---|---|---|---|---|---|
0 | Расчет сумм ТЧ | Нет | Да | 3 | 2 | 9 |
1 | Диалог ввода доп. расходов | Нет | Да | 0 | 3 | 13 |
2 | Распределение доп. расходов | Да | Да | Вручную | 2 | 2 |
3 | Добавление реквизитов формы | Да | Да | 2 + Вручную | 4 | 4 |
4 | Расчет по курсу валюты | Да | Да | - | - | 0 |
Ссылка на ветку тестирования Llama 4 Scout в GitHub
Llama 4 Maverick
№ | Задача | Ошибки синтаксиса | Необходимость примеров | Итерации уточнения | Качество архитектуры | Итог (85) |
---|---|---|---|---|---|---|
0 | Расчет сумм ТЧ | Нет | Нет | 0 | 5 | 20 |
1 | Диалог ввода доп. расходов | Нет | Нет | 0 | 4 | 19 |
2 | Распределение доп. расходов | Нет | Нет | 2 | 5 | 18 |
3 | Добавление реквизитов формы | Нет | Да | 1 | 5 | 14 |
4 | Расчет по курсу валюты | Нет | Нет | 3 + Вручную | 4 | 14 |
Ссылка на ветку тестирования Llama 4 Maverick в GitHub
DeepSeek R1
№ | Задача | Ошибки синтаксиса | Необходимость примеров | Итерации уточнения | Качество архитектуры | Итог (73) |
---|---|---|---|---|---|---|
0 | Расчет сумм ТЧ | Нет | Нет | 0 | 4 | 19 |
1 | Диалог ввода доп. расходов | Нет | Да | 0 | 5 | 15 |
2 | Распределение доп. расходов | Нет | Нет | 2 | 4 | 17 |
3 | Добавление реквизитов формы | Нет | Да | 3 | 5 | 13 |
4 | Расчет по курсу валюты | Нет | Да | 3 + Вручную | 4 | 9 |
Ссылка на ветку тестирования DeepSeek R1 в GitHub
Qwen 3-32B
№ | Задача | Ошибки синтаксиса | Необходимость примеров | Итерации уточнения | Качество архитектуры | Итог (49) |
---|---|---|---|---|---|---|
0 | Расчет сумм ТЧ | Нет | Да | 1 | 4 | 13 |
1 | Диалог ввода доп. расходов | Нет | Да | 1 | 3 | 12 |
2 | Распределение доп. расходов | Да | Нет | Вручную | 5 | 10 |
3 | Добавление реквизитов формы | Нет | Да | Вручную | 4 | 9 |
4 | Расчет по курсу валюты | Нет | Да | - | - | 5 |
Ссылка на ветку тестирования Qwen 3-32B в GitHub
GLM-4-32B
№ | Задача | Ошибки синтаксиса | Необходимость примеров | Итерации уточнения | Качество архитектуры | Итог (32) |
---|---|---|---|---|---|---|
0 | Расчет сумм ТЧ | Нет | Да | 0 | 5 | 15 |
1 | Диалог ввода доп. расходов | Нет | Да | 1 | 3 | 12 |
2 | Распределение доп. расходов | Нет | - | - | - | 5 |
3 | Добавление реквизитов формы | - | - | - | - | - |
4 | Расчет по курсу валюты | - | - | - | - | - |
Ссылка на ветку тестирования GLM-4-32B в GitHub
Gemma-3-27B
№ | Задача | Ошибки синтаксиса | Необходимость примеров | Итерации уточнения | Качество архитектуры | Итог (61) |
---|---|---|---|---|---|---|
0 | Расчет сумм ТЧ | Нет | Да | 0 | 5 | 15 |
1 | Диалог ввода доп. расходов | Нет | Да | 0 | 5 | 15 |
2 | Распределение доп. расходов | Нет | Нет | 3 | 5 | 17 |
3 | Добавление реквизитов формы | Нет | Да | 5 | 4 | 9 |
4 | Расчет по курсу валюты | Нет | Да | - | - | 5 |
Ссылка на ветку тестирования Gemma-3-27B в GitHub
Сводные результаты тестирования по задачам генерации кода:
Модель | Итог |
---|---|
Llama 4 Scout | 28 |
Llama 4 Maverick | 85 |
DeepSeek R1 | 73 |
Qwen 3-32B | 49 |
GLM-4-32B | 32 |
Gemma-3-27B | 61 |
Как видно из таблицы, Llama 4 Maverick показала себя явным лидером, набрав 85 баллов. Для меня это был сюрприз, модель оказалась довольно шустрой и в большинстве случаев генерировала корректный код без синтаксических ошибок. Второе место с 73 баллами заняла DeepSeek R1, что тоже неплохо, хотя к этой модели у меня есть замечания. Из более "легких" моделей наилучший результат у Gemma-3-27B (61 балл).
Архитектурная задача
Задачи на проектирование (разработка архитектуры самостоятельной конфигурации для учета задач по 1С) показали, насколько модели "понимают" специфику 1С.
Чтобы составить свое впечатление о генерациях моделей - можете посмотреть их здесь.
Сводная таблица оценок (средние значения по нескольким экспертным оценкам):
Модель | Понимание метаданных 1С | Механизмы учета | Отчетность | Полнота решения | Итог |
---|---|---|---|---|---|
Llama 4 Scout | 3.33 | 1.67 | 3.00 | 3.50 | 11.50 |
Llama 4 Maverick | 4.00 | 3.67 | 3.33 | 4.17 | 15.17 |
DeepSeek R1 | 4.50 | 3.33 | 3.33 | 4.83 | 16.00 |
Qwen 3-32B | 2.83 | 2.33 | 2.83 | 4.60 | 12.60 |
GLM-4-32B | 2.50 | 1.67 | 2.67 | 3.33 | 10.17 |
Gemma-3-27B | 4.17 | 2.83 | 3.00 | 4.67 | 14.67 |
Лидеры те же, что и в тесте на разработку, но немного в другом порядке.
Выводы: Стоит ли игра свеч?
Тестирование далось мне непросто, потребовало много терпения и самообладания. :) И, скажу честно, на данный момент я не вижу большого смысла использовать протестированные открытые модели в задачах генерации кода, за исключением, быть может, Llama 4 Maverick, которую можно еще потестировать и попробовать на более серьезных задачах.
В задачах проектирования они могут подкинуть иногда интересные идеи. Думаю, что справятся с оформлением документации, инструкций.
А для чего же они могут пригодиться в разработке?
- Как модель для автодополнений кода (в IDE, которые это поддерживают)
- Документирование кода
- Брейнсторминг по вариантам решений
Возможно, ситуацию может изменить:
- Файн-тюнинг весов на примерах встроенного языка 1С.
- Системы с RAG (Retrieval Augmented Generation), которые будут подсовывать в контекст модели окружение, релевантные примеры кода или документацию из базы знаний.
(насколько я знаю, разработчики 1С:Напарника пошли по такому пути)
А пока я бы рекомендовал для серьезной работы проприетарные модели, такие как Claude Sonnet или последние модели Gemini от Google, которые, по отзывам, также показывают хорошие результаты (см. статью Олега Филиппова).
Зачем вообще нужны открытые модели?
Если говорить про рассматриваемый в этой статье класс задач, то я вижу такие аргументы в их пользу:
- Информационная безопасность: Возможность запускать модель в полностью закрытом контуре.
- Отсутствие интернета: Работа там, где нет стабильного подключения.
Вопросы стоимости – второстепенны. Облачный инференс сейчас очень дешев, и вложения в оборудование, необходимое для запуска приличных локальных моделей, будут окупаться долго. Свое железо – это всегда ограничения (нехватка мощностей при росте нагрузки, невозможность использовать большие контекстные окна из-за нехватки памяти, низкая скорость работы). Часто недостатки превышают достоинства.
Вместо заключения
Признаюсь, я с юности мечтаю спихнуть на компьютер максимум рутинной, да и сложной, интеллектуальной работы. Искусственным интеллектом, и нейросетями в частности, увлекаюсь очень давно. Появление больших языковых моделей меня невероятно воодушевило. Стараюсь применять их везде, где это целесообразно сегодня. И как 1С-ник со стажем, прежде всего – в 1С-разработке.
Надеюсь, статья для вас полезна. Спасибо за внимание!
Репозиторий с материалами тестирования: GitHub