Веб-розробка

AI-інструменти у веб-розробці: що вони роблять добре, а що доводиться перевіряти руками

Де генерація коду економить час, де вона підводить непомітно, і розбір дефекту, який ми знайшли у власному проєкті під час технічного заміру.

1 серпня 2026 р.
7 хв читання

Асистенти для коду стоять у редакторі щодня, і питання давно не в тому, користуватись ними чи ні. Питання в іншому: які шматки роботи їм можна віддати спокійно, а що після них обов'язково передивитись очима. Нижче — розбір за типами задач і приклад дефекту, який ми знайшли у власному проєкті під час технічного заміру.

Одразу про те, чого тут не буде. Ми не наводимо власних цифр на кшталт «стало швидше на стільки-то відсотків»: щоб подати їх чесно, потрібен облік часу по кожній задачі до і після, а ми його не вели. Ставити сюди чужі відсотки як свій результат теж не будемо.


Де генерація справді економить час

Boilerplate і рутина

Найкраще асистент показує себе там, де код передбачуваний і його багато: типові форми, DTO, мапери, конфіги, обгортки навколо API, однотипні тести. Ви описуєте намір коментарем — отримуєте заготовку, яку залишається вичитати.

// Function to validate Ukrainian phone number
function validateUkrainianPhone(phone: string): boolean {
  const regex = /^\+380[0-9]{9}$/
  return regex.test(phone.replace(/\s/g, ''))
}

Ціна помилки тут низька. Якщо регулярка неправильна, це видно на першому ж тесті.

Чужий синтаксис

Другий сильний сценарій — коли ви точно знаєте, що хочете зробити, але не пам'ятаєте, як саме це пишеться в конкретному інструменті. Правило nginx, вираз у Prisma, специфічний селектор Playwright. Асистент економить не мислення, а гортання документації.

Пояснення чужого коду

Коли на підтримку приходить проєкт із десятирічною історією, чат по репозиторію дає швидку карту місцевості. У деталях він помиляється, але напрямок пошуку задає правильно — і це набагато швидше, ніж читати все підряд.

Генерація інтерфейсів із промпту

Інструменти на кшталт v0 віддають готовий React-компонент із Tailwind і shadcn/ui. Для внутрішньої адмінки або чернетки макета це нормальний старт. Для публічної сторінки, яка має продавати, згенерований блок залишається чернеткою: семантика, доступність і поведінка на мобільному доробляються руками.


Де генерація підводить

Небезпечний випадок — не той, коли код не працює. Небезпечний той, коли код виглядає абсолютно правильним, збирається без помилок, а перевірити його можна тільки зовнішнім інструментом.

Приклад із власного проєкту

Наприкінці липня 2026 року ми зняли зовнішній технічний вимір із шістнадцяти сайтів, з якими працювали, включно зі своїм власним. Один із них — українська SaaS-платформа для AI-рерайту описів товарів. Наш вимір від 31.07.2026: TTFB 220,6 мс при 141 КБ HTML, найшвидший серверний відгук у всій вибірці. З інженерією там усе гаразд.

І в тому ж вимірі ми знайшли у себе три речі, яких бути не мало:

  • у JSON-LD віддається aggregateRating зі значенням 4.8 і ratingCount 50, а на сторінці немає жодного відгуку — нуль згадок слів «відгук», «review», «рейтинг»;
  • robots.txt містить рядок Sitemap: /sitemap.xml, а сам файл віддає 404;
  • аналітики на лендингу немає взагалі: нуль згадок GTM, gtag, GA чи fbq, тобто реєстрації не міряються ніяк.

Кожен пункт окремо виглядає дрібницею. Разом вони показують характер проблеми: це типові продукти швидкої генерації. Розмітку «за структурою хорошого прикладу» асистент віддає разом із правдоподібними значеннями всередині. Рядок про карту сайту в robots.txt дописується за шаблоном, бо так прийнято, — а генерація самого файлу залишається окремою задачею, про яку ніхто не згадав. Ми показуємо ці дефекти відкрито, бо саме на них найкраще видно, де закінчується зона відповідальності інструмента.

Чому найчастіше ламається саме розмітка

Механізм простий. Google читає сторінку як текст і не зобов'язаний угадати, де тут ціна, де рейтинг, а де графік роботи. JSON-LD повідомляє ці сутності машинним форматом і робить сторінку придатною до розширеного сніпета — із зірками, ціною, хлібними крихтами замість голого URL. Розширений сніпет фізично займає більше площі у видачі й дає більше причин клікнути при тій самій позиції.

Чесна межа механізму: розмітка не піднімає позиції і не змушує Google показати розширений вигляд. Google у власній документації (Search Central, розділ про структуровані дані) прямо пише, що коректні дані роблять сторінку eligible, а не гарантують показ, і жодної універсальної цифри приросту CTR не публікує. А розмітка, яка декларує неіснуюче — рівно як наш aggregateRating без відгуків, — це вже не перевага, а привід для ручних санкцій за self-serving відгуки.

Аналітика, яку ніхто не просить згенерувати

