From 3558abd426577c11480f59d7f3a87f2f31a010ce Mon Sep 17 00:00:00 2001 From: shuler7 Date: Tue, 24 Mar 2026 22:11:30 +0300 Subject: [PATCH] update skill, add roadmap, reorganize project --- ege-checker-roadmap.docx | Bin 0 -> 13227 bytes ege-checker/SKILL.md | 151 +++++ .../references/english-listening-criteria.md | 30 + .../references/russian-essay-criteria.md | 206 +++++++ ege.skill | Bin 6181 -> 0 bytes english-listening-checker.html | 563 ++++++++++++++++++ ...ester.html => russian-writing-checker.html | 0 tests/{test-1 => russian/test1}/skan-1.jpg | Bin tests/{test-1 => russian/test1}/skan-2.jpg | Bin 9 files changed, 950 insertions(+) create mode 100644 ege-checker-roadmap.docx create mode 100644 ege-checker/SKILL.md create mode 100644 ege-checker/references/english-listening-criteria.md create mode 100644 ege-checker/references/russian-essay-criteria.md delete mode 100644 ege.skill create mode 100644 english-listening-checker.html rename ege_tester.html => russian-writing-checker.html (100%) rename tests/{test-1 => russian/test1}/skan-1.jpg (100%) rename tests/{test-1 => russian/test1}/skan-2.jpg (100%) diff --git a/ege-checker-roadmap.docx b/ege-checker-roadmap.docx new file mode 100644 index 0000000000000000000000000000000000000000..b9936db9a49eb8c61576798fe3b3532adc8c004e GIT binary patch literal 13227 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 M5RgpT?|=S(0HfP}C;$Ke literal 0 HcmV?d00001 diff --git a/ege-checker/SKILL.md b/ege-checker/SKILL.md new file mode 100644 index 0000000..5b3ad58 --- /dev/null +++ b/ege-checker/SKILL.md @@ -0,0 +1,151 @@ +--- +name: ege-checker +description: > + Проверка заданий ЕГЭ с выставлением баллов по официальным критериям ФИПИ. + Используй этот скилл когда пользователь: + - Загружает фото/скан рукописного сочинения ЕГЭ по русскому языку + - Просит проверить сочинение ЕГЭ, выставить баллы, оценить работу + - Загружает аудиозапись или текст ответов по разделу "Аудирование" ЕГЭ по английскому + - Упоминает "ЕГЭ", "сочинение", "критерии К1-К12", "аудирование английский" + - Просит разобрать ошибки в сочинении по критериям ФИПИ + Скилл умеет: OCR рукописного текста через vision (multimodal), оценку по критериям, подробные комментарии. Работает с любой multimodal LLM (Qwen, GPT-4o и др.). +--- + +# ЕГЭ-Checker + +## Обзор возможностей + +| Модуль | Статус | Вход | Выход | +|--------|--------|------|-------| +| Сочинение (русский) | ✅ MVP | Фото рукописи или текст | Баллы К1–К12 + комментарии | +| Аудирование (английский) | ✅ MVP | Аудиофайл + ключи | Баллы по заданиям | + +--- + +## Модуль 1: Сочинение ЕГЭ по русскому языку + +### Что получает агент от проверяющего +Проверяющий присылает в одном сообщении: +1. **Сканы бланков** — фото рукописного сочинения (один или несколько листов) +2. **Исходный текст задания** — публицистический/художественный текст, по которому написано сочинение +3. **Тему/формулировку задания** — если есть отдельно (иногда тема вытекает из текста) + +Без исходного текста невозможно проверить К1, К2, К3 и К12. Если текст не прислан — попроси его перед началом проверки. + +### Шаг 1 — Получить текст сочинения + +**Если загружено фото/скан:** +1. Внимательно рассмотри все изображения — бланки могут быть на нескольких листах +2. Распознай рукописный текст максимально точно, сохраняя абзацное деление +3. Выведи распознанный текст и попроси подтвердить: *"Вот что распознано. Если есть неточности — поправьте перед проверкой."* +4. Дождись подтверждения или правок + +**Если текст вставлен напрямую:** +Переходи к Шагу 2 без распознавания. + +### Шаг 2 — Загрузить критерии + +Прочитай файл `references/russian-essay-criteria.md` — там полные критерии К1–К12 с баллами и примерами. + +### Шаг 3 — Оценить по каждому критерию + +Пройдись по всем критериям К1–К12 **последовательно**. Для каждого: +- Процитируй конкретный фрагмент из сочинения (если уместно) +- Объясни своё решение +- Выставь балл + +**Важные правила:** +- Если К1 = 0 (нет формулировки проблемы) → К2, К3, К4 автоматически = 0 +- Если работа ≤ 70 слов → все баллы = 0, только К10 может быть ненулевым +- Считай слова перед проверкой (служебные части речи считаются) + +### Шаг 4 — Итоговый вывод + +Используй этот формат вывода: + +``` +## Результаты проверки сочинения ЕГЭ + +### Распознанный текст +[текст если было фото, иначе пропусти] + +### Количество слов: XX + +--- + +### Оценка по критериям + +| Критерий | Название | Балл | Макс | +|----------|----------|------|------| +| К1 | Формулировка проблем исходного текста | X | 1 | +| К2 | Комментарий к проблеме | X | 6 | +| К3 | Отражение позиции автора | X | 1 | +| К4 | Отношение к позиции автора | X | 1 | +| К5 | Смысловая цельность, связность | X | 2 | +| К6 | Точность и выразительность речи | X | 2 | +| К7 | Орфография | X | 3 | +| К8 | Пунктуация | X | 3 | +| К9 | Языковые нормы | X | 2 | +| К10 | Речевые нормы | X | 2 | +| К11 | Этические нормы | X | 1 | +| К12 | Фактическая точность | X | 1 | +| **ИТОГО** | | **XX** | **25** | + +--- + +### Подробные комментарии + +**К1 — [балл/1]** +[объяснение] + +**К2 — [балл/6]** +[объяснение с цитатами из текста] + +... и так далее по каждому критерию ... + +--- + +### Главные рекомендации +1. [самое важное для улучшения] +2. ... +``` + +--- + +## Модуль 2: Аудирование ЕГЭ по английскому + +### Что получает агент от проверяющего +Проверяющий присылает в одном сообщении: +1. **Аудиозапись** — файл с устными ответами ученика (MP3, WAV, M4A и т.д.) +2. **Правильные ответы (ключи)** — текстом или фото бланка с ключами + +### Шаг 1 — Распознать аудио +Транскрибируй аудиофайл. Из транскрипта извлеки ответы ученика по каждому заданию: +- Задание 1 (соответствие A-F): какую цифру 1-7 назвал ученик для каждого высказывания +- Задания 2-9 (True/False/Not Stated): цифру 1, 2 или 3 +- Задания 10-18 (выбор): цифру 1, 2 или 3 + +Если ответ нечеткий или не прозвучал — отметь как "?" и засчитай как неверный. +Выведи распознанные ответы таблицей и попроси проверяющего подтвердить перед проверкой. + +### Шаг 2 — Получить и распознать ключи +Если ключи пришли текстом — использовать напрямую. +Если пришло фото бланка с ключами — распознать через vision. + +### Шаг 3 — Сверить и выставить баллы +Читай `references/english-listening-criteria.md` для деталей по каждому блоку заданий. +Сверяй ответ ученика с ключом: 1 балл за совпадение, 0 за несовпадение. + +### Шаг 4 — Вывести результат в формате таблицы +Три блока (Задание 1 / Задания 2-9 / Задания 10-18) с колонками: задание, ответ ученика, ключ, результат. +Итог: сумма баллов по каждому блоку + общий итог из 23. + +--- + +## Общие принципы проверки + +- **Актуальность**: Критерии соответствуют демоверсии ФИПИ 2024–2025 +- **Строгость**: Придерживайся формулировок критериев, не занижай и не завышай +- **Пограничные случаи**: При сомнении между баллами — объясни оба варианта и выбери более обоснованный +- **Тон**: Конструктивный, поддерживающий. Это учебный инструмент, не карательный +- **Совместимость**: Скилл написан без привязки к конкретной модели. Работает с любым multimodal агентом, поддерживающим vision и аудио (Qwen3, GPT-4o, и др.) diff --git a/ege-checker/references/english-listening-criteria.md b/ege-checker/references/english-listening-criteria.md new file mode 100644 index 0000000..33d29b3 --- /dev/null +++ b/ege-checker/references/english-listening-criteria.md @@ -0,0 +1,30 @@ +# Критерии оценивания раздела "Аудирование" ЕГЭ по английскому языку +## Статус: заглушка — будет заполнено в следующей итерации + +### Структура раздела (ЕГЭ 2024–2025) + +**Задание 1** (B1) — установление соответствия: 6 высказываний → 7 утверждений +- 1 балл за каждое верное соответствие +- Максимум: 6 баллов + +**Задания 2–9** (B2) — верно/неверно/не сказано (True/False/Not Stated) +- 1 балл за каждый верный ответ +- Максимум: 8 баллов + +**Задания 10–18** — краткий ответ/выбор из нескольких вариантов +- 1 балл за каждый верный ответ +- Максимум: 9 баллов + +**Итого по разделу "Аудирование": 20 первичных баллов** + +--- + +## STT интеграция (планируется) + +Для обработки аудиозаписей потребуется: +- OpenAI Whisper API (рекомендуется для русской и английской речи) +- Или Deepgram (альтернатива) +- Эндпоинт: `https://api.openai.com/v1/audio/transcriptions` +- Модель: `whisper-1` + +Временное решение для MVP: попросить пользователя ввести ответы текстом. diff --git a/ege-checker/references/russian-essay-criteria.md b/ege-checker/references/russian-essay-criteria.md new file mode 100644 index 0000000..d3317b5 --- /dev/null +++ b/ege-checker/references/russian-essay-criteria.md @@ -0,0 +1,206 @@ +# Критерии оценивания сочинения ЕГЭ по русскому языку +## Источник: ФИПИ, демоверсия 2024–2025 + +--- + +## Предварительные проверки + +### Подсчёт слов +- Считаются все слова, включая служебные (предлоги, союзы, частицы) +- Если слов **меньше 70** → все критерии = 0 (кроме К10) +- Если слов **70–149** → рекомендуемый объём не выдержан, но работа проверяется +- Рекомендуемый объём: **150–300 слов** + +### Правило нулевого К1 +Если К1 = 0 (проблема не сформулирована или сформулирована неверно): +→ К2 = 0, К3 = 0, К4 = 0 **автоматически** + +--- + +## К1 — Формулировка проблем исходного текста (0–1 балл) + +**1 балл**: Экзаменуемый (в той или иной форме) верно сформулировал одну из проблем исходного текста. Фактических ошибок, связанных с пониманием и формулировкой проблемы, нет. + +**0 баллов**: Экзаменуемый не смог верно сформулировать ни одну из проблем исходного текста. + +**Подсказки для проверки:** +- Проблема должна быть сформулирована как вопрос или тезис +- Она должна соответствовать содержанию исходного текста +- Допустимы разные формулировки одной и той же проблемы + +--- + +## К2 — Комментарий к сформулированной проблеме исходного текста (0–6 баллов) + +Структура: **2 примера-иллюстрации** из текста + **смысловая связь** между ними. + +| Баллы | Условия | +|-------|---------| +| 6 | Оба примера с пояснениями + связь с анализом | +| 5 | Оба примера с пояснениями + связь без анализа | +| 4 | Оба примера с пояснениями, связь не указана | +| 3 | Один пример с пояснением + связь | +| 2 | Оба примера без пояснений + связь | +| 1 | Один пример без пояснения | +| 0 | Примеры отсутствуют или текст пересказан | + +**Важно:** +- Пример-иллюстрация = конкретный фрагмент/факт из текста с объяснением его роли +- Смысловая связь: сравнение, противопоставление, причина-следствие, вывод и т.д. +- Пересказ без анализа = 0 баллов +- Фактические ошибки в комментарии снижают балл (−1 за каждую, но не более −2) + +--- + +## К3 — Отражение позиции автора исходного текста (0–1 балл) + +**1 балл**: Позиция автора верно сформулирована. Фактических ошибок нет. + +**0 баллов**: Позиция автора не сформулирована или сформулирована неверно. + +**Подсказки:** +- Позиция = ответ автора на поставленную проблему +- Должна быть явно выражена, не просто угадана +- Можно цитировать или пересказывать + +--- + +## К4 — Отношение к позиции автора по проблеме исходного текста (0–1 балл) + +**1 балл**: Экзаменуемый выразил своё отношение к позиции автора и обосновал его. + +**0 баллов**: Экзаменуемый не выразил своё отношение или оно не обосновано. + +**Подсказки:** +- Формальное согласие/несогласие без обоснования = 0 +- Обоснование: личный опыт, примеры из жизни/литературы, логические доводы +- Фраза "я согласен с автором" без аргумента = 0 + +--- + +## К5 — Смысловая цельность, речевая связность и последовательность изложения (0–2 балла) + +**2 балла**: Работа характеризуется смысловой цельностью, речевой связностью и последовательностью изложения. Логических ошибок нет. Абзацное членение присутствует. + +**1 балл**: 1–2 логические ошибки ИЛИ нарушено абзацное членение. + +**0 баллов**: 3+ логические ошибки ИЛИ отсутствует абзацное членение. + +**Типичные логические ошибки:** +- Нарушение последовательности мысли +- Отсутствие связи между абзацами +- Повтор одной мысли разными словами +- Противоречия в тексте + +--- + +## К6 — Точность и выразительность речи (0–2 балла) + +**2 балла**: Работа характеризуется точностью выражения мысли, разнообразием грамматического строя речи. + +**1 балл**: Работа характеризуется точностью выражения мысли, но однообразием грамматического строя речи ИЛИ выразительностью, но использованием неточных слов. + +**0 баллов**: Точность и выразительность речи существенно снижены. + +**Примечание:** К6 не может быть выше К10. Если К10 = 0, то К6 = 0. + +--- + +## К7 — Соблюдение орфографических норм (0–3 балла) + +| Баллы | Количество ошибок | +|-------|-------------------| +| 3 | 0 ошибок | +| 2 | 1 ошибка | +| 1 | 2–3 ошибки | +| 0 | 4+ ошибки | + +**Что считается ошибкой:** +- Неверное написание слова +- Слитное/раздельное/дефисное написание +- Прописные/строчные буквы + +**Что НЕ считается ошибкой:** +- Описки (если исправлены) +- Перенос слова + +--- + +## К8 — Соблюдение пунктуационных норм (0–3 балла) + +| Баллы | Количество ошибок | +|-------|-------------------| +| 3 | 0 ошибок | +| 2 | 1–2 ошибки | +| 1 | 3–4 ошибки | +| 0 | 5+ ошибок | + +**Типичные ошибки:** +- Пропуск запятой при однородных членах +- Ошибки в сложных предложениях +- Неверное оформление прямой речи + +--- + +## К9 — Соблюдение языковых норм (грамматика) (0–2 балла) + +| Баллы | Количество ошибок | +|-------|-------------------| +| 2 | 0 ошибок | +| 1 | 1–2 ошибки | +| 0 | 3+ ошибки | + +**Типичные грамматические ошибки:** +- Ошибки в согласовании (управлении) +- Неправильное образование форм слова +- Нарушение синтаксических норм + +--- + +## К10 — Соблюдение речевых норм (0–2 балла) + +| Баллы | Количество ошибок | +|-------|-------------------| +| 2 | 0–1 ошибка | +| 1 | 2–3 ошибки | +| 0 | 4+ ошибки | + +**Типичные речевые ошибки:** +- Тавтология (повтор одного слова/однокоренных слов) +- Плеоназм (масло масляное) +- Неуместное употребление слова +- Употребление слова в несвойственном значении + +--- + +## К11 — Соблюдение этических норм (0–1 балл) + +**1 балл**: Этические ошибки отсутствуют. + +**0 баллов**: Допущена 1+ этическая ошибка. + +**Этические ошибки:** +- Грубость, оскорбления в адрес кого-либо +- Национальная/религиозная нетерпимость +- Речевая агрессия + +--- + +## К12 — Соблюдение фактологической точности (0–1 балл) + +**1 балл**: Фактические ошибки отсутствуют. + +**0 баллов**: Допущена 1+ фактическая ошибка. + +**Фактические ошибки:** +- Неверные имена, даты, названия произведений +- Искажение содержания упомянутых текстов +- Неверные факты о реальных событиях/людях + +--- + +## Таблица максимальных баллов + +| К1 | К2 | К3 | К4 | К5 | К6 | К7 | К8 | К9 | К10 | К11 | К12 | Итого | +|----|----|----|----|----|----|----|----|----|-----|-----|-----|-------| +| 1 | 6 | 1 | 1 | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 | **25** | diff --git a/ege.skill b/ege.skill deleted file mode 100644 index 2d6c976941407cc1ff8480fb90688343d0cbd339..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6181 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 Q??guf0Eqs61ONd40qn`N8~^|S diff --git a/english-listening-checker.html b/english-listening-checker.html new file mode 100644 index 0000000..d886a8c --- /dev/null +++ b/english-listening-checker.html @@ -0,0 +1,563 @@ + + + + + +ЕГЭ Английский — Аудирование + + + +
+ +

