ИИ для 1С-программиста: локальный разбор BSL-кода и проверка правки
На странице · 5 разделов
ИИ для 1С-программиста полезен как помощник при разборе модуля, поиске рисков и подготовке небольшого патча, но не как замена проверке в платформе. Для локального пилота передайте модели обезличенный фрагмент BSL через Ollama, отдельно проверьте код диагностикой и запустите сценарий в тестовой базе. Поддержка синтаксиса 1С и качество конкретной модели на вашей конфигурации заранее не доказаны.
Проверено по документации 27 сентября 2026 года. Пример ниже — шаблон запроса, а не отчёт о тесте Modelium. Качество на BSL, скорость, совместимость с конкретной конфигурацией и отсутствие сетевого выхода не измерялись.
Что поручить ИИ, а что оставить разработчику 1С?
Вход для пилота — небольшой обезличенный BSL-модуль, исходная постановка задачи и ограничение: не менять структуру базы, права пользователей и публичные интерфейсы. Выход — объяснение текущей логики, список гипотез о рисках, минимальный предлагаемый патч и перечень тестов. Это не готовое изменение конфигурации. EDT поддерживает работу над проектом в Git-ветке: сделайте отдельную ветку и проверяйте diff до включения в общую работу s1.
Разделяйте три роли. Модель предлагает или объясняет код. Статический анализатор независимо отмечает потенциальные ошибки и нарушения правил. Разработчик проверяет бизнес-логику, права и выполнение в тестовой информационной базе. В платформе предусмотрена проверка конфигурации; EDT позволяет сохранить разные конфигурации запуска/отладки, включая пользователей и базы s2s3. Текст модели не должен автоматически превращаться в коммит, запуск обмена или изменение рабочей базы.
Если задача — не работа с исходным BSL, а извлечение записей 1С для ответов, смотрите отдельный сценарий интеграции Ollama с 1С. Здесь модель получает только заранее отобранный фрагмент исходного кода, не учётные данные и не подключение к базе.
Как собрать минимальный локальный стек для кода 1С?
Редактор и версия: 1C:EDT с Git-веткой под один маленький сценарий. По официальному руководству EDT разработчик может переключать ветки, фиксировать изменения и сравнивать результат командной разработки s1. Если команда использует другой редактор, принцип тот же: сохраняйте исходный вариант и точный diff; не объявляйте интеграцию LLM со средой встроенной функцией без подтверждения.
Независимая диагностика: BSL Language Server реализует поддержку языка 1С, подсказки, форматирование и диагностики; документация также описывает режим анализатора s4. Некоторые правила анализа по умолчанию выключены, поэтому зафиксируйте конфигурацию правил и не трактуйте отсутствие предупреждений как доказательство отсутствия ошибок s5. Настройте его по документации своей версии среды; не разрешайте автоисправления всех замечаний разом.
Модель-кандидат: локальный Ollama и опубликованный тег qwen3-coder:30b. Автор каталога позиционирует эту модель для программирования и показывает конкретный тег, но не подтверждает качество на языке запросов 1С, BSL-модулях или типовых конфигурациях s8. Указанный на карточке размер файла весов не является минимальной RAM/VRAM. Выбирайте вариант по реальной памяти, совместимости и контрольному прогону на своём устройстве; если он не помещается, не обещайте эквивалентного результата от произвольной меньшей модели. Начните с запуска Ollama и проверьте, что загружен именно локальный тег.
Обычно достаточно ручного обмена «фрагмент → черновик → diff». Доступ coding-agent к файловой системе — отдельный уровень полномочий и риска; агентный стек нужен только когда тест на ручных фрагментах уже дал полезный результат.
Как запросить объяснение BSL без доступа к рабочей базе?
На компьютере с запущенной Ollama и загруженным локальным тегом создайте вымышленный учебный фрагмент. API /api/chat принимает список сообщений и параметр stream:false; ответ приходит в message.content s6. Ниже шаблон по документации, Modelium не выполнял этот вызов:
curl -sS http://127.0.0.1:11434/api/chat \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen3-coder:30b",
"stream": false,
"messages": [
{"role":"system","content":"Ты объясняешь BSL-код. Не выдумывай объекты конфигурации. Если контекста недостаточно, скажи об этом. Предложи тесты, но не заявляй, что выполнял их."},
{"role":"user","content":"Проверь учебный фрагмент и предложи минимальное изменение с объяснением:\nФункция Удвоить(Значение)\n Возврат Значение * 2;\nКонецФункции"}
]
}'
Проверьте, что сервер вернул успешный HTTP-ответ и поле message.content; даже синтаксически правильный текст может ошибаться о типах, контексте платформы и семантике модуля s6. Для настоящего ревью заменяйте учебный код только разрешённым к обработке фрагментом без секретов, данных клиентов, логинов и адресов. Запишите постановку, версию конфигурации, тег модели, системные настройки и ответ, чтобы повторить сравнение после обновления.
Локальный API по адресу localhost:11434 не требует аутентификации; прямой облачный API — отдельный путь с ключом, и облачная модель может быть вызвана через локальный адрес после входа в Ollama s7. Поэтому сам localhost не является доказательством закрытого контура. Не публикуйте этот порт в общую сеть и проверьте сетевой выход отдельно до передачи закрытого кода.
Как проверить предложенный патч, прежде чем принять его?
- Сверьте намерение и diff. Попросите указать вход, выход, зависимости и изменённые строки. Разработчик сравнивает предложенный патч с исходной веткой в EDT/Git, исключает побочные правки и отклоняет ссылки на несуществующие объекты конфигурации s1. Промпт не является тестом.
- Прогоните BSL-диагностику. Сохраните список включённых правил, исходный отчёт и отчёт после правки. Диагностики BSL Language Server предназначены для выявления потенциальных ошибок и нарушений стандартов, но часть выключена по умолчанию и результат не проверяет бизнес-процесс s4s5. Если предложение модели конфликтует с диагностикой, выясните причину, а не отключайте правило ради зелёного результата.
- Выполните платформенные проверки. Запустите проверку конфигурации и затем сценарий в отдельной тестовой базе с отладкой под релевантным пользователем: положительный случай, пустое значение, недостаточные права и повторный запуск. Платформа предоставляет проверку конфигурации, а EDT — варианты запуска для разных пользователей, информационных баз и версий s2s3. Фактический набор тестов задаёт конфигурация команды.
- Зафиксируйте результат. Примите изменение только если намерение, диагностика, конфигурация и тестовый сценарий согласуются. Оставьте в ревью исходный запрос, diff, список запущенных проверок и известные ограничения. Никаких автономных действий в рабочей базе у модели нет.
Для пилота можно взять два заранее известных дефекта и один корректный модуль. Успех — модель указывает проверяемые места, не изобретает отсутствующие метаданные, а разработчик получает исправление, проходящее собственные тесты. Если модель выдаёт уверенную фикцию, без объяснения меняет бизнес-логику или повторяет секрет из кода, остановите пилот и не подключайте агент с инструментами. Результаты такого набора на Modelium пока не измерены.
Когда локальная модель не подходит?
Не передавайте ей закрытый проект, если организация ещё не согласовала обработку кода, права на исходники и сетевой маршрут. Не выбирайте модель по одной красивой демонстрации: карточка qwen3-coder:30b описывает общее назначение для кодинга, не доказывая результат на вашей версии 1С s8. Если фрагмент зависит от метаданных конфигурации, ролей и нетиповых объектов, одного вырванного модуля недостаточно: ответ «нужен дополнительный контекст» предпочтительнее выдуманного метода.
Статический анализ и платформа не заменяют ревью предметного эксперта; LLM, в свою очередь, не заменяет их. Основной следующий шаг: открыть локальный coding-стек на Ollama, начать с ручной проверки одного разрешённого фрагмента, а доступ к тестовому проекту выдавать только после сохранённого протокола независимых проверок. Источники получены 27 сентября 2026 года.
Источники
- 1C Developer Network — Team Development in EDT — s1-edt-git.html; работа с Git в EDT.. Получено 27.09.2026.
- 1C Developer Network — Configuration check — s2-config-check.html; встроенная проверка конфигурации.. Получено 27.09.2026.
- 1C Developer Network — Run and Debug Configurations — s3-edt-debug.html; настройки тестового запуска и отладки.. Получено 27.09.2026.
- BSL Language Server — документация и возможности — s4-bsl-cli.html; режим analyzer, LSP и диагностика.. Получено 27.09.2026.
- BSL Language Server — Diagnostics — s5-bsl-diagnostics.html; некоторые правила отключены по умолчанию.. Получено 27.09.2026.
- Ollama — POST /api/chat — s6-ollama-api.html; messages, stream:false, поле message.content.. Получено 27.09.2026.
- Ollama — Authentication — s7-ollama-auth.html; локальный API без аутентификации, cloud — отдельно.. Получено 27.09.2026.
- Ollama Library — qwen3-coder:30b — s8-qwen-coder.html; точный тег, опубликованный размер весов и позиционирование автора. Размер весов не равен минимуму RAM/VRAM.. Получено 27.09.2026.