• Главная
  • Генеративное проектирование
  • BIMgent - мультиагентный фреймворк, основанный на мультимодальных больших языковых моделях (LLM), способный взять на себя задачи архитектора по работе в программе Vectorworks.

BIMgent - мультиагентный фреймворк, основанный на мультимодальных больших языковых моделях (LLM), способный взять на себя задачи архитектора по работе в программе Vectorworks.

BIMgent - мультиагентный фреймворк, основанный на мультимодальных больших языковых моделях (LLM), способный взять на себя задачи архитектора по работе в программе Vectorworks.
ProGenAI Сколково
+79153432992
Исследователи из Исследователи из Мюнхенского технического университета (TUM) представили BIMgent — ИИ-агента, способного работать в интерфейсе программы Vectorworks вместо человека.
Вместо того, чтобы использовать традиционный API, BIMgent имитирует действия человека, управляя клавиатурой и мышью прямо в интерфейсе программы для проектирования.
zagruzhennoe zagruzheno

Цель

Общая информация
BIMgent способен работать с несколькими пользовательскими сценариями.
1. BIMgent может создавать проекты, получая на вход простое текстовое описание задачи и эскиз, нарисованный от руки.
  • Фреймворк автономно преобразует эскиз в 3D BIM-модель через трехуровневую архитектуру. Система преобразует изображение в 2D-план, распознает архитектурные элементы и извлекает их координаты. Затем фреймворк разбивает задачу на этапы и генерирует детальные команды, которые выполняются непосредственно в Vectorworks, а встроенный супервайзер верифицирует каждый шаг по скриншотам для коррекции ошибок. Пользователь получает готовую 3D модель.
2. Проектировщик может использовать BIMgent для автоматического создания базовой модели здания, имея на входе только текстовое техническое задание.
  • На начальном этапе мультимодальная LLM создает 2D-план этажа, полностью основываясь на словесном описании. Последующие шаги аналогичны процессу работы с эскизом. Это позволяет напрямую преобразовать прописанные требования в 3D-модель, минуя ручное черчение.
3. Фреймворк также дает возможность итеративной редактуры уже готового плана.
  • Входными данными служат изображение существующего плана и текстовая команда с описанием требуемых изменений. Мультимодальная LLM, анализируя оба ввода, генерирует измененный 2D-план. Затем система планирует и выполняет в Vectorworks только те операции, которые нужны для трансформации исходной модели в новую. Это значительно ускоряет внесение правок.
4. BIMgent может использоваться в гибридном режиме, позволяя специалисту делегировать рутинные задачи.
  • Пользователь самостоятельно создает сложные элементы проекта в Vectorworks, а затем может дать команду, например, «создать все стены», основываясь на ранее подготовленном плане.
Фреймворк состоит из 3 ключевых слоев:
  • 1. Design Layer (Проектирование): преобразует исходные данные в детализированный 2D-план. Система распознает элементы будущего здания, преобразуя их координаты в пиксельные координаты для работы в GUI
  • 2. Action Planning Layer (Планирование действий), состоящий из:
    • High-level Planner, который создает общую последовательность шагов, имитируя логику архитектора.
    • Low-level Planner, который разбивает эти общие шаги на конкретные действия с помощью RAG- подхода, обращаясь к заранее загруженной официальной документации программы Vectorworks.
  • 3. Execution Layer (Исполнение): Агент выполняет запланированные действия на основании двух типов рабочих процессов:
    • Pure-Action Workflow: для детерминированных действий, (нажатие горячих клавиш, размещение элементов по известным координатам).
    • Vision-Driven Workflow: для задач, требующих визуального анализа интерфейса (например, настройка параметров в диалоговых окнах).
    • Важная часть системы - «супервайзер» на базе LLM, который после каждого шага проверяет скриншот экрана, оценивает успешность операции и, в случае неудачи, инициирует коррекцию действий.
На бенчмарке из 25 реальных задач BIMgent полностью и безошибочно выполнил 32% проектов, что значительно превосходит даже мощные базовые модели, которые не справились ни с одной задачей.В рутинных операциях эффективность намного выше: 87% для стен и 95% для дверей и окон.

