Вернуться к модулям
Модуль 2

Первые шаги: RAG-бот и инструменты

Создайте свой первый функционирующий ИИ-агент! Вы построите RAG-бота и добавите ему первый инструмент.

4-6 часов
3 заданий
6 пунктов чек-листа
Прогресс модуля0%

Теория

Хватит читать туториалы. Серьёзно. Возьмите один PDF-файл — своё резюме, статью, что угодно — и создайте чат-бота, который отвечает на вопросы по этому документу.

Используйте LangChain или n8n. Не парьтесь насчёт UI. Не парьтесь, если он медленный.

  • *Ваша единственная цель** — понять, как на самом деле связаны между собой:
  • Промпт
  • Контекстное окно
  • LLM

Вы должны прочувствовать ограничения базового RAG, прежде чем сможете оценить более сложные подходы.

  • *RAG (Retrieval-Augmented Generation)** — это техника, которая позволяет LLM работать с вашими данными.
  • *Процесс:**
  • Индексация — документы разбиваются на чанки (фрагменты)
  • Эмбеддинги — каждый чанк преобразуется в вектор (числовое представление)
  • Хранение — векторы сохраняются в векторной базе данных
  • Поиск — при запросе находим наиболее похожие чанки
  • Генерация — LLM получает найденные чанки как контекст и генерирует ответ
  • *Ключевые параметры чанкинга:**
  • Размер чанка — обычно 500-1500 символов
  • Overlap — перекрытие между чанками (10-20%)
  • Стратегия — по абзацам, предложениям или фиксированный размер
  • *Ограничения RAG:**
  • Галлюцинации при неточном поиске
  • Потеря контекста при плохом чанкинге
  • Ограничения контекстного окна LLM

Теперь дайте своему боту один инструмент. Калькулятор, API погоды — что угодно.

  • *Именно здесь вы переходите от RAG-бота к ИИ-агенту.**

Настоящая сложность не в том, чтобы вызвать API. Сложность — в промптинге, чтобы заставить агента понимать: - Когда использовать инструмент - Когда просто сгенерировать ответ - Как интерпретировать результат инструмента

  • *Function Calling** — механизм, при котором LLM решает, какую функцию вызвать и с какими параметрами. Вы описываете функции в специальном формате, и модель сама выбирает нужную.
  • *Пример инструментов для начала:**
  • Калькулятор для математических операций
  • API погоды (OpenWeatherMap)
  • Веб-поиск (SerpAPI, Tavily)
  • Запрос к базе данных

Минимальный MVP: Webhook → LLM-нода → Google Sheets или Notion

Human-in-the-loop: Вставьте себя в разрыв цепочки. Сначала результат летит вам в Telegram, где вы его апрувите или блокируете. Когда апрув без правок стабильно > 80%, убирайте ручной контроль.

Тест × 20: Прогоните поток двадцать раз. Этого достаточно, чтобы увидеть: - Реальный расход токенов - Время выполнения - Типичные ошибки

Бывает, что расход по токенам выше стоимости ручного труда. Тогда сужайте задачу.

Ключевые концепции

  • Концепция RAG (Retrieval-Augmented Generation): поиск + генерация
  • Векторные базы данных и эмбеддинги для хранения знаний
  • Chunking: как разбивать документы на части для эффективного поиска
  • Контекстное окно LLM: ограничения и как с ними работать
  • Добавление инструментов агенту: калькулятор, API погоды, веб-поиск
  • Function calling: как LLM решает, когда вызвать инструмент

Практические задания

ФАЗА 0: Создание RAG-бота на базе PDF

Средне

Возьмите 1 PDF-файл и создайте чат-бота, который отвечает на вопросы по этому документу.

Результат

Работающий бот + скриншот диалога с 5 вопросами

ФАЗА 0

ФАЗА 1: Добавление первого инструмента

Средне

Добавьте своему боту один инструмент: калькулятор, API погоды или веб-поиск.

Результат

Обновлённый бот + логи вызовов инструмента

ФАЗА 1

Тестирование ограничений RAG

Легко

Задайте боту 10 вопросов: 5 простых, 5 сложных. Документируйте результаты.

Результат

Отчёт с анализом: какие вопросы работают, какие нет

Внешние ресурсы

LangChain RAG Tutorial

Высокий
Документация

Microsoft Generative AI для начинающих

Высокий
Официальный курс

Чек-лист самопроверки

Я создал работающий RAG-бот на базе своего документа
Я понимаю, как работают эмбеддинги и векторный поиск
Я успешно добавил хотя бы один внешний инструмент
Я протестировал, когда агент вызывает инструмент, а когда нет
Я понимаю ограничения базового RAG (галлюцинации, неточности)
Я знаю, как настроить параметры чанкинга (размер, overlap)