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>
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
# ИИ-Тренажёр — План «Максимум разнообразия» (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` | односторонние ВНЕШНИЕ | 180−a | parallel-lines-transversal |
|
||||
| `ang-vertical-transversal` | вертикальные ПРИ секущей | a | parallel-lines-transversal |
|
||||
| `ang-parallel-twostep` | секущая → смежный к накрест лежащему (2 шага) | 180−a | parallel-lines-transversal |
|
||||
| `ang-bisector` | биссектриса делит угол пополам | a/2 | новый `angle-bisector` |
|
||||
| `ang-complementary` | дополнительные (сумма 90°) | 90−a | новый `complementary` |
|
||||
| `ang-right-acute` | острые углы прям. треугольника (90−a) | 90−a | right-triangle (метка угла) |
|
||||
| `ang-parallelogram` | углы параллелограмма (сосед = 180−a) | 180−a / a | parallelogram (метка углов) |
|
||||
| `ang-polygon-missing` | n-угольник: известны все углы, кроме одного | 180(n−2)−Σ | 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·H−0\| | новый `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`.
|
||||
Reference in New Issue
Block a user