Надоело объяснять AI одно и то же?
Вы открываете новый чат с Claude Code, чтобы попросить его добавить фичу в старый микросервис. И снова пишете: "Вот структура проекта, вот основные файлы, вот бизнес-логика". Звучит знакомо? Каждый раз тратить 10 минут на контекст – это раздражает.
Теперь представьте, что ассистент сам знает всю вашу кодовую базу. Спросил "как у нас работает аутентификация?" – получил ссылку на точный файл с JWT-мидлварью. Попросил "найди похожие обработчики ошибок" – система показала три модуля из разных репозиториев.
Srag 2.0: ваш личный поисковик по коду
Srag – это CLI-утилита на Python. Суть проста: сканируешь папку с проектами, она разбивает код на логические чанки (функции, классы, блоки), превращает их в векторные эмбеддинги с помощью локальной модели и складывает в индекс. Потом по этому индексу можно искать семантически похожие фрагменты.
Ключевое обновление 2026 года – srag 2.0 перешел с устаревших Sentence-Transformers на движок Emborg 0.8, который поддерживает самые свежие модели эмбеддингов, включая BGE-M4 Multilingual и Snowflake Arctic Embed. Эти модели понимают контекст кода намного лучше, чем текстовые аналоги 2024 года.
Внимание: индексация больших репозиториев (например, ядро Linux) займет время и потребует ~4 ГБ оперативной памяти для модели BGE-M4. Но сам поиск работает мгновенно.
1Установка: одна команда и готово
Ставится через pip. Рекомендую создать виртуальное окружение.
pip install srag==2.0.3Проверяем, что все работает:
srag --version2Настройка: укажи папку и жди
Переходим в корень своего проекта и запускаем индексацию. По умолчанию srag использует модель BGE-M4-base (размером ~2.2 ГБ). Она скачается автоматически при первом запуске.
srag index . --model bge-m4-baseИндекс сохранится в папке .srag/ в корне проекта. Его можно переносить и использовать на другой машине.
MCP: мост между srag и AI
Вот где начинается магия. Srag поставляется со встроенным MCP-сервером. MCP (Model Context Protocol) – это стандарт, который Anthropic и другие продвигают с 2025 года для безопасного подключения инструментов к AI. Проще говоря, это USB-порт для ассистентов.
Запускаем сервер:
srag serveСервер стартует на localhost и предоставляет два инструмента (tools) через MCP: search_code и get_code_context. Теперь нужно подключить его к вашему ассистенту.
3Интеграция с Claude Code и Cursor
В Claude Code (начиная с версии 1.8) заходим в Settings → Developer → MCP Servers. Добавляем новый сервер:
{
"mcpServers": {
"srag": {
"command": "srag",
"args": ["serve"],
"env": {}
}
}
}Перезапускаем Claude Code. Теперь в чате можно писать: "Поищи в коде реализацию кэширования Redis". Ассистент вызовет инструмент search_code и получит релевантные фрагменты из вашего индекса. Контекст подставится автоматически.
А что с конкурентами? Ragex и другие
Srag – не единственный игрок. Например, Ragex использует AST и графы зависимостей для поиска. Это мощно для анализа архитектуры ("найди все вызовы этой функции"), но тяжеловесно для простых запросов вроде "как мы валидируем email".
| Инструмент | Подход | Плюсы | Минусы |
|---|---|---|---|
| Srag 2.0 | Семантические эмбеддинги | Быстрая индексация, понимает смысл, легковесный MCP-сервер | Может пропускать структурные связи |
| Ragex | AST и графы | Точный структурный поиск, видит зависимости | Медленная индексация, сложнее в настройке |
| Простые grep-системы | Текстовый поиск | Мгновенно, ничего не нужно индексировать | Не понимает синонимы и абстракции |
Выбор зависит от задачи. Для повседневного "вспомнить, как мы это делали" srag идеален. Для рефакторинга монолита на микросервисы лучше взять Ragex. А можно и совместить – некоторые собирают целые AI-агенты из LEGO, где каждый инструмент решает свою задачу.
Когда srag спасает, а когда нет
Сценарий 1: Новый разработчик присоединяется к проекту. Вместо недели чтения документации он просто спрашивает у Claude Code: "Покажи примеры работы с нашим API гейтвеем". Srag находит все relevant файлы в миллисекунды.
Сценарий 2: Вы пишете новую фичу и хотите придерживаться существующего стиля. "Найди все обработчики POST-запросов в контроллерах пользователя". Получаете пять примеров, копируете паттерн.
Сценарий 3: Нужно найти баг. "Где в коде может происходить утечка памяти при работе с изображениями?" Тут srag может дать только общие подсказки. Для такого лучше использовать специализированные инструменты статического анализа.
Главный недостаток srag (да и любого семантического поиска) – он не понимает код на уровне компилятора. Он ищет по смыслу текста. Поэтому для точного поиска сигнатур функций или анализа типов он не подходит.
Что дальше? Совет от бывалого
Настройте srag на индексацию не одного проекта, а всей папки ~/projects. И добавьте его сервер в автозагрузку. Тогда ваш AI-ассистент будет иметь доступ ко всей вашей профессиональной истории за последние годы.
Но предупреждаю: после того, как вы привыкнете к тому, что AI помнит ваш код лучше вас, возвращаться к ручному объяснению контекста будет невыносимо. Это точка невозврата.
И последнее: srag – open source. Если вам не хватает фич (например, индексации бинарных файлов или поддержки вашей любимой модели эмбеддингов), заводите issue или форкайте. Экосистема MCP в 2026 году развивается бешеными темпами, и такие инструменты становятся стандартом для построения локальных AI-монстров.
.mcp/ конфиг с набором инструментов для AI, включая семантический поиск, линтеры и даже тестовые раннеры.