name: tech-research description: "Исследование технологий RAG/ML/Python: embeddings, vector search, reranking, chunking, Qdrant, sentence-transformers, ColBERT, sparse vectors. Триггеры: 'как работает RAG', 'что такое embeddings', 'reranking', 'chunking strategies', 'vector search', 'BM25', 'graph RAG', 'Qdrant API', 'sentence-transformers', 'ColBERT', 'FAISS', 'sparse vectors', 'hybrid search'. НЕ для 1С — используй 1c-doc-research. НЕ для LangChain API — используй langchain-core. НЕ для LangGraph — используй langgraph-core."
Tech Research — исследование технологий RAG/ML/Python
Обзор
Исследовательский скилл для ответов по технологиям фреймворка: RAG, embeddings, vector search, LLM, Python-библиотеки. Официальная документация библиотек — эталон. Скилл ищет в official docs, GitHub, papers, верифицирует и кеширует результат.
НЕ для 1С — для вопросов по 1С:Предприятие используй 1c-doc-research.
Быстрый справочник
| Задача | Действие |
|---|---|
| Ответ по технологии | Фаза 0 (кеш) → Фаза 1 (official docs) → Фаза 2 (GitHub/papers) → Фаза 5 (кеш) |
| Проверить кеш | Прочитать cache/_index.json, найти по keywords |
| Поиск в official docs | WebSearch: "[библиотека] official documentation 2025 OR 2026" |
| Поиск на GitHub | WebSearch: "site:github.com [тема] stars:>100" |
| Сохранить в кеш | Создать topic-файл по cache/_topic_template.md + обновить _index.json |
| Проверить актуальность | last_verified < 7 дней = свежий, иначе quick verify |
Домены
| Домен | Примеры тем | Ключевые источники |
|---|---|---|
| RAG/Search | embeddings, chunking, reranking, hybrid search, BM25 | LangChain docs, Qdrant docs, papers |
| Python/ML | LangChain, LangGraph, sentence-transformers, ONNX | PyPI, GitHub, official docs |
| Vector DBs | Qdrant, ChromaDB, FAISS, pgvector | Official docs, GitHub |
| LLM/Agents | Claude API, tool use, agent patterns, MCP | Anthropic docs, LangGraph docs |
| Оптимизация | ColBERT, FlashRank, sparse vectors, RAPTOR | Papers (arxiv), HuggingFace |
Иерархия источников (СТРОГИЙ ПРИОРИТЕТ)
ПРИОРИТЕТ 1 — OFFICIAL DOCUMENTATION (обязательный)
│
├─ Официальная документация библиотеки/инструмента
│ (docs.langchain.com, qdrant.tech/documentation, etc.)
├─ API reference (readthedocs, GitHub pages)
│
ПРИОРИТЕТ 2 — VENDOR / AUTHOR
│
├─ Блог авторов библиотеки (langchain blog, qdrant blog)
├─ Release notes, changelogs, migration guides
├─ HuggingFace model cards (для моделей)
│
ПРИОРИТЕТ 3 — RESEARCH & CODE
│
├─ GitHub репозитории (stars > 100, active)
├─ Arxiv papers (для алгоритмов: ColBERT, RAPTOR, HyDE)
├─ Реальные бенчмарки (MTEB, BEIR)
│
ПРИОРИТЕТ 4 — COMMUNITY
│
├─ Stack Overflow (проверенные ответы, votes > 10)
├─ Habr / Medium (технические статьи с рабочим кодом)
├─ Discord/Forum обсуждения (с осторожностью)
│
ПРИОРИТЕТ 5 — НАШИ ДАННЫЕ
│
├─ MEMORY.md (наши решения, баги, trade-offs)
├─ CLAUDE.md (конфигурация фреймворка)
└─ docs/ (внутренняя документация проекта)
Процесс исследования
Фаза 0: Проверка кеша знаний (ПЕРЕД ПОИСКОМ)
- Прочитай
.claude/skills/tech-research/cache/_index.json - Найди topic по ключевым словам вопроса (fuzzy match по
keywords) - Если topic найден:
a. Прочитай topic-файл из
cache/b. Проверь свежесть:last_verified< 7 дней → использовать как естьlast_verified>= 7 дней → quick verify: WebSearch по теме, сравнить. Если API/версия не изменились — обновитьlast_verified. Иначе — Фаза 1 c. Пометить:[Из кеша знаний, верифицировано ДАТА]
- Если topic НЕ найден → перейти к Фазе 1
Фаза 1: Official Documentation (ОБЯЗАТЕЛЬНО)
Всегда начинай с официальных источников.
WebSearch: "[библиотека] official documentation [версия]"
WebFetch: [URL документации] — если URL известен
WebSearch: "[библиотека] API reference [класс/метод]"
Известные URL документации:
| Библиотека | Документация |
|---|---|
| LangChain | python.langchain.com/docs |
| LangGraph | langchain-ai.github.io/langgraph |
| Qdrant | qdrant.tech/documentation |
| sentence-transformers | sbert.net |
| Anthropic/Claude | docs.anthropic.com |
| FastAPI | fastapi.tiangolo.com |
| Pydantic | docs.pydantic.dev |
| ChromaDB | docs.trychroma.com |
| HuggingFace | huggingface.co/docs |
Из ответа извлеки:
- API — классы, методы, параметры, return types
- Версия — для какой версии информация (breaking changes!)
- Примеры кода — рабочие, проверенные
Фаза 2: Расширенные источники (ДОПОЛНЕНИЕ)
Запускай параллельно с Фазой 1.
GitHub:
WebSearch: "site:github.com [тема] stars:>100"
WebSearch: "site:github.com [библиотека] examples [паттерн]"
Stack Overflow (проверенные ответы):
WebSearch: "site:stackoverflow.com [тема] [библиотека] votes:10"
WebSearch: "site:stackoverflow.com [ошибка] [библиотека] is:answer"
Ограничение:
WebFetchНЕ работает с stackoverflow.com (блокируют ботов). Используй ТОЛЬКОWebSearchдля поиска SO-ответов. Извлекай суть из сниппетов поисковой выдачи.
Papers (для алгоритмов):
WebSearch: "site:arxiv.org [алгоритм] [год]"
WebSearch: "[алгоритм] paper implementation python"
Бенчмарки:
WebSearch: "[модель/алгоритм] benchmark MTEB OR BEIR"
WebSearch: "[библиотека] performance comparison 2025 OR 2026"
GitHub-репозитории — проверяй качество:
| Критерий | Минимум | Идеально |
|---|---|---|
| Stars | > 100 | > 1000 |
| Последний коммит | < 6 мес | < 1 мес |
| Issues ratio | < 50% open | < 20% open |
| Документация | README есть | docs/ есть |
Фаза 3: Верификация
- Версия — информация для текущей версии? Breaking changes между версиями?
- LangChain 0.1 → 0.2 → 0.3: много breaking changes
- Qdrant 1.x → текущая: API стабильный, но новые features
- Пометить:
[Версия X.Y, проверить для текущей]
- Deprecated — метод/класс не устарел? Есть замена?
- Перекрёстная проверка — факт подтверждён >= 2 источниками? Если нет:
[непроверено] - Наш опыт — проверить MEMORY.md на bug patterns, workarounds, наши решения по этой теме
Фаза 4: Оформление результата
Каждый факт ДОЛЖЕН иметь атрибуцию: [Docs, URL], [GitHub, URL], [Paper, URL], [MEMORY.md].
Фаза 5: Кеширование знаний (ПОСЛЕ ОТВЕТА)
- Определи нормализованное имя темы (lowercase, дефисы):
embeddings,langchain-tools,qdrant-sparse-vectors - Создай topic-файл по шаблону
cache/_topic_template.md:- Заполни все 7 категорий знаний: Идентификация, Установка и настройка, Core API, Паттерны, Архитектура, Диагностика, Источники
- Frontmatter:
topic,domain,created,last_verified,version,sources,keywords
- Сохрани в
.claude/skills/tech-research/cache/<имя-темы>.md - Обнови
cache/_index.json: добавь запись сfile,created,last_verified,keywords,domain
7 категорий знаний:
1. ИДЕНТИФИКАЦИЯ → Что это, для чего, когда использовать, альтернативы
2. УСТАНОВКА И НАСТРОЙКА → pip install, config, зависимости, env vars
3. CORE API → Классы, методы, параметры, типы, return values
4. ПАТТЕРНЫ → Код-примеры, сценарии, интеграции, best practices
5. АРХИТЕКТУРА → Как работает внутри, абстракции, ограничения, trade-offs
6. ДИАГНОСТИКА → Частые ошибки, антипаттерны, debugging, performance
7. ИСТОЧНИКИ → Полный список с атрибуцией [Docs, URL]
Полный шаблон: cache/_topic_template.md
Формат ответа (ОБЯЗАТЕЛЬНЫЙ)
## [Тема]: краткое резюме
### По официальной документации
<Основная информация из official docs>
<Каждый факт помечен: [Docs, URL]>
<Версия: [для X.Y.Z]>
### Код-примеры
<Рабочий код — копируй и запускай>
<Пометка: [из docs] или [из GitHub, URL] или [наш опыт]>
### Наш опыт (из фреймворка)
<Баги, workarounds, решения из MEMORY.md / CLAUDE.md>
<Пометка: [MEMORY.md] или [наш опыт, Phase N]>
### Альтернативы и trade-offs [если есть]
<Сравнение подходов, бенчмарки>
### Источники
- **[Official Docs]** URL — [что взято]
- **[GitHub]** URL — [что взято]
- **[Paper]** URL — [что взято]
- **[MEMORY.md]** — [что взято]
Антипаттерны
| Плохо | Почему | Как правильно |
|---|---|---|
| Пропустить official docs | Блоги устаревают, docs актуальны | ВСЕГДА начинай с WebSearch по official docs |
| Код без проверки версии | Breaking changes между версиями | Указывать версию: [для LangChain 0.3.x] |
| Deprecated API | Код сломается при обновлении | Проверять changelogs, migration guides |
| Факт без источника | Нельзя проверить | Каждый факт = [источник, URL] |
| Игнорировать MEMORY.md | Мы уже нашли баги и workarounds | Всегда сверять с нашим опытом |
| Не сохранить в кеш | Повторный поиск тратит время | Фаза 5: всегда кешировать |
| Копировать код из Medium | Может быть устаревшим / неполным | Предпочитать official docs + GitHub examples |
| Не указать trade-offs | Пользователь не видит альтернатив | Сравнивать подходы, давать бенчмарки |