@dzhechkov/keysarium 1.0.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 +289 -0
- package/bin/cli.js +5 -0
- package/package.json +43 -0
- package/src/cli.js +157 -0
- package/src/commands/doctor.js +469 -0
- package/src/commands/init.js +171 -0
- package/src/commands/list.js +147 -0
- package/src/commands/remove.js +197 -0
- package/src/commands/update.js +191 -0
- package/src/utils.js +274 -0
- package/templates/.claude/agents/cjm-variant-worker.md +60 -0
- package/templates/.claude/agents/discovery-worker.md +45 -0
- package/templates/.claude/agents/parallel-research-orchestrator.md +70 -0
- package/templates/.claude/agents/presentation-worker.md +55 -0
- package/templates/.claude/agents/research-worker.md +43 -0
- package/templates/.claude/commands/architecture-phase.md +37 -0
- package/templates/.claude/commands/casarium.md +163 -0
- package/templates/.claude/commands/cjm-prototype.md +42 -0
- package/templates/.claude/commands/discovery.md +34 -0
- package/templates/.claude/commands/explore-case.md +22 -0
- package/templates/.claude/commands/harvest.md +67 -0
- package/templates/.claude/commands/new-research.md +69 -0
- package/templates/.claude/commands/parallel-research.md +45 -0
- package/templates/.claude/commands/presentation.md +49 -0
- package/templates/.claude/commands/research.md +32 -0
- package/templates/.claude/commands/solve.md +36 -0
- package/templates/.claude/rules/agent-swarm.md +31 -0
- package/templates/.claude/rules/anti-patterns.md +19 -0
- package/templates/.claude/rules/checkpoint-protocol.md +23 -0
- package/templates/.claude/rules/domain-specific.md +32 -0
- package/templates/.claude/rules/file-conventions.md +38 -0
- package/templates/.claude/rules/modular-reuse.md +35 -0
- package/templates/.claude/rules/research-quality.md +20 -0
- package/templates/.claude/settings.json +37 -0
- package/templates/.claude/skills/explore/SKILL.md +215 -0
- package/templates/.claude/skills/explore/references/questioning-techniques.md +151 -0
- package/templates/.claude/skills/explore/references/task-brief-templates.md +355 -0
- package/templates/.claude/skills/frontend-design/LICENSE.txt +177 -0
- package/templates/.claude/skills/frontend-design/SKILL.md +42 -0
- package/templates/.claude/skills/goap-research-ed25519/SKILL.md +415 -0
- package/templates/.claude/skills/goap-research-ed25519/references/ed25519-verification.md +658 -0
- package/templates/.claude/skills/goap-research-ed25519/references/research-actions.md +544 -0
- package/templates/.claude/skills/goap-research-ed25519/references/source-evaluation.md +560 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/ed25519_verifier.py +662 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/goap_planner.py +720 -0
- package/templates/.claude/skills/presentation-storyteller/SKILL.md +371 -0
- package/templates/.claude/skills/presentation-storyteller/references/example-presentation.md +273 -0
- package/templates/.claude/skills/presentation-storyteller/references/slide-types.md +426 -0
- package/templates/.claude/skills/presentation-storyteller/references/sources-index-template.md +213 -0
- package/templates/.claude/skills/presentation-storyteller/references/speaker-script-patterns.md +324 -0
- package/templates/.claude/skills/presentation-storyteller/references/storytelling-frameworks.md +270 -0
- package/templates/.claude/skills/problem-solver-enhanced/SKILL.md +562 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/SKILL.md +194 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/examples/noom-cjm-example.md +100 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/examples/noom-module1-example.md +88 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/01-intelligence.md +328 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/02-product-customers.md +221 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/025-cjm-prototype.md +206 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/03-market-competition.md +402 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/04-business-finance.md +287 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/05-growth-engine.md +290 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/modules/06-playbook-synthesis.md +286 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/references/blue-ocean-canvas.md +39 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/references/industry-benchmarks.md +67 -0
- package/templates/.claude/skills/reverse-engineering-unicorn/references/jtbd-canvas.md +48 -0
- package/templates/CLAUDE.md +185 -0
- package/templates/TOOLKIT_HARVEST.md +29 -0
- package/templates/docs/keysarium/01-deployment-guide.md +768 -0
- package/templates/docs/keysarium/02-admin-guide.md +1170 -0
- package/templates/docs/keysarium/03-user-guide.md +884 -0
- package/templates/docs/keysarium/04-infrastructure-requirements.md +967 -0
- package/templates/docs/keysarium/05-architecture.md +706 -0
- package/templates/docs/keysarium/06-user-flows.md +925 -0
- package/templates/docs/skills-bto/01-deployment-guide.md +828 -0
- package/templates/docs/skills-bto/02-admin-guide.md +1052 -0
- package/templates/docs/skills-bto/03-user-guide.md +960 -0
- package/templates/docs/skills-bto/04-infrastructure-requirements.md +610 -0
- package/templates/docs/skills-bto/05-architecture.md +1112 -0
- package/templates/docs/skills-bto/06-user-flows.md +977 -0
- package/templates/lib/agent-patterns.md +115 -0
- package/templates/lib/domain-templates.md +172 -0
- package/templates/lib/phase-utils.md +107 -0
- package/templates/lib/skill-loader.md +78 -0
- package/templates/researches/.gitkeep +0 -0
|
@@ -0,0 +1,1052 @@
|
|
|
1
|
+
# Руководство администратора @dzhechko/skills-bto
|
|
2
|
+
|
|
3
|
+
Это руководство описывает управление, настройку и обслуживание BTO skill pack. Предназначено для администраторов, которые управляют компонентами BTO, настраивают quality gates, конфигурируют панели судей и контролируют качество оценки.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Содержание
|
|
8
|
+
|
|
9
|
+
1. [Управление компонентами BTO](#1-управление-компонентами-bto)
|
|
10
|
+
2. [Конфигурация quality gates (Layer 0–3)](#2-конфигурация-quality-gates-layer-03)
|
|
11
|
+
3. [Настройка панели судей](#3-настройка-панели-судей)
|
|
12
|
+
4. [Параметры оптимизации](#4-параметры-оптимизации)
|
|
13
|
+
5. [Управление модельным бюджетом](#5-управление-модельным-бюджетом)
|
|
14
|
+
6. [Создание пользовательских рубрик](#6-создание-пользовательских-рубрик)
|
|
15
|
+
7. [Мониторинг качества оценки](#7-мониторинг-качества-оценки)
|
|
16
|
+
8. [Обнаружение и устранение анти-паттернов](#8-обнаружение-и-устранение-анти-паттернов)
|
|
17
|
+
9. [Бэкап и восстановление](#9-бэкап-и-восстановление)
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 1. Управление компонентами BTO
|
|
22
|
+
|
|
23
|
+
### 1.1. Текущие компоненты
|
|
24
|
+
|
|
25
|
+
После установки BTO включает следующие компоненты:
|
|
26
|
+
|
|
27
|
+
| Компонент | Путь | Назначение |
|
|
28
|
+
|-----------|------|------------|
|
|
29
|
+
| BTO Skill | `.claude/skills/bto/` | Основной оркестратор: загружается командами |
|
|
30
|
+
| SKILL.md | `.claude/skills/bto/SKILL.md` | Точка входа, документирует все три модуля |
|
|
31
|
+
| Модуль BUILD | `.claude/skills/bto/modules/build.md` | Протокол генерации артефактов |
|
|
32
|
+
| Модуль TEST | `.claude/skills/bto/modules/test.md` | Протокол мульти-агентной оценки |
|
|
33
|
+
| Модуль OPTIMIZE | `.claude/skills/bto/modules/optimize.md` | Протокол эволюционной оптимизации |
|
|
34
|
+
| Рубрики судей | `.claude/skills/bto/references/judge-rubrics.md` | Якорные точки для scoring |
|
|
35
|
+
| Паттерны оценки | `.claude/skills/bto/references/eval-patterns.md` | Паттерны мульти-агентной оценки |
|
|
36
|
+
| Методы оптимизации | `.claude/skills/bto/references/optimization-methods.md` | Методология оптимизации |
|
|
37
|
+
| Чеклист качества | `.claude/skills/bto/references/quality-checklist.md` | Детерминистические проверки Layer 0 |
|
|
38
|
+
| Команда /bto | `.claude/commands/bto.md` | Полный пайплайн |
|
|
39
|
+
| Команда /bto-build | `.claude/commands/bto-build.md` | BUILD-фаза отдельно |
|
|
40
|
+
| Команда /bto-test | `.claude/commands/bto-test.md` | TEST-фаза отдельно |
|
|
41
|
+
| Команда /bto-optimize | `.claude/commands/bto-optimize.md` | OPTIMIZE-фаза отдельно |
|
|
42
|
+
| Правила quality gates | `.claude/rules/bto-quality-gates.md` | Автоматически применяемые правила |
|
|
43
|
+
| Агент Domain Expert | `.claude/agents/bto-judge-expert.md` | Judge 1 конфиг |
|
|
44
|
+
| Агент Critic | `.claude/agents/bto-judge-critic.md` | Judge 2 конфиг |
|
|
45
|
+
| Агент Auditor | `.claude/agents/bto-judge-auditor.md` | Judge 3 конфиг |
|
|
46
|
+
|
|
47
|
+
### 1.2. Проверка компонентов
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Полная диагностика установки
|
|
51
|
+
npx @dzhechko/skills-bto doctor
|
|
52
|
+
|
|
53
|
+
# Листинг установленных файлов
|
|
54
|
+
npx @dzhechko/skills-bto list
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 1.3. Обновление отдельных компонентов
|
|
58
|
+
|
|
59
|
+
Команда `update` обновляет все компоненты из последней версии пакета. На данный момент нет механизма обновления одного конкретного файла через CLI. Для обновления отдельного файла:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# Шаг 1: просмотрите diff без применения
|
|
63
|
+
npx @dzhechko/skills-bto update --dry-run
|
|
64
|
+
|
|
65
|
+
# Шаг 2: при необходимости обновите один файл вручную из шаблона пакета
|
|
66
|
+
# Шаблоны доступны в локальном кеше пакета:
|
|
67
|
+
node -e "console.log(require.resolve('@dzhechko/skills-bto/package.json').replace('package.json', 'templates/'))"
|
|
68
|
+
|
|
69
|
+
# Шаг 3: скопируйте нужный файл из templates/ в .claude/
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 1.4. Добавление пользовательских расширений
|
|
73
|
+
|
|
74
|
+
Для добавления собственных ссылочных материалов без изменения базовых файлов пакета создайте файлы с префиксом, отличным от стандартных имён:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
.claude/skills/bto/references/
|
|
78
|
+
├── judge-rubrics.md ← базовый (не изменять)
|
|
79
|
+
├── eval-patterns.md ← базовый
|
|
80
|
+
├── optimization-methods.md ← базовый
|
|
81
|
+
├── quality-checklist.md ← базовый
|
|
82
|
+
└── custom-domain-rubrics.md ← ваш пользовательский файл (не перезапишется при update)
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Ссылайтесь на пользовательские файлы явно в командах или при ручном запуске BTO-фаз.
|
|
86
|
+
|
|
87
|
+
### 1.5. Структура скилл-директории
|
|
88
|
+
|
|
89
|
+
Полная структура скилла BTO:
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
.claude/skills/bto/
|
|
93
|
+
├── SKILL.md ← Документирует модули, зависимости, quick start
|
|
94
|
+
├── modules/
|
|
95
|
+
│ ├── build.md ← Протокол BUILD: type detection, templates, self-review
|
|
96
|
+
│ ├── test.md ← Протокол TEST: Layer 0-2, judge prompts, aggregation
|
|
97
|
+
│ └── optimize.md ← Протокол OPTIMIZE: mutation strategies, convergence
|
|
98
|
+
└── references/
|
|
99
|
+
├── judge-rubrics.md ← Anchoring для judge scores (1-10 шкала)
|
|
100
|
+
├── eval-patterns.md ← Паттерны эффективной мульти-агентной оценки
|
|
101
|
+
├── optimization-methods.md ← Эволюционные стратегии, crossover паттерны
|
|
102
|
+
└── quality-checklist.md ← 71 детерминистическая проверка Layer 0
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## 2. Конфигурация quality gates (Layer 0–3)
|
|
108
|
+
|
|
109
|
+
### 2.1. Архитектура слоёв
|
|
110
|
+
|
|
111
|
+
BTO использует четырёхуровневую систему quality gates. Каждый слой является шлюзом для следующего:
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
Layer 0 → Layer 1 → Layer 2 → Layer 3
|
|
115
|
+
(haiku) (haiku) (sonnet) (opus)
|
|
116
|
+
Структура Семантика Глубина Синтез
|
|
117
|
+
Бесплатно Дёшево Умеренно Дорого
|
|
118
|
+
Мгновенно ~10 сек ~30 сек ~60 сек
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**Ключевое правило:** Артефакт продвигается в следующий слой только при прохождении текущего. Провал Layer 0 немедленно останавливает оценку — LLM-вызовы не делаются.
|
|
122
|
+
|
|
123
|
+
### 2.2. Layer 0: Детерминистические проверки
|
|
124
|
+
|
|
125
|
+
Layer 0 выполняется для всех типов артефактов. Проверки бесплатны и мгновенны.
|
|
126
|
+
|
|
127
|
+
**Универсальные проверки (все типы, CHECK-U1–U5):**
|
|
128
|
+
|
|
129
|
+
| Проверка | Описание |
|
|
130
|
+
|---------|---------|
|
|
131
|
+
| CHECK-U1 | Файл существует и не пуст |
|
|
132
|
+
| CHECK-U2 | Файл является валидным UTF-8 |
|
|
133
|
+
| CHECK-U3 | Содержит хотя бы один markdown-заголовок (`#`) |
|
|
134
|
+
| CHECK-U4 | Не более 2 последовательных пустых строк |
|
|
135
|
+
| CHECK-U5 | Размер файла в допустимых пределах (тип-зависимо) |
|
|
136
|
+
|
|
137
|
+
**Проверки для скиллов (CHECK-S1–S10):**
|
|
138
|
+
|
|
139
|
+
| Проверка | Описание |
|
|
140
|
+
|---------|---------|
|
|
141
|
+
| CHECK-S1 | `SKILL.md` существует в директории скилла |
|
|
142
|
+
| CHECK-S2 | `# Title` — первый заголовок файла |
|
|
143
|
+
| CHECK-S3 | Есть секция `## Overview` или `## Purpose` |
|
|
144
|
+
| CHECK-S4 | Есть секция `## Anti-Patterns` |
|
|
145
|
+
| CHECK-S5 | Все файлы в `modules/` упомянуты в `SKILL.md` |
|
|
146
|
+
| CHECK-S6 | Все файлы в `references/` упомянуты в `SKILL.md` |
|
|
147
|
+
| CHECK-S7 | Нет пустых секций (заголовок сразу за заголовком без контента) |
|
|
148
|
+
| CHECK-S8 | Размер `SKILL.md`: 1KB < размер < 50KB |
|
|
149
|
+
| CHECK-S9 | Общий размер директории скилла < 200KB |
|
|
150
|
+
| CHECK-S10 | Есть хотя бы один файл в `references/` или `examples/` |
|
|
151
|
+
|
|
152
|
+
**Проверки для команд (CHECK-C1–C5):**
|
|
153
|
+
|
|
154
|
+
| Проверка | Описание |
|
|
155
|
+
|---------|---------|
|
|
156
|
+
| CHECK-C1 | Файл содержит `$ARGUMENTS` или явную ссылку на параметр |
|
|
157
|
+
| CHECK-C2 | Есть checkpoint-баннер или checkpoint-протокол |
|
|
158
|
+
| CHECK-C3 | Есть инструкция загрузки скилла (`Read .claude/skills/...`) |
|
|
159
|
+
| CHECK-C4 | Размер: 500B < файл < 20KB |
|
|
160
|
+
| CHECK-C5 | Есть секция `## Usage` или `## Protocol` |
|
|
161
|
+
|
|
162
|
+
**Проверки для правил (CHECK-R1–R4):**
|
|
163
|
+
|
|
164
|
+
| Проверка | Описание |
|
|
165
|
+
|---------|---------|
|
|
166
|
+
| CHECK-R1 | Есть таблица или структурированный список паттернов |
|
|
167
|
+
| CHECK-R2 | Каждый паттерн имеет сигнал обнаружения и предписанное исправление |
|
|
168
|
+
| CHECK-R3 | Размер: 200B < файл < 10KB |
|
|
169
|
+
| CHECK-R4 | Есть секция `Auto-Detection` или аналогичная |
|
|
170
|
+
|
|
171
|
+
**Проверки для агент-шаблонов (CHECK-A1–A4):**
|
|
172
|
+
|
|
173
|
+
| Проверка | Описание |
|
|
174
|
+
|---------|---------|
|
|
175
|
+
| CHECK-A1 | Явно указана модель (haiku / sonnet / opus) |
|
|
176
|
+
| CHECK-A2 | Указана область изоляции (что читает и что пишет) |
|
|
177
|
+
| CHECK-A3 | Есть шаблон промпта или инструкции |
|
|
178
|
+
| CHECK-A4 | Размер: 200B < файл < 10KB |
|
|
179
|
+
|
|
180
|
+
### 2.3. Порог прохождения Layer 0
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
score = passed_checks / total_checks
|
|
184
|
+
Gate: score ≥ 0.80 (80%)
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
При `score < 0.80` Layer 0 FAIL: выводится отчёт с конкретными провалившимися проверками, LLM-слои не запускаются.
|
|
188
|
+
|
|
189
|
+
**Исключение:** Layer 0 может автоматически повторить генерацию до 3 раз при незначительных структурных нарушениях (в контексте BUILD), прежде чем эскалировать к человеку.
|
|
190
|
+
|
|
191
|
+
### 2.4. Layer 1: Быстрая LLM-оценка
|
|
192
|
+
|
|
193
|
+
**Модель по умолчанию:** claude-haiku (cost-optimized)
|
|
194
|
+
|
|
195
|
+
**5 измерений (шкала 1–10):**
|
|
196
|
+
|
|
197
|
+
| Измерение | Что оценивается |
|
|
198
|
+
|-----------|----------------|
|
|
199
|
+
| CLARITY | Насколько инструкции однозначны? Может ли LLM точно им следовать? |
|
|
200
|
+
| COMPLETENESS | Все ли необходимые секции присутствуют? |
|
|
201
|
+
| ACTIONABILITY | Может ли Claude произвести конкретный вывод на основе этих инструкций? |
|
|
202
|
+
| QUALITY | Структурированность, профессионализм, форматирование |
|
|
203
|
+
| ANTI-PATTERNS | Избегает ли артефакт известных проблемных паттернов? |
|
|
204
|
+
|
|
205
|
+
**Пороги Layer 1:**
|
|
206
|
+
|
|
207
|
+
| Средний балл | Решение |
|
|
208
|
+
|-------------|---------|
|
|
209
|
+
| ≥ 7.0 | PASS — предложить Layer 2 по желанию |
|
|
210
|
+
| 5.0–6.9 | NEEDS WORK — автоматически предложить Layer 2 |
|
|
211
|
+
| < 5.0 | FAIL — рекомендовать исправление перед продолжением |
|
|
212
|
+
|
|
213
|
+
### 2.5. Layer 2: Полная панель судей
|
|
214
|
+
|
|
215
|
+
**Архитектура:** 3 параллельных агента, каждый с уникальным углом зрения. Изоляция: агенты не видят оценки друг друга до сдачи своей.
|
|
216
|
+
|
|
217
|
+
**5 измерений (шкала 1–10, другие, чем в Layer 1):**
|
|
218
|
+
|
|
219
|
+
| Измерение | Что оценивается |
|
|
220
|
+
|-----------|----------------|
|
|
221
|
+
| METHODOLOGY | Качество подхода, структура, обоснованность |
|
|
222
|
+
| DEPTH | Достаточная детализация для задачи |
|
|
223
|
+
| CORRECTNESS | Точность утверждений и инструкций |
|
|
224
|
+
| USABILITY | Эффективность использования пользователем/агентом |
|
|
225
|
+
| ROBUSTNESS | Обработка граничных случаев и режимов отказа |
|
|
226
|
+
|
|
227
|
+
**Агрегация баллов:**
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
dim_score = expert[dim] * 0.40 + critic[dim] * 0.30 + auditor[dim] * 0.30
|
|
231
|
+
overall = mean(all dimension_scores)
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
**Обнаружение разногласий:**
|
|
235
|
+
|
|
236
|
+
Если по любому измерению `max(scores) - min(scores) > 3` → флаг для мета-судьи.
|
|
237
|
+
|
|
238
|
+
### 2.6. Layer 3 / Мета-судья
|
|
239
|
+
|
|
240
|
+
Layer 3 (opus) запускается только в двух сценариях:
|
|
241
|
+
|
|
242
|
+
1. **Разрешение разногласий:** Любое измерение с разбросом > 3 баллов между судьями Layer 2
|
|
243
|
+
2. **Кроссовер при оптимизации:** Генерация новых вариантов при эволюционной оптимизации (opus используется для kreativной работы)
|
|
244
|
+
|
|
245
|
+
**Мета-судья никогда не запускается автоматически для рутинных оценок.** Только при флагированных разногласиях.
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## 3. Настройка панели судей
|
|
250
|
+
|
|
251
|
+
### 3.1. Три роли судей
|
|
252
|
+
|
|
253
|
+
| Судья | Роль | Установка калибровки | Ожидаемый средний балл |
|
|
254
|
+
|-------|------|---------------------|----------------------|
|
|
255
|
+
| Domain Expert | Оценивает техническое качество и методологическую корректность | Нейтральная, фокус на сильных сторонах | 7–8 |
|
|
256
|
+
| Critic | Ищет проблемы, пробелы, анти-паттерны | Строгая — "err on the side of strict" | 5–6 |
|
|
257
|
+
| Completeness Auditor | Проверяет структурную полноту и перекрёстные ссылки | Нейтральная, фокус на покрытии | 6–7 |
|
|
258
|
+
|
|
259
|
+
### 3.2. Файлы конфигурации агентов
|
|
260
|
+
|
|
261
|
+
Каждый судья имеет свой конфигурационный файл в `.claude/agents/`:
|
|
262
|
+
|
|
263
|
+
**`.claude/agents/bto-judge-expert.md`** — Domain Expert
|
|
264
|
+
|
|
265
|
+
```markdown
|
|
266
|
+
# BTO Judge — Domain Expert
|
|
267
|
+
|
|
268
|
+
## Purpose
|
|
269
|
+
Evaluate Claude Code artifacts for technical quality, methodology soundness,
|
|
270
|
+
and domain appropriateness.
|
|
271
|
+
|
|
272
|
+
## Configuration
|
|
273
|
+
- Model: sonnet
|
|
274
|
+
- Isolation: reads artifact + judge-rubrics.md, writes to evaluation output
|
|
275
|
+
- Role: constructive, domain-focused, strengths and improvements
|
|
276
|
+
|
|
277
|
+
## Scoring Calibration
|
|
278
|
+
- Score 8-10: Exemplary artifact, production-ready
|
|
279
|
+
- Score 6-7: Good quality, minor improvements needed
|
|
280
|
+
- Score 4-5: Mediocre, significant gaps present
|
|
281
|
+
- Score 1-3: Poor, major structural or content issues
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
**`.claude/agents/bto-judge-critic.md`** — Critic
|
|
285
|
+
|
|
286
|
+
```markdown
|
|
287
|
+
# BTO Judge — Critic
|
|
288
|
+
|
|
289
|
+
## Purpose
|
|
290
|
+
Find weaknesses, gaps, anti-patterns, and failure modes in Claude Code artifacts.
|
|
291
|
+
|
|
292
|
+
## Configuration
|
|
293
|
+
- Model: sonnet
|
|
294
|
+
- Isolation: reads artifact + judge-rubrics.md, writes to evaluation output
|
|
295
|
+
- Role: adversarial, strict — err on the side of low scores
|
|
296
|
+
|
|
297
|
+
## Scoring Calibration
|
|
298
|
+
- Score 8-10: Exceptionally robust, genuinely hard to criticize
|
|
299
|
+
- Score 5-7: Average with notable weaknesses
|
|
300
|
+
- Score 2-4: Multiple problems, unclear instructions, missing edge cases
|
|
301
|
+
- Score 1: Fundamentally broken or misleading
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
**`.claude/agents/bto-judge-auditor.md`** — Completeness Auditor
|
|
305
|
+
|
|
306
|
+
```markdown
|
|
307
|
+
# BTO Judge — Completeness Auditor
|
|
308
|
+
|
|
309
|
+
## Purpose
|
|
310
|
+
Audit structural completeness: all required sections, working cross-references,
|
|
311
|
+
no coverage gaps.
|
|
312
|
+
|
|
313
|
+
## Configuration
|
|
314
|
+
- Model: sonnet
|
|
315
|
+
- Isolation: reads artifact + quality-checklist.md, writes to evaluation output
|
|
316
|
+
- Role: systematic, coverage-focused, structural integrity
|
|
317
|
+
|
|
318
|
+
## Scoring Calibration
|
|
319
|
+
- 10/10: All sections present, all references resolve, no gaps
|
|
320
|
+
- 7-9: Minor missing elements, non-critical
|
|
321
|
+
- 4-6: Several sections missing or incomplete
|
|
322
|
+
- 1-3: Fundamental structural problems
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
### 3.3. Изменение весов судей
|
|
326
|
+
|
|
327
|
+
Стандартные веса: Domain Expert 0.40 / Critic 0.30 / Auditor 0.30
|
|
328
|
+
|
|
329
|
+
Для изменения весов под конкретные нужды отредактируйте секцию агрегации в `.claude/skills/bto/modules/test.md`:
|
|
330
|
+
|
|
331
|
+
```markdown
|
|
332
|
+
### Score Aggregation
|
|
333
|
+
|
|
334
|
+
**Weights:**
|
|
335
|
+
- Domain Expert: 0.40 ← изменить здесь
|
|
336
|
+
- Critic: 0.30 ← изменить здесь
|
|
337
|
+
- Completeness Auditor: 0.30 ← изменить здесь
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
**Требования к весам:**
|
|
341
|
+
- Сумма весов должна быть равна 1.0
|
|
342
|
+
- Количество судей должно быть нечётным (3 или 5) — для отсутствия ничьей
|
|
343
|
+
- Не рекомендуется устанавливать вес Critic < 0.20 — это снизит чувствительность к проблемам
|
|
344
|
+
|
|
345
|
+
**Пример для проектов с высоким требованием к надёжности** (сдвиг в сторону Critic и Auditor):
|
|
346
|
+
|
|
347
|
+
```markdown
|
|
348
|
+
**Weights:**
|
|
349
|
+
- Domain Expert: 0.30
|
|
350
|
+
- Critic: 0.40
|
|
351
|
+
- Completeness Auditor: 0.30
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
**Пример для быстрой оценки качества контента** (приоритет Domain Expert):
|
|
355
|
+
|
|
356
|
+
```markdown
|
|
357
|
+
**Weights:**
|
|
358
|
+
- Domain Expert: 0.50
|
|
359
|
+
- Critic: 0.25
|
|
360
|
+
- Completeness Auditor: 0.25
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
### 3.4. Расширенная панель 5 судей (high-stakes)
|
|
364
|
+
|
|
365
|
+
Для критических артефактов (например, скиллы, используемые в продакшн-пайплайнах) используйте панель из 5 судей. Добавьте два дополнительных агента:
|
|
366
|
+
|
|
367
|
+
**Судья 4: Consistency Checker** — проверяет внутреннюю согласованность артефакта. Убеждается, что секции не противоречат друг другу.
|
|
368
|
+
|
|
369
|
+
**Судья 5: Practical Validator** — моделирует реальное использование артефакта. Проверяет, что инструкции работоспособны на конкретных примерах.
|
|
370
|
+
|
|
371
|
+
Создайте конфиги агентов:
|
|
372
|
+
|
|
373
|
+
```
|
|
374
|
+
.claude/agents/bto-judge-consistency.md
|
|
375
|
+
.claude/agents/bto-judge-practical.md
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
Обновите секцию агрегации в `test.md`:
|
|
379
|
+
|
|
380
|
+
```markdown
|
|
381
|
+
**Weights (5-judge panel):**
|
|
382
|
+
- Domain Expert: 0.30
|
|
383
|
+
- Critic: 0.25
|
|
384
|
+
- Completeness Auditor: 0.20
|
|
385
|
+
- Consistency Checker: 0.15
|
|
386
|
+
- Practical Validator: 0.10
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
### 3.5. Порог эскалации к мета-судье
|
|
390
|
+
|
|
391
|
+
Стандартный порог: если `max - min > 3` по любому измерению.
|
|
392
|
+
|
|
393
|
+
Для более строгой эскалации (уменьшить порог до 2):
|
|
394
|
+
|
|
395
|
+
В `.claude/skills/bto/modules/test.md` найдите:
|
|
396
|
+
|
|
397
|
+
```markdown
|
|
398
|
+
**Disagreement Detection:**
|
|
399
|
+
For each dimension, if `max(scores) - min(scores) > 3` → FLAG for meta-judge.
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
И измените `> 3` на `> 2`.
|
|
403
|
+
|
|
404
|
+
Для более мягкой эскалации (только при критическом расхождении):
|
|
405
|
+
|
|
406
|
+
Измените `> 3` на `> 4`.
|
|
407
|
+
|
|
408
|
+
---
|
|
409
|
+
|
|
410
|
+
## 4. Параметры оптимизации
|
|
411
|
+
|
|
412
|
+
### 4.1. Стратегии мутации
|
|
413
|
+
|
|
414
|
+
OPTIMIZE Module использует 5 стратегий мутации. Каждая целенаправленно улучшает определённые измерения:
|
|
415
|
+
|
|
416
|
+
| Стратегия | Применять когда | Целевые измерения |
|
|
417
|
+
|-----------|----------------|-------------------|
|
|
418
|
+
| **Rephrase** | Инструкции расплывчаты или допускают двусмысленность | CLARITY, USABILITY |
|
|
419
|
+
| **Restructure** | Плохой поток, неудачная организация секций | METHODOLOGY, USABILITY |
|
|
420
|
+
| **Add Constraints** | Слабая обработка граничных случаев | ROBUSTNESS, CORRECTNESS |
|
|
421
|
+
| **Simplify** | Артефакт слишком многословен или перенасыщен | USABILITY, CLARITY |
|
|
422
|
+
| **Specialize** | Мало доменного контекста и примеров | DEPTH, CORRECTNESS |
|
|
423
|
+
|
|
424
|
+
Соответствие слабых измерений стратегиям:
|
|
425
|
+
|
|
426
|
+
```
|
|
427
|
+
Слабое измерение Первичная стратегия Вторичная стратегия
|
|
428
|
+
───────────────────────────────────────────────────────────────
|
|
429
|
+
METHODOLOGY → Restructure Add Constraints
|
|
430
|
+
DEPTH → Specialize Add Constraints
|
|
431
|
+
CORRECTNESS → Add Constraints Rephrase
|
|
432
|
+
USABILITY → Rephrase Restructure
|
|
433
|
+
ROBUSTNESS → Add Constraints Specialize
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
### 4.2. Структура раундов
|
|
437
|
+
|
|
438
|
+
Стандартный пайплайн оптимизации (3 раунда):
|
|
439
|
+
|
|
440
|
+
```
|
|
441
|
+
Round 1: 5 вариантов × Layer 1 eval (haiku) → выбор топ-2
|
|
442
|
+
Round 2: crossover топ-2 → 3 новых варианта × Layer 1 eval → выбор топ-2
|
|
443
|
+
Round 3: crossover → 3 финальных варианта × Layer 2 eval (sonnet×3) → победитель
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
Итого: до 15 оценок + 1 baseline.
|
|
447
|
+
|
|
448
|
+
### 4.3. Delta Gate (условие принятия улучшения)
|
|
449
|
+
|
|
450
|
+
```
|
|
451
|
+
delta_gate = new_score - prev_score > 0.5
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
Итерация принимается только если улучшение превышает 0.5 балла.
|
|
455
|
+
|
|
456
|
+
| Сценарий | Действие |
|
|
457
|
+
|---------|---------|
|
|
458
|
+
| delta > 0.5 | Принять улучшение, продолжить |
|
|
459
|
+
| delta 0–0.5 | Отклонить (слишком мало), продолжить с другими стратегиями |
|
|
460
|
+
| delta ≤ 0 и регрессия > 1.0 | Откат к лучшей предыдущей версии, логировать регрессию |
|
|
461
|
+
| 3 последовательных итерации с delta ≤ 0.5 | Объявить сходимость, остановиться |
|
|
462
|
+
|
|
463
|
+
### 4.4. Условия раннего выхода
|
|
464
|
+
|
|
465
|
+
**OPTIMIZE не запускается** если baseline score ≥ 8.0. Вместо этого выводятся конкретные предложения по незначительным улучшениям без полного эволюционного цикла. Для принудительной оптимизации всё равно требуется явное подтверждение пользователя.
|
|
466
|
+
|
|
467
|
+
**OPTIMIZE прерывается** досрочно при:
|
|
468
|
+
- Регрессии > 0.5 от baseline в любом раунде
|
|
469
|
+
- Критическом провале Layer 0 на любом из вариантов
|
|
470
|
+
- Семантическом дрейфе — если оптимизированная версия принципиально меняет назначение
|
|
471
|
+
- Явной команде пользователя остановить процесс
|
|
472
|
+
|
|
473
|
+
### 4.5. Изменение числа раундов
|
|
474
|
+
|
|
475
|
+
По умолчанию: 3 раунда. Диапазон: 1–5 раундов.
|
|
476
|
+
|
|
477
|
+
Через аргументы команды (без изменения конфигурации):
|
|
478
|
+
|
|
479
|
+
```
|
|
480
|
+
/bto-optimize .claude/skills/my-skill/ rounds 5
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
Для изменения числа раундов по умолчанию отредактируйте `.claude/skills/bto/modules/optimize.md`:
|
|
484
|
+
|
|
485
|
+
```markdown
|
|
486
|
+
## Input
|
|
487
|
+
- **Rounds:** Number of optimization rounds (default: 3, max: 5)
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
Измените значение `default: 3` на нужное.
|
|
491
|
+
|
|
492
|
+
### 4.6. Фокусировка на конкретном измерении
|
|
493
|
+
|
|
494
|
+
При явном указании целевого измерения три из пяти вариантов Round 1 нацелены на соответствующие стратегии:
|
|
495
|
+
|
|
496
|
+
```
|
|
497
|
+
/bto-optimize .claude/skills/my-skill/ ROBUSTNESS
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
Распределение вариантов при фокусе на ROBUSTNESS:
|
|
501
|
+
- Variant 1: Add Constraints (primary strategy)
|
|
502
|
+
- Variant 2: Specialize (secondary strategy)
|
|
503
|
+
- Variant 3: Add Constraints (repeat with different approach)
|
|
504
|
+
- Variant 4: Rephrase (general improvement)
|
|
505
|
+
- Variant 5: Restructure (general improvement)
|
|
506
|
+
|
|
507
|
+
### 4.7. Бэкап перед оптимизацией
|
|
508
|
+
|
|
509
|
+
OPTIMIZE автоматически создаёт резервную копию перед перезаписью:
|
|
510
|
+
|
|
511
|
+
```
|
|
512
|
+
.claude/skills/my-skill/SKILL.md ← обновлённая версия
|
|
513
|
+
.claude/skills/my-skill/SKILL.md.pre-optimize.bak ← резервная копия
|
|
514
|
+
```
|
|
515
|
+
|
|
516
|
+
Для отката используйте команду `откат` в checkpoint или восстановите вручную:
|
|
517
|
+
|
|
518
|
+
```bash
|
|
519
|
+
cp .claude/skills/my-skill/SKILL.md.pre-optimize.bak .claude/skills/my-skill/SKILL.md
|
|
520
|
+
```
|
|
521
|
+
|
|
522
|
+
---
|
|
523
|
+
|
|
524
|
+
## 5. Управление модельным бюджетом
|
|
525
|
+
|
|
526
|
+
### 5.1. Стандартное распределение моделей
|
|
527
|
+
|
|
528
|
+
BTO использует три модели с чёткой иерархией применения:
|
|
529
|
+
|
|
530
|
+
| Модель | Использование | Обоснование |
|
|
531
|
+
|--------|--------------|-------------|
|
|
532
|
+
| **haiku** | Layer 0 pre-checks, Layer 1 quick eval, Round 1-2 variant evaluation | Высокочастотные операции; достаточная точность для ранжирования |
|
|
533
|
+
| **sonnet** | Layer 2 judge panel (все 3 судьи), mutation workers, meta-judge (escalation) | Требует рассуждений и доменной экспертизы |
|
|
534
|
+
| **opus** | Crossover/creative synthesis, variant generation, DEEP mode clarification | Creативная работа; используется только на топ-N кандидатах |
|
|
535
|
+
|
|
536
|
+
**Правило эскалации:** Никогда не использовать более дорогую модель там, где менее дорогая справляется достаточно хорошо. Haiku не подходит для судейства Layer 2 — требует nuanced reasoning. Opus не нужен для strukturных проверок.
|
|
537
|
+
|
|
538
|
+
### 5.2. Бюджет токенов по операциям
|
|
539
|
+
|
|
540
|
+
| Операция | Модель | Est. токены | Количество вызовов |
|
|
541
|
+
|----------|--------|-------------|-------------------|
|
|
542
|
+
| Baseline Layer 2 eval | sonnet | ~5K/судья | 3 |
|
|
543
|
+
| Variant generation (Round 1) | opus | ~5K/вариант | 5 |
|
|
544
|
+
| Round 1 evaluation | haiku | ~2K/вариант | 5 |
|
|
545
|
+
| Crossover generation | opus | ~5K/вариант | 3 |
|
|
546
|
+
| Round 2 evaluation | haiku | ~2K/вариант | 3 |
|
|
547
|
+
| Crossover generation | opus | ~5K/вариант | 3 |
|
|
548
|
+
| Round 3 evaluation | sonnet | ~5K/вариант | 9 |
|
|
549
|
+
| **Итого полный OPTIMIZE** | | **~131K** | |
|
|
550
|
+
|
|
551
|
+
Для отдельного `/bto-test` Layer 2: ~15–20K токенов (3 вызова sonnet).
|
|
552
|
+
|
|
553
|
+
### 5.3. Стратегии снижения затрат
|
|
554
|
+
|
|
555
|
+
**Стратегия 1: Layer 1 вместо Layer 2 для итерационной разработки**
|
|
556
|
+
|
|
557
|
+
При активной разработке скилла запускайте только Layer 1 (haiku) для быстрой обратной связи. Layer 2 используйте только при финальной оценке перед деплоем.
|
|
558
|
+
|
|
559
|
+
```
|
|
560
|
+
/bto-test .claude/skills/my-skill/ ← Layer 0 + Layer 1, предложит Layer 2
|
|
561
|
+
/bto-test .claude/skills/my-skill/ full ← принудительно Layer 0 + Layer 1 + Layer 2
|
|
562
|
+
```
|
|
563
|
+
|
|
564
|
+
**Стратегия 2: Оптимизация только при необходимости**
|
|
565
|
+
|
|
566
|
+
OPTIMIZE запускается автоматически только если baseline < 8.0. Если ваши артефакты стабильно получают 7.5+, рассмотрите повышение порога до 7.5 в `bto-optimize.md`:
|
|
567
|
+
|
|
568
|
+
```markdown
|
|
569
|
+
**Early exit condition:**
|
|
570
|
+
If `BASELINE_SCORE` ≥ 8.0 → report "Artifact already high quality"
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
Измените `≥ 8.0` на `≥ 7.5`.
|
|
574
|
+
|
|
575
|
+
**Стратегия 3: Сокращение числа раундов оптимизации**
|
|
576
|
+
|
|
577
|
+
Для большинства артефактов 2 раунда дают 80% от прироста качества 3 раундов:
|
|
578
|
+
|
|
579
|
+
```
|
|
580
|
+
/bto-optimize .claude/skills/my-skill/ rounds 2
|
|
581
|
+
```
|
|
582
|
+
|
|
583
|
+
**Стратегия 4: Batch-оценка через Layer 1**
|
|
584
|
+
|
|
585
|
+
При оценке большого числа артефактов (например, все скиллы проекта) используйте только Layer 1 для ранжирования, затем проводите Layer 2 только для топ-3:
|
|
586
|
+
|
|
587
|
+
```
|
|
588
|
+
# Оценить все скиллы через Layer 1
|
|
589
|
+
/bto-test .claude/skills/skill-a/
|
|
590
|
+
/bto-test .claude/skills/skill-b/
|
|
591
|
+
/bto-test .claude/skills/skill-c/
|
|
592
|
+
|
|
593
|
+
# Layer 2 только для самого важного
|
|
594
|
+
/bto-test .claude/skills/skill-a/ full
|
|
595
|
+
```
|
|
596
|
+
|
|
597
|
+
### 5.4. Мониторинг потребления токенов
|
|
598
|
+
|
|
599
|
+
Claude Code не предоставляет прямой API для просмотра потребления токенов в сессии. Для оценки:
|
|
600
|
+
|
|
601
|
+
1. Используйте [console.anthropic.com](https://console.anthropic.com) → Usage
|
|
602
|
+
2. Фильтруйте по дате и сравнивайте с запусками BTO
|
|
603
|
+
3. Для детального трекинга введите соглашение по именованию сессий в вашем workflow
|
|
604
|
+
|
|
605
|
+
---
|
|
606
|
+
|
|
607
|
+
## 6. Создание пользовательских рубрик
|
|
608
|
+
|
|
609
|
+
### 6.1. Зачем нужны пользовательские рубрики
|
|
610
|
+
|
|
611
|
+
Стандартные рубрики BTO (`judge-rubrics.md`) универсальны и работают для любых артефактов. Пользовательские рубрики добавляют доменную специфику: например, для банковского домена важна соответствие ФЗ-152 и ЦБ, для ритейла — latency-требования и A/B тестирование.
|
|
612
|
+
|
|
613
|
+
### 6.2. Создание рубрики
|
|
614
|
+
|
|
615
|
+
Создайте файл в `.claude/skills/bto/references/`:
|
|
616
|
+
|
|
617
|
+
```
|
|
618
|
+
.claude/skills/bto/references/custom-banking-rubrics.md
|
|
619
|
+
```
|
|
620
|
+
|
|
621
|
+
Структура рубрики:
|
|
622
|
+
|
|
623
|
+
```markdown
|
|
624
|
+
# Рубрика оценки: Банковский домен
|
|
625
|
+
|
|
626
|
+
## Назначение
|
|
627
|
+
|
|
628
|
+
Дополнительные критерии оценки для артефактов банковского и финтех домена.
|
|
629
|
+
Используется судьями Layer 2 совместно с базовыми рубриками.
|
|
630
|
+
|
|
631
|
+
## Дополнительные критерии по измерению CORRECTNESS
|
|
632
|
+
|
|
633
|
+
При оценке CORRECTNESS для банковских артефактов снижайте балл если:
|
|
634
|
+
- Нет упоминания ФЗ-152 (персональные данные)
|
|
635
|
+
- Нет требования on-premise развёртывания LLM
|
|
636
|
+
- Нет HITL для решений, влияющих на клиента
|
|
637
|
+
- Нет упоминания ФСТЭК при работе с критической инфраструктурой
|
|
638
|
+
|
|
639
|
+
## Дополнительные критерии по измерению ROBUSTNESS
|
|
640
|
+
|
|
641
|
+
Снижайте балл ROBUSTNESS если:
|
|
642
|
+
- Нет описания fallback при недоступности LLM
|
|
643
|
+
- Нет SLA-требований
|
|
644
|
+
- Нет упоминания аудит-лога для регуляторной отчётности
|
|
645
|
+
|
|
646
|
+
## Якорные точки (anchor points) для банковского домена
|
|
647
|
+
|
|
648
|
+
- 9-10: Полное соответствие регуляторным требованиям, HITL, on-premise, аудит-лог
|
|
649
|
+
- 7-8: Базовое соответствие, указание на ключевые требования
|
|
650
|
+
- 5-6: Упоминает регулирование, но без конкретики
|
|
651
|
+
- 3-4: Игнорирует регуляторный контекст
|
|
652
|
+
- 1-2: Предлагает облачные решения без обоснования для критических данных
|
|
653
|
+
```
|
|
654
|
+
|
|
655
|
+
### 6.3. Подключение рубрики к судьям
|
|
656
|
+
|
|
657
|
+
Для применения пользовательской рубрики в конкретной оценке добавьте ссылку в агент-конфиг или явно укажите в промпте команды:
|
|
658
|
+
|
|
659
|
+
**Временно (в конкретном вызове):**
|
|
660
|
+
|
|
661
|
+
```
|
|
662
|
+
/bto-test .claude/skills/my-banking-skill/ full
|
|
663
|
+
```
|
|
664
|
+
|
|
665
|
+
Добавьте в свой запрос контекст: "Используй рубрики из .claude/skills/bto/references/custom-banking-rubrics.md при оценке."
|
|
666
|
+
|
|
667
|
+
**Постоянно (для всех оценок скиллов банковского домена):**
|
|
668
|
+
|
|
669
|
+
Создайте специализированный агент-конфиг:
|
|
670
|
+
|
|
671
|
+
```
|
|
672
|
+
.claude/agents/bto-judge-banking-expert.md
|
|
673
|
+
```
|
|
674
|
+
|
|
675
|
+
```markdown
|
|
676
|
+
# BTO Judge — Banking Domain Expert
|
|
677
|
+
|
|
678
|
+
## Purpose
|
|
679
|
+
Evaluate Claude Code artifacts for banking/fintech domain quality,
|
|
680
|
+
including regulatory compliance (ФЗ-152, ЦБ, ФСТЭК) and security requirements.
|
|
681
|
+
|
|
682
|
+
## Configuration
|
|
683
|
+
- Model: sonnet
|
|
684
|
+
- Isolation: reads artifact + judge-rubrics.md + custom-banking-rubrics.md
|
|
685
|
+
- Role: domain expert with regulatory focus
|
|
686
|
+
|
|
687
|
+
## Additional References
|
|
688
|
+
Read .claude/skills/bto/references/custom-banking-rubrics.md
|
|
689
|
+
Apply banking-specific criteria in addition to standard rubrics.
|
|
690
|
+
```
|
|
691
|
+
|
|
692
|
+
### 6.4. Рубрики по домену: шаблоны
|
|
693
|
+
|
|
694
|
+
**Шаблон для ритейл/e-commerce:**
|
|
695
|
+
|
|
696
|
+
```markdown
|
|
697
|
+
# Рубрика оценки: Ритейл / E-commerce домен
|
|
698
|
+
|
|
699
|
+
## CORRECTNESS (снижать если):
|
|
700
|
+
- Latency не упомянута для real-time операций (< 200ms)
|
|
701
|
+
- Нет механизма A/B тестирования для рекомендаций
|
|
702
|
+
- Персонализация без адресации privacy/GDPR
|
|
703
|
+
|
|
704
|
+
## ROBUSTNESS (снижать если):
|
|
705
|
+
- Нет обработки cold-start проблемы
|
|
706
|
+
- Нет сезонного контекста (пиковые нагрузки)
|
|
707
|
+
- Нет деградированного режима при отказе рекомендательной системы
|
|
708
|
+
```
|
|
709
|
+
|
|
710
|
+
**Шаблон для enterprise/B2B:**
|
|
711
|
+
|
|
712
|
+
```markdown
|
|
713
|
+
# Рубрика оценки: Enterprise / B2B домен
|
|
714
|
+
|
|
715
|
+
## CORRECTNESS (снижать если):
|
|
716
|
+
- Нет плана Change Management (люди сопротивляются AI)
|
|
717
|
+
- ROI выражен в процентах, а не в FTE/часах
|
|
718
|
+
- Нет стратегии интеграции с legacy-системами
|
|
719
|
+
|
|
720
|
+
## METHODOLOGY (снижать если):
|
|
721
|
+
- Нет SLA и fault tolerance требований
|
|
722
|
+
- Нет плана поэтапного rollout
|
|
723
|
+
```
|
|
724
|
+
|
|
725
|
+
---
|
|
726
|
+
|
|
727
|
+
## 7. Мониторинг качества оценки
|
|
728
|
+
|
|
729
|
+
### 7.1. Признаки здоровой оценки
|
|
730
|
+
|
|
731
|
+
Здоровый BTO-процесс характеризуется:
|
|
732
|
+
|
|
733
|
+
| Метрика | Здоровое значение | Тревожный сигнал |
|
|
734
|
+
|---------|------------------|------------------|
|
|
735
|
+
| Layer 0 pass rate | > 90% для зрелых артефактов | < 70% — системная проблема с генерацией |
|
|
736
|
+
| Layer 1 средний балл | 6.5–8.5 | > 9.0 — score inflation; < 5.0 — generation failure |
|
|
737
|
+
| Разброс судей Layer 2 | max-min < 2 для большинства | > 3 на > 2 измерениях — калибровка нужна |
|
|
738
|
+
| OPTIMIZE delta per round | 0.5–1.5 | > 2.0 — подозрительный скачок; < 0.3 — преждевременная сходимость |
|
|
739
|
+
| Частота активации мета-судьи | < 20% оценок | > 40% — системное расхождение судей |
|
|
740
|
+
|
|
741
|
+
### 7.2. Ведение журнала оценок
|
|
742
|
+
|
|
743
|
+
Для отслеживания качества оценок во времени рекомендуется сохранять результаты оценок:
|
|
744
|
+
|
|
745
|
+
```bash
|
|
746
|
+
# Создайте директорию для логов оценок
|
|
747
|
+
mkdir -p .bto-logs/
|
|
748
|
+
|
|
749
|
+
# После каждого /bto-test сохраняйте вывод
|
|
750
|
+
# (Можно делать вручную или через Claude Code в конце сессии)
|
|
751
|
+
```
|
|
752
|
+
|
|
753
|
+
Структура лога оценки:
|
|
754
|
+
|
|
755
|
+
```markdown
|
|
756
|
+
## Evaluation Log Entry
|
|
757
|
+
|
|
758
|
+
Date: 2026-03-01
|
|
759
|
+
Artifact: .claude/skills/my-skill/SKILL.md
|
|
760
|
+
Layer: 2
|
|
761
|
+
Overall: 7.4
|
|
762
|
+
|
|
763
|
+
Dimension Scores:
|
|
764
|
+
Expert: METHODOLOGY 7, DEPTH 6, CORRECTNESS 8, USABILITY 7, ROBUSTNESS 6
|
|
765
|
+
Critic: METHODOLOGY 6, DEPTH 5, CORRECTNESS 7, USABILITY 6, ROBUSTNESS 5
|
|
766
|
+
Auditor: METHODOLOGY 8, DEPTH 7, CORRECTNESS 8, USABILITY 7, ROBUSTNESS 6
|
|
767
|
+
|
|
768
|
+
Disagreements: DEPTH (range: 2), ROBUSTNESS (range: 1)
|
|
769
|
+
Meta-judge triggered: No
|
|
770
|
+
|
|
771
|
+
Action taken: Ran /bto-optimize with focus DEPTH
|
|
772
|
+
Post-optimize score: 8.1
|
|
773
|
+
```
|
|
774
|
+
|
|
775
|
+
### 7.3. Паттерны деградации оценки
|
|
776
|
+
|
|
777
|
+
**Score inflation (раздувание баллов):**
|
|
778
|
+
|
|
779
|
+
Все судьи стабильно выдают > 8.5 с первой попытки. Особенно характерно при оценке haiku (Layer 1) артефактов, содержащих знакомые паттерны.
|
|
780
|
+
|
|
781
|
+
Диагностика:
|
|
782
|
+
- Запустите Layer 2 на заведомо среднем артефакте — ожидаемый балл Critic: 5-6
|
|
783
|
+
- Если Critic выдаёт 8-9 — нужна перекалибровка
|
|
784
|
+
|
|
785
|
+
Исправление:
|
|
786
|
+
- Добавьте в промпт Critic явную инструкцию: "Your average score across all dimensions should be in the 5-6 range. Score 8+ only for genuinely exceptional quality."
|
|
787
|
+
- Отредактируйте `.claude/agents/bto-judge-critic.md`, усилив секцию Scoring Calibration
|
|
788
|
+
|
|
789
|
+
**Конформизм (conformity collapse):**
|
|
790
|
+
|
|
791
|
+
Судьи сходятся к идентичным баллам уже после 1 раунда. Теряется ценность разнообразных перспектив.
|
|
792
|
+
|
|
793
|
+
Диагностика:
|
|
794
|
+
- Standard deviation баллов судей < 0.5 на всех измерениях
|
|
795
|
+
|
|
796
|
+
Исправление:
|
|
797
|
+
- Убедитесь, что агенты запущены в полной изоляции (никакого контекста других судей)
|
|
798
|
+
- Рандомизируйте порядок запуска агентов
|
|
799
|
+
- Добавьте в промпт каждого судьи: "Do not converge to a consensus — your independent perspective is the entire point."
|
|
800
|
+
|
|
801
|
+
### 7.4. Калибровочный тест
|
|
802
|
+
|
|
803
|
+
Для проверки корректности работы панели судей используйте эталонный артефакт — заведомо хороший и заведомо плохой:
|
|
804
|
+
|
|
805
|
+
**Эталон "хорошего" артефакта** — это сам BTO SKILL.md. Ожидаемые баллы Layer 2:
|
|
806
|
+
- Domain Expert: 8.0–9.0
|
|
807
|
+
- Critic: 7.0–8.0
|
|
808
|
+
- Auditor: 8.5–9.5
|
|
809
|
+
|
|
810
|
+
**Эталон "плохого" артефакта** — создайте специальный тест-файл:
|
|
811
|
+
|
|
812
|
+
```bash
|
|
813
|
+
cat > /tmp/bad-artifact-test.md << 'EOF'
|
|
814
|
+
# Skill
|
|
815
|
+
|
|
816
|
+
## Overview
|
|
817
|
+
This skill does things.
|
|
818
|
+
|
|
819
|
+
## Protocol
|
|
820
|
+
Do the thing.
|
|
821
|
+
EOF
|
|
822
|
+
```
|
|
823
|
+
|
|
824
|
+
Ожидаемые баллы Layer 2 для этого артефакта:
|
|
825
|
+
- Domain Expert: 2.0–3.0
|
|
826
|
+
- Critic: 1.0–2.0
|
|
827
|
+
- Auditor: 2.0–3.0
|
|
828
|
+
|
|
829
|
+
Если реальные баллы значительно отклоняются от ожидаемых — калибровка судей нужна.
|
|
830
|
+
|
|
831
|
+
---
|
|
832
|
+
|
|
833
|
+
## 8. Обнаружение и устранение анти-паттернов
|
|
834
|
+
|
|
835
|
+
### 8.1. Полный реестр BTO анти-паттернов
|
|
836
|
+
|
|
837
|
+
| Анти-паттерн | Сигнал обнаружения | Требуемое исправление |
|
|
838
|
+
|-------------|-------------------|-----------------------|
|
|
839
|
+
| **Score inflation** | Все судьи выставляют > 8.5 при первой попытке | Добавить калибровочный промпт в критиков |
|
|
840
|
+
| **Overfitting to rubric** | Артефакт содержит почти дословные фразы из рубрики | Blind evaluation: скрыть рубрику от генератора |
|
|
841
|
+
| **Conformity collapse** | Судьи сходятся к идентичным баллам | Принудить изоляцию, рандомизировать порядок |
|
|
842
|
+
| **Runaway optimization** | > 10 итераций без сходимости | Прервать, залогировать, human review |
|
|
843
|
+
| **Phantom improvement** | Delta > 0.5, но содержательных изменений нет | Diff-проверка контента, не только баллов |
|
|
844
|
+
| **Judge-generator collusion** | Одна модель используется для генерации и для оценки | BLOCK — модели генератора и судьи должны отличаться |
|
|
845
|
+
| **Missing rejection log** | Провалившиеся артефакты молча отбрасываются | Каждый rejection логировать с причиной |
|
|
846
|
+
|
|
847
|
+
### 8.2. Judge-generator collusion (наиболее критичный)
|
|
848
|
+
|
|
849
|
+
Этот анти-паттерн возникает, когда одна и та же модель генерирует артефакт и оценивает его. Модель будет систематически завышать оценки своих собственных генераций.
|
|
850
|
+
|
|
851
|
+
**Стандартное разделение BTO:**
|
|
852
|
+
|
|
853
|
+
| Операция | Модель |
|
|
854
|
+
|---------|--------|
|
|
855
|
+
| BUILD generation | opus |
|
|
856
|
+
| Layer 1 judge | haiku |
|
|
857
|
+
| Layer 2 judges | sonnet |
|
|
858
|
+
| OPTIMIZE variant generation | opus |
|
|
859
|
+
| OPTIMIZE Layer 1 eval | haiku |
|
|
860
|
+
| OPTIMIZE Layer 2 final eval | sonnet |
|
|
861
|
+
|
|
862
|
+
Генератор (opus) никогда не является судьёй. Судьи (haiku, sonnet) никогда не генерируют артефакты.
|
|
863
|
+
|
|
864
|
+
Если вы изменяете модели для экономии токенов — убедитесь, что это разделение сохраняется.
|
|
865
|
+
|
|
866
|
+
### 8.3. Overfitting to rubric
|
|
867
|
+
|
|
868
|
+
**Симптом:** Артефакт высоко оценивается судьями, но не работает как задумано в реальном использовании. Контент выглядит "написанным для оценщика", а не для реального потребителя.
|
|
869
|
+
|
|
870
|
+
**Выявление:**
|
|
871
|
+
- Сравните артефакт с реальным user journey — помогает ли он на каждом шаге?
|
|
872
|
+
- Проведите "слепую" оценку: уберите рубрику из контекста судьи при одном из раундов
|
|
873
|
+
|
|
874
|
+
**Исправление:**
|
|
875
|
+
|
|
876
|
+
Добавьте в промпт судьи секцию:
|
|
877
|
+
|
|
878
|
+
```
|
|
879
|
+
IMPORTANT: Do not score based on whether the artifact MENTIONS concepts from
|
|
880
|
+
evaluation rubrics. Score based on whether a real user could successfully
|
|
881
|
+
accomplish their goal using this artifact as their sole guide.
|
|
882
|
+
```
|
|
883
|
+
|
|
884
|
+
### 8.4. Phantom improvement
|
|
885
|
+
|
|
886
|
+
**Симптом:** Раунд оптимизации показывает delta > 0.5, но при ручном сравнении артефактов изменения косметические (перефразирование без добавления смысла).
|
|
887
|
+
|
|
888
|
+
**Выявление через diff:**
|
|
889
|
+
|
|
890
|
+
```bash
|
|
891
|
+
diff .claude/skills/my-skill/SKILL.md .claude/skills/my-skill/SKILL.md.pre-optimize.bak
|
|
892
|
+
```
|
|
893
|
+
|
|
894
|
+
Если diff показывает только пересловение без новых секций, примеров или ограничений — это phantom improvement.
|
|
895
|
+
|
|
896
|
+
**Исправление:**
|
|
897
|
+
|
|
898
|
+
Добавьте в промпт мутации:
|
|
899
|
+
|
|
900
|
+
```
|
|
901
|
+
Changes MUST be substantive — add new content, examples, constraints, or restructure
|
|
902
|
+
meaningfully. Do not merely rephrase existing sentences.
|
|
903
|
+
Minimum: add at least one concrete example or one new edge case.
|
|
904
|
+
```
|
|
905
|
+
|
|
906
|
+
### 8.5. Автоматическое обнаружение (self-check)
|
|
907
|
+
|
|
908
|
+
Правило `bto-quality-gates.md` загружается Claude Code автоматически из `.claude/rules/`. Это означает, что Claude Code будет применять BTO anti-pattern checks ко ВСЕМ генерируемым артефактам — не только при явном вызове BTO команд.
|
|
909
|
+
|
|
910
|
+
Для проверки, что правило загружено:
|
|
911
|
+
|
|
912
|
+
Файл `.claude/rules/bto-quality-gates.md` должен существовать (проверяется через `doctor`). При обнаружении анти-паттерна Claude Code автоматически флагирует его и останавливает процесс.
|
|
913
|
+
|
|
914
|
+
---
|
|
915
|
+
|
|
916
|
+
## 9. Бэкап и восстановление
|
|
917
|
+
|
|
918
|
+
### 9.1. Автоматические бэкапы OPTIMIZE
|
|
919
|
+
|
|
920
|
+
Каждый запуск `/bto-optimize` автоматически создаёт резервную копию перед перезаписью:
|
|
921
|
+
|
|
922
|
+
```
|
|
923
|
+
Оригинал: .claude/skills/my-skill/SKILL.md
|
|
924
|
+
Резервная: .claude/skills/my-skill/SKILL.md.pre-optimize.bak
|
|
925
|
+
```
|
|
926
|
+
|
|
927
|
+
Для восстановления вручную:
|
|
928
|
+
|
|
929
|
+
```bash
|
|
930
|
+
cp .claude/skills/my-skill/SKILL.md.pre-optimize.bak .claude/skills/my-skill/SKILL.md
|
|
931
|
+
```
|
|
932
|
+
|
|
933
|
+
Или через Claude Code:
|
|
934
|
+
|
|
935
|
+
```
|
|
936
|
+
откат
|
|
937
|
+
```
|
|
938
|
+
|
|
939
|
+
(эта команда доступна в checkpoint после OPTIMIZE)
|
|
940
|
+
|
|
941
|
+
### 9.2. Ручной бэкап перед массовыми изменениями
|
|
942
|
+
|
|
943
|
+
Перед операциями, которые изменяют несколько файлов (update, force-init, массовая оптимизация):
|
|
944
|
+
|
|
945
|
+
```bash
|
|
946
|
+
# Зафиксировать текущее состояние в git
|
|
947
|
+
git add .claude/ .bto-skills.json
|
|
948
|
+
git commit -m "snapshot before bto update $(date +%Y-%m-%d)"
|
|
949
|
+
|
|
950
|
+
# Или создать архив
|
|
951
|
+
tar -czf bto-backup-$(date +%Y%m%d).tar.gz .claude/skills/bto/ .claude/commands/bto*.md .claude/rules/bto-*.md .claude/agents/bto-*.md .bto-skills.json
|
|
952
|
+
```
|
|
953
|
+
|
|
954
|
+
### 9.3. Восстановление через update
|
|
955
|
+
|
|
956
|
+
Если какие-либо файлы BTO были случайно изменены или удалены:
|
|
957
|
+
|
|
958
|
+
```bash
|
|
959
|
+
# Вариант 1: обновление вернёт файлы из последней версии пакета
|
|
960
|
+
npx @dzhechko/skills-bto update
|
|
961
|
+
|
|
962
|
+
# Вариант 2: принудительная переустановка
|
|
963
|
+
npx @dzhechko/skills-bto init --force
|
|
964
|
+
```
|
|
965
|
+
|
|
966
|
+
`update` обновляет только файлы BTO, не затрагивая Keysarium-файлы в тех же директориях.
|
|
967
|
+
|
|
968
|
+
### 9.4. Восстановление из git
|
|
969
|
+
|
|
970
|
+
При наличии git-репозитория:
|
|
971
|
+
|
|
972
|
+
```bash
|
|
973
|
+
# Проверить историю изменений конкретного файла
|
|
974
|
+
git log --oneline -- .claude/skills/bto/SKILL.md
|
|
975
|
+
|
|
976
|
+
# Восстановить версию на конкретную дату
|
|
977
|
+
git checkout "2026-02-15" -- .claude/skills/bto/SKILL.md
|
|
978
|
+
|
|
979
|
+
# Или из конкретного коммита
|
|
980
|
+
git checkout abc1234 -- .claude/skills/bto/
|
|
981
|
+
|
|
982
|
+
# Проверить, что восстановлено корректно
|
|
983
|
+
npx @dzhechko/skills-bto doctor
|
|
984
|
+
```
|
|
985
|
+
|
|
986
|
+
### 9.5. Манифест как инвентаризация
|
|
987
|
+
|
|
988
|
+
Файл `.bto-skills.json` является полным списком файлов BTO. Используйте его для аудита:
|
|
989
|
+
|
|
990
|
+
```bash
|
|
991
|
+
# Просмотр манифеста
|
|
992
|
+
cat .bto-skills.json
|
|
993
|
+
|
|
994
|
+
# Проверить наличие всех файлов из манифеста
|
|
995
|
+
npx @dzhechko/skills-bto doctor
|
|
996
|
+
```
|
|
997
|
+
|
|
998
|
+
Структура манифеста:
|
|
999
|
+
|
|
1000
|
+
```json
|
|
1001
|
+
{
|
|
1002
|
+
"version": "1.0.0",
|
|
1003
|
+
"installedAt": "2026-03-01T12:00:00.000Z",
|
|
1004
|
+
"components": ["skill", "commands", "rules", "agents"],
|
|
1005
|
+
"files": [
|
|
1006
|
+
".claude/skills/bto/SKILL.md",
|
|
1007
|
+
".claude/skills/bto/modules/build.md",
|
|
1008
|
+
".claude/skills/bto/modules/test.md",
|
|
1009
|
+
".claude/skills/bto/modules/optimize.md",
|
|
1010
|
+
".claude/skills/bto/references/judge-rubrics.md",
|
|
1011
|
+
".claude/commands/bto.md",
|
|
1012
|
+
".claude/commands/bto-build.md",
|
|
1013
|
+
".claude/commands/bto-test.md",
|
|
1014
|
+
".claude/commands/bto-optimize.md",
|
|
1015
|
+
".claude/rules/bto-quality-gates.md",
|
|
1016
|
+
".claude/agents/bto-judge-expert.md",
|
|
1017
|
+
".claude/agents/bto-judge-critic.md",
|
|
1018
|
+
".claude/agents/bto-judge-auditor.md"
|
|
1019
|
+
]
|
|
1020
|
+
}
|
|
1021
|
+
```
|
|
1022
|
+
|
|
1023
|
+
### 9.6. Многопользовательская среда
|
|
1024
|
+
|
|
1025
|
+
При работе нескольких разработчиков с одним репозиторием:
|
|
1026
|
+
|
|
1027
|
+
**Рекомендуемый подход:** Зафиксируйте все файлы `.claude/` в git, включая BTO-компоненты. Это гарантирует, что все разработчики работают с одинаковыми версиями скиллов и правил.
|
|
1028
|
+
|
|
1029
|
+
```bash
|
|
1030
|
+
# Добавьте .claude/ в отслеживаемые файлы
|
|
1031
|
+
echo "!.claude/" >> .gitignore # убрать из исключений, если он там
|
|
1032
|
+
|
|
1033
|
+
# Зафиксировать базовую установку
|
|
1034
|
+
git add .claude/ .bto-skills.json
|
|
1035
|
+
git commit -m "add @dzhechko/skills-bto v1.0.0"
|
|
1036
|
+
```
|
|
1037
|
+
|
|
1038
|
+
**Обновление в команде:**
|
|
1039
|
+
|
|
1040
|
+
При обновлении пакета один разработчик запускает `update`, фиксирует изменения и пушит. Остальные делают `git pull`:
|
|
1041
|
+
|
|
1042
|
+
```bash
|
|
1043
|
+
# Администратор:
|
|
1044
|
+
npx @dzhechko/skills-bto update
|
|
1045
|
+
git add .claude/ .bto-skills.json
|
|
1046
|
+
git commit -m "update @dzhechko/skills-bto to v1.x.x"
|
|
1047
|
+
git push
|
|
1048
|
+
|
|
1049
|
+
# Остальные разработчики:
|
|
1050
|
+
git pull
|
|
1051
|
+
npx @dzhechko/skills-bto doctor # проверить здоровье после pull
|
|
1052
|
+
```
|