Перейти к содержанию
Публикация AiManual

3D-печать как тест для LLM: нужен ли индустрии бенчмарк генерации CAD-кода

Разбираем неформальный эксперимент, где LLM генерировали CAD-код для моста с пролётом 2 фута, лимитом 500 г филамента и 18 часов печати. Часть моделей не смогла

Коротко

Что будет в материале

  1. 01

    Что за эксперимент: LLM проектируют мост для 3D-печати

  2. 02

    Почему 3D-печать - практичный тест для LLM

  3. 03

    Что именно измеряет такой бенчмарк

  4. 04

    Ограничения и слабые места подхода

LLM уверенно пишут код, но насколько их код пригоден в физическом мире? Неформальный тест дал грубый ответ: часть моделей не смогла спроектировать детали, которые состыковались бы между собой, а лучший результат выдержал более 100 фунтов (около 45 кг) нагрузки. Запустил обсуждение пользователь r/LocalLLaMA, предложив сделать из этого стандартизированный бенчмарк и лидерборд (описание эксперимента).

Задача простая на вид и жёсткая на деле: спроектировать мост, напечатать его на 3D-принтере и сломать под нагрузкой. Между двумя этими шагами лежит всё, что обычно не проверяют у языковых моделей: физическая интуиция, пространственное мышление и генерация кода, который превращается в работающую деталь, а не в файл на диске.

Пока такого бенчмарка нет. Есть единичный эксперимент, несколько противоречивых результатов и запрос индустрии на нормальный протокол сравнения.

Что за эксперимент: LLM проектируют мост для 3D-печати

Задача выглядит как студенческий инженерный конкурс: пролёт 2 фута (примерно 61 см), не более 500 г филамента, лимит печати 18 часов. Отличие в том, что проектировала не команда, а LLM. Каждая модель получала промпт и должна была выдать CAD-код, по которому затем печатались реальные детали. После печати мосты нагружали до разрушения.

Это неформальный тест, а не бенчмарк с зафиксированным протоколом. Ни список моделей, ни версии, ни схема нагружения в источнике не раскрыты. Поэтому корректная формулировка такая: тест показал огромный разброс между моделями, но не дал чисел, по которым можно строить рейтинг.

Условия и ограничения задачи

Три ограничения задавали коридор решений сразу по трём осям:

  • Пролёт 2 фута (≈61 см). Геометрия диктует, какие схемы вообще возможны: балка, арка, ферма.
  • Не более 500 г филамента. Ограничение по массе вынуждает экономить материал: тонкие стенки, заполнение вместо монолита, облегчённые рёбра.
  • Лимит печати 18 часов. Время растёт вместе с объёмом и высотой слоёв, поэтому модель обязана искать компромисс между прочностью и скоростью производства.

Ограничения конфликтуют между собой. Прочность требует материала, материал требует времени печати, время упирается в лимит. Задача перестаёт быть упражнением «напиши код» и превращается в поиск геометрии, которая выживет под нагрузкой при заданных ограничениях.

Как различались результаты моделей

Разброс оказался радикальным. Часть моделей не смогла спроектировать детали, которые состыковывались бы друг с другом: код компилировался, геометрия существовала, собрать из неё мост было нельзя. Победивший вариант выдержал более 100 фунтов (≈45 кг) (результаты эксперимента).

Что осталось за кадром: имена и версии моделей, число попыток на каждую, температура сэмплирования, способ измерения нагрузки. Источник этих данных не приводит, так что цифру «100+ фунтов» стоит читать как показатель контраста, а не как рекорд.

Почему 3D-печать - практичный тест для LLM

3D-печать проверяет физическую интуицию, пространственное мышление и генерацию функционального кода в одной задаче. Большинство действующих бенчмарков не охватывают все три аспекта одновременно (из обсуждения). Для языковой модели это редкая комбинация: обычно её проверяют либо на тексте, либо на абстрактном коде, где физика не участвует.

Физическая интуиция: нагрузка, прочность, материал

Модель должна заложить в геометрию распределение нагрузки, выбрать толщину элементов, учесть ориентацию печати относительно направления слоёв и свойства филамента. Мост с пролётом 61 см обязан держать вес, а не просто существовать в виде валидного файла.

