Умный поиск для ИИ-агента: нейропоиск 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 кругов.
- Один точный источник бьёт десять мутных. Цель не «нагрести побольше», а найти то, что реально нужно.
- Нужен надёжный ответ - проси агента сначала искать и проверять, а говорить уже потом.
- Нет ссылок - нет проверки. Всегда проси показать, откуда взяты данные.