Спершу шукай, потім пиши: промпт, який економить години
Навіщо кувати молоток, якщо він уже лежить у гаражі?
Звичка вайбкодера «спершу шукай, потім пиши»: як змусити ШІ-агента шукати готові бібліотеки та рішення до написання коду - і економити години, гроші та нерви.
Що означає «спершу шукай, потім пиши»
Тобі треба забити цвях. Шлях перший: ідеш у гараж, береш молоток - він лежить, перевірений, зручний, ще дід ним стукав. Шлях другий: із нуля викуюєш власний молоток зі шматка заліза, бо «ну я ж сам, так цікавіше».
Звучить як анекдот. А тепер сюрприз: саме другий шлях агент обирає за замовчуванням - доки ти не скажеш інакше. Попроси «зроби форму з перевіркою email» - і він бадьоро накодить свій шматочок для цієї перевірки. Хоча у світі давно лежать готові, вилизані тисячами людей інструменти, які роблять те саме - краще, надійніше і безплатно.
Звичка «спершу шукай, потім пиши» проста. Ти змушуєш агента спочатку роззирнутися: а чи немає вже готового? І лише якщо реально нічого немає - братися до кування.
Чому готове рішення краще за саморобний код
Ти вайбкодер. Код руками ти не пишеш - але ти керуєш тим, хто пише. І якщо агента не скерувати, він за звичкою почне винаходити все з нуля. Чим це бʼє особисто по тобі?
- Довше. Своє з нуля - це години. Підключити готове - хвилини.
- Дорожче. Агент палить токени Токен - шматочок тексту, яким модель читає та пише. Що більше коду вона складає, то більше токенів, а отже й твоїх грошей. (твої гроші) на складання того, що лежало на полиці.
- Глючніше. Свіжий саморобний код майже завжди сирий. Готове вже обкатане на мільйонах користувачів.
- Страшніше лагодити. Зламалося саморобне - розбирайся з нуля. У популярної бібліотеки є документація та форуми, де твою проблему хтось розвʼязав ще три роки тому.
Різниця між «агент написав мені сайт, який за тиждень розвалився» і «агент зібрав мені сайт із надійних цеглинок» - часто це одна звичка: спершу шукати, потім писати.
Де ШІ-агент шукає готове: чотири полиці
Коли агенту кажуть «спершу пошукай», він не кидається кодити. Він обходить чотири «полиці з готовим» - приблизно в такому порядку, від ближнього до дальнього.
Sodi - наш офіційний маскот і компаньйон вайбкодера - наочно демонструє цей принцип: замість одразу бігти писати код, він із кошиком методично обходить усі чотири полиці - свій проєкт, бібліотеки, інструменти, інтернет - і лише потім сідає за стіл. Саме так працює звичка «спершу шукай»: спочатку пошук, потім код.
1. Твій власний проєкт
Спочатку - найближче. А раптом це вже написано у твоєму ж проєкті? Класика жанру: ти просиш «зроби кнопку відправлення», а така кнопка вже живе в сусідньому файлі. Агент знаходить її та перевикористовує - замість того щоб плодити другий такий самий шматок.
2. Готові бібліотеки та пакети
Далі - великий світ. Є величезні склади чужого коду: бібліотеки Пакет (бібліотека) - готовий шматок коду, який хтось написав, протестував і виклав, щоб інші просто взяли та користувалися. Підключається однією командою. , які встановлюються однією командою. Потрібна перевірка даних, надсилання листів, гарний календарик - майже напевно хтось це вже зробив і виклав.
3. Інструменти, розширення та MCP
Іноді потрібне вміє не бібліотека, а цілий готовий інструмент - наприклад, підключуваний MCP MCP - спосіб дати агенту готовий зовнішній інструмент: доступ до бази даних, до пошти, до календаря і так далі. Не треба писати це руками - просто підключаєш. чи скіл. Тоді агенту взагалі нічого кодити - він просто бере готове і користується.
4. Відкритий код та приклади в інтернеті
І лише якщо нічого не підійшло - агент дивиться, чи немає схожого шаблону чи прикладу на GitHub. Щоб хоча б не починати з чистого аркуша, а спертися на чужий досвід.
Коли брати готове, а коли писати своє
Знайти готове - півсправи. Далі треба зрозуміти: а чи варто його брати? Ось як агент (і ти разом із ним) ухвалює рішення.
- Популярне - ним користуються тисячі людей, отже баги знайшли до тебе.
- Живе - оновлювалося нещодавно, а не покинуте пʼять років тому.
- Із зрозумілою інструкцією - є документація, приклади, відповіді на форумах.
- Точно про твою задачу - робить рівно те, що треба, без зайвого.
- Нічого годящого реально не знайшлося (а ти дав агенту пошукати як слід).
- Задача зовсім унікальна - саме про твій випадок готового немає.
- Готове величезне й важке заради однієї дрібної функції - простіше написати пʼять рядків.
- Знайдене покинуте й глючить - краще своє, ніж чужа міна.
Приклад: форма підписки з перевіркою email
Ти кажеш агенту: «зроби форму підписки на розсилку - щоб перевіряла, що email справжній».
Без правильного промпта: агент бадьоро складе власну перевірку email. Напише хитру формулу, яка на вигляд працює, а насправді пропускає криві адреси й блокує нормальні. За тиждень зʼясується, що половина людей не може підписатися - і ти підеш до агента лагодити те, що він сам же й наглючив.
А ось як зробить тямущий вайбкодер. Він додасть у прохання одну настанову - «спершу пошукай готове»:
Мені потрібна форма підписки на розсилку з перевіркою email.
Перш ніж писати код, зроби так:
- Перевір, чи немає вже придатного коду в моєму проєкті - може, схожа форма чи перевірка вже є.
- Пошукай популярні готові бібліотеки для перевірки email і для форм. Бери ті, якими реально користуються і які нещодавно оновлювалися.
- Покажи мені 2-3 варіанти коротким списком: що знайшов, чим хороші, що обереш і чому.
- І лише після цього підключай обране. Свій код пиши тільки там, де готового реально немає.
Часті помилки новачків під час пошуку рішень
- Просиш «напиши X» замість «знайди готове X». Без слова «знайди» агент за замовчуванням пише з нуля. Додавай настанову шукати - щоразу.
- Хапаєш перше-ліпше. Знайшов бібліотеку - глянь, чи жива вона й чи користуються нею. Покинутий код прилетить болем саме тоді, коли тобі буде ніколи.
- Тягнеш громадину заради дрібниці. Не потрібна гігантська бібліотека заради однієї кнопки. Співміряй розмір із задачею.
- Не питаєш, що агент обрав. Попроси показати варіанти списком - і ти побачиш, на чому стоїть твій проєкт, без неприємних сюрпризів.
- Винаходиш те, що вже є у твоєму ж проєкті. Найчастіший і найприкріший випадок - продублювати те, що спокійно лежить у сусідньому файлі.
TL;DR - если коротко
- Не дай агенту кодити з нуля - хай спершу пошукає готове: у твоєму проєкті, у бібліотеках, в інструментах. Це і є «спершу шукай».
- Готове майже завжди надійніше за саморобне: його обкатали тисячі людей, воно не падає на рівному місці.
- Помилка номер один - сказати «напиши мені X» замість «перевір, чи немає готового X».
- Хороша бібліотека = популярна, жива, зрозуміла. Покинутий код із трьома зірками - це міна, а не друг.
- Бери готове під розмір задачі: вантажівка заради пакета молока - теж промах.
- Завчи фразу: «спершу пошукай готові рішення, порівняй їх і лише потім пиши свій код».