Подход Cursor к быстрому поиску с помощью регулярных выражений для ИИ-агентов

Решение проблем производительности регулярных выражений в рабочих процессах агентов
Cursor создаёт индексированный поиск по регулярным выражениям специально для ИИ-агентов программирования, решая узкое место, когда традиционные инструменты вроде ripgrep могут тормозить рабочие процессы в больших кодовых базах. Проблема особенно остра в корпоративных монорепозиториях, где вызовы rg часто превышают 15 секунд, нарушая интерактивное руководство ИИ-агентов.
Основная проблема с текущими инструментами
Большинство оболочек ИИ-агентов, включая Cursor, по умолчанию используют ripgrep для поиска по регулярным выражениям. Хотя ripgrep предлагает лучшую производительность, чем классический grep, с разумными настройками игнорирования файлов, у него есть одно фундаментальное ограничение: он должен сканировать содержимое всех файлов. Это становится проблематичным в больших кодовых базах, где разработчикам нужно реальное время взаимодействия с ИИ-агентами.
Индексированный подход на основе классического исследования
Подход с индексацией основан на исследовании, впервые опубликованном в 1993 году Зобелем, Моффатом и Саксом-Дэвисом в работе «Поиск в больших лексиконах частично определённых терминов с использованием сжатых инвертированных файлов». Этот метод использует n-граммы (сегменты строк из n символов) для создания инвертированных индексов, с эвристиками для разложения регулярных выражений на деревья n-грамм, которые можно искать в индексе.
Как работают инвертированные индексы
Инвертированный индекс — это фундаментальная структура данных, лежащая в основе поисковых систем. Документы разбиваются на токены через токенизацию (в данном случае отдельные слова как токены). Эти токены становятся ключами в словаре, где значениями являются списки постингов, идентифицирующие все документы, содержащие каждый токен. При поиске нескольких токенов система загружает их списки постингов и пересекает их, чтобы найти документы, содержащие все указанные термины.
Этот подход аналогичен тому, как традиционные IDE создают синтаксические индексы для операций вроде «Перейти к определению», но нацелен специально на операции поиска по регулярным выражениям, которые выполняют современные ИИ-агенты при поиске текста.
📖 Прочитать полный источник: HN AI Agents
👀 Смотрите также

Claude-voice: Локальный TTS с выделением слов для Claude Code
Claude-voice — это инструмент на Python, который добавляет локальное преобразование текста в речь с подсветкой слов в реальном времени к голосовому режиму Claude Code. Он использует Kokoro TTS (82 миллиона параметров), работающую полностью локально без API-ключей.

First-Tree: Open-Source Daemon, использующий Claude Code для сортировки уведомлений GitHub, пока вы спите
Демон панели меню с открытым исходным кодом, использующий Claude Code для автономной сортировки уведомлений GitHub – за последнее сканирование он обработал 98 из 100 уведомлений, оставив лишь 2 для проверки человеком.

Открытый мозг: Open-source MCP-сервер добавляет постоянную память с авто-графом и семантическим поиском для Claude
Open Brain — это сервер MCP с открытым исходным кодом, который предоставляет Клоду постоянную память между сессиями с автоматическим извлечением сущностей, семантическим дедуплицированием и авто-графированием связей между мыслями. Он использует Supabase с pgvector и Deno Edge Functions, может быть развернут самостоятельно и включает 16 инструментов MCP для обхода графа, просмотра сущностей и синтеза еженедельных обзоров.

AI Claw: Бессерверный мост соединяет Alexa с локальным OpenClaw с двойной доставкой
AI Claw — это конвейер на Python для AWS Lambda, который соединяет динамики Amazon Echo с локальными экземплярами OpenClaw, обходя 8-секундный таймаут Amazon за счёт архитектуры «отправил и забыл» с двойной доставкой в Telegram и нативный вывод звука на Echo.