Суть урока
Claude умный, но он ничего не знает о твоей компании, твоих клиентах, твоих документах. RAG — это как дать Клоду доступ к твоей личной библиотеке: он может найти нужную книгу за секунду и использовать её при ответе. Без RAG он отвечает из общих знаний. С RAG — из твоих конкретных данных.
Ключевые концепции
- RAG решает проблему "модель не знает мои данные"
- Данные превращаются в векторы — математические отпечатки смысла
- Поиск идёт не по ключевым словам, а по смыслу (семантический)
- Стек: Gemini Embedding 2 (векторизация) + Pinecone (хранение) + Claude (генерация)
Теория
Проблема которую решает RAG
Claude обучен на данных до определённой даты и ничего не знает о твоём бизнесе. Если ты создаёшь агента-консультанта для клиента — агент не знает продукты компании, внутренние правила, историю клиентов. Есть несколько подходов к решению:
Вариант 1: Запихнуть всё в системный промпт Добавить всю документацию прямо в claude.md. Проблемы: ограничение контекстного окна (на октябрь 2026 у Opus 5.5 и Sonnet 5.5 это 1 млн токенов, у Haiku 4.5 окно меньше, см. Актуальное сейчас; большая корпоративная база знаний всё равно не влезет, а качество ответов падает задолго до заполнения окна), дорого (читается при каждом запросе), плохо обновляется. Для небольшой базы это, наоборот, самый простой путь: если материалов немного, положи их в контекст и не строй лишней инфраструктуры.
Вариант 2: Fine-tuning Дообучить модель на твоих данных. Дорого, долго, требует экспертизы, результат непредсказуем. Не для большинства задач.
Вариант 3: RAG Хранить данные отдельно, искать релевантное при каждом запросе, добавлять найденное в контекст. Это правильный подход для большинства задач с внутренними данными.
Как работает RAG: пошагово
Шаг 1: Подготовка данных (Indexing)
Ты берёшь свои данные — PDF документы, статьи, страницы сайта, таблицы, изображения, видео — и обрабатываешь их через embedding-модель.
Embedding-модель превращает каждый кусок текста (или изображение, или видео) в вектор — массив из тысяч чисел. Эти числа кодируют смысл содержимого. Тексты с похожим смыслом получают похожие векторы, даже если они написаны разными словами.
Пример: "Как отменить подписку" и "Процедура расторжения договора" — разные слова, но одинаковый смысл. Векторы будут близки.
Шаг 2: Хранение векторов (Vector Database)
Все полученные векторы сохраняются в векторной базе данных — Pinecone. Это специализированная база данных оптимизированная именно для поиска по векторам.
Каждый вектор хранится вместе с исходным текстом и метаданными (источник, дата, категория). Так когда вектор найден — ты можешь достать оригинальный текст.
Шаг 3: Поиск (Retrieval)
Когда пользователь задаёт вопрос — вопрос тоже превращается в вектор (той же embedding-моделью). Затем в базе данных ищутся N самых близких векторов по математическому расстоянию (cosine similarity).
Результат: топ-3 или топ-5 документов которые семантически ближе всего к вопросу.
Шаг 4: Обогащение и генерация (Augment + Generate)
Найденные документы добавляются в контекст перед запросом к Claude:
Вот релевантные документы из базы знаний:
[Документ 1: Условия возврата товара...]
[Документ 2: FAQ по отмене подписки...]
Ответь на вопрос пользователя, используя информацию из этих документов:
"Как мне вернуть товар купленный 3 месяца назад?"Claude видит конкретные данные и отвечает на их основе — не из общих знаний.
Google Gemini Embedding 2: мультимодальность
Для векторизации в этом стеке используется Google Gemini Embedding 2 (идентификатор модели gemini-embedding-2) — embedding-модель с мультимодальными возможностями. На октябрь 2026 она вышла из предварительной версии в стабильную. Есть и предыдущая, только текстовая модель gemini-embedding-001.
Что это означает практически:
- Текстовые документы → вектор ✅
- Изображения (JPG, PNG) → вектор ✅
- Видео → вектор ✅
- Аудио → вектор ✅
- PDF-документы → вектор ✅
Это открывает возможности которых нет в текстовых embedding-моделях: база знаний с изображениями продуктов, видео-инструкции, голосовые заметки — всё это становится доступным для поиска.
Пример: компания производящая технику хранит фотографии всех моделей. Пользователь загружает фото сломанного прибора — система находит похожие изображения в базе и определяет модель даже без названия.
Pinecone: почему векторная база данных, а не обычная
Обычная база данных (PostgreSQL, MySQL) умеет искать по точным совпадениям: "найди записи где category = 'FAQ'". Она не умеет искать по смыслу.
Pinecone оптимизирован для одной задачи: "найди N векторов ближайших к этому вектору". Поиск работает за миллисекунды даже по миллионам векторов. Это cloud-based решение — не надо разворачивать свою инфраструктуру.
Альтернативы: Weaviate (open source), Qdrant (open source, можно self-host), pgvector (расширение для PostgreSQL), Chroma (локально для разработки). Pinecone хорош для старта — простая интеграция, есть бесплатный план Starter с ограничениями по объёму и числу операций.
Процесс создания RAG-системы
- Подготовь данные — собери документы, статьи, FAQ, изображения которые должна знать система
- Разбей на чанки — большие документы разбиваются на куски ~500 слов (с перекрытием ~50 слов). Это важно: целый документ в одном векторе хуже чем несколько чанков с конкретными темами
- Создай индекс в Pinecone — через API создаёшь "пространство" для хранения
- Загрузи векторы — для каждого чанка получаешь вектор через Gemini Embedding 2, загружаешь в Pinecone
- Создай интерфейс запросов — функция которая принимает вопрос, ищет в Pinecone, добавляет в контекст Claude
- Тестируй — задаёшь вопросы, проверяешь качество ответов, корректируешь
Когда RAG нужен, когда нет
RAG нужен:
- Агент-консультант по продуктам/услугам компании
- Поиск по корпоративной базе знаний
- Вопросы по специфическим документам (юридические, технические)
- Персонализированные рекомендации на основе истории
RAG не нужен:
- Задачи где Claude и так знает всё (общие вопросы, программирование)
- Если вся нужная информация помещается в claude.md
- Одноразовые задачи где данные не меняются
Реальные применения RAG
База знаний компании — сотрудник спрашивает "как оформить командировочные?" — агент находит нужный раздел HR-политики и объясняет своими словами.
Агент-консультант интернет-магазина — покупатель описывает проблему с товаром — агент находит похожие случаи в базе решений и предлагает конкретный шаг.
Юридический ассистент — юрист загружает пакет договоров, задаёт вопрос "есть ли в этих договорах форс-мажорные оговорки?" — система находит релевантные пункты.
Поддержка на основе тикетов — агент видел тысячи похожих вопросов от клиентов — находит аналогичные и использует ответы которые уже помогли.
Практика
Задание: простая RAG-система на текстах
Для практики создадим небольшую RAG-систему без внешних сервисов — используя локальное хранилище.
- Создай папку
knowledge-base/в проекте с 5-7 текстовыми файлами по теме которую хорошо знаешь (например FAQ по твоим услугам) - Попроси Claude Code: "Создай простую RAG-систему которая ищет по файлам в knowledge-base/. При запросе — находит наиболее релевантный документ и отвечает на его основе. Используй TF-IDF для поиска (без внешних API)."
- Протестируй: задай вопрос который есть в одном из документов, затем вопрос которого нет
- Для полноценного стека с Pinecone + Gemini Embedding: создай аккаунт на pinecone.io (бесплатный план Starter), получи API ключ (храни его в
.env, не в чате), попроси агента мигрировать систему
Сравнение embedding-моделей
| Модель | Модальности | Стоимость (на октябрь 2026) | Лучше для |
|---|---|---|---|
| Google Gemini Embedding 2 | Текст + изображения + видео + аудио + PDF | Есть бесплатный уровень с лимитами; платные цены на странице цен Gemini API | Мультимодальные базы знаний |
| Voyage AI (семейство voyage-4) | Текст (высокое качество), есть мультимодальные модели | Есть бесплатный стартовый объём; актуальные цены на сайте Voyage AI | Точный семантический поиск по тексту |
| OpenAI text-embedding-3-small | Текст | Невысокая цена за токены; см. страницу цен OpenAI | Бюджетный вариант, текст |
| OpenAI text-embedding-3-large | Текст (высокое качество) | Дороже small-модели; см. страницу цен OpenAI | Максимальная точность по тексту |
Сравнение векторных баз данных
Условия бесплатных планов меняются: актуальные цены и версии смотри на сайтах сервисов и на странице Актуальное сейчас.
| База | Тип | Бесплатный план | Лучше для |
|---|---|---|---|
| Pinecone | Cloud | План Starter с лимитами | Продакшн, простая интеграция |
| Chroma | Локальная | Бесплатно | Разработка, прототипы |
| Qdrant | Self-host / Cloud | Бесплатно (self-host) | Полный контроль, open source |
| Weaviate | Self-host / Cloud | Self-host бесплатно, облако см. страницу цен | Сложные запросы, GraphQL |
| pgvector | Расширение PostgreSQL | Бесплатно | Если уже есть PostgreSQL |
Инструменты и ресурсы
- Pinecone — векторная база данных, бесплатный стартовый план
- Google Gemini Embedding 2 — через Google AI API, мультимодальная embedding модель
- Anthropic: Embeddings — официальное руководство по эмбеддингам для Claude (там же ссылка на пример RAG с Pinecone)
- LangChain / LlamaIndex — Python фреймворки упрощающие создание RAG-пайплайнов
- Chroma — локальная векторная база для разработки (без регистрации)
- Voyage AI — embedding-модель с высокой точностью; своей embedding-модели у Anthropic нет, документация Anthropic ссылается на Voyage
- OpenAI text-embedding-3-small — альтернативная embedding-модель (только текст, дешевле)
Частые ошибки
Ошибка 1: Слишком большие чанки Загрузил целые документы по 5000 слов как один вектор. Результат: поиск находит документ, но нерелевантную часть. Оптимальный размер чанка: 300-500 слов с перекрытием 50-100 слов.
Ошибка 2: RAG когда хватает CLAUDE.md Если у тебя 10 правил и 5 шаблонов — запихни в CLAUDE.md. RAG нужен когда данных заметно больше, чем разумно держать в контексте (окно на октябрь 2026: 1M токенов у Opus 5.5 и Sonnet 5.5, меньше у Haiku 4.5, а качество проседает раньше заполнения). Для маленьких баз знаний RAG — overkill.
Ошибка 3: Не тестировать качество ответов Настроил RAG, один вопрос проверил — работает. Но на 10 разных вопросах 3 ответа неточные. Создай набор из 15-20 тестовых вопросов с правильными ответами и проверяй качество систематически.
Перекрёстные ссылки
- Токены и управление контекстом — почему нельзя просто загрузить всё в контекст вместо RAG
- MCP: расширяем возможности Claude Code — MCP-серверы которые могут работать как RAG-источники
- Управление контекстом — продвинутые техники — продвинутые стратегии управления контекстом включая RAG
Ключевые выводы
RAG — это мост между огромными знаниями Claude и специфическими данными твоего бизнеса. Без RAG агент умный, но слепой к твоей конкретной реальности.
Векторный поиск ищет по смыслу, не по словам. Это принципиально отличает RAG от простого grep или CTRL+F — пользователь может спросить своими словами и всё равно найдёт нужное.
Mультимодальность (текст + изображения + видео) открывает применения которые невозможны с текстовыми эмбеддингами. Возможность новая, и её стоит попробовать на своих материалах.
Следующий урок
→ Сайты и веб-приложения с нуля: от промпта до готового сайта
Отметка хранится только в этом браузере и никуда не отправляется. Мой прогресс