3 Годувальник доками 4 Гід-напрямний ~9 хв

Розумний пошук для ШІ-агента: нейропошук Exa та перевірка фактів

Щоб агент не вигадував, а спершу йшов в інтернет і перевіряв

Розумний пошук для ШІ-агента: підключаємо нейропошук Exa та ітеративний пошук, щоб агент перевіряв факти, шукав свіжий код і не фантазував, а посилався на джерела.

Скіли ECC у цьому уроці: exa-searchiterative-retrieval

Що таке розумний пошук простими словами

Уяви начитаного друга. Проковтнув гору книжок, памʼятає все - але вже два роки сидить у кімнаті без вікон. Ні інтернету, ні телефону. Спитай його про погоду на завтра чи про свіжу версію якоїсь бібліотеки - і він або чесно скаже «не знаю», або, що значно гірше, з серйозним обличчям вигадає відповідь. Зізнаватися, що не в курсі, йому прикро.

Ось це і є гола модель. Вона памʼятає світ до того дня, коли її навчили. Що було далі - загадка. Щоб вона перестала фантазувати, їй потрібні очі в інтернеті - тобто пошук.

Але «дати пошук» - це лише половина справи. Друга половина - дати розумний пошук і навчити агента шукати правильно. Не одним запитом навмання, а як справжній детектив.

Sodi у кімнаті без вікон проти Sodi з вікном у живий інтернет та інструментами пошуку
Ліворуч - модель без пошуку. Праворуч - модель з очима в живому інтернеті (Sodi з розумним пошуком).

Навіщо вайбкодеру розуміти, як шукає агент

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

  • ШІ перестає вигадувати свіжі факти й починає їх перевіряти;
  • відповіді стають актуальними - про сьогоднішні новини, ціни, версії бібліотек;
  • агент тягне робочий приклад коду замість древнього зі своєї памʼяті;
  • ти економиш нерви: менше «а це точно правда?» і ручних перевірок за агентом.

Різниця між «ШІ написав красиву маячню» і «ШІ послався на джерело й виявився правий» - це часто різниця в одному: чи сходив він пошукати, перш ніж відкрити рота.

Як Claude шукає: розумний пошуковик плюс розумна звичка

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

Нейропошук Exa: пошук за змістом, а не за ключовими словами

Звичайний пошук ловить збіг слів. Написав «дешевий ноутбук» - отримав сторінки, де трапляються слова «дешевий» і «ноутбук». Хай навіть це стаття «10 причин не купувати дешеві ноутбуки». Промах, а формально все збіглося. Нейропошук працює інакше - головою. Він ловить зміст запиту й знаходить підхожі за змістом сторінки, навіть якщо слова там зовсім інші.

Exa - якраз такий пошуковик. Агент підключає його собі як інструмент, через MCP (про MCP є окремий урок). І в нього два інструменти під різні задачі:

  • web_search_exa - загальний пошук по інтернету: новини, факти, компанії, люди. Можна задати, скільки результатів повернути, і звузити фокус - наприклад шукати тільки про компанії.
  • get_code_context_exa - пошук коду й документації: приклади з GitHub, відповіді зі Stack Overflow, сторінки доків. Віддає саме робочі шматки коду, а не статті «10 причин вивчити Python».
Sodi демонструє пошук за ключовими словами проти розумного пошуку за змістом через Exa
Звичайний пошук ловить слова. Нейропошук ловить зміст (Sodi з розумним пошуком).

Ітеративний пошук: шукати колами, як детектив, а не навмання

А ось тут головна фішка. Новачок думає: пошук - це один запит, одна відповідь. Профі знає: хороший пошук - це цикл. Як у детектива. Спершу закидаєш широку сітку, дивишся, що потрапило, розумієш, якими словами це взагалі зветься, - і лише потім бʼєш точно.

Ітеративний пошук - це цикл із чотирьох кроків. Проганяють його максимум 3 рази, а потім зупиняються:

  1. Закинути сітку - широкий запит, щоб зрозуміти, що взагалі є по темі.
  2. Оцінити - глянути знахідки: що в точку, що мимо, чого ще бракує.
  3. Уточнити - додати слова, які підгледів у знахідках, і викинути явний непотріб.
  4. Повторити - піти шукати знову, уже прицільно. І так до 3 кіл.

Чому без цього ніяк? Та тому що часто ти сам не знаєш правильного слова. Шукаєш «обмеження запитів», а в проєкті це зветься «throttle». І перше коло якраз підсовує агенту потрібний термін - після чого другий запит влучає точно в яблучко.

Sodi як піксельний детектив у циклі ітеративного пошуку: закинути сітку, оцінити, уточнити, пошукати знову
Пошук - це коло детектива, а не один постріл навмання (Sodi з ітеративним пошуком).

Плюси й мінуси пошуку для агента

