diff --git a/docs/experiments/21-role-topology.md b/docs/experiments/21-role-topology.md index a9813f07..7f510959 100644 --- a/docs/experiments/21-role-topology.md +++ b/docs/experiments/21-role-topology.md @@ -7,7 +7,7 @@ > **СТАТУС: замер закончен, вторая редакция.** Первая редакция (06.08) снята целиком: её риг > измерял ПОЗИЦИЮ варианта в промпте, а не качество арма (§3). Ниже — только текущее состояние. > Пре-рег второй редакции зафризен коммитом `d472599` **до первой платной покупки**. -> Потрачено второй редакцией **$1.683796** (пак целиком, обе редакции — **$4.306626**); +> Потрачено второй редакцией **$1.725652** (пак целиком, обе редакции — **$4.306626**); > потолки второй редакции соблюдены, потолки ФАЗ из промта — нет (§2.7). > Числа сверяются `eval/role_topology/verify_report.py` — 44 проверки, ненулевой код = не сдавать. @@ -84,7 +84,9 @@ Holm=0.0014. Вклад делится: ЯЗЫК −1.31, ФОРМА −1.25. из тех же данных дают «генерация больше» (1.48/1.34), «поровну» (1.43/1.40) и «судья больше» (r=0.30 ⇒ 0.65), ни один не отличим от остальных при n=16. -**ДЕНЬГИ.** Пак $5.05017; **$0.18831 оплачено за пустой выход** (18 вызовов). Экономика: связка +**ДЕНЬГИ.** Пак **$5.15932**, включая армы Ф2б $0.10916 (§17); **$0.18831 оплачено за пустой +выход** (18 вызовов). Вне всех касс **$2.73199** — теги первой редакции, скрина и старых проб. +Цена черновой роли, пере-снятая на этих единицах: **$0.00107**/единицу. Экономика: связка дороже однопроходки на +0.00096/единицу (11/16), но собственный точный тест даёт p=0.061 — как УСТАНОВЛЕННЫЙ факт не держится. По токенам +114%, однако 68% разрыва — дешёвый и кэшированный ВХОД; дорогой выход отличается на 55%. @@ -314,10 +316,10 @@ A_law против A +0.63 [+0.33,+0.97]* +0.02 [−0.32,+0.32] −0.18 [−0.5 ``` контраст ед. за перв. за втор. ничья перевес 95% ДИ фр-страта plain -A против F 12 2 0 10 +1.00 [+0.04, +1.79] +0.33 +1.67 -B против F 12 3 0 9 +1.31 [+0.35, +2.25] +1.75 +0.88 -D против A 12 0 1 11 −0.81 [−2.58, +0.73] +0.21 −1.83 -D против D_ 12 2 0 10 +0.48 [−0.83, +1.69] +1.04 −0.08 +A против F 12 8 2 2 +0.65 [−0.25, +1.35] +0.33 +0.96 +B против F 12 9 3 0 +0.92 [+0.10, +1.69] +1.75 +0.08 +D против A 12 4 8 0 −1.42 [−3.17, +0.19] +0.21 −3.04 +D против D_ 12 7 4 1 +0.69 [−0.42, +1.71] +1.04 +0.33 ``` **Направление переносится, величина — нет.** Второй проход покупает качество на обеих парах. @@ -428,12 +430,12 @@ D_ 18 0 6 0 | Блок второй редакции | Потрачено | Потолок | |---|---|---| -| армы zh | $0.469169 | $0.70 | +| армы zh | $0.469816 | $1.60 | | судейство zh | $0.739291 | $1.70 | | армы en | $0.188682 | $0.55 | -| судейство en | $0.283024 | $1.45 | +| судейство en | $0.324233 | $1.45 | | проба судьи-замены | $0.003630 | $0.10 | -| **итого вторая редакция** | **$1.683796** | — | +| **итого вторая редакция** | **$1.725652** | — | Потолки второй редакции соблюдены. ⚠ **Потолки ФАЗ из промта — нет.** Ф2а как стадия (обе редакции) = $2.5862 при потолке $2.50; Ф1 = $1.0747 при потолке $1.00, причём 99% этого потрачено diff --git a/eval/role_topology/verify_report.py b/eval/role_topology/verify_report.py index d7496bf5..3bdef269 100644 --- a/eval/role_topology/verify_report.py +++ b/eval/role_topology/verify_report.py @@ -234,9 +234,9 @@ def main() -> None: # noqa: PLR0915 for arm in BO.ARMS: costs = [json.loads((RAW / f"bo2-{arm}-{u['uid']}.json").read_text(encoding="utf-8"))["cost_usd"] for u in us_zh if (RAW / f"bo2-{arm}-{u['uid']}.json").exists()] - med = med(costs) - ck(f"{arm}: ${med:.5f}/единицу (собственный вызов) напечатано в отчёте", - num_in(text, f"{med:.5f}"), f"{med:.5f}") + m_arm = med(costs) + ck(f"{arm}: ${m_arm:.5f}/единицу напечатано в СТРОКЕ С МЕТКОЙ арма", + num_near(text, arm, f"{m_arm:.5f}"), f"{m_arm:.5f}") same = sum(1 for u in us_zh if BO.text_of("F", u).strip() == json.loads((RAW / f"bo2-DRAFT-{u['uid']}.json").read_text(