ege-skill/REPORT.md
2026-05-09 11:22:49 +03:00

194 lines
No EOL
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# EGE-Checker — Отчёт о проделанной работе
**Период:** март — май 2026
**Команда:** Лаборатория Лямбда 3.0, МАИ
---
## 1. Цель проекта
Скилл для автоматической проверки заданий ЕГЭ с выставлением баллов по официальным критериям ФИПИ 2026. Два модуля:
- **Модуль 1 — Сочинение (русский язык):** OCR рукописных бланков + оценка по критериям К1К10
- **Модуль 2 — Говорение (английский язык):** STT аудиозаписей через Whisper + оценка по 4 заданиям
Целевой сценарий использования: помощник для эксперта — модель проверяет работу параллельно с человеком, показывает своё мнение по каждому критерию с подробным разбором.
---
## 2. Архитектура и стек
### Стек
| Компонент | Инструмент |
|-----------|-----------|
| Агент | ZeroClaw (Rust) / OpenClaw |
| LLM | Qwen3.5-122B (основная), GPT-4o, Claude Opus (тестирование) |
| OCR рукописи | Vision-возможности LLM (Qwen Vision) |
| STT аудио | faster-whisper (модель medium, локально) |
| Интерфейс | Telegram, Matrix |
### Файловая структура скилла
```
ege-checker/
├── SKILL.md # Инструкции и логика агента
├── recognition.py # STT-модуль (faster-whisper)
└── references/
├── russian-essay-criteria.md # Критерии К1К10, ЕГЭ 2026
└── english-speaking-criteria.md # Критерии 4 заданий говорения, ЕГЭ 2026
```
### Схема работы (текущая)
```
Telegram / Matrix - сообщение
Claw-агент
Агент (Qwen3.5-122B) + SKILL.md
Ответ в Telegram
```
---
## 3. Реализованные компоненты
### 3.1. SKILL.md — логика агента
Описывает два режима работы для каждого модуля:
**Модуль 1 (сочинение):**
- Только сканы → распознать рукопись, сообщить количество слов, запросить исходный текст
- Сканы + исходный текст + тема → распознать + оценить К1К10 с объяснением снятий
**Модуль 2 (говорение):**
- Только аудио → транскрибировать через recognition.py, вывести текст
- Аудио + задание → транскрибировать + оценить по критериям
Поддержка нескольких аудиофайлов (каждое задание отдельно).
### 3.2. recognition.py — STT-модуль
Транскрибирует аудиофайлы с ответами ученика через faster-whisper. Ключевые возможности:
- Автовыбор устройства (CPU / CUDA)
- VAD-фильтрация тишины и пауз
- WHISPER_PROMPT с описанием формата ответов для точного распознавания
- Сегментация с таймкодами
- Возвращает `TranscriptResult`: текст, язык, длительность, сегменты
Поддерживаемые форматы: MP3, WAV, M4A, OGG, WEBM, FLAC.
### 3.3. Критерии ЕГЭ 2026
**Русский язык (К1К10), итого 22 балла:**
| К1 | К2 | К3 | К4 | К5 | К6 | К7 | К8 | К9 | К10 |
|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:---:|
| 1 | 3 | 2 | 1 | 2 | 1 | 3 | 3 | 3 | 3 |
**Английский язык — Говорение (4 задания), итого 20 баллов:**
| Задание | Тип | Макс. баллов |
|---------|-----|:------------:|
| 1 | Чтение вслух | 1 |
| 2 | Диалог-расспрос (4 вопроса) | 4 |
| 3 | Диалог-интервью (5 ответов) | 5 |
| 4 | Монолог (3 критерия: содержание 4б + организация 3б + язык 3б) | 10 |
---
## 4. Тестирование
### 4.1. OCR + оценка сочинения (RESULTS.md)
Протестировано на реальных работах учеников с известными баллами экспертов.
**Сводка по моделям:**
| Модель | Характеристика |
|--------|---------------|
| **qwen3.5-122b** | Основная рабочая модель. Хорошее качество, часть работ — точное совпадение с экспертом (±01 балл) |
| **gpt-4o** | Минимальная предвзятость, на ряде работ точнее qwen. Лучший результат: 22/22 |
| **gpt-5-pro** | Стабильно высокое качество, несколько работ — 2122/22 |
| **claude-opus-4-6** | Системно занижает оценки, закончились токены до завершения тестирования |
**Примеры результатов (выборка):**
| Балл эксперта | Лучший балл модели | Лучшая модель |
|:-------------:|:-----------------:|---------------|
| 22 | 22 | qwen3.5-122b |
| 22 | 22 | qwen3.5-122b |
| 20 | 22 | qwen3.5-122b |
| 22 | 22 | gpt-4o |
| 22 | 22 | gpt-4o / qwen |
Типичное расхождение: ±13 балла. На сложных работах с плохим OCR (низкий OCR Accuracy) расхождение возрастает.
**OCR Accuracy** измерена для части работ. Диапазон: 5799%. Низкая точность (Бакирова 57%, Агупова 68%) коррелирует с большим расхождением в оценке.
### 4.2. Оценка говорения (transcriptions-report.md)
Протестировано на 14 учениках из 4 регионов (Адыгея, Башкортостан, Бурятия, Алтай).
**Средние показатели по заданиям:**
| Метрика | Задание 1 | Задание 2 | Задание 3 | Задание 4 |
|---------|:---------:|:---------:|:---------:|:---------:|
| Avg True (эксперт) | 0.786 | 2.429 | 1.857 | 5.857 |
| Avg Pred (модель) | 0.357 | 2.286 | 1.357 | 7.000 |
| MAE | **0.429** | **0.143** | **0.500** | **1.143** |
**Выводы по заданиям:**
- **Задание 2** — наиболее точное (MAE 0.143). Объективный критерий (форма вопроса) хорошо распознаётся
- **Задание 1** — систематическое занижение (Avg Pred 0.357 vs True 0.786). Модель строже экспертов в оценке фонетики
- **Задание 3** — заметное занижение (MAE 0.500). Проблема: ответы ученика идут сплошным текстом, сложно разбить на 5 отдельных ответов
- **Задание 4** — систематическое завышение (Avg Pred 7.000 vs True 5.857). Модель щедрее оценивает монолог
---
## 5. Текущее состояние и открытые вопросы
### Работает
- ✅ recognition.py запускается локально в прокси, транскрипт передаётся агенту готовым
- ✅ Критерии ЕГЭ 2026 актуализированы (русский + говорение английский)
- ✅ SKILL.md описывает корректную логику для обоих модулей
- ✅ OCR + оценка сочинения протестированы на реальных работах
### Открытые вопросы
**Оценка говорения:**
- Задание 1 (чтение): систематическое занижение — нужна калибровка критерия фонетики
- Задание 3 (ответы): нужен метод сегментации сплошного транскрипта на отдельные ответы
- Задание 4 (монолог): систематическое завышение — нужны few-shot примеры для калибровки
**OCR:**
- Нет золотого стандарта для измерения точности OCR — нужна разметка эталонного датасета
- Qwen Vision может исправлять рукописные ошибки "на лету", что искажает результат OCR
**Инфраструктура:**
- Контекст задания (исходный текст из ФИПИ) не добавляется автоматически — нужна интеграция или ручная подача
- Тестирование говорения проводилось на небольшой выборке (14 человек, 4 региона) — нужно расширить
---
## 6. Соответствие дорожной карте
| Фаза | Срок по плану | Статус |
|------|:-------------:|--------|
| Ф1: Базовый прототип | 23 марта — 5 апреля | ✅ Выполнено. Скилл работает на тестовом наборе |
| М1: Первые цифры расхождения | 5 апреля | ✅ RESULTS.md + transcriptions-report.md |
| Ф2: Улучшение распознавания | 619 апреля | ✅ Выполнено. OCR итерации проведены, STT настроен |
| М2: OCR >90%, STT >85% | 19 апреля | ✅ OCR: достигнут на чистых бланках. STT: выявлены систематические отклонения |
| Ф3: Стабильность оценки | 20 апреля — 10 мая | ✅ Выполнено. Корректировка критериев проверки |
| Ф4: Интеграция и финализация | 1124 мая | 🔄 В процессе. |
---
## 8. Дальнейшая работа
1. **Расширение тестовой выборки:** протестировать говорение на 30+ работах из разных регионов для статистически значимых выводов
2. **Интеграция с платформой:** после готовности agent-api от команды платформы — переехать с локального Claw на общего агента