- Описание основных функций и архитектуры - 5 способов добавления слов в словарь - Структура базы данных - Этапы разработки 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
15 KiB
15 KiB
Техническое задание: Telegram бот для изучения языков
1. Общее описание проекта
Telegram бот для изучения иностранных языков с использованием ИИ, персонализированным подходом и ежедневными заданиями.
Версия 1.0: Поддержка английского языка Будущие версии: Расширение на другие языки
2. Основные функции
2.1 Управление словарным запасом
Способы добавления слов:
1. Ручное добавление (по инициативе пользователя)
- Команда
/add [слово]или/add [фраза] - Отправка слова в свободной форме (бот распознает и предложит добавить)
- Пользователь может добавить собственный перевод и заметки
2. Автоматические предложения от бота
- Бот ежедневно предлагает N новых слов на основе уровня пользователя
- Тематические подборки по запросу (команда
/words [тема])- Пример:
/words travel→ 10 слов про путешествия - Популярные темы: работа, еда, спорт, технологии, эмоции и т.д.
- Пример:
- Слова из частотных списков по уровням (A1-C2)
- "Слово дня" с интересными фактами
3. Из контекста общения с ИИ
- Во время диалоговой практики ИИ автоматически определяет сложные слова
- Бот предлагает: "В этом сообщении встретилось слово 'resilient' - хотите добавить в словарь?"
- Пользователь может одним кликом добавить слово
4. Импорт из текста
- Пользователь отправляет текст, статью или ссылку
- ИИ анализирует текст и выделяет полезные слова по уровню пользователя
- Показывает список слов с переводами
- Пользователь выбирает, какие добавить (через inline-кнопки)
5. Из ошибок и сложных заданий
- Если пользователь ошибается в задании, слово автоматически помечается для повторения
- Бот предлагает добавить синонимы/антонимы к уже изученным словам
- Слова, которые вызывают трудности, автоматически появляются чаще в заданиях
Функции управления словарем:
- Автоматическое сохранение слов с переводом, транскрипцией и примерами
- Категоризация слов по темам (автоматическая и ручная)
- Отметка уровня сложности слов (A1-C2)
- История изучения каждого слова (дата добавления, количество повторений, процент правильных ответов)
- Удаление и редактирование слов
- Поиск по словарю
- Экспорт словаря (CSV, Anki формат)
2.2 Ежедневные задания
- Автоматическая генерация заданий каждый день
- Типы заданий:
- Перевод слов (EN→RU и RU→EN)
- Составление предложений с новыми словами
- Заполнение пропусков в предложениях
- Аудирование (опционально для будущих версий)
- Множественный выбор
- Адаптивная сложность на основе прогресса пользователя
- Настройка времени отправки заданий
2.3 Проверка заданий с использованием ИИ
- Автоматическая проверка ответов через ИИ (GPT/Claude/другие)
- Оценка правильности с объяснением ошибок
- Учет контекста и вариативности ответов
- Рекомендации по улучшению
2.4 Интеграция с ИИ
- Перевод слов и фраз
- Генерация примеров использования
- Создание персонализированных заданий
- Объяснение грамматических правил
- Диалоговый режим для практики общения
2.5 Статистика и прогресс
- Количество изученных слов
- Процент правильных ответов
- График прогресса
- Streak (дни подряд выполнения заданий)
- Уровень владения языком
3. Пользовательские сценарии
3.1 Первый запуск
- Пользователь запускает бота командой
/start - Бот приветствует и предлагает выбрать язык интерфейса
- Бот проводит короткий тест для определения уровня
- Пользователь настраивает время ежедневных заданий
- Бот предлагает добавить первые слова
3.2 Добавление слов (ручное)
- Пользователь отправляет
/add elephantили простоelephant - Бот через ИИ получает перевод, транскрипцию, примеры использования
- Показывает карточку слова с кнопками "Добавить" / "Редактировать" / "Отмена"
- Пользователь подтверждает или редактирует информацию
- Слово сохраняется в персональный словарь
3.2.1 Тематическая подборка
- Пользователь отправляет
/words travel - Бот генерирует 10 релевантных слов по теме с учетом уровня пользователя
- Показывает список слов с переводами
- Пользователь выбирает слова через inline-кнопки (✅/❌)
- Выбранные слова добавляются в словарь
3.2.2 Импорт из текста
- Пользователь отправляет текст или статью боту
- Бот анализирует текст и находит 5-15 новых слов подходящего уровня
- Показывает слова с переводами и контекстом из текста
- Пользователь выбирает слова для добавления
- Слова сохраняются с примерами из исходного текста
3.2.3 Добавление из диалога
- Пользователь общается с ботом на английском (
/practice) - Использует незнакомое слово или ИИ использует сложное слово
- Бот предлагает: "💡 Слово 'resilient' - добавить в словарь?"
- Пользователь нажимает кнопку "Добавить"
- Слово сохраняется с контекстом из диалога
3.3 Выполнение ежедневного задания
- Бот отправляет задание в настроенное время
- Пользователь выполняет задания (5-10 вопросов)
- ИИ проверяет ответы и дает обратную связь
- Результаты сохраняются в статистику
3.4 Свободная практика
- Пользователь инициирует диалог с ботом
- Общение на английском языке с ИИ
- ИИ исправляет ошибки и дает советы
- Новые слова могут автоматически добавляться в словарь
4. Команды бота
| Команда | Описание |
|---|---|
/start |
Запуск/перезапуск бота |
/add [слово] |
Добавить слово в словарь |
/words [тема] |
Получить подборку слов по теме |
/vocabulary |
Просмотр словаря |
/task |
Получить задание сейчас |
/stats |
Статистика и прогресс |
/settings |
Настройки (время заданий, уровень сложности) |
/help |
Справка по командам |
/practice |
Свободная практика с ИИ |
/import |
Импортировать слова из текста |
5. Технические требования
5.1 Архитектура
- Фреймворк: python-telegram-bot или aiogram
- База данных: PostgreSQL или MongoDB для хранения:
- Пользователи
- Словари пользователей
- История заданий и ответов
- Статистика
- ИИ API: OpenAI GPT-4, Claude, или Google Gemini
- Кэширование: Redis для сессий и временных данных
- Планировщик: Celery или APScheduler для ежедневных заданий
5.2 Структура базы данных
Таблица: Users
- id (PK)
- telegram_id (unique)
- username
- language_interface (ru/en)
- learning_language (en)
- level (A1/A2/B1/B2/C1/C2)
- timezone
- daily_task_time
- streak_days
- created_at
- last_active
Таблица: Vocabulary
- id (PK)
- user_id (FK)
- word_original
- word_translation
- transcription
- examples (JSON)
- category
- difficulty_level
- source (manual/suggested/context/import/error)
- times_reviewed
- correct_answers
- last_reviewed
- created_at
- notes (user custom notes)
Таблица: Tasks
- id (PK)
- user_id (FK)
- task_type
- content (JSON)
- correct_answer
- user_answer
- is_correct
- ai_feedback
- completed_at
- created_at
5.3 API интеграция
- Telegram Bot API: Основное взаимодействие с пользователем
- OpenAI/Claude API: Генерация и проверка заданий
- Dictionary API (опционально): Дополнительные данные о словах
5.4 Безопасность
- Шифрование API ключей
- Валидация пользовательского ввода
- Rate limiting для защиты от спама
- Резервное копирование базы данных
6. Этапы разработки
Этап 1: MVP (Минимально жизнеспособный продукт)
- Настройка Telegram бота
- Подключение базы данных
- Базовые команды (/start, /add, /vocabulary)
- Интеграция с ИИ для перевода слов
- Простое ежедневное задание (перевод 5 слов)
- Автоматическая проверка ответов
Этап 2: Расширенный функционал
- Различные типы заданий
- Тематические подборки слов (
/words [тема]) - Импорт слов из текста (
/import) - Автоматические предложения слов от бота
- Добавление слов из контекста диалога
- Статистика и прогресс
- Адаптивная сложность
- Диалоговый режим практики
- Настройки пользователя
Этап 3: Оптимизация и масштабирование
- Улучшение алгоритмов повторения (spaced repetition)
- "Слово дня" с интересными фактами
- Экспорт словаря в форматы CSV и Anki
- Геймификация (достижения, лидерборд)
- Аудио произношение слов
- Поддержка других языков
- Мобильное веб-приложение (Telegram Mini App)
7. Метрики успеха
- Вовлеченность: DAU (Daily Active Users), streak пользователей
- Эффективность: Процент правильных ответов, рост словарного запаса
- Удержание: Retention rate на 7, 30, 90 дней
- Удовлетворенность: NPS, обратная связь пользователей
8. Риски и ограничения
- Стоимость ИИ API: Необходимо оптимизировать количество запросов
- Зависимость от внешних сервисов: Telegram API, ИИ API
- Качество проверки: ИИ может ошибаться в оценке сложных ответов
- Мотивация пользователей: Требуется геймификация для удержания
9. Будущие возможности
- Поддержка других языков (испанский, немецкий, французский, китайский)
- Групповые задания и соревнования
- Интеграция с внешними ресурсами:
- Импорт слов из YouTube субтитров по ссылке
- Анализ статей и веб-страниц
- Подкасты и аудиокниги
- Голосовые сообщения для практики произношения
- Персональный AI-преподаватель с долгосрочной памятью о прогрессе
- Подготовка к экзаменам (IELTS, TOEFL, etc.)
- Социальные функции:
- Обмен словарными подборками с другими пользователями
- Общие челленджи
- Рейтинг по регионам