Files
Learn_System/plans/ai-trainer/ROADMAP_V4_VARIETY.md
T
Maxim Dolgolyov 8610197f5f docs(trainer): план «Максимум разнообразия» (v4 дополнение)
ROADMAP_V4_VARIETY.md: (A) обозначение искомой величины answerSym — сделано +
добивка (Sₙ/стороны/единицы); (B) тема «Углы/Параллельные» — ≈12 новых генераторов
(накрест внешние, односторонние внешние, вертикальные при секущей, двухшаговые,
биссектриса, дополнительные, острые в прям. треугольнике, углы параллелограмма,
недостающий угол n-угольника, накрест через выражения, углы в отношении, часы) +
новые фигуры; (C) пять осей разнообразия по всему тренажёру — форматы заданий
(новые kind), глубина внутри темы (прямая/обратная/словесная/многошаговая),
числовое разнообразие, визуальное (диаграммы/числовая прямая/таблицы + read-from-
figure), подача; (D) новые темы ЦТ; (E) последовательность волн.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 16:18:20 +03:00

132 lines
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.
# ИИ-Тренажёр — План «Максимум разнообразия» (v4, дополнение)
**Дата:** 2026-06-26. Дополняет `ROADMAP_V4.md` / `V4_GENERATOR_SPECS.md`. Фокус: ещё больше
разнообразия задач и **условий** — в теме «Углы/Параллельные» и по всему тренажёру.
**Контекст:** фаза V4.1 завершена — **178 генераторов** (было 64). Только что внедрено
**обозначение искомой величины** (`answerSym`: P/S/C/L/d/k/n/q/b вместо жёсткого «x») —
и в поле ввода, и в подписи ответа, и в шагах решения.
**Инварианты (неизменны):** только `SimExpr` (⛔ без `eval`); «корень-вперёд» → чистый ответ;
⛔ без эмодзи; тексты экранируются; зарезерв. имена SimExpr `pi/e/E/PI/tau` (в тренажёре `t/w/h`
допустимы). Каждая волна — смоук + коммит.
---
## A. Обозначение искомой величины (`answerSym`) — СДЕЛАНО + добивка
Сделано (commit 3b095a9): 26 генераторов размечены P/S/C/L/d/k/n/q/b; движок подменяет `x`→символ
в шагах решения; страница показывает «P =»/«S =» в вводе и ответе.
**Добивка (низкая цена):**
- A1. Суммы прогрессий → **Sₙ** (prog-arith-sum/geom-sum/arith-word); проценты-вклад → итог.
- A2. Стороны/катеты/радиусы как искомые → **a/b/c/r** (pyth-hyp→c, pyth-leg→b, area-rect-inverse→
сторона a). Сейчас у них «x».
- A3. **Единицы измерения** (опц.): поле `unit` («см», «°», «км/ч») → суффикс в подписи ответа и
плейсхолдере; чисто отображение, проверка не меняется.
- A4. Многобуквенные/индексы (x₁, a₁) — только если понадобится; `answerSym` уже принимает строку.
---
## B. Тема «Углы / Параллельные» — максимум разнообразия (≈12 новых)
Сейчас 9: третий угол, смежный, внешний, соответственные, накрест лежащие, односторонние,
найти x, равнобедренный, вертикальные. Добавить:
| id | Что | Ответ | Фигура |
|---|---|---|---|
| `ang-alt-exterior` | накрест лежащие ВНЕШНИЕ | a | parallel-lines-transversal (rel) |
| `ang-coint-exterior` | односторонние ВНЕШНИЕ | 180a | parallel-lines-transversal |
| `ang-vertical-transversal` | вертикальные ПРИ секущей | a | parallel-lines-transversal |
| `ang-parallel-twostep` | секущая → смежный к накрест лежащему (2 шага) | 180a | parallel-lines-transversal |
| `ang-bisector` | биссектриса делит угол пополам | a/2 | новый `angle-bisector` |
| `ang-complementary` | дополнительные (сумма 90°) | 90−a | новый `complementary` |
| `ang-right-acute` | острые углы прям. треугольника (90a) | 90a | right-triangle (метка угла) |
| `ang-parallelogram` | углы параллелограмма (сосед = 180a) | 180a / a | parallelogram (метка углов) |
| `ang-polygon-missing` | n-угольник: известны все углы, кроме одного | 180(n2)−Σ | regular-polygon |
| `ang-alt-solve` | накрест лежащие заданы выражениями, найти x | root | parallel-lines-transversal |
| `ang-triangle-ratio` | углы треугольника в отношении p:q:r, найти больший | 180·max/(p+q+r) | triangle-angles |
| `ang-clock` | угол между стрелками часов в HH:00 | \|30·H0\| | новый `clock` (циферблат) |
Все «корень-вперёд» (берём a/острый угол/доли первым → выводим показанное). Новые фигуры:
`angle-bisector`, `complementary` (два луча из O + дуги), `clock` (круг + 2 стрелки), метки углов
на `parallelogram`/`right-triangle` (расширение существующих типов, как делали с rectangle).
---
## C. Оси разнообразия — по ВСЕМУ тренажёру
Разнообразие = произведение пяти осей. По каждой — что добавить.
### C1. Новые ФОРМАТЫ заданий (новые `kind`) — крупнейший множитель
(Из ROADMAP_V4, направление «task-formats» — это фаза V4.2.)
Применимы к ЛЮБОЙ теме, поэтому дают ×N разнообразия одним движком-усилием:
- **`choice`** — выбор из 4 (дистракторы из `analyzeMistake`: типовые ошибки).
- **`verify`** — «верно ли?» (булева SimExpr → 1/0).
- **`findError`** — найди неверный шаг в готовом решении (портим один шаг `solution[]`).
- **`fillBlank`** — вставь число/выражение в тождество.
- **`estimate`** — ответ в допуске (прикидка, π).
- **`multi`** — одна задача, несколько проверяемых под-ответов по цепочке.
- **`order`** — упорядочить (числа/дроби/шаги).
- **`match`** — сопоставить (формула↔результат, фигура↔площадь).
- **`context`** — обёртка существующих compute в бытовые сюжеты (данными).
- **`figureAsk`/таблица** — ответ читается с чертежа/таблицы.
### C2. Глубина ВНУТРИ темы (под-варианты и формулировки)
Для каждой темы — четыре направления формулировки:
- **Прямая** (дано→найди) — есть.
- **Обратная** (найди параметр по ответу) — частично (find-b/d/n/q, restore-before). Расширить
на ВСЕ темы: «при каком a корень = R», «найди сторону по периметру», «найди r по длине».
- **Словесная/контекст** — расширить (движение/работа/смеси/деньги/геометрия-в-жизни).
- **Многошаговая** — связать два факта (Пифагор→периметр уже есть; угловые цепочки; %→%).
### C3. Числовое разнообразие (тип ответа/чисел)
Сейчас алгебра — почти всегда целые. Добавить варианты:
- **Дробные/десятичные корни** там, где уместно (через «корень-вперёд» с делителями).
- **Отрицательные** коэффициенты/корни шире (уже частично).
- **Иррациональные «через √»** (ответ вида `k√m`) — ТРЕБУЕТ нового механизма проверки (сейчас
движок численный; ответ `2*sqrt(3)` примется, но эталон-строка иная) → пометка на отдельную фазу.
- **Ответ-дробь/отношение** (k:1, 3/4) — есть в дробях; распространить (вероятность, проценты).
### C4. Визуальное разнообразие (фигуры)
- Дать чертёж БОЛЬШЕМУ числу задач (не только геометрия): числовая прямая (отрицательные/дроби),
столбчатые/круговые мини-диаграммы (проценты/доли), таблица (чтение данных), график (функции).
- Везде, где есть фигура, включить **режим «читать с чертежа»** (`figurePrompt`) — уже есть в
геометрии; добавить figurePrompt новым фигурным задачам.
- Новые типы фигур из B + диаграммы (C4) переиспользуют хелперы `figures.js`.
### C5. Разнообразие ПОДАЧИ (не меняя математику)
- **Рандомизация имён/контекста** в текстовых (имена, предметы, валюта) — данными.
- **Разные формулировки одного навыка** (вопрос «найдите»/«чему равно»/«определите»).
- **Уровни как СТРУКТУРА** (уже есть `level` 1–3) — добить разметку новых генераторов.
---
## D. Новые ТЕМЫ (охват ЦТ/ЦЭ) — из ROADMAP_V4, кратко
`g-func` (чтение графика), `roots` (корни/иррациональности), `logs`, `trig` (особые углы),
`g-coord` (координатная геометрия), вероятность/статистика. Каждая = новый пласт разнообразия.
---
## E. Рекомендуемая последовательность
1. **A-добивка** (символы Sₙ/сторон/единицы) — мелко, сразу. ✦ дешёвый, видимый эффект.
2. **B — углы/параллельные** (≈12 генераторов + 3–4 фигуры) — закрывает запрос по теме. ★
3. **C1 — форматы заданий** (V4.2: choice→verify→fillBlank→findError→estimate→multi→order→match→
context→figureAsk) — крупнейший прирост разнообразия; правки движка+страницы+смоуки.
4. **C2/C3 — обратные/словесные/многошаговые + числовые варианты** волнами по темам.
5. **C4 — диаграммы/числовая прямая/таблицы** + read-from-figure на новых задачах.
6. **D — новые темы ЦТ**.
Каждая волна: смоук движка (инстанс всех генераторов + самопроверка + рендер фигур) + смоук
страницы (где менялась) + коммит; эмодзи/eval = 0.
---
## Приложение — где что
- Генераторы: `frontend/js/trainer/generators.js` (178 шт; поля figure/figurePrompt/answerSym).
- Движок/kinds/answerSym-подмена: `frontend/js/trainer/_trainer_engine.js`.
- Фигуры-данные: `frontend/js/trainer/figures.js` (13 базовых + 10 геом-типов V4.1).
- Страница (eqx-префикс/answerLabel/режим чертежа): `frontend/trainer.html`.
- Базовый план/спеки: `ROADMAP_V4.md`, `V4_GENERATOR_SPECS.md`.