@dzhechkov/keysarium 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -11
- package/package.json +2 -2
- package/src/utils.js +1 -1
- package/templates/.claude/commands/brain-export.md +99 -20
- package/templates/.claude/commands/brain-import.md +75 -4
- package/templates/.claude/commands/bto-benchmark.md +302 -0
- package/templates/.claude/commands/harvest.md +28 -46
- package/templates/.claude/rules/trust-tiers.md +1 -0
- package/templates/.claude/skills/knowledge-extractor/SKILL.md +254 -0
- package/templates/.claude/skills/knowledge-extractor/modules/01-extract.md +188 -0
- package/templates/.claude/skills/knowledge-extractor/modules/02-classify.md +99 -0
- package/templates/.claude/skills/knowledge-extractor/modules/03-gate.md +150 -0
- package/templates/.claude/skills/knowledge-extractor/modules/04-integrate.md +159 -0
- package/templates/.claude/skills/knowledge-extractor/references/artifact-categories.md +100 -0
- package/templates/.claude/skills/knowledge-extractor/references/maturity-model.md +94 -0
- package/templates/.claude/skills/knowledge-extractor/references/quality-gates.md +98 -0
- package/templates/.claude/skills/knowledge-extractor/templates/artifact-card.md +63 -0
- package/templates/.claude/skills/knowledge-extractor/templates/harvest-report.md +102 -0
- package/templates/CLAUDE.md +42 -22
- package/templates/docs/continuous-learning-guide.md +622 -0
- package/templates/docs/feature-adr/01-architecture.md +750 -0
- package/templates/docs/feature-adr/02-functionality.md +712 -0
- package/templates/docs/feature-adr/03-deployment-guide.md +614 -0
- package/templates/docs/feature-adr/04-admin-guide.md +564 -0
- package/templates/docs/feature-adr/05-user-guide.md +508 -0
- package/templates/docs/feature-adr/06-user-flows.md +1101 -0
- package/templates/docs/improvement-directions.md +8 -4
- package/templates/docs/keysarium-core/01-architecture.md +559 -0
- package/templates/docs/keysarium-core/02-functionality.md +955 -0
- package/templates/docs/keysarium-core/03-deployment-guide.md +625 -0
- package/templates/docs/keysarium-core/04-admin-guide.md +529 -0
- package/templates/docs/keysarium-core/05-user-guide.md +599 -0
- package/templates/docs/keysarium-core/06-user-flows.md +804 -0
- package/templates/docs/skills-bto/01-deployment-guide.md +1 -1
- package/templates/docs/skills-bto/02-admin-guide.md +4 -1
- package/templates/docs/skills-bto/03-user-guide.md +4 -3
- package/templates/docs/skills-bto/04-infrastructure-requirements.md +2 -1
- package/templates/docs/skills-bto/05-architecture.md +11 -11
- package/templates/docs/skills-bto/06-user-flows.md +2 -1
- package/templates/lib/dream-engine.md +1 -1
- package/templates/lib/memory-protocol.md +131 -22
- package/templates/lib/reward-tracker.md +6 -3
|
@@ -0,0 +1,622 @@
|
|
|
1
|
+
# Непрерывное обучение в Keysarium — Полное руководство
|
|
2
|
+
|
|
3
|
+
> Как данные, генерируемые в ходе продуктовых исследований, превращаются в улучшения системы.
|
|
4
|
+
|
|
5
|
+
## Содержание
|
|
6
|
+
|
|
7
|
+
1. [Обзор цикла обучения](#1-обзор-цикла-обучения)
|
|
8
|
+
2. [Установка и первый запуск](#2-установка-и-первый-запуск)
|
|
9
|
+
3. [Фаза 1: Исследование — генерация данных](#3-фаза-1-исследование--генерация-данных)
|
|
10
|
+
4. [Фаза 2: Reward Learning — автоматический сбор](#4-фаза-2-reward-learning--автоматический-сбор)
|
|
11
|
+
5. [Фаза 3: Harvest — извлечение знаний](#5-фаза-3-harvest--извлечение-знаний)
|
|
12
|
+
6. [Фаза 4: BTO — оценка и оптимизация скиллов](#6-фаза-4-bto--оценка-и-оптимизация-скиллов)
|
|
13
|
+
7. [Фаза 5: Dream Cycles — обнаружение паттернов](#7-фаза-5-dream-cycles--обнаружение-паттернов)
|
|
14
|
+
8. [Фаза 6: Brain Export/Import — перенос знаний](#8-фаза-6-brain-exportimport--перенос-знаний)
|
|
15
|
+
9. [Куда деваются данные: карта потоков](#9-куда-деваются-данные-карта-потоков)
|
|
16
|
+
10. [Контекстные данные vs Actionable данные](#10-контекстные-данные-vs-actionable-данные)
|
|
17
|
+
11. [Как улучшать скиллы в npm-пакете](#11-как-улучшать-скиллы-в-npm-пакете)
|
|
18
|
+
12. [Полный цикл: пошаговый чеклист](#12-полный-цикл-пошаговый-чеклист)
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 1. Обзор цикла обучения
|
|
23
|
+
|
|
24
|
+
Keysarium реализует **замкнутый цикл обучения**, где каждое исследование не просто решает задачу, а делает систему лучше для будущих задач:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
|
28
|
+
│ ИССЛЕДОВАНИЕ │────→│ REWARD │────→│ HARVEST │
|
|
29
|
+
│ /casarium │ │ (авто) │ │ /harvest │
|
|
30
|
+
└──────────────┘ └──────────────┘ └──────┬───────┘
|
|
31
|
+
↑ │
|
|
32
|
+
│ ┌──────────────┐ │
|
|
33
|
+
│ │ DREAM │ │
|
|
34
|
+
│ │ /dream run │ │
|
|
35
|
+
│ └──────┬───────┘ │
|
|
36
|
+
│ │ │
|
|
37
|
+
│ ┌──────┴───────┐ ┌──────┴───────┐
|
|
38
|
+
│ │ LEARNING │ │ BTO │
|
|
39
|
+
│ │ STATS │ │ /bto-test │
|
|
40
|
+
│ └──────────────┘ │ /bto-optimize│
|
|
41
|
+
│ └──────┬───────┘
|
|
42
|
+
│ │
|
|
43
|
+
│ ┌──────────────┐ │
|
|
44
|
+
└──────────────│ BRAIN │←───────────┘
|
|
45
|
+
│ EXPORT/ │
|
|
46
|
+
│ IMPORT │
|
|
47
|
+
└──────────────┘
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Два типа обучения
|
|
51
|
+
|
|
52
|
+
| Тип | Что происходит | Автоматически? | Результат |
|
|
53
|
+
|-----|---------------|----------------|-----------|
|
|
54
|
+
| **Reward Learning** | Система запоминает, какие подходы получили одобрение пользователя | Да | Лучшие подходы приоритизируются в будущих фазах |
|
|
55
|
+
| **Knowledge Harvesting** | Из артефактов извлекаются переиспользуемые паттерны, правила, шаблоны | Нет (ручной запуск) | Новые правила, шаблоны, скиллы добавляются в систему |
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 2. Установка и первый запуск
|
|
60
|
+
|
|
61
|
+
### Шаг 1: Установка пакетов
|
|
62
|
+
|
|
63
|
+
**Основной пакет** (обязателен):
|
|
64
|
+
```bash
|
|
65
|
+
npx @dzhechkov/keysarium init
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Это создаёт:
|
|
69
|
+
- `.claude/commands/` — 18 slash-команд (исследование, harvest, brain, dream, learning-stats)
|
|
70
|
+
- `.claude/skills/` — 7 скиллов (explore, goap-research, problem-solver, presentation, reverse-engineering, frontend-design, feature-adr)
|
|
71
|
+
- `.claude/rules/` — 16 правил
|
|
72
|
+
- `.claude/shards/` — 9 governance-шардов
|
|
73
|
+
- `lib/` — библиотечные протоколы
|
|
74
|
+
- `CLAUDE.md` — мастер-инструкция
|
|
75
|
+
|
|
76
|
+
**BTO пакет** (нужен для оценки и оптимизации скиллов):
|
|
77
|
+
```bash
|
|
78
|
+
npx @dzhechkov/skills-bto init
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Добавляет:
|
|
82
|
+
- `.claude/commands/` — 6 команд (`/bto`, `/bto-build`, `/bto-benchmark`, `/bto-test`, `/bto-optimize`, `/verify-chain`)
|
|
83
|
+
- `.claude/skills/bto/` — скилл BTO (модули build, benchmark, test, optimize + references)
|
|
84
|
+
|
|
85
|
+
> **Нужен ли BTO?** Для проведения исследований (`/casarium`) — нет. Reward learning и harvest работают без BTO. Но **для замыкания цикла обучения** — да: без BTO невозможно объективно оценить качество скиллов, обнаружить слабые места и оптимизировать. Если вы хотите просто проводить исследования без улучшения системы — BTO можно не ставить. Если хотите **непрерывное обучение** — BTO обязателен.
|
|
86
|
+
|
|
87
|
+
### Шаг 2: Первый запуск
|
|
88
|
+
|
|
89
|
+
При первом `/casarium` система работает **без исторических данных** — это нормально:
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
memory_query() → пустой результат → "No historical patterns found, proceeding normally"
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Директория `.keysarium/memory/` будет создана автоматически при первом checkpoint.
|
|
96
|
+
|
|
97
|
+
### Что НЕ нужно настраивать заранее
|
|
98
|
+
|
|
99
|
+
- `.keysarium/memory/config.json` — создаётся автоматически с дефолтами
|
|
100
|
+
- `.keysarium/memory/index.json` — создаётся при первом `memory_store()`
|
|
101
|
+
- `TOOLKIT_HARVEST.md` — создаётся при первом `/harvest`
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 3. Фаза 1: Исследование — генерация данных
|
|
106
|
+
|
|
107
|
+
### Запуск исследования
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
/casarium [текст кейса]
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Пайплайн проходит 7 фаз (Phase 0 → Phase 5 + Packaging), на каждой создавая артефакты в `researches/<slug>/`.
|
|
114
|
+
|
|
115
|
+
### Что генерируется (для обучения)
|
|
116
|
+
|
|
117
|
+
На каждой фазе генерируются два типа данных:
|
|
118
|
+
|
|
119
|
+
**1. Артефакты фазы** (видимые файлы):
|
|
120
|
+
```
|
|
121
|
+
researches/<slug>/
|
|
122
|
+
├── 00_product_discovery.md ← Phase 0
|
|
123
|
+
├── 01_case_brief.md ← Phase 1
|
|
124
|
+
├── 02_research_findings.md ← Phase 2
|
|
125
|
+
├── 02.5_trend_brief.md ← Phase 2.5
|
|
126
|
+
├── 03_solution_strategy.md ← Phase 3
|
|
127
|
+
├── 04_architecture.md ← Phase 4
|
|
128
|
+
├── 05-08_*.md ← Phase 5
|
|
129
|
+
└── prototype/cjm-prototype.jsx
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**2. Reward-записи** (невидимые, автоматические):
|
|
133
|
+
```
|
|
134
|
+
.keysarium/memory/<domain>/<slug>/
|
|
135
|
+
├── phase-0_2026-03-01T10-00-00.json
|
|
136
|
+
├── phase-1_2026-03-01T10-30-00.json
|
|
137
|
+
├── phase-2_2026-03-01T11-00-00.json
|
|
138
|
+
└── ...
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Ключевой момент: Checkpoint
|
|
142
|
+
|
|
143
|
+
После каждой фазы система показывает checkpoint и **ждёт вашего ответа**. Именно ваш ответ определяет reward:
|
|
144
|
+
|
|
145
|
+
| Ваш ответ | Reward | Что запоминает система |
|
|
146
|
+
|-----------|--------|----------------------|
|
|
147
|
+
| "ок" / "next" | 1.0 (excellent) | "Этот подход отлично работает" |
|
|
148
|
+
| "углуби секцию X" | 0.7 (good) | "Подход хороший, но нужна доработка в одном месте" |
|
|
149
|
+
| "переделай подход" | 0.3 (needs_work) | "Подход не оптимален, нужен другой" |
|
|
150
|
+
| "начни заново" | 0.0 (failed) | "Подход провалился" |
|
|
151
|
+
|
|
152
|
+
> **Важно**: Если сессия прервалась без ответа на checkpoint — запись НЕ сохраняется. Только явные ответы генерируют reward-данные.
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## 4. Фаза 2: Reward Learning — автоматический сбор
|
|
157
|
+
|
|
158
|
+
### Как это работает
|
|
159
|
+
|
|
160
|
+
Reward Learning работает **полностью автоматически** — вам ничего не нужно делать.
|
|
161
|
+
|
|
162
|
+
**При начале каждой фазы** — `memory_query()`:
|
|
163
|
+
1. Система ищет похожие прошлые записи (тот же домен + та же фаза)
|
|
164
|
+
2. Сортирует по reward (лучшие сначала), потом по usage_count (проверенные сначала)
|
|
165
|
+
3. Загружает топ-10 записей + паттерны домена
|
|
166
|
+
4. Агент учитывает лучшие подходы из прошлого
|
|
167
|
+
|
|
168
|
+
**При checkpoint** — `memory_store()`:
|
|
169
|
+
1. Система классифицирует ваш ответ → reward score
|
|
170
|
+
2. Сохраняет запись со всем контекстом (какой скилл, какой домен, какой результат)
|
|
171
|
+
3. Обновляет индекс `.keysarium/memory/index.json`
|
|
172
|
+
|
|
173
|
+
### Жизненный цикл записей
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
HOT (0-30 дней) → WARM (30-90 дней) → COLD (90-180 дней) → PURGE (>180 дней)
|
|
177
|
+
Полные записи Полные, но Сжатые, в Удалены
|
|
178
|
+
Приоритет в депри- _archive/
|
|
179
|
+
поиске оритизированы
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Что делать с Reward Learning?
|
|
183
|
+
|
|
184
|
+
**Ничего.** Это фоновый процесс. Просто:
|
|
185
|
+
1. Проводите исследования через `/casarium`
|
|
186
|
+
2. Давайте честную обратную связь на checkpoint-ах
|
|
187
|
+
3. Система сама учится
|
|
188
|
+
|
|
189
|
+
**Проверить статистику** можно командой:
|
|
190
|
+
```
|
|
191
|
+
/learning-stats ← всё
|
|
192
|
+
/learning-stats --domain banking ← по домену
|
|
193
|
+
/learning-stats --phase 2 ← по фазе
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Когда Reward Learning начинает работать?
|
|
197
|
+
|
|
198
|
+
- **3+ записей в домене** — появляется bottleneck detection
|
|
199
|
+
- **4+ записей по фазе** — появляется trend detection
|
|
200
|
+
- **10+ записей** — паттерны достигают confidence 1.0
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## 5. Фаза 3: Harvest — извлечение знаний
|
|
205
|
+
|
|
206
|
+
### Зачем нужен Harvest
|
|
207
|
+
|
|
208
|
+
Reward Learning запоминает "этот подход сработал/не сработал". А Harvest **извлекает конкретные переиспользуемые артефакты** из завершённого исследования: паттерны, правила, шаблоны, сниппеты.
|
|
209
|
+
|
|
210
|
+
### Когда запускать
|
|
211
|
+
|
|
212
|
+
**После завершения каждого исследования** (Phase 5 + Packaging done):
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
/harvest researches/<slug>/
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Или для всех завершённых исследований:
|
|
219
|
+
```
|
|
220
|
+
/harvest all
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Как работает Harvest
|
|
224
|
+
|
|
225
|
+
Pipeline: **Extract (5 agents) → Classify (7 categories) → User Review → Gate (8 checks) → Integrate**
|
|
226
|
+
|
|
227
|
+
**5 параллельных экстракторов** сканируют проект через разные линзы:
|
|
228
|
+
1. Архитектурные паттерны
|
|
229
|
+
2. Исследовательские паттерны
|
|
230
|
+
3. Промпт-инжиниринг находки
|
|
231
|
+
4. Доменные специфики
|
|
232
|
+
5. Процессные улучшения
|
|
233
|
+
|
|
234
|
+
**7 категорий** артефактов:
|
|
235
|
+
| Категория | Куда размещается | Пример |
|
|
236
|
+
|-----------|-----------------|--------|
|
|
237
|
+
| skills | `.claude/skills/` | Новый скилл для специфичной задачи |
|
|
238
|
+
| commands | `.claude/commands/` | Новая slash-команда |
|
|
239
|
+
| hooks | `.claude/rules/` | Хук на определённое событие |
|
|
240
|
+
| rules | `.claude/rules/` | Новое правило (например, для нового домена) |
|
|
241
|
+
| templates | `.claude/skills/*/templates/` | Шаблон артефакта |
|
|
242
|
+
| patterns | `TOOLKIT_HARVEST.md` | Доменный паттерн |
|
|
243
|
+
| snippets | `TOOLKIT_HARVEST.md` | Переиспользуемый фрагмент |
|
|
244
|
+
|
|
245
|
+
### User Review — ваш контроль
|
|
246
|
+
|
|
247
|
+
После извлечения система показывает нумерованный список находок. Вы контролируете:
|
|
248
|
+
- `#3 пропусти` — не включать находку #3
|
|
249
|
+
- `#5 перенеси в rules` — изменить категорию
|
|
250
|
+
- `пропусти G3,G4 для #14` — пропустить определённые quality gates
|
|
251
|
+
- `ок` — принять всё
|
|
252
|
+
|
|
253
|
+
### Результат Harvest
|
|
254
|
+
|
|
255
|
+
- Новые артефакты размещены в правильных директориях
|
|
256
|
+
- `TOOLKIT_HARVEST.md` обновлён
|
|
257
|
+
- Harvest report сохранён
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## 6. Фаза 4: BTO — оценка и оптимизация скиллов
|
|
262
|
+
|
|
263
|
+
### Зачем нужен BTO
|
|
264
|
+
|
|
265
|
+
Harvest извлекает знания. Но как оценить, достаточно ли хороши существующие скиллы? И как их улучшить? Для этого — **BTO (Build-Test-Optimize)**.
|
|
266
|
+
|
|
267
|
+
### Какой режим BTO использовать?
|
|
268
|
+
|
|
269
|
+
| Ситуация | Команда | Что делает |
|
|
270
|
+
|----------|---------|-----------|
|
|
271
|
+
| Хочу оценить существующий скилл | `/bto-test .claude/skills/<name>/` | Layer 0 → Layer 1 → Layer 2 (3 судьи) |
|
|
272
|
+
| Хочу оценить + оптимизировать | `/bto .claude/skills/<name>/` | BENCHMARK → TEST → OPTIMIZE (полный цикл) |
|
|
273
|
+
| Хочу только оптимизировать (уже знаю score) | `/bto-optimize .claude/skills/<name>/` | Эволюционная оптимизация (3 раунда) |
|
|
274
|
+
| Хочу создать новый скилл | `/bto-build "описание"` | Генерация скилла из описания |
|
|
275
|
+
| Хочу создать + сразу оценить + оптимизировать | `/bto "описание"` | BUILD → BENCHMARK → TEST → OPTIMIZE |
|
|
276
|
+
| Хочу только бенчмаркнуть | `/bto-benchmark .claude/skills/<name>/` | Детерминистический бенчмаркинг (B0-B3) |
|
|
277
|
+
|
|
278
|
+
### Рекомендуемый сценарий после Harvest
|
|
279
|
+
|
|
280
|
+
Если Harvest создал новый скилл или значительно изменил существующий:
|
|
281
|
+
|
|
282
|
+
```
|
|
283
|
+
1. /bto-benchmark .claude/skills/<name>/ ← Дешёвая проверка (детерминистическая)
|
|
284
|
+
Если BENCHMARK_SCORE < 0.50 → BLOCK:
|
|
285
|
+
Исправить структурные проблемы, не тратить бюджет на судей
|
|
286
|
+
Если BENCHMARK_SCORE >= 0.50 → продолжить:
|
|
287
|
+
|
|
288
|
+
2. /bto-test .claude/skills/<name>/ ← Оценить качество (3 судьи)
|
|
289
|
+
Если score < 7.0:
|
|
290
|
+
|
|
291
|
+
3. /bto-optimize .claude/skills/<name>/ ← Оптимизировать
|
|
292
|
+
Если score >= 7.0:
|
|
293
|
+
Скилл автоматически промотируется в Tier 2
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### Почему Benchmark первый?
|
|
297
|
+
|
|
298
|
+
`/bto-benchmark` — это **детерминистическая** оценка из 4 слоёв:
|
|
299
|
+
|
|
300
|
+
| Слой | Что проверяет | LLM cost |
|
|
301
|
+
|------|--------------|----------|
|
|
302
|
+
| B0 — Golden Sample | Структурное сравнение с эталонами | **0** (diff) |
|
|
303
|
+
| B1 — Test Suite | Кросс-ссылки, терминология, специфичность | **0** (rule-based) |
|
|
304
|
+
| B2 — Consistency Probe | 3 haiku-агента интерпретируют артефакт, измеряют согласие | **Minimal** (haiku x 3) |
|
|
305
|
+
| B3 — Performance | Эффективность токенов, баланс секций, покрытие references | **0** (metrics) |
|
|
306
|
+
|
|
307
|
+
Формула: `BENCHMARK_SCORE = B0 * 0.30 + B1 * 0.35 + B2 * 0.15 + B3 * 0.20`
|
|
308
|
+
|
|
309
|
+
Если benchmark показывает BLOCK (< 0.50), нет смысла тратить бюджет на панель из 3 sonnet-судей в `/bto-test`. Сначала исправьте структурные проблемы.
|
|
310
|
+
|
|
311
|
+
### Trust Tiers: что за уровни доверия
|
|
312
|
+
|
|
313
|
+
| Tier | Label | Как получить |
|
|
314
|
+
|------|-------|-------------|
|
|
315
|
+
| 0 | Advisory | Скилл создан (только SKILL.md) |
|
|
316
|
+
| 1 | Structured | SKILL.md + references/ или modules/ |
|
|
317
|
+
| 2 | Validated | `/bto-test` Layer 2 score >= 7.0 |
|
|
318
|
+
| 3 | Verified | Score >= 8.5 + eval test suites |
|
|
319
|
+
|
|
320
|
+
**Цель**: довести каждый скилл минимум до Tier 2. Скиллы Tier 0 выдают предупреждение при загрузке.
|
|
321
|
+
|
|
322
|
+
### Что делает BTO с данными Harvest
|
|
323
|
+
|
|
324
|
+
BTO работает **с файлами скилла напрямую**. Он:
|
|
325
|
+
1. Читает `SKILL.md` и все reference-файлы
|
|
326
|
+
2. **BENCHMARK**: детерминистическая оценка (B0-B3) — golden samples, test suite, consistency probe, performance metrics
|
|
327
|
+
3. Если BENCHMARK_SCORE < 0.50 → BLOCK, не переходит к судьям
|
|
328
|
+
4. Прогоняет через 71 структурную проверку (Layer 0)
|
|
329
|
+
5. Отправляет на панель из 3 судей (Layer 2)
|
|
330
|
+
6. Если score < 8.0 — оптимизирует (мутации + кроссовер)
|
|
331
|
+
7. Модифицирует файлы скилла in-place
|
|
332
|
+
|
|
333
|
+
Никакого экспорта не нужно — BTO работает прямо с файлами в `.claude/skills/`.
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
## 7. Фаза 5: Dream Cycles — обнаружение паттернов
|
|
338
|
+
|
|
339
|
+
### Зачем нужны Dream Cycles
|
|
340
|
+
|
|
341
|
+
Reward Learning копит данные. Dream Cycles **анализируют накопленные данные** и находят нетривиальные паттерны:
|
|
342
|
+
- "Банковские кейсы систематически проваливаются на Phase 2"
|
|
343
|
+
- "TRIZ работает лучше Game Theory для ритейла"
|
|
344
|
+
- "Phase 1 качество улучшается — текущий подход работает"
|
|
345
|
+
|
|
346
|
+
### Когда запускать
|
|
347
|
+
|
|
348
|
+
```
|
|
349
|
+
/dream run ← Запуск анализа
|
|
350
|
+
/dream insights ← Посмотреть найденные инсайты
|
|
351
|
+
/dream status ← Проверить триггеры (пора ли запускать?)
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
**Рекомендация**: запускать после каждых 5-10 завершённых checkpoint-ов, или когда `/dream status` показывает активный триггер.
|
|
355
|
+
|
|
356
|
+
### Результат
|
|
357
|
+
|
|
358
|
+
Инсайты сохраняются в `.keysarium/insights/` и **автоматически подгружаются** при следующем `/casarium`:
|
|
359
|
+
- Phase 0 получает рекомендации по time budget
|
|
360
|
+
- Phase 2 получает предупреждения о проблемных фазах
|
|
361
|
+
- Все фазы получают рекомендации по выбору скиллов
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
## 8. Фаза 6: Brain Export/Import — перенос знаний
|
|
366
|
+
|
|
367
|
+
### Зачем нужен Brain Export
|
|
368
|
+
|
|
369
|
+
Знания накоплены в одном проекте. Как перенести их в другой?
|
|
370
|
+
|
|
371
|
+
```
|
|
372
|
+
/brain-export all ← Полный экспорт в JSON
|
|
373
|
+
/brain-export --delta parent-brain.json ← Дельта (только новое)
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
### Что экспортируется
|
|
377
|
+
|
|
378
|
+
| Секция | Содержимое | Actionable? |
|
|
379
|
+
|--------|-----------|-------------|
|
|
380
|
+
| `skills` | Метаданные скиллов, trust tiers, BTO scores | Контекст |
|
|
381
|
+
| `domain_patterns` | Обнаруженные паттерны (из reward tracker) | **Actionable** |
|
|
382
|
+
| `research_summaries` | Саммари завершённых исследований | Контекст |
|
|
383
|
+
| `harvest_patterns` | Извлечённые знания из TOOLKIT_HARVEST.md | **Actionable** |
|
|
384
|
+
| `pipeline_metrics` | Метрики пайплайна (время, фазы) | Контекст |
|
|
385
|
+
| `reward_data` | Агрегаты reward-ов, средние по фазам/доменам, most_reused_records | **Actionable** |
|
|
386
|
+
|
|
387
|
+
### Как импортировать
|
|
388
|
+
|
|
389
|
+
В другом проекте (после `npx @dzhechkov/keysarium init`):
|
|
390
|
+
|
|
391
|
+
```
|
|
392
|
+
/brain-import path/to/brain.json
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
Стратегия: **merge-not-overwrite** — импорт не затирает существующие данные, а дополняет.
|
|
396
|
+
|
|
397
|
+
### Нужно ли экспортировать отдельно или использовать напрямую?
|
|
398
|
+
|
|
399
|
+
**Короткий ответ**: Для одного проекта — используйте напрямую. Для переноса между проектами — экспортируйте.
|
|
400
|
+
|
|
401
|
+
| Сценарий | Действие |
|
|
402
|
+
|----------|---------|
|
|
403
|
+
| Работаю в одном проекте | Ничего экспортировать не нужно. Reward data, harvest, patterns — всё используется автоматически |
|
|
404
|
+
| Начинаю новый проект, хочу опыт из старого | `/brain-export all` в старом → `/brain-import` в новом |
|
|
405
|
+
| Делюсь опытом с командой | `/brain-export all` → передать файл коллеге → `/brain-import` |
|
|
406
|
+
| Инкрементальный перенос | `/brain-export --delta prev-brain.json` → импорт только дельты |
|
|
407
|
+
|
|
408
|
+
---
|
|
409
|
+
|
|
410
|
+
## 9. Куда деваются данные: карта потоков
|
|
411
|
+
|
|
412
|
+
### Автоматические данные (не требуют действий)
|
|
413
|
+
|
|
414
|
+
```
|
|
415
|
+
ЗАПИСЬ ЧТЕНИЕ
|
|
416
|
+
────── ──────
|
|
417
|
+
Checkpoint ответы ──→ .keysarium/memory/{domain}/ ←── memory_query() в каждой фазе
|
|
418
|
+
{slug}/{phase}_{ts}.json
|
|
419
|
+
|
|
420
|
+
Агрегаты ────────→ .keysarium/memory/_stats/ ←── /learning-stats
|
|
421
|
+
reward-summary.json
|
|
422
|
+
|
|
423
|
+
Паттерны ────────→ .keysarium/memory/_patterns/ ←── memory_query() (enrichment)
|
|
424
|
+
domain-patterns.json
|
|
425
|
+
|
|
426
|
+
Индекс ──────────→ .keysarium/memory/index.json ←── memory_query() (fast lookup)
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
### Ручные данные (требуют запуска команд)
|
|
430
|
+
|
|
431
|
+
```
|
|
432
|
+
ЗАПИСЬ ЧТЕНИЕ
|
|
433
|
+
────── ──────
|
|
434
|
+
/harvest ────────→ .claude/skills/ ←── Загрузка скиллов в фазах
|
|
435
|
+
.claude/rules/
|
|
436
|
+
TOOLKIT_HARVEST.md
|
|
437
|
+
|
|
438
|
+
/bto-test ───────→ Evaluation reports ←── /bto-optimize (baseline)
|
|
439
|
+
Trust tier promotion
|
|
440
|
+
|
|
441
|
+
/bto-optimize ──→ Модифицированные файлы ←── Следующие исследования
|
|
442
|
+
скиллов (in-place)
|
|
443
|
+
|
|
444
|
+
/dream run ─────→ .keysarium/insights/ ←── Phase 0 (auto-load)
|
|
445
|
+
dream-{date}.json
|
|
446
|
+
|
|
447
|
+
/brain-export ──→ keysarium-brain.json ←── /brain-import (другой проект)
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
---
|
|
451
|
+
|
|
452
|
+
## 10. Контекстные данные vs Actionable данные
|
|
453
|
+
|
|
454
|
+
### Actionable данные — непосредственно улучшают работу системы
|
|
455
|
+
|
|
456
|
+
| Данные | Где | Как используются | Действие |
|
|
457
|
+
|--------|-----|-----------------|---------|
|
|
458
|
+
| Reward records (high score) | `.keysarium/memory/` | `memory_query()` загружает в начале фазы как best practices | Автоматически |
|
|
459
|
+
| Domain patterns | `_patterns/domain-patterns.json` | Подгружаются при `memory_query()`, применяются как advice | Автоматически |
|
|
460
|
+
| Harvest artifacts | `.claude/skills/`, `.claude/rules/` | Загружаются при чтении SKILL.md, shard-ов, правил | Автоматически |
|
|
461
|
+
| Dream insights | `.keysarium/insights/` | Загружаются в Phase 0, влияют на time budget и skill selection | Автоматически |
|
|
462
|
+
| BTO improvements | Файлы скилла (in-place) | Скилл стал лучше → следующая загрузка использует улучшенную версию | Автоматически |
|
|
463
|
+
| usage_count | В каждом reward record | Более переиспользуемые записи приоритизируются при сортировке | Автоматически |
|
|
464
|
+
|
|
465
|
+
### Контекстные данные — полезны для понимания, но не автоматизированы
|
|
466
|
+
|
|
467
|
+
| Данные | Где | Для чего |
|
|
468
|
+
|--------|-----|---------|
|
|
469
|
+
| Research summaries | В brain export | Понимание, какие кейсы проводились |
|
|
470
|
+
| Skill metadata | В brain export | Понимание, какие скиллы есть и их trust tier |
|
|
471
|
+
| Pipeline metrics | В brain export | Понимание, сколько времени тратится на фазы |
|
|
472
|
+
| Trend detection | В `/learning-stats` | Понимание, становятся ли результаты лучше/хуже |
|
|
473
|
+
| Witness chain | `.witness-chain.json` | Аудит, целостность артефактов |
|
|
474
|
+
| BTO evaluation reports | В директории оценки | Понимание сильных/слабых сторон скилла |
|
|
475
|
+
|
|
476
|
+
### Правило большого пальца
|
|
477
|
+
|
|
478
|
+
> **Если данные имеют прямое влияние на `memory_query()`, загрузку скиллов, или модификацию файлов — это Actionable.**
|
|
479
|
+
>
|
|
480
|
+
> **Если данные нужно читать и интерпретировать человеку — это Context.**
|
|
481
|
+
|
|
482
|
+
---
|
|
483
|
+
|
|
484
|
+
## 11. Как улучшать скиллы в npm-пакете
|
|
485
|
+
|
|
486
|
+
### Проблема
|
|
487
|
+
|
|
488
|
+
Скиллы установлены через `npx @dzhechkov/keysarium`. Как propagate improvements обратно в пакет?
|
|
489
|
+
|
|
490
|
+
### Рабочий процесс
|
|
491
|
+
|
|
492
|
+
```
|
|
493
|
+
┌─────────────────────────────────────────────────────────┐
|
|
494
|
+
│ Ваш проект (потребитель) │
|
|
495
|
+
│ │
|
|
496
|
+
│ npx @dzhechkov/keysarium init │
|
|
497
|
+
│ ↓ │
|
|
498
|
+
│ .claude/skills/<name>/SKILL.md ← локальная копия │
|
|
499
|
+
│ ↓ │
|
|
500
|
+
│ /casarium → /harvest → /bto-benchmark → /bto-test → /bto-optimize │
|
|
501
|
+
│ ↓ │
|
|
502
|
+
│ Улучшенный SKILL.md (локально) │
|
|
503
|
+
│ ↓ │
|
|
504
|
+
│ Тестирование на реальных кейсах (ещё N casarium runs) │
|
|
505
|
+
│ ↓ │
|
|
506
|
+
│ Если score стабильно ≥ 7.0 на 3+ кейсах: │
|
|
507
|
+
│ ↓ │
|
|
508
|
+
│ Contribute back → PR в product-keysarium-2026 │
|
|
509
|
+
└─────────────────────────────────────────────────────────┘
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
### Шаг за шагом
|
|
513
|
+
|
|
514
|
+
**1. Локальная оценка и оптимизация:**
|
|
515
|
+
```
|
|
516
|
+
/bto-benchmark .claude/skills/goap-research-ed25519/
|
|
517
|
+
# BENCHMARK_SCORE: 0.72 — PASS (структурно OK, можно к судьям)
|
|
518
|
+
|
|
519
|
+
/bto-test .claude/skills/goap-research-ed25519/
|
|
520
|
+
# Score: 6.5/10
|
|
521
|
+
|
|
522
|
+
/bto-optimize .claude/skills/goap-research-ed25519/
|
|
523
|
+
# Score: 6.5 → 7.2 (+0.7)
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
> Если `/bto-benchmark` показал BLOCK (< 0.50) — исправляйте структурные проблемы до запуска `/bto-test`. Это экономит бюджет: benchmark стоит ~0, а `/bto-test` Layer 2 = 3 sonnet-агента.
|
|
527
|
+
|
|
528
|
+
**2. Валидация на реальных кейсах:**
|
|
529
|
+
Проведите 2-3 исследования `/casarium` с оптимизированным скиллом. Проверьте, что:
|
|
530
|
+
- Reward scores не ухудшились
|
|
531
|
+
- `/learning-stats` показывает stable или improving trend
|
|
532
|
+
- Реальное качество артефактов устраивает
|
|
533
|
+
|
|
534
|
+
**3. Contribute back (если вы — мейнтейнер пакета):**
|
|
535
|
+
```bash
|
|
536
|
+
# В репозитории product-keysarium-2026:
|
|
537
|
+
cp <your-project>/.claude/skills/<name>/ packages/dz-keysarium/skills/<name>/
|
|
538
|
+
# + обновить trust tier в .claude/rules/trust-tiers.md
|
|
539
|
+
# + обновить SKILL.md frontmatter (bto_score, bto_date)
|
|
540
|
+
# + commit + publish
|
|
541
|
+
```
|
|
542
|
+
|
|
543
|
+
**4. Contribute back (если вы — пользователь пакета):**
|
|
544
|
+
```
|
|
545
|
+
/brain-export all
|
|
546
|
+
# Отправить brain.json мейнтейнеру
|
|
547
|
+
# или создать PR с изменёнными файлами скилла
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
### Что именно менять в скилле?
|
|
551
|
+
|
|
552
|
+
BTO оптимизация модифицирует файлы скилла **in-place**. Типичные улучшения:
|
|
553
|
+
|
|
554
|
+
| Файл | Что улучшается |
|
|
555
|
+
|------|---------------|
|
|
556
|
+
| `SKILL.md` | Инструкции, workflow, output format |
|
|
557
|
+
| `modules/*.md` | Шаги выполнения, anti-patterns, edge cases |
|
|
558
|
+
| `references/*.md` | Quality gates, rubrics, golden samples |
|
|
559
|
+
| `templates/*.md` | Шаблоны выходных артефактов |
|
|
560
|
+
|
|
561
|
+
### Чего НЕ нужно делать
|
|
562
|
+
|
|
563
|
+
- **Не экспортируйте reward data для улучшения скилла** — reward data влияет на выбор подхода в runtime, а не на содержимое скилла
|
|
564
|
+
- **Не копируйте `.keysarium/memory/` между проектами** — используйте `/brain-export` + `/brain-import`
|
|
565
|
+
- **Не модифицируйте core протоколы** (`lib/*.md`, `packages/dz-keysarium-core/`) — если нужно изменить протокол, это архитектурное решение, не результат обучения
|
|
566
|
+
|
|
567
|
+
---
|
|
568
|
+
|
|
569
|
+
## 12. Полный цикл: пошаговый чеклист
|
|
570
|
+
|
|
571
|
+
### После установки (однократно)
|
|
572
|
+
|
|
573
|
+
- [ ] `npx @dzhechkov/keysarium init` — установить основной пакет
|
|
574
|
+
- [ ] `npx @dzhechkov/skills-bto init` — установить BTO (для оценки и оптимизации скиллов)
|
|
575
|
+
- [ ] Ознакомиться с `CLAUDE.md` — понять pipeline
|
|
576
|
+
|
|
577
|
+
### После каждого исследования
|
|
578
|
+
|
|
579
|
+
- [ ] Запустить `/casarium [кейс]`
|
|
580
|
+
- [ ] Давать честную обратную связь на каждом checkpoint (reward learning = авто)
|
|
581
|
+
- [ ] После завершения: `/harvest researches/<slug>/`
|
|
582
|
+
- [ ] Просмотреть harvest findings, принять/отклонить
|
|
583
|
+
|
|
584
|
+
### Каждые 3-5 исследований
|
|
585
|
+
|
|
586
|
+
- [ ] `/learning-stats` — проверить тренды
|
|
587
|
+
- [ ] `/dream run` — запустить анализ паттернов (или проверить `/dream status`)
|
|
588
|
+
- [ ] `/bto-benchmark` на скиллах с низким reward — быстрая дешёвая проверка
|
|
589
|
+
- [ ] Если benchmark PASS → `/bto-test` — полная оценка с судьями
|
|
590
|
+
- [ ] `/bto-optimize` если test score < 7.0 — оптимизировать
|
|
591
|
+
|
|
592
|
+
### При переносе в новый проект
|
|
593
|
+
|
|
594
|
+
- [ ] `/brain-export all` — экспорт знаний
|
|
595
|
+
- [ ] В новом проекте: `/brain-import brain.json` — импорт
|
|
596
|
+
- [ ] `/learning-stats` — убедиться, что данные импортировались
|
|
597
|
+
|
|
598
|
+
### При публикации улучшений в пакет
|
|
599
|
+
|
|
600
|
+
- [ ] Убедиться, что BTO score ≥ 7.0 для изменённых скиллов
|
|
601
|
+
- [ ] Провести 2-3 реальных исследования с улучшенным скиллом
|
|
602
|
+
- [ ] Скопировать файлы скилла в packages/ репозитория
|
|
603
|
+
- [ ] Обновить trust-tiers.md, SKILL.md frontmatter
|
|
604
|
+
- [ ] Commit + publish
|
|
605
|
+
|
|
606
|
+
---
|
|
607
|
+
|
|
608
|
+
## Приложение: Быстрая справка по командам
|
|
609
|
+
|
|
610
|
+
| Этап цикла | Команда | Когда запускать | Стоимость |
|
|
611
|
+
|-----------|---------|----------------|-----------|
|
|
612
|
+
| Исследование | `/casarium [кейс]` | Когда нужно провести исследование | opus |
|
|
613
|
+
| Статистика | `/learning-stats` | Проверка трендов (каждые 3-5 кейсов) | 0 (file read) |
|
|
614
|
+
| Извлечение знаний | `/harvest researches/<slug>/` | После каждого исследования | sonnet |
|
|
615
|
+
| Бенчмарк скилла | `/bto-benchmark .claude/skills/<name>/` | Быстрая проверка перед оценкой | ~0 (haiku x 3) |
|
|
616
|
+
| Оценка скилла | `/bto-test .claude/skills/<name>/` | Если benchmark PASS и reward падает | sonnet x 3 |
|
|
617
|
+
| Оптимизация скилла | `/bto-optimize .claude/skills/<name>/` | Если BTO score < 7.0 | haiku + sonnet |
|
|
618
|
+
| Полный цикл BTO | `/bto .claude/skills/<name>/` | Для полной переоценки скилла | all layers |
|
|
619
|
+
| Генерация скилла | `/bto-build "описание"` | Создание нового скилла с нуля | opus |
|
|
620
|
+
| Dream cycle | `/dream run` | Каждые 5-10 checkpoint-ов | sonnet |
|
|
621
|
+
| Экспорт знаний | `/brain-export all` | Перед переносом в новый проект | haiku |
|
|
622
|
+
| Импорт знаний | `/brain-import brain.json` | При старте нового проекта с опытом | 0 (file ops) |
|