AI

AI-куратор для образовательного курса с контролем источников знаний

Agentium29 нояб. 2025 г.
AI-куратор для образовательного курса с контролем источников знаний

⚠️ Когда ChatGPT недостаточно

Образовательные курсы сталкиваются с классической проблемой: после завершения обучения студенты остаются один на один с практическим применением полученных знаний. Возникают вопросы: "Как мне применить это в моей ситуации?", "Что делать в конкретном случае?", "Правильно ли я понимаю принципы курса?"

Проблема ChatGPT: Система периодически отвечала на основе общих знаний, а не материалов курса, что создавало риск искажения философии курса и несогласованности с изучаемым материалом.

✅ Решение: контролируемый AI-агент

Главное преимущество: Специализированный чат-бот гарантированно отвечает только на основе материалов курса

Ключевые особенности решения:

  • Строгий контроль источников
  • Система использует семантический поиск по векторизованным материалам курса, что гарантирует:
  • 95%+ ответов содержат только информацию из курса
  • Автоматическое определение, когда информации в курсе недостаточно
  • Элегантное перенаправление к релевантным темам курса вместо отказа
  • Адаптация к ситуациям студентов

Бот не просто цитирует материалы — он:

  • Помогает применить принципы курса к конкретным жизненным ситуациям
  • Задает вопросы для саморефлексии вместо прямых советов
  • Следует психологическим принципам курса (внутренняя причина, выбор, поддержка)
  • Доступность и удобство
  • Интеграция с Telegram — работает в личных чатах и группах
  • Активация в группах только при прямом обращении к боту
  • Система управления пользователями с автоматической регистрацией

📊 Результаты

После внедрения системы достигнуты следующие показатели:

МетрикаРезультат
Качество ответов95%+ соответствие материалам курса
Время ответадо 3 секунд, включая поиск в базе знаний
Удовлетворенность студентовПоложительная обратная связь о практической пользе
Покрытие курса100% материалов доступно для поиска

💼 Бизнес-ценность

Решение позволяет:

ПреимуществоОписание
МасштабированиеПоддержка студентов без увеличения команды кураторов
ЕдинообразиеПоддержание консистентности в ответах и подходах
ВовлеченностьПостоянная доступность поддержки повышает активность студентов
АналитикаСбор данных по вопросам студентов для улучшения курса
ЭкономияСнижение нагрузки на человеческих кураторов

⚙️ Техническая реализация для разработчиков

💡 Информация для разработчиков: Подробное описание архитектуры, технологий и принципов работы AI-агента

В этом разделе рассмотрим архитектурные решения, технологии и принципы работы системы.

🏗️ Архитектурный подход

Проект построен на принципе KISS (Keep It Simple, Stupid) — начали с минимальной работающей системы и итеративно развивали функциональность. Это позволило быстро выйти на production с базовой версией, легко масштабировать и добавлять новые функции, поддерживать предсказуемое поведение системы.

Технологический стек:

КомпонентТехнологияНазначение
Агентная системаLangGraph 0.4.8Построение графа обработки запросов
База данныхPostgreSQL 16 + pgvectorВекторный поиск и хранение состояния
ИИ-модельOpenAI GPT-4o-miniГенерация ответов на основе контекста
ЭмбеддингиOpenAI text-embedding-3-smallСемантический поиск (1536 измерений)
Интеграцияaiogram 3.20Telegram Bot API
Админ-панельStreamlit 1.45Управление пользователями

🤖 Архитектура агентной системы

Система построена как StateGraph с двумя узлами, что обеспечивает простоту и предсказуемость:

Узел 1: Поиск в курсе

  • Выполняет семантический поиск по векторизованным материалам курса
  • Использует расширение pgvector для PostgreSQL
  • Рассчитывает confidence score — уровень уверенности системы
  • Возвращает топ-3 наиболее релевантных фрагмента

Узел 2: Генерация ответа

  • Получает найденные фрагменты и confidence score от узла поиска
  • При confidence ≥ 0.4: генерирует прямой ответ на основе курса
  • При confidence < 0.4: формирует элегантное перенаправление к релевантным темам
  • Использует строгие промпты, блокирующие общие знания ИИ

Поток обработки:

  • Получение запроса пользователя
  • Семантический поиск в векторной базе данных
  • Расчет confidence score
  • Генерация ответа или перенаправления
  • Возврат результата через Telegram-бота

🔍 Векторизация и семантический поиск

Подготовка данных курса:

  • Автоматическая разбивка на фрагменты размером 1000 слов с перекрытием 150 слов
  • Сохранение естественных границ текста (предложения, абзацы)
  • Векторизация через OpenAI API (модель text-embedding-3-small, 1536 измерений)
  • Валидация целостности — проверка покрытия 99%+ контента без потерь
  • Сохранение в PostgreSQL с использованием расширения pgvector