Розумний пошук працює на тебе
  • Агент спершу шукає й перевіряє, а відповідає вже потім.
  • Під код використовується пошук коду, під факти - веб-пошук.
  • Запит уточнюється колами: перше широке, далі точніше.
  • Відповідь спирається на кілька джерел, а не на памʼять моделі.
Пошук працює проти тебе
  • Один запит навмання - і агент вірить першому посиланню, яким би кривим воно не було.
  • Гонитва за кількістю: 20 каламутних сторінок замість 3 точних.
  • Пошук крутиться вічно по колу без стопу - горять токени й час.
  • Агент не дивиться на свіжість і подає торішню інфу як сьогоднішню.

Приклад: як агент вигадує ціни й старий код

Ти просиш агента: «накидай мені сторінку з тарифами на хостинг і підключи бібліотеку для оплати». Без пошуку він бадьоро напише ціни з голови (з імовірністю 99% застарілі) і підключить бібліотеку тієї версії, що памʼятає. А в неї за цей час змінилися команди. І код зустріне тебе червоною помилкою під час першого ж запуску.

Що сталося насправді:

  1. Ціни агент вигадав - сьогоднішній інтернет він в очі не бачив.
  2. Приклад коду взяв зі старої памʼяті - бібліотека відтоді встигла оновитися.
  3. Він жодного разу не звірився з реальним світом.

А як зробив би це тямущий вайбкодер? Попросив би агента спершу сходити за фактами, а вже потім сідати писати:

Промпт - скопіюй і спробуй

Зроби сторінку з тарифами на хостинг і підключи оплату. Але перш ніж писати код, спершу знайди факти в інтернеті:

  1. Веб-пошуком знайди актуальні ціни на хостинг за цей рік. Візьми 3 джерела і порівняй їх - не довіряй одній сторінці.
  2. Пошуком по коду знайди свіжий робочий приклад підключення оплати - саме код і документацію, а не оглядові статті.
  3. Якщо з першого запиту знайшов мало або мимо - уточни запит словами, які підгледів у знахідках, і пошукай ще раз. Не більше трьох кіл.
  4. У відповіді вкажи, на які джерела ти спирався. Чого не знайшов - чесно скажи, а не вигадуй.

Чек-лист: як зрозуміти, що агент знову фантазує

Перш ніж вірити відповіді на слово, пробіжи по чек-листу:

  1. Це свіжий факт? Ціни, новини, версії - без пошуку агент майже точно промахнеться. Проси шукати.
  2. Він реально шукав? Якщо у відповіді немає жодного джерела - найімовірніше, говорив із голови.
  3. Той інструмент? Код шукали пошуком коду, а не загальним веб-пошуком?
  4. Одне джерело чи кілька? Одне = ризик повірити дурниці. Проси порівняти 2-3.
  5. Чи не закопався в пошуку? Якщо агент ганяє десятки запитів - нагадай про правило трьох кіл.
Мем із Sodi: агент впевнено називає вигадану ціну замість того, щоб скористатися інструментами пошуку
Знайомо кожному, хто хоч раз повірив ШІ на слово (Sodi показує розумний пошук).

Часті помилки новачка в роботі з пошуком

  • Вірити агенту про свіжі факти без пошуку. Ціни, новини, версії - він їх вигадає не моргнувши. Завжди проси шукати.
  • Шукати код загальним веб-пошуком. Отримаєш статті «топ-10 порад», а не робочий приклад. Для коду - пошук по коду.
  • Один запит - і готово. Перший запит майже завжди чорновий. Дай агенту уточнити і сходити ще раз.
  • Гнатися за кількістю джерел. 3 точних краще за 20 каламутних. Якість, а не купа.
  • Дозволяти безкінечний пошук. Без стопу агент закопається до ранку. Став межу - 3 кола.
  • Не просити джерела. Немає посилань - немає перевірки. Завжди проси показати, звідки інфа.

TL;DR - если коротко

  • Гола модель памʼятає світ лише до дати навчання й обожнює впевнено вигадувати свіжі факти. Пошук - це її очі в живому інтернеті.
  • Exa шукає за змістом, а не за літерами: один інструмент під веб, окремий - під код і документацію.
  • Ітеративний пошук - це цикл, а не один запит: пошукав, оцінив, уточнив, пошукав знову. І стоп після 3 кіл.
  • Одне точне джерело бʼє десять каламутних. Мета не «нагребти побільше», а знайти те, що справді потрібно.
  • Потрібна надійна відповідь - проси агента спершу шукати й перевіряти, а говорити вже потім.
  • Немає посилань - немає перевірки. Завжди проси показати, звідки інфа.

Пошук по вікі

Натисніть Esc для закриття

Введіть запит для миттєвого пошуку по всіх сторінках курсів та уроків.