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 в цикле итеративного поиска: закинуть сеть через web_search_exa, оценить, уточнить запрос, искать снова
Поиск - это круг детектива, а не один выстрел наугад. (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 для закрытия

Введите запрос для мгновенного поиска по всем страницам курсов и уроков.