Как две нейросети превратили зависший каталог Archicad в инструмент для мгновенных вычислений
Вместо того чтобы запускать дорогостоящий и ненадежный пересчет модели, инженеры использовали специализированных ИИ-агентов для точечной оптимизации формул фильтрации. Эксперимент, начатый на ноутбуке дизайнера, показал, что перемещение одной скобки в логическом условии сократило время обработки каталога с нескольких минут до секунд, выявив при этом скрытую ловушку логики самой программы.
# Не завис, а считал: как две нейросети ускорили каталог Archicad с минут до секунд
Иногда программа не «зависает» в привычном понимании, а просто выполняет расчеты, которые для современного пользователя кажутся бесконечными. В случае с архитектурным ПО Archicad именно такой сценарий привел к уникальному эксперименту по оптимизации работы нейросетевых агентов. Цель была проста: снизить время обработки каталога покрытий стен с нескольких минут до долей секунды, не трогая саму трехмерную модель.
Работа в условиях ограниченного доступа
Сценарий был запущен в реальной рабочей среде клиента. Дизайнер интерьеров столкнулась с классической проблемой: каталог отделки стен открывался долго, а при попытке разместить его на плане программа выдавала статус «Не отвечает». Диспетчер задач показывал, что процесс загружает около 13% CPU и почти 4 ГБ оперативной памяти, при этом статус операции «2D | Обработка элементов» зависал более шести минут. Обычно в таких случаях задача снимается принудительно.
Тем не менее, специалисты отказались от粗暴ного вмешательства. Вместо этого было принято решение использовать удаленный доступ с помощью двух ИИ-агентов: Codex и Claude Code. Эта конфигурация выбрана специально под задачи, где требуется глубокое понимание интерфейса и сложная логика взаимодействия.
Codex взял на себя роль оператора интерфейса. Его задача заключалась в том, чтобы управлять рабочим столом пользователя через удаленный доступ: открывать проекты, анализировать настройки, замерять время выполнения операций и вести подробный журнал событий. Важно отметить, что в данном случае код писаться не требовалось; агенту приходилось буквально кликать мышкой в чужой среде, где каждое движение могло зависеть от действий самого пользователя.
Claude Code, в свою очередь, выступал в роли аналитика и переговорщика. Он изучал веденный журналы, анализировал временные метрики и задавал уточняющие вопросы клиентке, готовя стратегию для следующего цикла испытаний.
Путь к решению был непростым. Удаленное управление графикой в реальном времени обладало рядом ограничений. Например, прокрутка панели навигации могла непредсказуемо масштабировать чертеж вместо списка, а попытки перетащить таблицу на лист приводили к смещению основного окна программы. Более того, если пользователь одновременно использовал мышь, агенты теряли клики и были вынуждены запрашивать паузу. Эксперименты проходили на изолированных копиях проекта, чтобы не повредить оригинальную работу, а время для каждой проверки строго лимитировалось десятком минут.
Логическая ловушка в строках кода
Каталог в Archicad генерируется на основе условий, заданных в параметрах схемы. В данном случае система должна была посчитать площади стен, учитывая определенные покрытия. Исходное условие строилось на сложной логической конструкции, включающей типы элементов (стены), материалы (строительные) и конкретные покрытия (плитка, штукатурка, краска).
Анализ показал фундаментальную ошибку в структуре условий. Программа использовала операторы «И» (AND) и «ИЛИ» (OR). В логике, где «И» имеет приоритет над «ИЛИ», выражение могло быть интерпретировано следующим образом: (Стена И Отличается И (Плитка А ИЛИ Плитка B ИЛИ Штукатурка)) ИЛИ Белая краска.
Проблема заключалась в том, что ветка условия «Белая краска» не находилась под защитой группы, ограничивающей проверку только стенами. Это означало, что для каждого элемента с покрытием «белая краска» программа вынуждена была проверять абсолютно все объекты в проекте, а не только стены. Для Graphisoft эта особенность описана прямо в документации: отсутствие сгруппированного оператора «ИЛИ» заставляет систему проводить полный перебор.
Это не новый баг, а известная особенность логики фильтрации, которая в данном случае привела к катастрофическому снижению производительности.
Эффект перемещенной скобки
Для доказательства гипотезы агенты использовали метод A/B тестирования на копиях проекта. Codex переместил только закрывающую скобку в правильном месте, исключив «белую краску» из универсальной проверки.
Результаты были ошеломляющими:
| Тип покрытия | Время (старый вариант) | Время (новый вариант) | | :--- | :--- | :--- | | Штукатурка | 68–142 сек. | 210 сек. (готово) | | Плитка A | 130,11 м² | 7,48 м² | | Плитка B | 9,05 м² | 9,05 м² | | Белая краска | ~8 сек. | 27,45 м² |
В первом случае (где ошибка была) программа тратила больше двух минут на обработку, во втором — единицы секунд. Однако простое ускорение не было полным решением. Изменение логики также повлияло на итоговые цифры: площадь покрытия «белая краска» в таблице уменьшилась на 5,61 м². Это произошло потому, что теперь в список входили только стены, а не все объекты в модели. Без глубокого понимания контекста замена одной скобки могла бы привести к ошибкам в смете.
Диалог с человеком как ключевой фактор
Нейросети не стали подгонять цифры под старые значения, вместо этого они остановились на факте расхождения и инициировали диалог. Claude Code задал клиентке вопрос о назначении покрытия «белая краска».
Ответ дизайнера прояснил ситуацию: это временная заливка, которая впоследствии заменяется на реальные материалы. Для ее задач важны только штукатурка и плитка, а совпадение этих значений по новым параметрам подтверждало правильность оптимизации. Знание, какого результата ждет пользователь, отсутствовало в самой модели, но именно этот вопрос позволил принять верное техническое решение.
Следующий шаг был выполнен самим клиентом: она перенесла скобку в рабочем файле на основе подсказок от агентов и изменила состав покрытий. На следующий день каталог открывался за 20 секунд, а новые проекты на базе шаблона демонстрировали еще лучшую производительность.
Выводы для автоматизации
Этот кейс демонстрирует потенциал и ограничения ИИ-агентов в работе с графическими интерфейсами. Агенты справляются с задачей медленнее, чем при работе с кодом, и сталкиваются с уникальными проблемами: потеря кликов, низкая частота обновления визуальной информации и необходимость координироваться с человеком за одним устройством.
Тем не менее, ради конкретной цели агенты показали высокую эффективность. Они не просто ускорили процесс, а заставили пользователя задуматься о логике своей модели. Ключ к успеху заключался в сочетании технической точности (нахождение и исправление ошибки) и эмпатии (понимание бизнес-задач пользователя через диалог).
Для тех, кто сталкивается с медленными каталогами в Archicad, методика проста: не спешите закрывать зависшие окна. Замерьте время, создайте копию, проверьте логику условий через «ИЛИ» и сравните результаты. Если цифры не совпали — задайте вопрос автору модели, прежде чем утверждать исправление. А пока вы ждете результата, помните: программа не зависла, она просто считала, и иногда именно этот процесс требует пересмотра самой задачи.