У двортерьеров самая лучшая генетика, это самые умные и верные животные. В отличие от породистых собак у них куда меньше врожденных болячек и живут они куда дольше.
Понятно какая наследственность - это откровенный имбридинг между несколькими крупными питомниками, они поставили на поток производство вырожденных пород - вы только посмотрите в каких уродов превратились бультерьеры, а пикинесы уже настолько деградировали, что им дышать больно.
И я знаю о чем говорю - у самого очень дорогая и породистая собака, но с истинной эпилепсией, ей 3 года, а мы уже дважды были в реанимации. А у дворового кота за 15 лет только понос был и простуда.
Забавно что в данной ситуации правы оба, ведь все зависит от проекта и что в проекте принято за норму. ИИ действительно пишет странный код, зачастую используя упрощенные конструкции и абстракции там, где человек сделал бы сильно меньше кода за счет их использования, и не всегда подобный код проходит командное ревью. Но в тех проектах где работоспособность кода и скорость его внедрения важней чем красота и лаконичность - ии заходит на ура. Классический спор между "работает - не трогай" и "все взять и переписать" выходит на новый уровень :)
Задолбали «эксперты», которые рассказывают, что нейронки - просто позорище и ничего не умеют. Но в большинстве случаев проблема не в нейронке, а в промте, который пишет человек, абсолютно не понимающий того, как работает ИИ. В исходном посте я как раз столкнулся с подобным "экспертом" по нейронкам и хотел бы разобрать на примере типичные ошибки при составлении промтов и как их исправить. В качестве генератора я буду использовать gemini просто потому что он у меня в браузере есть. Но вы можете использовать любую другую LLM, и результаты будут схожими.
Промт #1. Игра
Исходный промт: "Говорят, ты умеешь делать игры на HTML за 1 промпт, Ну-ка давайка мне сделай ты в 1 файле игру про бегущего шарика. Всё должно быть выполнено в SVG (не файле - а в HTML если что). Не используй эмодзи В КОДЕ только. Добавь препятствия красивые, счёт и задний фон и мидлграунд. Сделай под телефоны красиво."
Проблемы этого промта
- Слишком много эмоционального мусора (Говорят ты умеешь, давайка) - это просто нагружает LLM и почти не влияет на результат - Отсутствие конкретики (игру про бегущего шарика) - и ни слова про то какая это должна быть игра - Невыполнимые требования (Всё должно быть выполнено в SVG) - SVG это графический формат, выполнить в нем игру просто невозможно
- Субьективная постановка (Добавь препятствия красивые) - красивые для всех понятие слишком разное, а для LLM подобные требования - мусор. - Использование сленга и так называемого рунглиша - когда английские слова пишут русскими буквами, например "мидлграунд"
То есть получается что большая часть этого промта - это мусор для LLM, и даже без генерации понятно что нейронка выдаст чушь, что в итоге и вышло
> Код уровня школьника, который прогулял все уроки информатики. Играть в это невозможно, смотреть на это больно.
Исправляем!
- Убираем весь словесный мусор и сразу начинаем формировать требования. "Сделай игру в одном файле."
- Конкретизируем механику игры. "Шарик бежит по земле и перепрыгивает с помощью игрока препятствия, механика очень похожа на flappybird. Препятствия надвигаются на шарик, и он должен их перепрыгивать."
- Добавим технические требования "Вся графика должна быть встроена в страницу. Сделай возможность запуска на телефоне." - Конкретизируем какие именно препятствия сделать "Добавь различные препятствия, которые оформи в виде деревьев."
Итоговый промт: Сделай игру в одном файле. Шарик бежит по земле и перепрыгивает с помощью игрока препятствия, механика очень похожа на flappybird. Препятствия надвигаются на шарик, и он должен их перепрыгивать. Сделай возможность запуска на телефоне. Вся графика должна быть встроена в страницу. Добавь различные препятствия, которые оформи в виде деревьев.
Результат: Рабочая игра, в которую можно поиграть, все сгенерировалось без проблем. Вы сами можете вставить этот промт в гемини и убедиться что результат рабочий.
Промт #2. Маркетплейс.
Исходный промт: Говорят, что ты умеешь делать сайты в 1 промпт. Создай мне сайт маркетплейс с названием Losyon в одном HTML файле. Сделай на телефоны, и чтобы было удобно. Не используй заглушки и эмодзи в коде. Только не позорься, ты в Пикабу щас попадёшь
Проблемы промта почти такие же как и промта номер 1, не удивительно что результат опять не получился.
- Много мусора и эмоциональности (Говорят, что ты умеешь, Только не позорься)
- Отсутсвие конкретики (что это за маркетплейс, что в нем должно быть и чего нет)
- Субьективные требования (Сделай на телефоны, и чтобы было удобно)
Исправляем!
- Добавим конкретики и опишем в принципе что за сайт мы хотим получить "Сделай сайт для маркетплейса под названием Losyon. " - Опишем функциональность этого сайта "На данном сайте будет представлена различная косметика для ухода за бородой и волосами. На сайте должен быть представлен каталог товаров с изображениями этих товаров. Изображения возьми из интернета. При нажатии на товар в каталоге пользователь переходит на страницу этого товара, где может ознакомится с дополнительными фотографиями и расширенным описанием товара. На странице тоовара и в каталоге сть кнопка заказать - при нажатии на нее показывается адрес сайта, где можно заказать данный товар." - Добавим немного рыбы, для тестирования "Для демонстрации добавь минимум сто различных товаров."
- Ну и конечно не забываем про технические требования "Сайт делай в одном файле, только фронтенд. Сайт делай адаптивным так, чтобы им можно было пользоваться с телефона."
Итоговый промт: "Сделай сайт для маркетплейса под названием Losyon.
На данном сайте будет представлена различная косметика для ухода за бородой и волосами. На сайте должен быть представлен каталог товаров с изображениями этих товаров. Изображения возьми из интернета. При нажатии на товар в каталоге пользователь переходит на страницу этого товара, где может ознакомится с дополнительными фотографиями и расширенным описанием товара. На странице тоовара и в каталоге сть кнопка заказать - при нажатии на нее показывается адрес сайта, где можно заказать данный товар.
Для демонстрации добавь минимум сто различных товаров.
Сайт делай в одном файле, только фронтенд. Сайт делай адаптивным так, чтобы им можно было пользоваться с телефона."
Генерим - и все работает! (ну кроме картинок, но это особенность генерации)
главная страница
поиск
Страница товара.
Промт #3 3D-сайт
Исходный промт: "Создай 3D в HTML на мобильники сайт для детей на любую тему. Без заглушек и эмодзи в коде."
Опять те же проблемы, что и раньше, только тут в принципе ничего не написано про то какой должен быть результат. Типичное "иди туда не знаю куда и сделать то не знаю что". Тут спасует даже человек, так как в принципе не понятно что делать. Удивительно что чатгпт даже что-то сгенерил - только за это стоит ИИ похвалить :) Но я не ИИ, и поэтому буду выдумывать на ходу то, что хотело сказать автор. Работаем по старой схеме
Описываем что мы хотим получить в финале "Сделай сайт для детей в виде трехмерного приложения на webGL. " Описываем конкретную функциональность приложения "На сайте должен ездить синий трактор по полю, котрым пользователь может управлять. Трактор заезжает в различные здания, где живут животные. Каждый раз, когда трактор куда заезжает, на экране появляется краткий рассказ про то животное, к которому заехал трактор." Докидываем технических требований "Сайт делай в одном файле, только фронтенд. Сайт делай адаптивным так, чтобы им можно было пользоваться с телефона."
Финальный промт: "Сделай сайт для детей в виде трехмерного приложения на webGL.
На сайте должен ездить синий трактор по полю, котрым пользователь может управлять. Трактор заезжает в различные здания, где живут животные. Каждый раз, когда трактор куда заезжает, на экране появляется краткий рассказ про то животное, к окторому заехал трактор.
Сайт делай в одном файле, только фронтенд. Сайт делай адаптивным так, чтобы им можно было пользоваться с телефона."
Результат - не получился. Как видно, проблема с библиотекой tree.js.
Но это не проблема, достаточно добавить к промту дополнительное техническое требование "Не используй сторонние библиотеки, только чистый webGL!" Ну и результат:
Синий трактор приехал к овечке
Выводы
Как видно, LLM- это мощный инструмент для генерирования и создания кода и проектов, даже в один промт. К сожалению, универсальные LLM, не заточенные под работу с кодом, иногда могут ошибаться и генерировать не совсем корректный код, особенно если он завязан на какие то сторонние библиотеки, но это легко исправляется правильной модификацией промта. Если нейронка постоянно выдает вам что-то нерабочее и не то что вы хотели, то проблема в 99% случаев - в самом промте. Используйте следующую структуру промта: общее описание - описание функциональности - описание доп требований - и вы без проблем сможете сделать приложение, которое хотите.
Не расстраивайтесь, ведь чем больше бизнесов, у которых нулевой найм, тем в будущем меньше бизнесов у которых нулевой найм. Директора и HR пахать за тебя не будут :)
Сталкивался с такими. Есть в тг чат, называется кот финанс, оттуда постоянно пишут девушки, типо я не разбираюсь в акциях, помоги собрать портфель. Потом оказывается у нее на инвестирование всего 50 тысяч, с работы уволили, и надо срочно много заработать - дети в рванье в школу ходят, коты некормленные и прочие слезные причины.
Потом она якобы натыкается на ставочника который ей сливает договорные матчи - и показывает как она эту полтишку превратила в 500, чеки, доказательства - вот смотри, все есть, никакого обмана, и ты можешь попробовать, вот ссылка на его акк - напиши, и он поможет, но там минимальная ставка 50к :)
В какой то момент я ей даже поверил, и даже задумался, - ведь меня месяц разводили и я отчасти немного эмоциально к ней привязался, но, к счастью, у меня по поводу ставок принципиальная позиция - я не ставлю на спорт, в котором не разбираюсь. Разбираюсь я только в формуле 1, а ставить там надо было на женской волейбол :)
Развод многоходовочный, долгий, причем там сидит реальный человек, и общается с тобой, присылает все чеки. Сложно в это все не поверить.
За 30 лет в интернете я понял только одно - если тебе предлагают заработать люди, которых ты не знаешь, то с вероятностью 100% заработать хотят на тебе. Не ведитесь на подобное и будьте счастливы!
Я очень люблю коктейль "американо". У него довольно простой рецепт - по 1 части кампари, сладкого красного вермута и содовой. Пропорции важно соблюдать, иначе получится не то.
Отдыхаю в Турции, ол инклюсив, все дела, прошу на баре сделать, разговор примерно следующий: - Здравствуйте, сделайте пожалуйста 50 мл кампари, 50 мл вермута и 50 мл содовой в один бокал, со льдом. - окей.
Делает мне бурду какую то на глаз. Наливает сильно больше кампари чем надо
- Я просил 50 мл, вы добавили слишком много, это испортит коктейль, достанте джиггер
- Да не, все верно, я тут не первый год работаю.
Я пробую у стойки, сильно горчит, так как биттера слишком много, морщусь, выливаю при нем эту бурду в мусорку у бара, поворачиваюсь к нему и опять
- Сделайте мне 50 мл кампари, 50 мл красного сладкого биттера, 50 мл содовой
- окей
Опять наливает на глаз. Много вермута, я выливаю теперь уже сладкую бурду в мусорку. Бармен психует, очередь психует.
- Достаньте пожалуйста джиггер, и через него сделайте мне 50 мл кампари, 50 мл красного сладкого биттера, 50 мл содовой.
Недовольный турок достает джиггер из под стойки и наконец делает мне нормальный американо, приговаривая непонятные мне слова, вроде чатлак и эшек.
Пришлось повторить процедуру для КАЖДОГО! бармена в отеле, с которым я сталкивался, но зато потом, выучив что меня надо слушать, они стали мне делать коктейли так, как надо, а не так как им хочется. Так что не ленитесь читать рецепты и дрочить ленивых турков, без вашего пригляда и настойчивости даже в 5ти звездочных отелях вам будут готовить не коктейли, а гавно, которое невозможно пить. И даже турецкий учить не обязательно - достаточно выучить международный язык общения поваров, называется "Ты сделал гавно, а я это выброшу в мусорку"
Ивлев - мастер поварского общения. Тут ему не понравился плов, например :)