Без физической интуиции получается конструкция, которая выглядит правдоподобно и ломается на первых килограммах. Печать добавляет анизотропию: деталь прочнее вдоль слоёв и слабее между ними, поэтому правильная ориентация на столе иногда важнее лишнего грамма материала.

Пространственное мышление и совместимость деталей

CAD-код описывает не одну деталь, а сборку. Соединения требуют зазоров под допуски печати, зеркальные элементы нельзя копировать один в один, крепёж должен совпадать по осям. Ошибка в паре миллиметров означает, что детали не встанут на место.

Именно здесь провалилась часть моделей в эксперименте: они генерировали отдельно взятые куски, которые нигде не стыковались. Текстовые задачи такое не проверяют в принципе: в тексте нет осей, зеркал и допусков.

Генерация функционального кода вместо текста

CAD-код отличается от обычного программного тем, что результат нельзя отладить после исполнения. Скрипт на Python падает с ошибкой, вы правите строку и запускаете снова. Напечатанная деталь уже напечатана: ошибку в геометрии или ориентации видно только после 18 часов работы принтера и нескольких сотен граммов пластика.

Цена ошибки высока, а обратная связь приходит медленно. Это делает задачу ближе к реальной инженерии, чем к автодополнению кода.

Что именно измеряет такой бенчмарк

Из эксперимента выводится набор объективных метрик. Они не зависят от вкусовых оценок и воспроизводятся в лаборатории.

Ключевые метрики: нагрузка, материал, время

МетрикаКак измеряетсяПример из эксперимента
Максимальная нагрузкаНагружение до разрушенияболее 100 фунтов (≈45 кг) у лучшего варианта
Расход филаментаВзвешивание напечатанных деталейлимит 500 г
Время печатиОтчёт принтера, таймерлимит 18 часов
Качество CAD-кодаКомпилируемость, отсутствие ошибок геометриичасть моделей не прошла этап сборки

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

Совместимость и собираемость как отдельный критерий

Прочные детали бесполезны, если их нельзя соединить. Собираемость можно оценивать как долю элементов, которые встали на место без доработки напильником, либо как бинарный флаг: собралось или нет. В эксперименте этот критерий сразу обнулил результаты нескольких моделей, хотя формально их код был валидным.

Возможность лидерборда и рейтинга

Свести метрики в одну таблицу несложно. Основная строка рейтинга, это выдержанная нагрузка при соблюдении лимитов по материалу и времени, а собираемость работает фильтром: не собралось, значит результат не идёт в зачёт. Автор идеи прямо выразил желание видеть стандартизированный бенчмарк и лидерборд для таких задач (цитата из обсуждения). На момент публикации такого лидерборда не существует, речь идёт о предложении.

Похожая логика уже работает в других тестах: The Struggle Bench оценивает, как долго LLM-агент остаётся работоспособным в заданных ограничениях (разбор бенчмарка выживания LLM). Разница в том, что там ограничения финансовые и административные, а здесь физические.

Ограничения и слабые места подхода

Слабых мест много, и главное из них, сам статус эксперимента.

Неформальность и отсутствие методологии

Тест провёл энтузиаст, а не организация с протоколом. В источнике нет ни списка моделей, ни версий, ни параметров печати, ни процедуры нагружения. Результаты интересны как сигнал о разбросе, но не как доказательство превосходства конкретной модели. Выводы вида «модель X лучше модели Y в инженерии» на одном прогоне без протокола делать нельзя.

Проблемы воспроизводимости

3D-печать зависит от десятков переменных: модель и калибровка принтера, температура сопла и стола, влажность филамента, скорость, высота слоя, заполнение, охлаждение, адгезия к столу. Один и тот же CAD-код на двух принтерах даст детали с разной прочностью. Для бенчмарка придётся фиксировать железо, партию филамента, профиль печати и методику нагружения, иначе сравнение теряет смысл.

Сложность автоматизации оценки

Испытание на разрушение требует физического оборудования, пресса или подвешенных грузов, и ручного труда. Текстовый бенчмарк прогоняется скриптом за минуты, здесь цикл занимает почти сутки на одну попытку. Это ограничивает и масштаб теста, и частоту обновления рейтинга.