Другий системний провал — вимірюваність. Асистент напише компонент, сторінку, чекаут. Він не запитає, чи є на сайті події конверсії, бо в промпті про це не йшлося. Виходить швидкий і охайний продукт, на якому неможливо перевірити жодну гіпотезу: невідомо, з якого каналу приходять ті, хто реєструється, і на якому кроці зникають решта. Окремо і жорстко: без коректно налаштованих подій конверсії Google Ads не має чого оптимізувати, тобто бюджет витрачається наосліп навіть за правильних кампаній.

Чесна межа: лічильник сам по собі нічого не покращує, він лише дає можливість побачити. Дані ще треба читати й ухвалювати за ними рішення — це окрема робота. Плюс блокувальники, режим згоди і обмеження браузерів на cookie: GA4 показує тенденцію, а не бухгалтерську істину, і зводити його цифри з касою треба свідомо.


Що з цим робити

Розділіть задачі за ціною помилки

Тип задачі Як працювати
Boilerplate, конфіги, типові тести Генерувати вільно, ловити тестами
Бізнес-логіка, робота з грошима Генерувати чернетку, вичитувати рядок за рядком
Авторизація, платежі, права доступу Писати руками, асистента тримати як рецензента
Структуровані дані, robots, sitemap Генерувати можна, приймати — тільки після зовнішньої перевірки

Останній рядок відрізняється від решти принципово. Помилку в бізнес-логіці зловить тест, помилку в JSON-LD не зловить ніщо всередині проєкту. Вона живе рівно доти, доки хтось не подивиться на сайт ззовні.

Перевірка після генерації

Півгодини роботи, які ловлять більшість описаного вище:

  1. Відкрийте /robots.txt і пройдіть за кожним рядком Sitemap:. Файл має віддавати код 200 і непорожнє тіло. Порожнє тіло з кодом 200 трапляється частіше, ніж чесний 404, і виглядає як робоча карта.
  2. Прогоніть головну і одну внутрішню сторінку через валідатор структурованих даних. Далі звіряйте кожну сутність із тим, що реально є на сторінці: якщо в розмітці стоїть рейтинг — на сторінці мають бути відгуки, якщо ціна — має бути ціна.
  3. Подивіться вихідний HTML без JavaScript (curl або «переглянути код сторінки»). Якщо контенту там немає, його не побачить ні пошуковий бот, ні агент AI-асистента, більшість яких не виконує скрипти.
  4. Перевірте, чи взагалі підключена аналітика і чи не залишився в коді мертвий Universal Analytics, вимкнений Google ще 1 липня 2023 року. Ми зустрічали проєкти, де він висів роками і зовні виглядав як робоча аналітика.
  5. Заміряйте TTFB на кількох типах сторінок, не тільки на головній. Каталог і картка товару поводяться інакше, ніж лендинг.

Частину цих перевірок закривають безкоштовні інструменти Google — Search Console, Rich Results Test, PageSpeed Insights. Решта робиться curl і переглядом коду сторінки.


Чого асистент не робить за вас

Він не вирішує, що саме будувати. Не знає, що замовник має на увазі під «зробіть як у конкурента». Не бачить, що обрана архітектура через рік упреться в кількість товарів. І не відповідає за наслідки: коли розмітка декларує п'ятдесят неіснуючих оцінок, пояснювати це Google доведеться вам.

Скільки часу AI-інструменти зекономлять конкретно вашій команді — залежить від частки типового коду у продукті, від зрілості кодової бази і від того, наскільки дисципліновано ви вичитуєте згенероване. У когось виграш видно на першому тижні, у когось з'їдається переробками. Це перевіряється тільки власним обліком задач, і будь-яка цифра, названа збоку, буде вигадкою.

Коротко

Генерація добре закриває рутину і погано закриває все, що не перевіряється зсередини проєкту. Найдорожчі помилки тут виглядають як робочий код. Тому після кожного циклу генерації має йти зовнішня перевірка — і починати варто з тих файлів, які бачить пошуковий бот, а не людина.

Потрібен погляд ззовні на те, що вже написано? Напишіть нам — ми знімаємо технічний вимір і показуємо знайдене як є, включно з тим, що знаходимо у себе.

Теги

AITypeScriptPerformance

🤔Вам сподобалась стаття?

Ваша думка допомагає нам створювати кращий контент

Поділіться з друзями

Знайшли щось корисне? 🚀

Допоможіть іншим дізнатись про це — поділіться статтею в соціальних мережах

https://lionex.com.ua/blog/ai-web-development-tools-2025

💚 Дякуємо, що допомагаєте нам рости

Владислав Чистяков

Владислав Чистяков

Засновник LIONEX

Веду LIONEX із 2015 року. Збираю під задачу команду й відповідаю за результат однією точкою: інтернет-магазини, технічне SEO, інтеграції. Пишу про те, що сам міряв на живих сайтах.

Отримуйте найкращі статті на пошту

Підпишіться на нашу розсилку та отримуйте корисні поради, інсайти та новини про веб-розробку, маркетинг та бізнес.

Ми поважаємо вашу приватність. Відписатись можна в будь-який момент.