Потенциал

Архитектура BIMgent
BIMgent — это модульный фреймворк, эмулирующий действия пользователя в САПР. Его архитектура состоит из трёх последовательных слоёв.
1. Design Layer: от концепта к размеченному плану

Этот слой преобразует мультимодальные входные данные (текст, эскизы) в машиночитаемый 2D-план.

  • Генерация плана: После сравнения нескольких подходов (GAN, SVG-код) лучшим решением оказалась прямая генерация изображений с помощью мультимодальных LLM (gpt-image-1), которые создают наиболее когерентные и функциональные планы.
  • Сегментация: Специализированная модель DeepFloorPlan используется для точной идентификации и классификации архитектурных элементов, таких как стены и проёмы, на сгенерированном изображении. Решаемые задачи:
    • Предсказание примитивов границ комнат: Совместное предсказание расположения стен (walls) и проёмов (openings).
    • Предсказание масок типов комнат: Классификация и сегментация областей плана по типам помещений (например, кухня, гостиная, спальня и т.д.).
  • Интерпретация: Мультимодальная LLM (Gemini 2.5 Pro) дополнительно анализирует результаты сегментации для более тонкой классификации (например, различение внутренних и внешних стен) и преобразует координаты элементов в пиксельные координаты для GUI.
    • x_gui = (x_i / w_img) * w_gui
    • y_gui = (y_i / h_img) * h_gui
    • где w_img, h_img — размеры изображения плана, а w_gui, h_gui — размеры панели проектирования в BIM-программе. Это преобразование необходимо для последующего точного позиционирования курсора и взаимодействия с интерфейсом.
  • 3. Интерпретация: Мультимодальная LLM (Gemini 2.5 Pro) дополнительно анализирует результаты сегментации для более тонкой классификации (например, различение внутренних и внешних стен) и преобразует координаты элементов в пиксельные координаты для GUI.
2. Action Planning Layer: Иерархическое планирование на основе RAG

Слой генерирует последовательность операций для выполнения в GUI САПР, используя иерархический подход.

  • На входе: Текстовое описание задачи от пользователя (например: "Generate a one-storey office building with a large open workspace...") и структурированные метаданные, полученные на этапе Design Layer.
  • На выходе: отформатированный JSON-объект, содержащий последовательность высокоуровневых шагов.
    • Пример: "step 1": {
      "class": "layer",
      "component": "layer_floor1",
      "description": "Create a design layer for the first floor and name it '01-Floor'."}
  • Low-level Planner: Получив общую задачу, этот агент детализирует её, обращаясь через RAG-подход к векторной базе данных с официальной документацией ПО (Vectorworks). На основе найденных инструкций он генерирует конкретные подзадачи.Для генерации используется GPT-4.1. На выходе формируются два типа подзадач:
    • Pure-Action: Детерминированные действия с заранее известными данными (например, построение стены по координатам).
    • Vision-Driven: Действия, требующие визуального анализа GUI (навигация по меню, настройка параметров в окнах).
3. Execution Layer: Исполнение и контроль

Финальный слой выполняет сгенерированный план действий в интерфейсе BIM-программы, контролируя состояние системы и исправляя ошибки. Для двух типов подшагов реализованы отдельные workflows:

  • Pure-Action Workflow: Для подшагов типа Pure-Action заранее сгенерированная последовательность действий (например, [shortcut('9'), move_mouse_to(500,393), left_click(), ...]) выполняется напрямую. Для снижения задержки используется speculative multi-action execution — выполняется сразу целая последовательность действий без повторных запросов к агенту после каждого клика.
  • Vision-Driven Workflow: Для взаимодействия с динамическими элементами используется динамическое GUI grounding. Система делает снимок экрана до и после действия. Выделенная область парсится моделью (Omni-Parser-v2) в структурированное представление (Set-of-Marks) с bounding box'ами и текстом элементов UI. Это представление передаётся Генератору Действий (на основе VLM), который, основываясь на задаче, генерирует нужные действия (например, "кликнуть на поле 'Height'", "ввести значение 3000", "нажать Enter").
  • Супервайзер: После каждого действия LLM-супервайзер (O4-mini) анализирует скриншот GUI и проверяет корректность выполнения. В случае ошибки он инициирует её исправление.
