ИИ-агент работает с САПР через программный интерфейс (API), а не через кнопки. Поэтому возможности агента определяет то, что вендор открыл в API, и то, насколько это описано в документации. У Renga, nanoCAD, Archicad и AutoCAD интерфейсы разные, а схема подключения одна.
Общая схема подключения
Есть два способа. Внешний процесс обращается к программе по COM или по HTTP и выполняет команды снаружи. Плагин работает внутри программы и публикует функции для агента. Внешний процесс проще писать и отлаживать, плагин получает доступ к внутренним событиям и более глубокой части API.
В обоих случаях агент не управляет программой напрямую. Он вызывает ограниченный набор функций, а функции обращаются к API. Что именно разрешено, определяет тот, кто пишет функции.
Что есть в API программ
| Программа | Интерфейсы по документации вендора | Как подключать агента |
|---|---|---|
| Renga | COM API и SDK. Плагины на C++ и .NET. Python и PowerShell работают через COM как внешние клиенты | Внешний процесс на Python через COM |
| Archicad | JSON-интерфейс по HTTP и официальная обёртка на Python (начиная с Archicad 24) | Внешний процесс, JSON-команды по HTTP |
| nanoCAD | API для .NET, C++ (NrxGate) и COM. Скрипты, в том числе на Python через COM | COM-скрипт или плагин на .NET |
| AutoCAD | .NET API, ObjectARX (C++), AutoLISP, COM (ActiveX) | Плагин на .NET или внешний процесс через COM |
| Revit | .NET API, события, транзакции | Плагин с ExternalEvent или MCP-сервер, см. статью про Revit |
Подробности по каждой программе: Renga API и SDK, Archicad Python API, интерфейсы nanoCAD для разработчиков. Условия получения SDK и поддерживаемые версии у вендоров разные, их нужно проверять до начала работы.
Пример: агент пишет код под API Renga
В статье на Хабре автор подключает агента к Renga через COM. Агент работает отдельным процессом на Python. Рядом лежат обёртки над основными функциями, файл с правилами для агента и локальная копия документации API.
Цикл работы такой: агент выгружает описание объекта модели, находит в документации нужные интерфейсы, пишет скрипт, запускает его и исправляет ошибки. Автор показывает подсчёт объёма и площади стен. Вывод для практики: агенту нужен под рукой контекст, то есть документация, примеры и список готовых функций. Без него он угадывает названия методов.
Плагин или внешний процесс
- Внешний процесс. Меньше зависит от версии программы, перезапускается отдельно и проще отлаживается. Работает, пока запущена программа, и ограничен тем, что API позволяет делать снаружи.
- Плагин. Получает события программы и работает в её процессе. Требует сборки и проверки под каждую версию, а ошибка в плагине может остановить саму программу.
Для пилота начинают с внешнего процесса. Плагин оправдан, когда агенту нужны события программы или когда решение нужно установить на многих рабочих местах.
Контракт функции-обёртки
Каждая функция, доступная агенту, описывается одинаково. Описание нужно и самому агенту, и тому, кто проверяет его работу.
| Поле | Что описывает | Пример |
|---|---|---|
| Имя | Что делает функция | count_elements_by_level |
| Входы | Что принимает, с типами и ограничениями | Путь к проекту, список категорий |
| Выход | Что возвращает и в каком формате | Таблица: уровень, категория, количество |
| Права | Читает или изменяет | Только чтение |
| Ограничения | Размер выборки, время выполнения, запреты | Не более 5000 строк за вызов |
| Журнал | Что записывается | Время, входы, число строк, длительность |
Значения в таблице даны как пример: реальные ограничения определяют программа и задача.
Безопасность
COM-интерфейс и плагин дают доступ к файлам и моделям с правами пользователя, под которым запущена программа. Поэтому агента запускают на тестовой копии проекта и под отдельной учётной записью с минимальными правами. Ключи доступа к языковой модели хранят вне кода и не передают агенту в тексте запроса. Журнал вызовов сохраняют отдельно от рабочих файлов.
Что проверить перед началом
- Версия программы и SDK. Набор операций в API расширяется от версии к версии.
- Перечень операций. Чтение свойств, создание и изменение объектов, ведомости, работа с видами и листами.
- Условия лицензии. На SDK и на запуск скриптов без участия пользователя.
- Режим работы. Можно ли выполнять операции в фоне, без открытого окна программы.
- Готовые решения. Есть ли для программы MCP-сервер или набор скриптов. Если нет, функции-обёртки можно написать самим.
Если API не закрывает задачу
Часть задач решается на экспортированных данных. IFC - открытый формат обмена информационными моделями (ISO 16739), BCF - формат для передачи замечаний между программами. Проверки и подсчёты на выгрузке IFC выполняются вне САПР и не затрагивают рабочую модель. Ограничение: в экспорт попадают не все параметры, поэтому нужные данные стоит проверить до начала работы.
Порядок работ
- Выбрать одну операцию с понятным результатом, например подсчёт элементов по уровням.
- Написать для неё функцию-обёртку с описанием входов и выходов.
- Проверить функцию на тестовом проекте и сохранить пример ожидаемого результата.
- Дать агенту доступ только к этой функции.
- Добавлять следующие функции по одной, сохраняя журнал вызовов.
Вывод
Порог входа определяется не моделью нейросети, а качеством API и документации выбранной программы, а также квалификацией того, кто пишет функции-обёртки. Агента допускают к программе через узкий набор проверенных функций, а не к интерфейсу целиком.
Источники (проверены 15 октября 2026):