Pensieve предлагает локальный поиск для кодинг-агентов: на 43% меньше вызовов

Pensieve предлагает локальный поиск для кодинг-агентов: на 43% меньше вызовов

Pensieve, бесплатное приложение с открытым кодом (лицензия MIT), которое индексирует на компьютере пользователя файлы и папки, git-репозитории (включая незакоммиченные правки и рабочие деревья) и сессии Claude Code, Codex и Qwen Code, а также хранилища Obsidian и, по желанию, Apple Notes. Поиск вызывается сочетанием Control+Shift и работает по смыслу и по точным словам: кавычки ищут фразу дословно, знак минус исключает слово, а фильтры сужают выдачу до файлов, кода или сессий, типа файла, папки или репозитория через in:.

Главная идея, не заставлять агента грепать весь диск и читать файлы целиком. Через MCP агент задаёт Pensieve один вопрос и получает несколько самых релевантных фрагментов с указанием файла и строки, поэтому начинает работу сразу с нужного кода. Команда pensieve integrate recommended подключает Claude Code, Codex, Cursor, Gemini CLI, Windsurf, Claude Desktop и VS Code, добавляет в файлы инструкций блок «search before you grep» («сначала поищи, потом грепай»), навык поиска и два хука для Claude Code. Каждый поиск, по данным страницы, занимает 0,1-0,2 секунды.

Своё утверждение создатели проверяют бенчмарком: Claude Sonnet в Claude Code решал одни и те же 72 отложенные задачи на поиск кода в четырёх реальных репозиториях (504, 1783, 2383 и 34 847 файлов), по два прогона на каждую конфигурацию. По словам авторов, эти задачи никогда не использовались для настройки Pensieve. Результаты: Claude Code с Pensieve нашёл нужный файл в 131 из 144 прогонов против 123 с одним grep; вызовов инструментов было на 43% меньше; поиск обошёлся на 18% дешевле в целом и на 6-28% дешевле в каждом из четырёх репозиториев, причём больше всего экономия в самом большом; он также был на 21% быстрее, а токенов ушло на 16% меньше. После установки инструкций агент использовал Pensieve во всех 144 прогонах. Стоимость, это заявленные Claude Code расходы на API по прайс-листу. Оговорка самих авторов: на точных сообщениях об ошибках выигрывает одиночный grep, а на остальных запросах, Pensieve. Отдельный абзац с цифрами 2,0 вызова против 3,4 у grep и ответом после одного вызова в 82 из 144 прогонов страница называет иллюстративным примером со ссылкой на этот бенчмарк.

Кроме поиска, Pensieve строит карту владения кодом по git blame: кто написал каждый участок (с учётом строк, которые остались до сих пор), кто лучше всех знает тему и что каждый коллега выпустил за последние 90 дней. Приложение помечает области репозитория, где большинство строк написано людьми без недавних коммитов, и показывает, сколько активных людей их ещё знают и кто знает лучше всех (показатель bus factor).

По заявлению авторов, индексация и поиск идут локально: эмбеддинг-модель работает на устройстве, индекс лежит в ~/.pensieve, сервер отвечает только этому Mac, аккаунт и облако не нужны. Выгрузки менеджеров паролей, ключи, файлы .env и учётные данные не индексируются, а каждый источник можно отключить. Pensieve сам скачивает только свои модели и проверяет обновления на GitHub (это отключается). Данные уходят с компьютера, только если для необязательных ИИ-сводок выбрать Claude Code или Codex; встроенная Qwen 3.5 9B, LM Studio или отсутствие модели оставляют всё локальным. Приложению нужен Apple Silicon, оно пока не нотаризовано, поэтому macOS просит подтверждение при первом запуске; на Linux и Intel Mac тот же промпт ставит бэкенд и браузерный визуализатор. Индексация потребляет много энергии, так что ноутбук лучше подключить к питанию. Устанавливать предлагается через самого кодинг-агента: ему вставляют готовый промпт.