Отсюда практический вывод: такой бенчмарк вряд ли станет ежедневным инструментом. Скорее это периодический инженерный зачёт для нескольких моделей.

Чем это отличается от существующих бенчмарков для LLM

Привычные тесты измеряют точность ответов, качество кода, математику и логику. Ни один из этих форматов не требует, чтобы результат можно было взять в руки.

Текстовые и кодовые бенчмарки: что они упускают

Генерация кода для сортировки массива не требует пространственного мышления. Функция, которая складывает числа, не имеет массы и не ломается под нагрузкой. Даже тесты вроде Real-SWE, которые переносят модели в контекст реальных задач разработки, остаются в мире репозиториев, патчей и автотестов (что известно о Real-SWE и его ограничениях). Физическая реализуемость там не проверяется вообще.

Модель может уверенно писать код на Python и не спроектировать кронштейн, который выдержит нагрузку. Это разные навыки, и существующие метрики их либо смешивают, либо игнорируют.

Почему симуляции недостаточно

Соблазн очевиден: заменить печать симуляцией прочности и прогонять тест быстрее. Проблема в том, что для симуляции нужны корректные модели материала и граничные условия, а их тоже задаёт человек или модель. Ошибка во входных данных даст красивое, но ложное число.

Печать добавляет факторы, которые симуляция обычно упрощает: анизотропию слоёв, деформацию при остывании, точность позиционирования экструдера. Физическое испытание даёт результат, который нельзя оспорить ссылкой на настройки решателя.

Практическая ценность для индустрии и разработчиков

Ценность появляется, когда тест перестаёт быть единичным случаем и становится воспроизводимой процедурой.

Как бенчмарк поможет выбирать модели

Инженеру или компании, которая хочет автоматизировать генерацию CAD-кода, нужен ориентир. Публичный рейтинг по нагрузке, массе и собираемости позволяет отобрать две-три модели и проверить их на своих деталях вместо перебора всех подряд. Логика та же, что в прикладных тестах под конкретные сценарии: универсальный топ редко отвечает на вопрос, что брать под мою задачу (зачем нужны прикладные бенчмарки вместо универсального лидерборда).

Влияние на развитие AI-инструментов для инженерии

Публичный лидерборд создаёт стимул: модели, которые лучше понимают физику и пространство, получают измеримое преимущество в глазах пользователей. Похожий эффект уже наблюдался в оценке творческого письма, где сравнение с живыми авторами сделало прогресс моделей видимым (результаты Creative Writing).

Для индустрии это ориентир, куда вкладывать усилия: геометрическое мышление, работа с допусками, оценка нагрузок. Для разработчиков моделей, сигнал, что инженерные задачи пора выделять в отдельную категорию, а не прятать внутри общего кодового бенчмарка.

Можно ли повторить такой тест самостоятельно

Да, если есть принтер и несколько свободных дней. Стоит понимать, что получится локальный эксперимент, а не бенчмарк.

Что понадобится для повторения

  • 3D-принтер, подойдёт обычный FDM, и филамент, например PLA или PETG.
  • Доступ к LLM, которая генерирует CAD-код или скрипты для параметрического моделирования.
  • Весы для контроля расхода материала и таймер для учёта времени печати.
  • Стенд для нагружения: грузы известной массы или пресс с динамометром.

Конкретные модели, версии и настройки в источнике не указаны, так что их придётся выбирать самостоятельно. Печать и нагружение связаны с риском травм и порчи оборудования: стенд лучше собирать с запасом прочности и защитой от разлёта осколков.

Как оценивать результаты

Фиксируйте четыре числа на каждую модель: максимальную нагрузку до разрушения, суммарный вес деталей, время печати и наличие ошибок совместимости. Одинаковый промпт и одинаковые параметры печати обязательны, иначе сравнение будет нечестным. Один прогон ничего не доказывает: без повторяемости выводы делать рано.

Если нужен внешний ориентир, держите в голове базовую линию из исходного обсуждения: совместимость деталей отсекает часть моделей ещё до испытания, а прошедшие этот фильтр различаются по нагрузке в разы. Пока нет стандартизированного протокола, о котором попросил автор идеи, любые числа стоит воспринимать как частный случай, а не как рейтинг.

Подписаться на канал