Статьи

ИИ в разработке CAD/CAM/CAE/BIM — как автопилот в авиации. Не более.

Илья Личман

Илья Личман

Оригинал: Ilya Lichman. How LEDAS Uses AI Efficiently and Safely

Как ЛЕДАС использует ИИ безопасно и эффективно?
Почему мы не говорим, что «ИИ заменит программистов»?
Почему мы не сокращаем штат, хотя умеем эффективно использовать ИИ?
И как мы гарантируем высокое качество и безопасность кода?

Когда речь заходит об использовании искусственного интеллекта (ИИ, AI) для разработки инженерного программного обеспечения, почти всегда происходит разделение на два лагеря. AI-евангелисты требуют: «Необходимо использовать искусственный интеллект, чтобы сделать все быстрее и дешевле!». Их оппоненты им не верят: «Никакого ИИ, иначе код утечет, а большие языковые модели (LLM) не справятся со сложностью САПР-задач нагаллюцинируют ерунду, полную ошибок».

Мы уже более двух лет взаимодействуем и с теми, и с другими заказчиками наших услуг по разработке программного обеспечения. И наш главный вывод таков: ИИ в CAD/CAM/CAE/BIM — это примерно как автопилот в авиации. Без опытного пилота (нашего инженера-программиста) и строгих правил безопасности это смертельно опасно. А если пилот и инструкции в порядке, то ИИ может намного повысить эффективность разработки.

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

По пунктам:

  1. Потенциальные риски и недостатки использования ИИ в разработке;
  2. Как мы устранили риски;
  3. Как мы получаем максимальную пользу от ИИ;
  4. Главное для клиентов: ускорение разработки и безопасность.

1. Потенциальные риски и недостатки использования ИИ в разработке (о чем молчат евангелисты ИИ)

Прежде чем превозносить технологию, перечислим риски:

  1. Галлюцинации кода. Иногда ИИ пишет красивый код, который не работает должным образом и/или незаметно дает сбои в редких пограничных случаях. Для CAD/CAM, где ошибка в расчетах может остаться незамеченной из-за сложности 3D-геометрии и попасть в массовое производство (или вывести из строя дорогостоящий станок/робот), это неприемлемо.
  2. Утечка интеллектуальной собственности. Публичные LLM могут использовать ваш код для обучения. Одно неосторожное копирование (возможно, не ваше, а AI-агента) — и уникальный алгоритм клиента уходит в облако.
  3. Нарушение лицензий. ИИ может сгенерировать фрагмент кода под лицензией GPL. Вставьте его в проприетарную CAD-систему клиента — и вы рискуете получить судебный иск.
  4. Ложное чувство продуктивности. Разработчик быстро пишет 500 строк с помощью ИИ, а затем три дня (а может, и три недели) отлаживает логику. Итоговое время может оказаться больше, чем если бы он написал всё с нуля, при этом знания и понимание кода в большинстве случаев значительно ниже.
  5. Сложность архитектуры CAD/BIM. На данный момент ИИ всё ещё есть куда совершенствоваться в проектировании иерархий классов, управляющих многочисленными геометрическими объектами. Позвольте ИИ заниматься архитектурой — и вы получите запутанные зависимости («спагетти-код»).

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

ИИ в разработке CAD/CAM/CAE/BIM

Эта картинка с носорогом сгенерирована ИИ, и демонстрирует не только его продуктивность, но и дефекты, которые он может создать

2. Как мы устранили риски

У нас не было ни одного случая утечки или дефектов, вызванных ИИ, благодаря этим трем правилам:

1. Приватное облако по умолчанию.
Мы не используем публичный ИИ (ChatGPT, Claude, Copilot и т.д.) для работы с клиентским кодом, за исключением случаев, когда клиент должным образом проинформирован, осознает все преимущества и риски, и прямо просит нас об этом. Мы создали собственную инфраструктуру и установили специализированные модели ИИ внутри компании:
- Эти локально установленные LLM не имеют доступа к интернету;
- Модели не обучаются на вашем коде — ваш код никогда не покидает наши выделенные серверы.