Ключевые факты

  • Pensieve, бесплатный open source инструмент (MIT) для Mac: локально индексирует файлы, git-репозитории и сессии кодинг-агентов и отдаёт им один поиск по MCP вместо серии grep и чтения файлов.
  • В собственном бенчмарке авторов (Claude Sonnet в Claude Code, 72 задачи, 4 репозитория от 504 до 34 847 файлов) вызовов инструментов было на 43% меньше, а правильный файл найден в 131 из 144 прогонов против 123 с grep.
  • Стоимость одного поиска в тесте ниже на 18% в целом и на 6, 28% в каждом репозитории, поиск быстрее на 21%, токенов на 16% меньше; на точных текстах ошибок выигрывает одиночный grep.
  • Дополнительно есть карта владения кодом по git blame, активность коллег за 90 дней и пометка областей, где знания ушли вместе с авторами кода (bus factor).
  • Данные остаются на Mac, кроме случая, когда для необязательных ИИ-сводок выбран Claude Code или Codex; приложению нужен Apple Silicon, и оно пока не нотаризовано.

Почему это важно

Кодинг-агенты тратят значительную часть вызовов и токенов на то, чтобы найти нужное место в репозитории: грепают и читают файлы целиком, и каждый прочитанный файл стоит токенов. Pensieve, попытка вынести эту задачу в локальный индекс по смыслу и точным словам, доступный любому MCP-клиенту. Если цифры авторов подтвердятся на ваших репозиториях, это уменьшает расход токенов и ускоряет старт агента на нужном коде. Для сравнения: в их тесте поиск стал дешевле на 18% в целом, а больше всего экономия вышла в самом большом репозитории.

Кому это важно

Разработчикам на Mac с Apple Silicon, которые работают с Claude Code, Codex, Cursor, Gemini CLI, Windsurf, Claude Desktop или VS Code и упираются в стоимость и скорость агентов на больших репозиториях. Также командам, которым интересна карта владения кодом и поиск областей, где знания остались у немногих. Тем, кто работает на Linux или Intel Mac, доступен только бэкенд и браузерный визуализатор; панель поиска на Intel Mac появится при установленных инструментах командной строки Xcode.

Как это применить

Установка устроена через самого агента: промпт со страницы вставляют в Claude Code, Codex, Cursor, Gemini CLI, Qwen Code, Windsurf или VS Code, агент ставит приложение и подключает Pensieve ко всем агентам на Mac. Затем он спрашивает, что индексировать: пока вы не выберете, ничего не индексируется. После подключения агентов нужно перезапустить, потому что MCP-серверы загружаются при их старте. Команда pensieve integrate recommended добавляет блок «search before you grep» и навыки; без него агенты, как пишут авторы, грепают по привычке. Приложение бесплатное, код открыт под лицензией MIT. Скрипты бенчмарка лежат в каталоге bench/ и позволяют прогнать тест на собственных репозиториях. Удаление: pensieve integrate all --remove, затем перетащить приложение в корзину и удалить ~/.pensieve, ~/.local/share/uv/tools/pensieve и ~/.local/bin/pensieve.

Можно ли доверять

Все цифры взяты с рекламной страницы самого инструмента; независимой проверки в материале нет. Бенчмарк проведён только с Claude Sonnet в Claude Code, результатов для Codex, Cursor и других агентов страница не приводит. Базовая конфигурация, стандартный набор инструментов агента с grep; сравнения с другими индексаторами и системами поиска по коду нет. Стоимость выражена только в процентах, без абсолютных сумм. Абзац с 2,0 против 3,4 вызова страница прямо называет иллюстративным примером, а пример с «acme-app», не измеренными данными. Страница не называет автора, компанию или разработчика Pensieve и не указывает даты. Плюс в том, что авторы раскрывают методику (72 отложенные задачи, два прогона, один пакет из-за кэша промптов) и публикуют скрипты, так что тест можно повторить.

Риски и подводные камни

Приложение пока не нотаризовано, поэтому macOS блокирует его, и открыть его нужно вручную через «Конфиденциальность и безопасность». Индексация, по словам авторов, потребляет много энергии. Место на диске и память под индекс страница не указывает. Агентам нужно явное указание искать через Pensieve: без блока инструкций они по привычке возвращаются к grep, а на точных текстах ошибок одиночный grep и вовсе выигрывает. Если выбрать Claude Code или Codex для необязательных ИИ-сводок, часть данных покинет компьютер (такие сводки помечены как Cloud). Заявления о локальности и о том, что секреты не индексируются, исходят от самих авторов и проверяются только по открытому коду.