И в этом есть свой шарм, но почему-то они вообще не воспринимаются как цельные хорошие продукты. В особенности, если собраны с помощью пары промптов без упора на дизайн. И это прям заметно.
Я для себя вывел перечень индикаторов, как отличить приложение, сгенерированное AI на отвали, от приложения, выстраданного человеком:
🔵У такого приложения куча эмодзи: у заголовков различных уровней, на тегах, кнопках
🔵Hero-секция: заголовок либо полностью покрашен в градиент, либо им выделены 1-2 слова
🔵Карточки и кнопки: имеют легкий градиент, а при наведении на них срабатывает одинаковая анимация увеличения
🔵Карточки и шапки: часто имитируют матовое стекло
🔵Карточки: огромные внутренние отступы
🔵Шрифт Inter везде: в заголовках, текстах
🔵Очень много разных подписей и топорный UX
(и это мы еще не пошутили про длинное тире в текстах)
Понятно, почему так происходит: чтобы регулярно выдавать хороший результат, для модели нужен довольно детальный системный промпт. И почти у всех популярных сервисов в этом промпте используются одинаковые технологии. Взглянем на кусочек слитого системного промпта ChatGPT с моделью gpt-5:
Types "code/react" and "code/html" can be previewed in ChatGPT's UI. Default to "code/react" if the user asks for code meant to be previewed (eg. app, game, website).
When writing React:
- Default export a React component.
- Use Tailwind for styling, no import needed.
- All NPM libraries are available to use.
- Use shadcn/ui for basic components (eg. `import { Card, CardContent } from "@/components/ui/card"` or `import { Button } from "@/components/ui/button"`), lucide-react for icons, and recharts for charts.
- Code should be production-ready with a minimal, clean aesthetic.
- Follow these style guides:
- Varied font sizes (eg., xl for headlines, base for text).
- Framer Motion for animations.
- Grid-based layouts to avoid clutter.
- 2xl rounded corners, soft shadows for cards/buttons.
- Adequate padding (at least p-2).
- Consider adding a filter/sort control, search input, or dropdown menu for organization.
Что здесь интересного:
➡️ Все проекты пишутся на React, пока пользователь не попросит другого (но тогда будьте добры написать детальный промпт, магии не будет)
➡️ Для стилизации компонентов используется Tailwind + shadcn/ui, иконки тянутся из пакета lucide-react, для анимаций используется Framer Motion
➡️ Заданы правила внутренних отступов и скруглений
Очень похожие инструкции я нашел в промптах у Lovable, V0, а библиотеки вообще идентичны. Поэтому лендинги, приложения, которые вы собираете с помощью AI, будут выглядеть как очередной шаблонный сайт. Но только до тех пор, пока вы не уделите внимания UI и UX в своих промптах и не потратите время на итеративные изменения. Поэтому даже в эпоху, когда все приложения пишутся с одного запроса, вам все еще требуется насмотренность и ✨собственная нейронка✨, которая понимает базовые принципы UX.
Но это исключительно мой опыт, а какой у вас?