Процесс поиска:

  • Преобразование вопроса пользователя в вектор
  • Вычисление cosine similarity с векторами материалов курса
  • Отбор топ-3 наиболее релевантных фрагмента
  • Определение уровня уверенности на основе максимального similarity

Преимущества:

  • Быстрый поиск (до 15 секунд на запрос)
  • Понимание смысла запроса, а не только ключевых слов
  • Высокая точность благодаря векторным представлениям

👥 Управление пользователями и контроль доступа

Система доступа построена на основе User Middleware, который проверяет права пользователя перед обработкой каждого запроса.

Статусы пользователей:

  • pending — ожидает активации (автоматическая регистрация при первом обращении)
  • active — полный доступ к функциям бота
  • blocked — доступ запрещен
  • expired — доступ истек, требуется продление

Административная панель на Streamlit:

  • Список всех пользователей с возможностью фильтрации по статусу, имени, дате
  • Система статистики с графиками активности по дням
  • Управление доступом одним кликом (активация/блокировка)
  • Автоматические уведомления пользователей в Telegram при изменении статуса

💾 Управление памятью и контекстом

Система использует ограниченную память по дизайну, храня максимум 100 последних сообщений на каждого пользователя через checkpoints LangGraph без долгосрочной памяти. Такой подход обеспечивает предсказуемое использование ресурсов, отсутствие утечек памяти и гарантирует, что каждый диалог основан на актуальном запросе. Контекст диалога управляется через систему checkpoints, которая сохраняет состояние графа в PostgreSQL. Каждый пользователь получает уникальный Thread ID, который связывает все его сообщения. При достижении лимита в 100 сообщений система автоматически обрезает историю, сохраняя только релевантный контекст.

💬 Интеграция с Telegram

Каждое входящее сообщение сначала проходит проверку доступа через User Middleware, который проверяет статус пользователя в базе данных. В групповых чатах бот активируется только при прямом обращении через упоминание его username или при ответе на его сообщения. Это позволяет боту не мешать общему общению участников группы. После успешной проверки доступа запрос передается в StateGraph для обработки — поиска релевантной информации и генерации ответа. Сгенерированный ответ отправляется обратно пользователю через Telegram Bot API. Все взаимодействия логируются для последующей аналитики и мониторинга использования системы.

🚀 Production-развертывание

Инфраструктура:

  • PM2 — управление процессами бота и админ-панели, автоматический перезапуск при сбоях
  • PostgreSQL 16 + pgvector — векторный поиск и хранение состояний
  • Nginx — проксирование и защита админ-панели
  • Connection pooling — эффективная работа с базой данных
  • Изолированные процессы — стабильность при проблемах в отдельных сервисах

Показатели производительности:

  • Время ответа: ≤ 5 секунд
  • Точность ответов: 95%+ соответствие курсу
  • Покрытие курса: 100% векторизовано
  • Uptime: 99%+

Мониторинг:

  • Логирование всех взаимодействий для аналитики
  • Метрики confidence scores для оценки качества поиска
  • Статистика активности пользователей в админ-панели

Оптимизация производительности:

  • Connection pooling для эффективного управления соединениями с БД
  • Оптимизированные индексы PostgreSQL для быстрого поиска
  • Асинхронная обработка всех операций через async/await паттерн
  • Кэширование результатов векторизации для повторяющихся вопросов
  • Пакетная обработка векторизации при загрузке курса

Масштабируемость:

  • Горизонтальное масштабирование — запуск нескольких экземпляров бота через PM2
  • Вертикальное масштабирование — оптимизация работы с БД через индексы и пулы соединений
  • Stateless архитектура — любой экземпляр может обработать любой запрос без синхронизации
  • Готовность к кластеризации — поддержка репликации PostgreSQL

✨ Заключение

Проект демонстрирует, как современные AI-технологии могут быть интегрированы в образовательный процесс с гарантией качества и соответствия методологии.

Ключевые достижения проекта:

  • Строгий контроль источников — система использует исключительно материалы курса, без "утечек" общих знаний ИИ
  • Простота архитектуры — минималистичный подход с двумя узлами StateGraph обеспечивает легкость поддержки и развития
  • Production-ready решение — стабильная работа в реальных условиях с 99%+ uptime и высокой производительностью
  • Масштабируемость — архитектура готова к росту числа пользователей и масштабированию нагрузки
  • Гарантия качества — многоуровневая система контроля обеспечивает 95%+ точность соответствия курсу

Бизнес-результаты:
• Доступность: постоянная поддержка 24/7 без увеличения команды
• Качество: гарантированное соответствие методологии курса
• Масштабируемость: готовность к росту без пропорционального увеличения ресурсов
• Эффективность: автоматизация рутинных вопросов освобождает кураторов для сложных случаев

Проект показывает, что с правильной архитектурой и подходом к контролю качества AI-агенты могут стать надежным инструментом поддержки образовательного процесса.

💬 Обсудим ваш проект?

Готовы обсудить ваш проект?

Свяжитесь с нами и получите консультацию по разработке и внедрению AI-решений