Розумний пошук для ШІ-агента: нейропошук Exa та перевірка фактів
Щоб агент не вигадував, а спершу йшов в інтернет і перевіряв
Розумний пошук для ШІ-агента: підключаємо нейропошук Exa та ітеративний пошук, щоб агент перевіряв факти, шукав свіжий код і не фантазував, а посилався на джерела.
Що таке розумний пошук простими словами
Уяви начитаного друга. Проковтнув гору книжок, памʼятає все - але вже два роки сидить у кімнаті без вікон. Ні інтернету, ні телефону. Спитай його про погоду на завтра чи про свіжу версію якоїсь бібліотеки - і він або чесно скаже «не знаю», або, що значно гірше, з серйозним обличчям вигадає відповідь. Зізнаватися, що не в курсі, йому прикро.
Ось це і є гола модель. Вона памʼятає світ до того дня, коли її навчили. Що було далі - загадка. Щоб вона перестала фантазувати, їй потрібні очі в інтернеті - тобто пошук.
Але «дати пошук» - це лише половина справи. Друга половина - дати розумний пошук і навчити агента шукати правильно. Не одним запитом навмання, а як справжній детектив.
Навіщо вайбкодеру розуміти, як шукає агент
Ти вайбкодер. Писати пошуковий рушій руками тобі не доведеться. Але розумієш, як агент шукає - і в руках у тебе суперсила:
- ШІ перестає вигадувати свіжі факти й починає їх перевіряти;
- відповіді стають актуальними - про сьогоднішні новини, ціни, версії бібліотек;
- агент тягне робочий приклад коду замість древнього зі своєї памʼяті;
- ти економиш нерви: менше «а це точно правда?» і ручних перевірок за агентом.
Різниця між «ШІ написав красиву маячню» і «ШІ послався на джерело й виявився правий» - це часто різниця в одному: чи сходив він пошукати, перш ніж відкрити рота.
Як Claude шукає: розумний пошуковик плюс розумна звичка
Тут дві окремі суперсили. Поодинці кожна працює упівсили. Перша - чим шукати, тобто хороший пошуковик. Друга - як шукати, тобто правильна звичка. Ідемо по черзі.
Нейропошук Exa: пошук за змістом, а не за ключовими словами
Звичайний пошук ловить збіг слів. Написав «дешевий ноутбук» - отримав сторінки, де трапляються слова «дешевий» і «ноутбук». Хай навіть це стаття «10 причин не купувати дешеві ноутбуки». Промах, а формально все збіглося. Нейропошук Нейропошук - пошук, який розуміє зміст запиту, а не просто шукає збіг літер. Можна описати своїми словами «що я хочу знайти», і він зрозуміє. працює інакше - головою. Він ловить зміст запиту й знаходить підхожі за змістом сторінки, навіть якщо слова там зовсім інші.
Exa Exa - пошуковий сервіс з нейропошуком, який агент підключає через MCP. Розуміє запит за змістом, а не за ключовими словами. - якраз такий пошуковик. Агент підключає його собі як інструмент, через MCP (про MCP є окремий урок). І в нього два інструменти під різні задачі:
web_search_exa- загальний пошук по інтернету: новини, факти, компанії, люди. Можна задати, скільки результатів повернути, і звузити фокус - наприклад шукати тільки про компанії.get_code_context_exa- пошук коду й документації: приклади з GitHub, відповіді зі Stack Overflow, сторінки доків. Віддає саме робочі шматки коду, а не статті «10 причин вивчити Python».
Ітеративний пошук: шукати колами, як детектив, а не навмання
А ось тут головна фішка. Новачок думає: пошук - це один запит, одна відповідь. Профі знає: хороший пошук - це цикл. Як у детектива. Спершу закидаєш широку сітку, дивишся, що потрапило, розумієш, якими словами це взагалі зветься, - і лише потім бʼєш точно.
Ітеративний пошук Ітеративний пошук - пошук у кілька кіл: пошукав широко → оцінив знахідки → уточнив запит → пошукав знову. Кожне коло робить запит точнішим. - це цикл із чотирьох кроків. Проганяють його максимум 3 рази, а потім зупиняються:
- Закинути сітку - широкий запит, щоб зрозуміти, що взагалі є по темі.
- Оцінити - глянути знахідки: що в точку, що мимо, чого ще бракує.
- Уточнити - додати слова, які підгледів у знахідках, і викинути явний непотріб.
- Повторити - піти шукати знову, уже прицільно. І так до 3 кіл.
Чому без цього ніяк? Та тому що часто ти сам не знаєш правильного слова. Шукаєш «обмеження запитів», а в проєкті це зветься «throttle». І перше коло якраз підсовує агенту потрібний термін - після чого другий запит влучає точно в яблучко.
Плюси й мінуси пошуку для агента
- Агент спершу шукає й перевіряє, а відповідає вже потім.
- Під код використовується пошук коду, під факти - веб-пошук.
- Запит уточнюється колами: перше широке, далі точніше.
- Відповідь спирається на кілька джерел, а не на памʼять моделі.
- Один запит навмання - і агент вірить першому посиланню, яким би кривим воно не було.
- Гонитва за кількістю: 20 каламутних сторінок замість 3 точних.
- Пошук крутиться вічно по колу без стопу - горять токени й час.
- Агент не дивиться на свіжість і подає торішню інфу як сьогоднішню.
Приклад: як агент вигадує ціни й старий код
Ти просиш агента: «накидай мені сторінку з тарифами на хостинг і підключи бібліотеку для оплати». Без пошуку він бадьоро напише ціни з голови (з імовірністю 99% застарілі) і підключить бібліотеку тієї версії, що памʼятає. А в неї за цей час змінилися команди. І код зустріне тебе червоною помилкою під час першого ж запуску.
Що сталося насправді:
- Ціни агент вигадав - сьогоднішній інтернет він в очі не бачив.
- Приклад коду взяв зі старої памʼяті - бібліотека відтоді встигла оновитися.
- Він жодного разу не звірився з реальним світом.
А як зробив би це тямущий вайбкодер? Попросив би агента спершу сходити за фактами, а вже потім сідати писати:
Зроби сторінку з тарифами на хостинг і підключи оплату. Але перш ніж писати код, спершу знайди факти в інтернеті:
- Веб-пошуком знайди актуальні ціни на хостинг за цей рік. Візьми 3 джерела і порівняй їх - не довіряй одній сторінці.
- Пошуком по коду знайди свіжий робочий приклад підключення оплати - саме код і документацію, а не оглядові статті.
- Якщо з першого запиту знайшов мало або мимо - уточни запит словами, які підгледів у знахідках, і пошукай ще раз. Не більше трьох кіл.
- У відповіді вкажи, на які джерела ти спирався. Чого не знайшов - чесно скажи, а не вигадуй.
Чек-лист: як зрозуміти, що агент знову фантазує
Перш ніж вірити відповіді на слово, пробіжи по чек-листу:
- Це свіжий факт? Ціни, новини, версії - без пошуку агент майже точно промахнеться. Проси шукати.
- Він реально шукав? Якщо у відповіді немає жодного джерела - найімовірніше, говорив із голови.
- Той інструмент? Код шукали пошуком коду, а не загальним веб-пошуком?
- Одне джерело чи кілька? Одне = ризик повірити дурниці. Проси порівняти 2-3.
- Чи не закопався в пошуку? Якщо агент ганяє десятки запитів - нагадай про правило трьох кіл.
Часті помилки новачка в роботі з пошуком
- Вірити агенту про свіжі факти без пошуку. Ціни, новини, версії - він їх вигадає не моргнувши. Завжди проси шукати.
- Шукати код загальним веб-пошуком. Отримаєш статті «топ-10 порад», а не робочий приклад. Для коду - пошук по коду.
- Один запит - і готово. Перший запит майже завжди чорновий. Дай агенту уточнити і сходити ще раз.
- Гнатися за кількістю джерел. 3 точних краще за 20 каламутних. Якість, а не купа.
- Дозволяти безкінечний пошук. Без стопу агент закопається до ранку. Став межу - 3 кола.
- Не просити джерела. Немає посилань - немає перевірки. Завжди проси показати, звідки інфа.
TL;DR - если коротко
- Гола модель памʼятає світ лише до дати навчання й обожнює впевнено вигадувати свіжі факти. Пошук - це її очі в живому інтернеті.
- Exa шукає за змістом, а не за літерами: один інструмент під веб, окремий - під код і документацію.
- Ітеративний пошук - це цикл, а не один запит: пошукав, оцінив, уточнив, пошукав знову. І стоп після 3 кіл.
- Одне точне джерело бʼє десять каламутних. Мета не «нагребти побільше», а знайти те, що справді потрібно.
- Потрібна надійна відповідь - проси агента спершу шукати й перевіряти, а говорити вже потім.
- Немає посилань - немає перевірки. Завжди проси показати, звідки інфа.