Оценка производительности и анализ ошибок

Для тестирования был создан кастомный бенчмарк Mini Building Benchmark. Результаты абляционных исследований: Отключение ключевых компонентов показало их критическую важность:

  • Без иерархического планирования агент не справился ни с одной задачей
  • Динамическое заземление GUI повысило общую успешность на 18.67%
  • Супервайзер и саморефлексия дали прирост в 20.57% к общей успешности
  • Супервайзер и саморефлексия дали прирост в 20.57% к общей успешности

Анализ ошибок: Большинство сбоев происходит на этапах взаимодействия с интерфейсом, а не планирования. Из 92 ошибок:

  • Grounding Error (ошибка "приземления" на элемент GUI): 40.0%
  • Execution Error (ошибка исполнения команды): 45.6%
  • Planning Error (ошибка планирования): всего 14.4%
Таким образом, BIMgent — это комплексная система, решающая задачу автоматизации САПР через эмуляцию действий пользователя, полагаясь на иерархическое планирование, RAG и многоуровневую систему визуальной верификации.

Тематика семинара

User Story: Автоматизированное создание BIM-модели здания с помощью агента ИИ
Как инженер-проектировщик,
Я хочу иметь возможность автоматически преобразовывать текстовое описание или эскиз плана этажа в готовую 3D BIM-модель,
Чтобы значительно сократить время на рутинное моделирование, минимизировать ошибки и сосредоточиться на творческих и оптимизационных задачах.
Пошаговый сценарий использования

Шаг 1: Инициализация проекта и ввод данных

  • Действие пользователя
    • 1. Пользователь запускает плагин или интерфейс BIMgent в своей BIM-среде (например, Vectorworks).
    • 2. Выбирает тип входных данных: "Текстовое описание" или "Эскиз/Изображение".
    • 3. Вводит данные:
      • Вариант А (Текст): Вводит или вставляет текстовое описание здания в специальное поле. Например: "Создай одноэтажный офис с открытой планировкой, двумя переговорными, кабинетом руководителя, кухней-столовой и двумя санузлами".
      • Вариант Б (Эскиз): Загружает изображение (скан ручного рисунка, фотографию или существующий план) через интерфейс загрузки.
    • 4. Нажимает кнопку "Сгенерировать модель" или "Запустить"
  • Действие системы: Система принимает мультимодальные входные данные (текст или изображение).
  • Результат шага: Задача принята в обработку. Пользователь видит статус "Генерация плана...".

Шаг 2: Просмотр и подтверждение сгенерированного плана этажа

  • Действие пользователя
    • 1. Пользователь просматривает автоматически сгенерированный 2D-план этажа, который система отображает в интерфейсе плагина.
    • 2. (Опционально) При необходимости пользователь может внести правки в распознанные элементы (например, исправить тип стены или местоположение двери) через простой графический редактор или текстовые подсказки.
    • 3. Подтверждает корректность плана, нажимая кнопку "Продолжить".
  • Действие системы:
    • 1. Генерация плана: Мультимодальная LLM преобразует текст или эскиз в четкий 2D-план этажа.
    • 2. Сегментация и интерпретация: Специализированные модели распознают элементы, уточняют детали и преобразуют координаты для GUI.
  • Результат шага: Пользователь подтвердил окончательный вариант плана. Система переходит к этапу планирования действий.

Шаг 3: Наблюдение за процессом планирования действий

  • Действие пользователя
    • 1. Пользователь наблюдает за ходом работы в интерфейсе плагина, где может отображаться прогресс-бар или список запланированных высокоуровневых шагов (например, "Планирование создания стен...").
    • 2. (Опционально) Пользователь может просмотреть детализированный план действий перед выполнением, если система предоставляет такую возможность.
  • Действие системы:
    • 1. Высокоуровневое планирование: Агент разбивает задачу на общие шаги (создание слоев, стен, проемов и т.д.).
    • 2. Низкоуровневое планирование: Агент генерирует конкретные инструкции для BIM-программы, обращаясь к её документации.
  • Результат шага: Сформирован детальный план действий. Система готова к автоматическому исполнению.

