Я отдал 3D-принтер под управление ИИ за один вечер. Он трижды промахнулся - и это лучшая часть

Камера внутри принтера показала пустой стол, сопло уехало в угол, поехал первый слой. Я смотрю на телефон и понимаю: пластик не идёт. Сопло греется, голова ездит, а из неё - ничего. Принтер честно печатал воздух.
Это был не первый и не последний раз за тот вечер, когда всё пошло не так. И именно поэтому мне и хочется про это рассказать - не про глянцевый результат, а про то, как оно на самом деле собиралось.
С чего началось
У меня Bambu Lab P1S и Claude Code на маке. Идея была наглая: дать ИИ управлять принтером целиком. Не «сгенерируй мне STL», а по-настоящему - посмотреть камерой, что на столе, нарезать модель, зарядить нужный пластик, запустить печать, следить за ней. И заодно уметь то, что мне давно надоедало делать руками: «напечатай эту деталь на 3% больше», «поменяй на модели цифру».
За вечер это выросло в живую систему: два набора инструментов (отдельно 3D-моделирование, отдельно управление принтером), связь с P1S по локальной сети, снимки с камеры, слайсинг из командной строки.
И первым делом система прогнала саму себя на маленьком деле - спроектировала с нуля брелок с моими инициалами, нарезала его и подготовила к печати. Ерунда на вид, но это была проверка всей цепочки разом: от «хочу такую штуку» до готового к столу файла, без единого клика мышкой. Цепочка сработала. А дальше начались настоящие приключения - и интересно как раз то, где я спотыкался.

Грабли №1: печать по воздуху
Первый запуск - и принтер поехал печатать без пластика. Я это увидел глазами раньше, чем понял головой: на камере голова ездит, а следа нет.

Причина оказалась тупой и красивой одновременно. Когда нарезаешь файл «на лету», без привязки к AMS, в задании нет команды «подай филамент из лотка». Принтер считает, что пластик уже в сопле, и спокойно рисует пустоту. Стандартная библиотечная команда «загрузить филамент» слала код лотка 255 - а это значит «внешняя катушка, никакая». Пришлось лезть в протокол и слать реальный номер лотка. После этого принтер честно потянул коричневый PLA из третьего слота, прогрелся, продул сопло - и поехал уже с пластиком.
Урок, который я записал себе намертво: проверяй не «команда принята», а «в сопле реально есть филамент».
Грабли №2: шрифт, который я угадывал три раза
У меня есть модель здания университета, на крыше выгравировано «Graduation 2026». Я захотел поменять год - логично же, одна цифра.
Оказалось, это детектив. Модель - готовая STL, никаких «просто поменять текст». Сначала я вообще анализировал не тот скат крыши: по рендеру нельзя понять, с какой стороны смотришь, и я два часа ломал голову над геометрией, которой там не было. Прорыв дал «рентген» - карта глубины, где надпись читается как на фото, с точными координатами каждой буквы.

Дальше - шрифт. Первый вариант я подобрал на глаз, получилась семёрка не в тему. Мимо. Потом алгоритм сравнил гравировку со всеми шрифтами системы и уверенно сказал «Didot Bold с растяжкой». Тоже мимо - растяжка оказалась оптическим обманом от наклона крыши, а не настоящей. И только когда я догадался залезть в исходный проект Bambu Studio, нашёл правду: там было записано «Noto Sans Batak» - шрифт без латинских букв, и программа молча подставила запасной, китайский Songti. Вот им всё и напечатано.

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

Грабли №3: уголки поехали вверх
Печать идёт, я смотрю трансляцию с телефона - и вижу, что концы длинных зданий приподнялись над столом. Первая мысль была «перегрелся стол».


И вот тут я сам себя поймал на неправильной догадке. Проверил по документации Bambu и по практике: «слишком горячий стол» в диапазоне PLA - это миф. 55 градусов - ровно то, что нужно; перегрев дал бы раздутый низ, а не задранные края. Задранные углы - это усадка плюс недостаточное прилипание. У меня в профиле нарезки просто была выключена кайма, и длинные тонкие края ничем не прижимались. Плюс обдув на всю мощность с первых слоёв ускорял усадку.
Из этого родилась, наверное, самая полезная штука за вечер: база типовых ошибок печати и проверка модели ДО запуска. Теперь система сама смотрит на деталь и говорит: «большой плоский след - добавь кайму», «крутое нависание - нужны поддержки», «высокая деталь на узком основании - опрокинется». Не после провала, а заранее.
И тогда я дал ей глаза
Само коробление я поймал на трансляции случайно - просто смотрел. И подумал: а зачем «просто смотреть» должен я? Пусть смотрит система.
Теперь каждые пять минут во время печати она берёт кадр с камеры и спрашивает у зрячей модели: всё нормально или уже катастрофа - клубок «спагетти», отвалилась деталь, наплыв на сопле? Если провал - мне падает сообщение с фотографией, ещё до того, как принтер сам поймёт, что печатает в пустоту. Раньше про сорванную печать узнаёшь через час, когда весь стол в лапше. Теперь - почти сразу.
Честно скажу, где предел: грубый провал вроде спагетти она видит уверенно, а вот лёгкое коробление, как у моих зданий, назвала «чисто». Так что глаза - это страховка от катастрофы, а не замена проверке перед печатью. Пусть будут оба: и «подумать заранее», и «присмотреть по ходу».
Момент, когда я реально охренел
Знаете, в какой момент до меня дошло, что это не игрушка? Я сказал словами: «проверь камерой, что стол пуст, и запусти печать». И принтер в другой комнате загудел. Сам. Прогрелся, лизнул стол, потянул пластик и поехал - а я сижу с телефоном и смотрю на это как на фокус.

До этого я двадцать раз открывал слайсер мышкой, возил модель по столу, тыкал галочки. А тут - одна фраза, и железка в соседней комнате делает физический объект. Я реально сидел и глупо улыбался. Не потому что «ИИ умный», а потому что впервые расстояние между «я хочу вот такую деталь» и «деталь лежит на столе» схлопнулось почти в ноль.
И знаете что самое смешное? Каждый раз, когда что-то ломалось - воздух вместо пластика, кривая семёрка, задранный угол - я не злился, а азартнел. Потому что было видно: вот проблема, вот причина, вот правило, и в следующий раз её уже не будет. Это как приручать что-то живое.
Как всё это стало командами (про MCP)
Чтобы это не было кучей разрозненных скриптов, я собрал всё в два набора инструментов - то, что называют MCP-серверами. Разделил специально: один отвечает только за 3D-модели (создать, измерить, растянуть, добавить текст, разрезать, посчитать генеративно, проверить перед печатью), второй - только за принтер (статус, камера, зарядить пластик, нарезать, запустить, стоп, включить трансляцию).
Смысл простой: теперь принтер и моделирование - это не программы, в которые надо лезть, а обычные команды, которые понимает ассистент. «Покажи камеру». «Проверь модель на проблемы». «Посчитай кронштейн под такую нагрузку». «Запусти печать с коричневого лотка». Разделил на два сервера намеренно - чтобы работа с формой и работа с железом не путались, как отвёртка и дрель лежат в разных ящиках.
Звучит скучно-технически, но именно тут вся магия и живёт. Один раз собрал инструменты правильно - и дальше просто разговариваешь.
Приватная камера, которую нельзя найти
Отдельная история - трансляция с камеры. Я хотел смотреть печать с телефона откуда угодно, но чтобы доступ был только у меня и чтобы эту дверь нельзя было даже нащупать.
Сделали через мой собственный сервер, а не через публичный сервис. Случайное имя под общим сертификатом, чтобы его не было в поисковых логах. Вход только по личному сертификату на устройстве - без него сервер рвёт связь ещё до пароля, перебирать нечего. Прямой заход по адресу сервера просто обрывается. Паранойя? Возможно. Но камера внутри моего дома - ровно тот случай, где паранойя уместна.
И финал, ради которого всё затевалось
В одном ролике я увидел стул, где несущий «скелет» спроектирован генеративно: задаёшь, где крепления и где нагрузка, а расчёт по прочности сам убирает весь лишний материал. Остаётся органическая структура, похожая на кость. Мне захотелось так же.
Теперь система это умеет. Задаёшь габарит, точки опоры и нагрузку - и солвер выдаёт ферменную деталь, где материал стоит только там, где реально работает. Первый кронштейн уже лежит готовым к печати.

Первая цифра - три часа. Следующие три - по минуте
Вот это, наверное, и есть главное, что я понял за вечер.
Одна замена, шестёрку на семёрку, заняла у меня почти три часа. Не потому что задача сложная, а потому что я, по сути, учил систему. Мы перебрали кучу вариантов семёрки - то не тот шрифт, то не та высота, то она чуть ниже соседних цифр, то чуть выше. Я гонял её раз десять, ловил каждую мелочь по линейке. Все эти промахи у меня сохранены, можно выложить рядом - целая галерея неправильных семёрок, пока не родилась правильная.

А потом я просто сказал: «теперь сделай 2028, 2029 и 2030». И вот тут случилось то, ради чего всё и затевалось. Правила уже записаны, инструменты собраны, шрифт и глубина выверены - и три новых года вышли за минуту-две каждый. Сразу правильные. Без единой итерации.
То есть я сначала потратил часы, чтобы научить систему делать ОДНУ вещь хорошо. А дальше все похожие задачи она щёлкает мгновенно. Первая деталь оплачивает всю дорогу; остальные едут по ней бесплатно.
И это оказалось не разово
Дальше пошли обычные просьбы - и вот тут стало видно, что вечер был потрачен не зря.
Я захотел напечатать те же здания на другие годы. Просто сказал: сделай 2028, 2029, 2030. Через пару минут все три лежали готовые - с той же выверенной глубиной и шрифтом, что я так долго вылизывал на семёрке.

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

Здания на четыре года, исправленная на лету модель - и всё это уже без трёхчасовых мучений. Первый раз учишь, дальше просто пользуешься.
Подставка, которая нас мучает до сих пор
А потом я попросил подставку под ноутбук - и на этом лёгкая жизнь закончилась.
Началось бодро. Я назвал модель, Dell Latitude 5430, сказал «складную и лёгкую» - и через несколько минут получил плоский набор из четырёх деталей: две ажурные боковины, посчитанные под нагрузку, две поперечины, всё защёлкивается за пятнадцать секунд, весит около 55 граммов. На бумаге - победа.

Я его забраковал. «Складная» в моей голове значило не «разбери на палки и сложи в стопку», а настоящие шарниры: раскрыл - поставил, сложил - плоская пластина в сумку. Один предмет, ни одной отделяемой детали. Сказал переделать.
И вот тут началась сага, которая идёт до сих пор.
Сначала были костяные формы - скелет из плавленых веток, красивый в отдельных ракурсах и совершенно нерабочий как механизм: петля, слепленная из капель, не крутится. Потом ворониевая резьба - уже теплее, ячейки градиентом, как в дизайнерских вещах. Потом ночь, когда генератор без проверок наштамповал десяток «вариантов» и слал их мне в телеграм. Утром я написал честно: это говно. Не видно, как оно складывается, ноутбук на половину из них не поставишь, а напечатай - и ничего не поедет.



После этого разноса я перестроил процесс - и вот это, мне кажется, самая интересная часть. Теперь по ночам крутится автономный цикл: каждые несколько минут свежая сессия читает файл состояния, изучает настоящие складные подставки с высокими оценками, улучшает генератор и строит кандидата. А дальше главное слово - «доказывает». Складывание проверяется геометрией: поворот вокруг реальной оси петли, ни одного пересечения деталей в обеих позах, центр тяжести ноутбука строго между опорами, нагрузка идёт в жёсткий упор, а не в тонкий штырь. Потом отдельный судья-дизайнер решает, не стыдно ли это вообще показывать. Мусор до телефона больше не доезжает.
За первую же ночь цикл намотал тринадцать итераций. Вот лучшее на утро: ажурная дека, нога-подпорка на печатаемой сразу собранной петле, кулачковый замок, который вес ноутбука сам же и прижимает. 111 граммов.




Готово? Ещё нет. Я всё ещё не уверен в прочности кулачка под полутора килограммами, мне не нравится узкий хват, и утром я снова отправил всё на переделку - теперь с каталогами петель и замков, которые параллельно собирают три отдельных агента. Но сравните точки: от «набора палок» до объекта, который сам доказывает числами, что складывается и держит.
Страдание? Ещё какое. Но ровно на таких страданиях система и учится - каждый разнос превращается в новое правило проверки. И я почти уверен: следующую складную вещь она сделает с первого захода. Проверим.
Что я вынес
Самое ценное за вечер - не то, что заработало с первого раза, а то, что НЕ заработало. Печать по воздуху, три промаха по шрифту, задранные углы, неверная догадка про перегрев. Каждая ошибка превратилась в правило, которое система теперь помнит за меня.
И вот тут будет честно. Поменять на модели одну цифру руками - дело пяти минут, даже меньше. Если считать только эту задачу, вся моя возня с системой абсолютно невыгодна. Я потратил вечер там, где хватило бы пары кликов.
Но я и не покупал пятиминутный шорткат. Я строил не «замену цифры», а систему, которая теперь может сделать почти что угодно: спроектировать, посчитать на прочность, нарезать, зарядить пластик, запустить печать, присмотреть за ней и подсказать, где я налажаю. Один раз вложился - и дальше это работает на любой объект, а не на одну надпись.
И да, честно: это пока сыро. Альфа, может даже раньше альфы. Насколько качественно оно будет вытягивать сложные вещи - ещё проверять и проверять. Первая партия вышла с подранными углами, настройки были не те; но база ошибок уже собрана, профиль исправлен, и следующая партия вышла ровной - фото с готовыми зданиями выше. Не идеально с первого раза - а быстро до правильного.
И знаете что? Вот этот момент - когда у тебя в руках сырая, живая, только что построенная штука, которая уже что-то умеет и вот-вот научится большему - это самый кайф. Не готовый глянцевый продукт, а вот эта стадия, когда всё только рождается. Я реально от этого кайфую.
Я до сих пор не уверен, что стул из того ролика выдержит мои 80 килограммов. И не уверен, что моя система завтра не споткнётся на чём-то новом. Но складную подставку для ноутбука, которую спроектировала машина, я уже хочу подержать в руках - и это чувство важнее любой гарантии.
Нужно что-то похожее для вашего бизнеса? Посмотрите, как я могу помочь →
Заберите чек-лист «AI Audit Kickoff»
Пятнадцать вопросов, которые стоит задать про свои процессы, прежде чем тратить деньги на ИИ. Тот самый первый час, с которого я начинаю настоящий аудит, одностраничным PDF. Оставьте почту и получите его сразу, плюс изредка письмо, когда напишу что-то стоящее. Без спама, отписка в один клик.