ЕГЭ — Аудирование (Английский язык)

+

Загрузи аудиозапись ответов ученика → получи транскрипт → сверь с ключами → баллы

+ + +
+
Настройки API
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+
1
+
+
Загрузи аудиозапись ответов ученика
+
+
🎤
+
Нажми или перетащи аудиофайл
+
MP3, WAV, M4A, OGG, WEBM — до 25 МБ
+ +
+ +
+
+
+ + +
+
+
2
+
+
Введи правильные ответы (ключи)
+

Заполни ключи для заданий, которые есть в варианте. Пустые задания игнорируются.

+ +
+ ЗаданиеКлюч (верный)— пусто — +
+ +
Задание 1 — Соответствие (A–F → цифра 1–7)
+
+ +
+ +
Задания 2–9 — True(1) / False(2) / Not Stated(3)
+
+ +
+ +
Задания 10–18 — Выбор из 3 вариантов (1/2/3)
+
+ +
+
+
+
+ + +
+ + +
+ + + + + +
+ +
+
Транскрипт ответов ученика
+
+
+
Распознанные ответы
+
+
+
+ +
+
Детальная проверка
+ +
+

Задание 1 — Установление соответствия

+ + + +
ВысказываниеОтвет ученикаКлючРезультат
+
+ +
+ +
+

Задания 2–9 — True / False / Not Stated

+ + + +
ЗаданиеОтвет ученикаКлючРезультат
+
+ +
+ +
+

Задания 10–18 — Выбор ответа

+ + + +
ЗаданиеОтвет ученикаКлючРезультат
+
+
+ +
+
+
Итоговый балл
+
+
из 23 первичных баллов
+
+
+
Ошибки
+
+
+
+ +
+ +
+ + + + diff --git a/ege_tester.html b/russian-writing-checker.html similarity index 100% rename from ege_tester.html rename to russian-writing-checker.html diff --git a/tests/test-1/skan-1.jpg b/tests/russian/test1/skan-1.jpg similarity index 100% rename from tests/test-1/skan-1.jpg rename to tests/russian/test1/skan-1.jpg diff --git a/tests/test-1/skan-2.jpg b/tests/russian/test1/skan-2.jpg similarity index 100% rename from tests/test-1/skan-2.jpg rename to tests/russian/test1/skan-2.jpg