Шаг 4: Наблюдение за автоматическим построением модели

  • Действие пользователя
    • 1. Пользователь наблюдает, как BIMgent автоматически управляет интерфейсом BIM-программы: курсор мыши перемещается, нажимаются кнопки, вводятся данные, в реальном времени создаются стены, окна и другие элементы.
    • 2. (Опционально) В случае возникновения ошибок, которые агент не может исправить самостоятельно, пользователь может получить уведомление с предложением вмешаться (например, "Не удалось найти элемент 'Крыша'. Пожалуйста, укажите его расположение").
  • Действие системы:
    • 1. Исполнение действий: Агент выполняет сгенерированные шаги в интерфейсе BIM-программы.
    • 2. Самоконтроль (Reflection): Агент постоянно проверяет результат каждого шага и при необходимости исправляет ошибки.
  • Результат шага: В BIM-программе последовательно создается 3D-модель. Пользователь видит прогресс в реальном времени.

Шаг 5: Проверка и сохранение конечного результата

  • Действие пользователя
    • 1. После завершения работы агента пользователь видит уведомление "Модель успешно создана".
    • 2. Пользователь проверяет готовую 3D BIM-модель в основном окне BIM-программы: осматривает геометрию, проверяет параметры элементов (толщину стен, высоту этажей).
    • 3. Вносит окончательные правки, если это необходимо (например, добавляет мебель или материалы, которые не были указаны в исходном задании).
    • 4. Сохраняет проект стандартными средствами BIM-программы.
  • Действие системы: Агент завершает выполнение всех шагов плана.
  • Конечный результат для пользователя: Готовая, параметрическая 3D BIM-модель здания в файле BIM-программы, соответствующая исходному заданию.

Краткое резюме процесса:

Шаг

Название этапа

Действие Пользователя

Действие Системы (BIMgent)

Результат этапа

1

Ввод данных

Запускает плагин, выбирает тип ввода, вводит текстовое описание или загружает эскиз, нажимает "Сгенерировать".

Принимает мультимодальные входные данные (текст/изображение).

Задача принята в обработку.

2

Подготовка плана

Просматривает сгенерированный 2D-план, вносит правки (опционально), подтверждает корректность плана.

Генерирует 2D-план из входных данных, сегментирует элементы, интерпретирует детали, преобразует координаты для GUI.

Утверждённый, машиночитаемый план с координатами.

3

Планирование действий

Наблюдает за прогрессом (например, по прогресс-бару или списку шагов).

Создает иерархический план: высокоуровневые шаги -> детальные, программно-специфичные инструкции, используя документацию (RAG).

Детальный пошаговый план действий для BIM-ПО.

4

Исполнение

Наблюдает за автоматическим моделированием в интерфейсе BIM-ПО, вмешивается при получении уведомления об ошибке.

Автоматически исполняет план: перемещает курсор, кликает, вводит данные. Контролирует состояние GUI и исправляет ошибки.

Частично готовая 3D-модель в BIM-ПО.

51

Результат

Проверяет готовую 3D BIM-модель, вносит финальные правки (если требуется), сохраняет проект.

Завершает выполнение всех операций.

Готовая параметрическая 3D BIM-модель.

Примеры эскизов и текстового описания задачи:

  • 1. Создай модель здания на основе нарисованного от руки восьмиугольного плана этажа, изменив внутреннюю планировку таким образом, чтобы она включала четыре комнаты вместо трех.
  • 2. Создай двухэтажное офисное здание на основе эскиза с изменениями. Раздели самую большую комнату посередине на две комнаты.
  • 3. Создай двухэтажный дом на основе изображения с некоторыми изменениями. Добавь небольшую комнату внизу.