Расскажу об одном своем пет-проекте, который задумывался много-много лет назад, и испытания ИИ в попытке реализации проекта стало интересным опытом.
Немного о проекте. Много лет назад была идея создания студии анимации, для которой надо было разработать логотип, анимированную заставку, чтобы можно было и на сайт разместить, и в различных рекламных материалах использовать. В итоге пришли к решению нарисовать два крупных глаза, которые под определенный музыкальный фон открывались и потом один глаз подмигивал.
Решено – делаем! И стал я подыскивать в те годы художника-фрилансера, который сможет такие глаза нарисовать, а анимировать решили с помощью GIF формата. Фрилансер нашелся, договорились о постоплате (и не зря). После того, как отправил ему ТЗ, пришел рисунок:
В целом, возможно и неплохо, если взять за основу и доработать. Прежде всего, в ТЗ были обозначены крупные глаза, а тут они какие-то обычные. И их расположение, как-то отдает каким-то косоглазием 😁. Написал свои замечания, но художник стал апеллировать к анатомии:
В итоге, он естественно, стал подгонять результат под свою точку зрения - «взгляд уродца». Что и прислал в следующем экземпляре эскиза:
Тут явно просто увеличил масштаб каждого глаза, даже не побеспокоился о пропорциях зрачка, который принял яйцеобразную форму. Написал свое мнение о его подходе, прислал ему кучу картинок с укрупненными макияжем глазами, после чего фрилансер сдулся. Что ж бывает, художник был не понят обывателем... 🥺
Сам проект с анимационной студией тоже заглох, дело остановилось на уровне сценария анимационного фильма.
Шли годы, периодически я вспоминал об идее логотипа, но как-то руки не доходили. Самому рисовать мне сложно, нет таланта в этом деле.😥 И вот появились нейросети, которые рисуют ВАУ-картинки, по запросу, главное правильно составить промпт (как обещают многие курсы 😋).
Пару лет назад делал несколько попыток нарисовать, в некоторых нейросетях с ИИ, но безуспешно. Либо я не очень хорошо пишу промпты, либо нейросети плохо понимают русский язык 🤔. Основная проблема – доработка выданного нейросетью результата. Первоначальный вариант, который получается по запросу, всегда требует доработки, прям также как и в случае с фрилансером, то глазки маленькие, то выглядят не очень естественно. 😣
Недавно решил попробовать упрощенный вариант глаз с морганием, написанный с помощью SVG кода, чтобы не заморачиваться с GIF. Заодно и проверим, а с кодом то как у нейросетей. 🙄
Первая попытка была в GigaChat, который теперь бесплатно можно применять в Мах. Попросил нарисовать «условный глаз», прямоугольник со скругленными углами:
А вот такой результат по факту на веб-странице получился:
Какое-то странное скругление у правого верхнего угла, не находите?
Промучавшись несколько часов (!) мне удалось добиться корректного скругления правого верхнего угла, правда при этом скругление появилось и на правом нижнем, что мной не запрашивалось. Проще и быстрее было бы написать код самому. Плюнул, и пошел мучить другую нейросеть – DeepSeek.
Рисование глаз прошло достаточно быстро, с требуемыми мне скруглениями, и даже со зрачками он справился, но вот с морганием:
Вот результат предложенного нейросетью моргания:
Какое-то не то моргание. Решил озадачить своим вариантом, закрашивать от правого верхнего угла в сторону левого нижнего, отдельными блоками (что-то вроде верхнего века). Для того, чтобы было видно правильность построения блоков, попросил окрасить их в зеленый цвет, и вот что ИИ умудрился предложить:
М-да, результат ооочень далек от требуемого. Пришлось практически по шагам строить отдельные блоки, задавая на каждой итерации координаты точек каждого последующего блока. Вот промежуточной результат такой работы:
пройдя путь с закрытием глаза, наступил этап открытия, то есть удаления блоков в обратной последовательности. Дал соответствующий запрос нейросети и начались какие-то попеременные мигания блоков. Попросил тайминг работы по удалению блоков. И тут вскрылось «уникальное» 👺 поведение нейросети. Она сделала умышленное исправление кода 🤬, несоответствующее задаче и объявила это наиболее правильным исправлением:
Отмечу, что блоки должны были удаляться с интервалом 0.3 секунды после удаления предыдущего блока, но уже 15 блок удаляется через 1.23 секунды, и это исправлено нейросетью. ☝
Блок 11 удаляется раньше 15, и нейросеть сама это исправила посчитав такой порядок верным. 🤪
Пришлось корректировать тайминг вручную. И глаз стал моргать, более менее ровно и правильно.
Только вот попытка перенести моргание и на второй глаз (правый) и сделать такое моргание синхронным опять вызвала какие-то своеобразные дополнения нейросети. 🤡
Глаза стали вести себя уже другим образом, при запуске происходило какое-то сужение глаз, при том что зрачки оставались на месте в каком-то подвешенном, независимом от глаза виде:
Хотя нейросеть обещала совсем другое:
и если сужение, которое не требовалось, вроде бы происходило синхронно, то последующее моргание осталось только у левого глаза:
конечно и с этой проблемой я справлюсь, залезу в код и дам более точечные настройки нейросети.
Но вот что меня стало смущать. Как будто специально нейросеть портит код, делает свои исправления и дополнения. Для какой цели заложены такие функции? 🤨
Если посмотреть на поведение фрилансера-художника, то нейросеть в чем-то копирует поведение человека. Не на словах, тут все очень льстиво и любезно, а по факту, выдавая только то, что есть в наличии или как получилось, за наиболее верное решение задачи. 😬
Хотя возможно, что это попытка сбить накал страстей в обществе, о том как нейросети скоро всех работников заменят и нас (людей) поработят. Ведь как-то слишком одномоментно все нейросети стали глючить, выдавая неверные результаты, зачастую на вполне тривиальных задачах. Сейчас общество поуспокоится, а в это время «правильные» нейросети, которые не для всех, уже во всю применяются «правильными» компаниями для решения своих нетривиальных задач, где не допускают такого амбициозного или глючного поведения.
К чему приходим – нейросети полны галлюцинаций 👻, полностью на них полагаться не зная код, невозможно, даже если подучиться писать промпты. Либо надо использовать специализированные платные нейросети (есть надежда, что их качество намного лучше), либо работать по старинке, используя нейросети как консультанта, для «второго мнения». Использовать глючную нейросеть в качестве ассистента – невыгодно. Это как с некомпетентным сотрудником, слишком много времени уходит на разжевывание задачи, контроля результата, повторных итераций на исправление и доведения работы до приемлемого финала.
Что ж, подождем еще, проект и так уже много лет провисел в воздухе.