Автор выпустил ldraw-nova: открытый ИИ-генератор моделей LEGO

Автор выпустил ldraw-nova: открытый ИИ-генератор моделей LEGO

Автор опубликовал на GitHub открытый проект ldraw-nova (показан на Show HN). Идея: дать ИИ-агенту замысел модели, направлять его и получить готовую модель LEGO в формате LDraw. По завершении сборки пользователь получает исходный код модели на языке LDraw, разные представления (3D-просмотрщик, 3D-плеер, интерактивный VR для Meta Quest 3, изображения), файл glTF в формате .glb, который можно править в Blender (метаданные лежат в пользовательских свойствах Blender), а также историю чата и ход рассуждений агента.

Предыстория, по словам автора: LDraw, простой низкоуровневый «ассемблерный» язык, на котором исполняемо описываются 3D-CAD-модели. Автор решил проверить, смогут ли ChatGPT и Claude писать на нём как на обычных языках программирования. Язык сильно завязан на математику (повороты и позиционирование деталей), с которой языковые модели обычно справляются плохо, но агенты в первых тестах показали себя неплохо; следующие проекты (ldbuilder-ai, py2bricks, py4bricks) тоже давали хорошие результаты, но не такие, чтобы считать сгенерированные модели корректными.

Из этих экспериментов автор сделал два вывода. Первый: у агентов есть путь наименьшего сопротивления к геометрии, если дать им инструменты, генерирующие исходники LDraw, математику можно обойти, потому что код на Python, производящий математику, им удаётся гораздо лучше, чем сама математика. Второй: агенты лучше учатся на примерах Python-кода, который строит модели, чем на самих моделях. Оставалось написать Python-инструментарий с нужными примитивами, глаголами и конструктивным словарём. По словам автора, это оказалось очень сложно, даже при вайб-кодинге, пока не появились GPT-6 Astra и Claude Opus 5.5, которые написали его правильно.

Как работает агент: получает запрос, читает instructions.md и связанные документы по языку LDraw и сборке моделей LEGO, планирует (нужные детали, подмодели, эстетика), затем итеративно рендерит изображения модели или подмоделей, осматривает их, корректирует положение и внешний вид, и так, пока не сочтёт модель готовой. Инструменты помогают искать подходящие детали и примеры моделей, находить коллизии и зазоры при расстановке деталей, делать рендер без графического окна. Агент не начинает с расстановки деталей (кроме прототипирования и экспериментов с готовыми примерами): он собирает информацию, строит один или несколько планов (plan.json), на их основе создаёт скрипты-генераторы (например, generate.py), а те при запуске выдают файлы LDraw (например.mpd). Автор сравнивает это с компилятором: агент создаёт генератор, который выпускает 3D-модель на ассемблерном языке LDraw.

Поиск деталей и примеров опирается на jev-rerank, семантический поиск с переранжированием на модели Jev System One от TypeSafe (автор ldraw-nova, также автор jev-rerank). С ключом TYPESAFE_API_KEY, который вводится в настройках веб-приложения, поиск работает как задумано; без него агенты переходят на полнотекстовый поиск, и модели, возможно, получаются хуже.

Запуск: нужны Git и Docker. Надо клонировать рядом два репозитория одного тега (v0.6.0): ldraw-nova и ldraw-nova-docker, затем в ldraw-nova-docker выполнить docker compose build (первая сборка долгая и занимает около 5 ГБ на диске) и docker compose up -d. Приложение открывается по https://localhost:8443 (самоподписанный сертификат, нужен для VR на Meta Quest 3) или по http://localhost:8765 (без VR). Входа в систему нет, поэтому запускать его стоит только в доверенных сетях.

Автор прямо называет релиз первым и перечисляет доработки: проблемы с обработкой моделей и производительностью в VR на Meta Quest 3; адаптация под слабые модели (например, Luna, Haiku); дорогая генерация, большие и корректные модели пока способны строить только дорогие топовые модели; медленный процесс генерации; новые семейства моделей (минифигурки людей и животных, техника Technic, машины и двигатели; космические корабли пока получаются не очень хорошо); сборка по инструкциям работает частично, лучше, если страницы поданы изображениями; детальный осмотр подмоделей и пошаговой сборки. В конце README благодарит сообщество LDraw и авторов LDView, LeoCAD, LDCad и Shadow Library, ldraw.rs, pyldraw3, а также указывает, что LEGO, товарный знак LEGO Group, которая не спонсирует, не санкционирует и не одобряет это ПО.

Ключевые факты

  • ldraw-nova: ИИ-агент по описанию идеи строит план и Python-генератор, который выдаёт модель LEGO в формате LDraw (.mpd).
  • На выходе: код LDraw, 3D-просмотр и VR для Meta Quest 3, изображения, файл .glb для Blender, история чата и ход рассуждений агента.
  • Вывод автора: агентам лучше удаётся писать Python-код, производящий геометрию, чем считать геометрию напрямую; инструментарий, по его словам, удалось написать правильно только с GPT-6 Astra и Claude Opus 5.5.
  • Запуск через Docker (теги v0.6.0 двух репозиториев, первая сборка около 5 ГБ), приложение без авторизации, только для доверенных сетей.
  • Автор называет выпуск первым: VR сыроват, генерация медленная и дорогая, космические корабли получаются неважно.

Почему это важно

Проект показывает практический приём работы агентов с геометрией: вместо того чтобы просить модель напрямую считать повороты и координаты деталей, ей дают инструменты для написания Python-генератора, который уже и выпускает исходник LDraw. По наблюдению автора, так агенты справляются заметно лучше. Это пример того, как ИИ-агентов применяют для проектирования собираемых физических объектов, а не только для текста и кода. Масштаб при этом скромный: это одиночный открытый проект с первым релизом.

Кому это важно

Энтузиастам LEGO и LDraw, которые хотят попробовать генерацию моделей агентом; разработчикам агентных систем, интересующимся подходом «агент пишет генератор вместо прямого вывода результата»; владельцам Meta Quest 3, желающим посмотреть модели в VR (с учётом заявленных проблем).

Как это применить

Нужны Git и Docker. Клонируйте ldraw-nova и ldraw-nova-docker рядом, оба на теге v0.6.0, выполните docker compose build (первая сборка долгая, около 5 ГБ на диске) и docker compose up -d. Откройте https://localhost:8443 (для VR, сертификат самоподписанный) или http://localhost:8765 (без VR). Для переранжирующего поиска введите ключ TYPESAFE_API_KEY в настройках приложения; без него агенты используют полнотекстовый поиск. Лицензия в тексте README не названа.

Можно ли доверять

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

Риски и подводные камни

У веб-приложения нет входа, поэтому автор советует запускать его только в сетях, которым вы доверяете. Без ключа TypeSafe качество моделей может снизиться из-за отката на полнотекстовый поиск. Большие и корректные модели, по словам автора, пока доступны только дорогим топовым моделям, а генерация медленная. VR на Meta Quest 3 имеет проблемы с обработкой моделей и производительностью, космические корабли получаются плохо, сборка по инструкциям работает лишь частично. Кроме того, LEGO Group проект не спонсирует и не одобряет.

«Я сделал это, чтобы получить агентные LLM, способные проектировать собираемые физические вещи!»

— автор ldraw-nova, README проекта

Компания Meta Platforms признана экстремистской организацией, её деятельность на территории РФ запрещена.