Я создал CAD-редактор в браузере, а затем научил LLM им пользоваться

Я создал CAD-редактор в браузере. А затем отдал его искусственному интеллекту.

Результат проявился во время демонстрации. Я спросил приложение: «Сколько здесь дверей и окон?»

ИИ их пересчитал. А затем добавил: «Примечание: ширина D3 составляет всего 300 мм. Вероятно, дверь определена неверно. Хотите, чтобы я это проверил?»

ИИ был прав. Мой конвейер данных превратил фрагмент геометрии в дверь шириной 30 см. Ни один человек этого не заметил. Модель же увидела дверь уже обувной коробки и пометила её как ошибку.

Этот проект потребовал решения огромных технических задач:

• Парсинг DWG-файлов, которые печально известны своей сложностью. • Реконструкция моделей зданий из тысяч разрозненных линий. • Создание 2D CAD-редактора с нуля с использованием HTML5 Canvas. • Подключение Claude в качестве агента с набором инструментов.

Вот как работает система:

  1. Загрузка: вы перетаскиваете DWG-файл в браузер.
  2. Обработка: фоновая задача конвертирует файл и извлекает геометрию. Она определяет стены, двери, окна и помещения.
  3. Просмотр: вы получаете 3D-вьюер и полноценный 2D-редактор с привязкой (snapping) и историей отмен.
  4. Редактирование: вы используете панель чата, чтобы дать указания ИИ-агенту внести изменения.

ИИ не просто ведет чат. Он использует инструменты для редактирования базы данных. Если вы скажете: «Добавь окно в самую длинную стену», ИИ найдет эту стену и создаст проем.

Ключевые уроки разработки:

• Никогда не доверяйте заголовкам файлов. DWG-файлы часто врут о единицах измерения. Я научился игнорировать заголовок и смотреть на фактические координаты, чтобы определить масштаб. • Используйте единый путь записи. Интерфейс, конвейер импорта и ИИ — все используют один и тот же проверенный путь. Это гарантирует, что ИИ не сможет создать невозможную геометрию. • Предоставьте ИИ историю отмен. Когда ИИ вносит правку, система объединяет всё это действие в один шаг отмены. Если ИИ ошибется, вы просто нажмете Ctrl+Z, чтобы вернуть всё как было. • Используйте топологические правила, а не математические пороги. Сначала я пытался находить помещения по площади. Это не сработало для зданий Г-образной формы. Я перешел к топологическому правилу: самая большая грань в связной структуре — это всегда внешняя граница. Всё остальное — помещения.

Самым сложным был не ИИ. Самым сложным было превращение анонимных линий в реальные данные о здании. На реализацию функции ИИ ушло всего несколько дней, потому что фундамент был надежным.

Source: https://dev.to/arif/i-built-a-cad-editor-in-the-browser-then-taught-an-llm-to-use-it-1l92

Optional learning community: https://t.me/GyaanSetuAi