2. Контроль распространения конфиденциальной информации.
Мы знаем, как обрабатывать код, спецификации, тестовые примеры, изображения и видео клиента. В LEDAS у нас действуют строгие правила совместного использования всех этих данных внутри проектной команды:
- Мы как автоматически, так и вручную анализируем логи всех этих взаимодействий, чтобы выявить возможные проблемы;
- У нас есть четкие и простые инструкции для всех наших разработчиков по безопасной работе с данными клиента.

3. Обязательная проверка качества кода.
Ни одна строка кода, сгенерированная ИИ, не попадает в репозиторий без тщательной проверки:
- Автоматизированный анализ кода. Мы анализируем код с помощью специализированных инструментов для статического анализа, анализа производительности, покрытия кода тестами и т.д.
- Peer review: рецензирование вторым инженером / тимлидом. В некоторых проектах рецензент даже не знает, был ли код написан человеком или ИИ (слепое рецензирование).
- Усиленное тестирование. Для каждой функции у нас есть несколько (или много, до сотен/тысяч) юнит-тестов, включая проверку пограничных случаев, характерных для инженерных задач.

Результат: наш баг-трекер показывает, что дефекты, возникшие по вине ИИ, теперь встречаются не чаще, чем дефекты от начинающих разработчиков. Сегодня наша команда состоит в основном из опытных разработчиков со стажем не менее 3-5 лет, и ИИ-агенты и инструменты отлично “вписываются в роль джуниора” там, где мы считаем это уместным.

3. Как мы получаем максимальную пользу от ИИ

Теперь о хороших новостях. Мы не запрещаем ИИ — мы направляем его на подзадачи, где LLM объективно эффективнее программистов-людей.

Вот где ИИ работает на нас:

  • Генерация шаблонного кода (boilerplate). Тысячи идентичных геттеров/сеттеров для свойств геометрических объектов. Люди совершают ошибки от скуки, а ИИ — никогда.

  • Написание unit-тестов для математических функций CAD. Модель исследует пограничные случаи и граничные значения в большинстве ситуаций, а человек фокусируется на наиболее интересных случаях.

  • Рефакторинг legacy-кода. Разбиение функции из 500 строк на более мелкие части — это то, что люди не любят. ИИ не боится «грязной работы» (и не принимает критику на свой счет), и способен надежно выполнять хорошо сформулированные и ограниченные по объему задачи.

  • Преобразование скриптов между API. Например, переписывание макросов с API одной CAD-системы на API другой. ИИ неплохо умеет работать с синтаксисом различных библиотек.

  • Документирование кода (генерация Doxygen/комментариев). Люди это ненавидят, а ИИ делает это за секунды.

  • Создание mock-объектов для тестирования CAD UI. Имитация пользовательского ввода, где требуется 100+ вариаций.

  • Первичный анализ логов ошибок.

Что мы никогда не доверяем ИИ?

  • Архитектурные решения, выбор библиотек, форматов, протоколов, паттернов разработки для САПР и высокопроизводительных геометрических ядер, “движков” и решателей;

  • Создание критического с точки зрения производительности кода.

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

4. Главное для клиентов: ускорение разработки и бескомпромиссная безопасность

Мы внедрили и используем ИИ как «супер-джуниора» с железной дисциплиной. Результаты проектов за последний год:

  • В целом скорость разработки стандартных модулей CAD/CAM возросла.
  • Количество критических багов не увеличилось.
  • Нет инцидентов с утечкой кода или нарушением NDA.

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

Наш процесс работы с ИИ эффективен, безопасен и предсказуем. Именно поэтому мы продолжаем расширять команду. С ИИ мы становимся сильнее, поэтому мы не сокращаем штат. Было бы абсурдом сокращать количество разработчиков, которые умеют реализовывать по-настоящему сложные и уникальные алгоритмы.

Заказывайте разработку ПО в ЛЕДАСе: безопасно, эффективно и с надежным использованием новых технологий.

Поделиться:


Читайте также: