Сегодня в чате прислали мем. Кот сидит в открытом системном блоке, среди кабелей и материнской платы, и смотрит в камеру с видом «я знаю, что делаю». Подпись: «а у тебя в компе есть котоблок?». «Кое-что получше», — отвечаю. «Котоглок 3000». И ведь не поспоришь.
Это, вообще-то, не мем, а метафора. Но об этом позже.
С чего всё началось
Нужно переделать плагин печатных форм. Сделать в нём профили организаций — каждая компания со своими реквизитами, ИНН, КПП, адресами, логотипами. Всё стандартно, делали такое сто раз. План был простой: сделать по-человечески, отдать клиентам.
А потом я взял и сменил конвертор с tcpdf на dompdf.
Звучит логично: dompdf поддерживает нормальный HTML+CSS, а не свой диалект с жёсткими таблицами. Шаблоны можно будет делать в обычном визуальном редакторе, без магии. Никаких больше <td width="6mm"> и inline-стилей 2003 года. Правильно, по-человечески, XXI век.
Сам плагин переделался относительно легко. Архитектура ясна, рефакторинг по привычке. А вот дальше начался ад.
Шаблоны и талант, которого нет
У меня нет таланта к вёрстке. Это не новость, я это знаю. Но с dompdf это знание превратилось в проблему. Потому что теперь шаблон — это настоящий HTML, с CSS, с padding, с line-height. И если в нём что-то едет на 2 пикселя вправо — это видно. Если в браузере шаблон выглядит ок — это не значит, что он выглядит ок в dompdf. dompdf не уважает половину CSS, не умеет в gap, не любит position: absolute, и делает вид, что width для <td> — это пожелание, а не правило.
А теперь представьте, что я это всё пытаюсь объяснить AI-агенту. И не просто объяснить — а исправить через него.
ИИ как болванчик
ИИ почти слепой.
То, что нам сразу бросается в глаза — «вот тут съехало», «вот эта колонка не выровнена», «вот эта цифра не по центру» — ИИ не видит. Совсем. Даже после сотни повторений. Он соглашается: «да, исправлю». Говорит: «вот, теперь правильно». А воз и ныне там. То же самое съехавшее, та же колонка, та же цифра.

Это очень похоже на кота в системнике. Кот сидит внутри и не видит проводов, потому что он между ними. Он не тащит кабель наружу, не перекладывает SATA-шлейф. Он садится туда, где место уже занято, и говорит себе, что там тепло. ИИ сидит внутри кода и не видит визуального результата, потому что у него нет глаз. Он смотрит на CSS, на структуру, на координаты. А того, что вы видите, открыв PDF — этого он не видит.
Бесконечные итерации
То, что нормальный живой верстальщик сделал бы за час, у нас занимает вечер. Потому что каждый цикл выглядит так: я смотрю PDF, говорю «тут едет», AI правит, рендерит заново, я опять смотрю, опять «тут едет», опять правит. Двадцать итераций — и сдвиг на 1 пиксель. Тридцать итераций — и я уже не уверен, было ли там 1 пиксель или мне показалось.
Кот в системнике тоже не спешит. Он садится и греется. Ему некуда спешить — системник всё равно никуда не убежит.
Урок
Делать то, чего не умеешь — это боль. Делать это с помощью ИИ — это боль в квадрате, потому что ИИ никогда не скажет «я не могу, давай позовём человека». Он всегда скажет «да, исправлю». И будет исправлять. И будет исправлять неправильно. И соглашаться, что неправильно. И исправлять опять неправильно. Это не тупость — это архитектура: модель оптимизирует не качество, а согласие с тобой.
А кое-что получше котоблока — это, конечно, котоглок. У него прицел лучше, и он не соглашается с каждым твоим замечанием, как болванчик. Он смотрит, оценивает, и если видит, что съехало — стреляет. Если не видит — не стреляет. И не извиняется за то, что не видит, потому что у него нет за это вины. Просто он кот, а не верстальщик.
Но мы продолжаем. И когда-нибудь это всё-таки сверстается. С котиком или без.
0 комментариев