[2026-10-10] eagle: personal/projects/personal-os/personal-os-data-analysis-workflow-2026-10-09.md personal/projects/personal-os/personal-os-rlm-stand-results-2026-10-10.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-10 19:23:46 +06:00
1 parent ecf145bf8d
commit 1c4f4e925c
2 files changed
+89

No files matched your search

@@ -217,6 +217,8 @@ Graphiti передаёт при извлечении отношений пре
### 9.1a. Дополнение 2026-10-10 (вечер): выборка и первый прогон на рабочих данных
Полные результаты обоих прогонов, ошибки и решения: [[personal-os-rlm-stand-results-2026-10-10]].
- Выборка подготовлена: 14 связных работ из `personal_os` (855 задач, 10 603 stories, 195 ссылок на PR) плюс Mattermost (1 465 сообщений за 1–9 октября), 7 транскриптов Zoom, 71 строка `activity_daily` и 9 daily briefs. Каталог `tools/rlm-lab/datasets/private/sample-2026-10-10/`, экспорт `scripts/rlm-sample-export.js`. Состав — предложение, не утверждён.
- Первый прогон на одной работе (Duck.ai → меню приложения, контрольный случай без упоминания Алекса): шесть RLM-прогонов на Qwen27B и Coder30B не дошли до FINAL; одиночный вызов с заранее собранным контекстом на Qwen27B дал проверяемый JSON (10/10 улик по gid подтверждены, одно перепутанное авторство, завышено состояние «released»). Детали, исправления стенда и выводы: `tools/rlm-lab/datasets/private/sample-2026-10-10/eval/report-2026-10-10.md`.
- Исправлено в стенде: падение mlx_lm на tool-call токене (обёртка `backend.py`), таймауты и бюджеты вызовов подняты (`config.json`). Шаг 9.2.3 и 9.2.4 ниже остаются актуальными; шаг 9.2.1 выполнен в части подготовки, выбор состава за Алексом.
@@ -0,0 +1,87 @@
---
date: '2026-10-10'
status: results
tags:
- personal-os
- data-analysis
- rlm
- evaluation
---
# Personal OS — результаты первых прогонов на рабочих данных (2026-10-10)
Продолжение [[personal-os-data-analysis-workflow-2026-10-09]], раздел 9. Здесь зафиксировано, что было сделано, что получилось, где модель систематически ошибается и что из этого следует. Исходные файлы прогонов, эталоны и отчёты на английском: `tools/rlm-lab/datasets/private/sample-2026-10-10/` в репозитории personal-os (каталог вне git).
## 1. Выборка
Скрипт `scripts/rlm-sample-export.js` читает `personal_os` (localhost, E1-restore) и собирает пакет на каждую корневую задачу: родители, подзадачи до глубины 4, зависимости на один шаг, задачи по ссылкам из текста, memberships, stories без лайков и реакций, ссылки на PR и gid из текста, хеши и времена. Модуль `scripts/rlm-sample-sources.js` добавляет общие источники.
| Что | Объём |
|---|---|
| Работ | 14 (состав предложен, не утверждён) |
| Задач в снимке | 855 |
| Stories после фильтра | 10 603 |
| Ссылок на PR в тексте | 195 |
| Mattermost | 1 465 сообщений, 1–9 октября, chat.duckduckgo.com и mm.qentra.top |
| Zoom | 7 транскриптов, 29 сентября – 6 октября |
| activity_daily | 71 строка, апрель–июнь |
| daily briefs | 9 файлов, июнь |
Пробелы: таблиц GitHub в `personal_os` нет, PR только как URL из текста; задачи релизов в выборке отсутствуют; у Fire Button нет родителя в БД; у Tab.swift не хватает 7 подзадач. Mattermost привязывается только по явному gid/PR, совпадения есть у одной работы (VSCode-миграция). Zoom, activity и briefs в анализ не входят, в снимке они пока балласт.
## 2. Первый прогон: RLM на одной работе
Работа: Duck.ai → пункт «AI Settings» в меню приложения, контрольный случай «AI Chat задевает главное окно без упоминания Алекса». Эталон написан до запуска по оригиналам.
| Режим | Исход | Время |
|---|---|---|
| RLM Qwen27B ×2 | падение mlx_lm на tool-call токене; таймаут API | 42 с, 121 с |
| RLM Qwen27B | 8 вызовов на чтение, FINAL нет | 288 с |
| RLM Qwen27B | несколько repl-блоков в ответе, повторяется; остановлен | ~16 мин |
| RLM Qwen27B | один блок соблюдён, с шага 12 цикл; 24 вызова, FINAL нет | 694 с |
| RLM Coder30B | каждый ответ упирается в 2048 токенов, ничего не выполнено | 943 с |
| Один вызов Qwen27B с собранным контекстом | валидный JSON | 138 с |
| Один вызов Coder30B | валидный, тонкий | 25 с |
Вывод: RLM на этих моделях без thinking не сходится даже на работе в 79 KB; одиночный вызов даёт проверяемый результат. Модель нашла факт, пропущенный в ручном эталоне: 5 октября Alex M упомянул задачу из задачи релиза 1.210.0. Эталоны надо сверять скриптами.
Исправления стенда: `backend.py` отключает разбор tool-call в mlx_lm; таймауты и бюджеты вызовов подняты в `config.json`; добавлен `baseline.py`.
## 3. Второй прогон: один вызов, схема v2, четыре работы
Схема v2: утверждения о состоянии (proposed, decided, implemented, approved, released, cancelled, open, blocked) с уликой и флагом confirmed; хронология с уликами; люди; Алекс (mentioned, assignee, author, responsible, intersection_kind); ссылки; неизвестности. Контекст собирается `tools/rlm-lab/build_input.py`: корень полностью, у подзадач только комментарии, назначения, завершения, переименования и всё, где автор Алекс; бюджет 160 тысяч символов.
| Работа | Prompt токенов | Время | JSON | Улики найдены |
|---|---:|---:|---|---|
| Duck.ai entry point | 9 682 | 146 с | валидный | 19/19 |
| Fire Button (Алекс DRI) | 49 814 | 489 с | валидный | 23/23 |
| VSCode migration (Алекс DRI, открыта) | 51 814 | 490 с | валидный | 15/15 |
| Prevent accidental quit (Алекс DRI) | 65 544 | 611 с | валидный | 23/23 |
Первая попытка батча потеряна из-за лимита 2048 токенов ответа и таймаута 600 с; подняты до 8192 и 1800 с. Prefill ≈ 110–160 ток/с, это главная статья времени.
Что верно во всех четырёх: ни одной выдуманной улики; роли Алекса совпали с посчитанной из записей истиной (owner на трёх, awareness на Duck.ai); хронологии с правильными датами; отмены ловятся, когда о них сказано прямо; Mattermost использован там, где привязан; неизвестности осмысленные.
Две системные ошибки:
1. **Релиз помечен как подтверждённый** на 3 работах из 3 продуктовых. Улика: движение по release board или бот-запись «упомянута в задаче релиза». У Duck.ai задачу вернули в Pre-release Validation 6 октября; у accidental quit выдуман релиз iOS из тега. Флаг confirmed не помогает: true в 30 из 31 утверждений.
2. **Закрытая подзадача прочитана как реализация.** VSCode: «CoreData мигрирован на code-initialized модели [confirmed]» по завершённой подзадаче, которая на деле отменена, потому что Xcode 27 собирает модели как есть. Та же ошибка project truth, что записана в README проекта 4 октября.
Прочие пропуски: у Duck.ai нет ранней реализации PR 5553 и правила про ship review; у Fire Button не отмечен отсутствующий родитель и блокировка Sites-секции FE-задачей; у VSCode смешаны устаревший «[ON HOLD]» и сентябрьский перезапуск.
## 4. Хранение
Миграция `migrations/007_work_claims_pilot.sql` применена к `personal_os`: `work_analysis_runs` и `work_claims` (статус candidate/accepted/rejected, evidence_ref, evidence_found, model_confirmed). Загружено 4 прогона, 212 утверждений, 80 из 80 улик найдены. Это кандидаты; приёмка по дизайну [[personal-os-evidence-graph-design-2026-10-04]] не реализована.
## 5. Что этот блок делает и чего не делает
Делает: разбор одной корневой задачи с поддеревом в проверяемые утверждения с уликами. В будущей схеме это компонент, вызываемый на каждую работу из батча по архиву или по изменению из incoming.
Не делает: привязку к другим работам, пересечения со сферой Алекса без явных ссылок, использование Zoom и несвязанных сообщений, поиск по корпусу. Для этого нужен следующий блок: явные связи по всему корпусу в таблице рёбер, кандидаты через соседей и поиск, второй дешёвый вызов на пару «работа ↔ кандидат».
## 6. Решения и следующие шаги
- Извлечение одним вызовом принято как рабочий режим для разбора работы; RLM откладывается до этапа поиска по архиву.
- Две системные ошибки лечатся правилами в коде поверх `work_claims`, не промптом: релиз только по задаче релиза с версией в корпусе, иначе suggested; завершённая подзадача даёт closed, реализация требует merge или прямого утверждения, пометка об отмене переводит в cancelled.
- Задачи релизов нужно добавить в выборку.
- Графовые продукты для этого шага не нужны; Cognee и Graphiti остаются вопросом для поиска между работами.
- Цена: 4 работы ≈ 29 минут модели; 60–100 эпизодов это 7–12 часов батчем на этой машине.