@dzhechkov/keysarium 1.1.2 → 1.3.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 +7 -2
- package/package.json +10 -2
- package/templates/.claude/commands/brain-export.md +97 -20
- package/templates/.claude/commands/brain-import.md +75 -4
- package/templates/.claude/commands/dream.md +101 -0
- package/templates/.claude/commands/feature-adr.md +92 -0
- package/templates/.claude/commands/init-platform.md +161 -0
- package/templates/.claude/commands/learning-stats.md +130 -0
- package/templates/.claude/commands/workers.md +140 -0
- package/templates/.claude/rules/background-workers.md +72 -0
- package/templates/.claude/rules/dream-cycles.md +90 -0
- package/templates/.claude/rules/feature-adr-conventions.md +82 -0
- package/templates/.claude/rules/reward-learning.md +124 -0
- package/templates/.claude/shards/feature-adr.shard.md +98 -0
- package/templates/.claude/skills/feature-adr/SKILL.md +252 -0
- package/templates/.claude/skills/feature-adr/examples/sample-feature-output.md +257 -0
- package/templates/.claude/skills/feature-adr/modules/00-complexity-router.md +114 -0
- package/templates/.claude/skills/feature-adr/modules/01-requirements.md +113 -0
- package/templates/.claude/skills/feature-adr/modules/02-research.md +92 -0
- package/templates/.claude/skills/feature-adr/modules/03-adr.md +135 -0
- package/templates/.claude/skills/feature-adr/modules/04-ddd.md +114 -0
- package/templates/.claude/skills/feature-adr/modules/05-architecture.md +149 -0
- package/templates/.claude/skills/feature-adr/modules/06-implementation-plan.md +129 -0
- package/templates/.claude/skills/feature-adr/modules/07-code.md +126 -0
- package/templates/.claude/skills/feature-adr/modules/08-qe.md +167 -0
- package/templates/.claude/skills/feature-adr/references/adr-template.md +102 -0
- package/templates/.claude/skills/feature-adr/references/c4-template.md +120 -0
- package/templates/.claude/skills/feature-adr/references/complexity-matrix.md +139 -0
- package/templates/.claude/skills/feature-adr/references/qe-checklist.md +86 -0
- package/templates/CLAUDE.md +135 -8
- 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 +16 -16
- package/templates/docs/keysarium/01-deployment-guide.md +21 -12
- package/templates/docs/keysarium/02-admin-guide.md +204 -3
- package/templates/docs/keysarium/03-user-guide.md +224 -0
- package/templates/docs/keysarium/05-architecture.md +181 -0
- package/templates/docs/keysarium/06-user-flows.md +235 -0
- package/templates/docs/keysarium-core/01-architecture.md +559 -0
- package/templates/docs/keysarium-core/02-functionality.md +953 -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/lib/background-workers.md +278 -0
- package/templates/lib/dream-engine.md +460 -0
- package/templates/lib/judge-attestation.md +322 -0
- package/templates/lib/memory-protocol.md +344 -0
- package/templates/lib/platform-adapters.md +100 -0
- package/templates/lib/platform-templates/copilot.md +134 -0
- package/templates/lib/platform-templates/cursor.md +95 -0
- package/templates/lib/platform-templates/opencode.md +155 -0
- package/templates/lib/reward-tracker.md +256 -0
- package/templates/lib/witness-chain.md +372 -0
- package/templates/lib/worker-templates/brain-export.md +187 -0
- package/templates/lib/worker-templates/consolidate.md +180 -0
- package/templates/lib/worker-templates/dream-cycle.md +154 -0
- package/templates/lib/worker-templates/health-check.md +255 -0
|
@@ -0,0 +1,599 @@
|
|
|
1
|
+
# Руководство пользователя @dzhechkov/keysarium-core
|
|
2
|
+
|
|
3
|
+
> Полное руководство по использованию keysarium-core -- домен-агностичного фреймворка для мультиагентных AI-пайплайнов.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. Что такое keysarium-core?
|
|
8
|
+
|
|
9
|
+
**keysarium-core** -- это «операционная система» для мультиагентных AI-пайплайнов. Фреймворк предоставляет инфраструктурные протоколы, а вы приносите доменную экспертизу и навыки.
|
|
10
|
+
|
|
11
|
+
### Ключевые принципы
|
|
12
|
+
|
|
13
|
+
- **Domain-agnostic:** протоколы не привязаны к конкретной предметной области. Банкинг, ритейл, DevOps, образование -- keysarium-core работает везде.
|
|
14
|
+
- **Protocol-as-Code:** все протоколы написаны в markdown. AI-агенты читают их и следуют инструкциям. Нет компиляции, нет бинарных зависимостей.
|
|
15
|
+
- **Модульность:** шесть независимых модулей. Используйте один, три или все шесть -- каждый работает автономно.
|
|
16
|
+
- **Инфраструктура, а не логика:** keysarium-core управляет координацией, верификацией и обучением. Доменную логику реализуют ваши скиллы.
|
|
17
|
+
|
|
18
|
+
### Модули
|
|
19
|
+
|
|
20
|
+
| Модуль | Назначение |
|
|
21
|
+
|--------|-----------|
|
|
22
|
+
| **governance/** | Конституция, governance-шарды, чекпоинты |
|
|
23
|
+
| **memory/** | Обучение на основе наград, dream-циклы |
|
|
24
|
+
| **orchestration/** | Координация агентов, топологии, маршрутизация моделей |
|
|
25
|
+
| **verification/** | SHA-256 цепочка свидетелей, аттестация судей |
|
|
26
|
+
| **trust-tiers/** | 4-уровневая классификация качества |
|
|
27
|
+
| **platform/** | Поддержка Cursor, OpenCode, GitHub Copilot |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 2. Быстрый старт
|
|
32
|
+
|
|
33
|
+
### Шаг 1. Установка
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npm install @dzhechkov/keysarium-core
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Шаг 2. Выберите структуру пайплайна
|
|
40
|
+
|
|
41
|
+
Определите, какой тип пайплайна вы строите:
|
|
42
|
+
|
|
43
|
+
| Тип | Пример | Типичное кол-во стадий |
|
|
44
|
+
|-----|--------|------------------------|
|
|
45
|
+
| Исследовательский | Анализ рынка, конкурентный анализ | 5-7 |
|
|
46
|
+
| Оценочный | Мультиагентная оценка качества | 3-4 |
|
|
47
|
+
| Разработочный | Feature development pipeline | 5-9 |
|
|
48
|
+
| Пользовательский | Любой мультиэтапный процесс | 3-7 |
|
|
49
|
+
|
|
50
|
+
### Шаг 3. Загрузите конституцию
|
|
51
|
+
|
|
52
|
+
В начале работы пайплайна агент-координатор читает файл `governance/constitution.md`. Это загружает набор инвариантов -- правил, которые никогда не нарушаются:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
Агент, прочитай governance/constitution.md и следуй всем инвариантам INV-001..INV-007.
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Шаг 4. Создайте шарды для стадий
|
|
59
|
+
|
|
60
|
+
Для каждой стадии вашего пайплайна создайте governance-шард (см. раздел 4). Минимальный шард:
|
|
61
|
+
|
|
62
|
+
```markdown
|
|
63
|
+
# Stage 1: Анализ Governance Shard
|
|
64
|
+
|
|
65
|
+
## Time Budget
|
|
66
|
+
- Allocated: 20% of total pipeline time
|
|
67
|
+
|
|
68
|
+
## Rules for This Stage
|
|
69
|
+
1. Собрать данные из 3+ источников
|
|
70
|
+
2. Верифицировать каждое утверждение
|
|
71
|
+
|
|
72
|
+
## Quality Gates
|
|
73
|
+
- [ ] Минимум 3 источника данных
|
|
74
|
+
- [ ] Нет неподтверждённых утверждений
|
|
75
|
+
|
|
76
|
+
## Promise Tag
|
|
77
|
+
On successful completion, emit: `<promise>ANALYSIS_COMPLETE</promise>`
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Шаг 5. Запустите первый пайплайн
|
|
81
|
+
|
|
82
|
+
Координатор (Queen) следует 10-шаговому протоколу: INIT, HEALTH, LOAD, DETECT, SHARD, ORCHESTRATE, MONITOR, COLLECT, STORE, REPORT. При первом запуске memory будет пустой -- система начнёт накапливать опыт после первого чекпоинта.
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 3. Создание собственного пайплайна
|
|
87
|
+
|
|
88
|
+
### 3.1. Определите стадии
|
|
89
|
+
|
|
90
|
+
Типичный пайплайн содержит 3-7 стадий. Каждая стадия:
|
|
91
|
+
- имеет идентификатор (например, `stage-0-init`),
|
|
92
|
+
- загружает свой governance-шард,
|
|
93
|
+
- производит артефакт,
|
|
94
|
+
- завершается чекпоинтом с promise-тегом.
|
|
95
|
+
|
|
96
|
+
**Пример стадий для аналитического пайплайна:**
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
stage-0: Сбор данных → data_collection.md
|
|
100
|
+
stage-1: Анализ → analysis_report.md
|
|
101
|
+
stage-2: Рекомендации → recommendations.md
|
|
102
|
+
stage-3: Финальный отчёт → final_report.md
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### 3.2. Создайте governance-шарды
|
|
106
|
+
|
|
107
|
+
Для каждой стадии создайте файл по шаблону из `governance/shard-protocol.md`:
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
# {Название стадии} Governance Shard
|
|
111
|
+
|
|
112
|
+
## Time Budget
|
|
113
|
+
- Allocated: {N}% of total pipeline time
|
|
114
|
+
- Hard limit: {M} minutes
|
|
115
|
+
|
|
116
|
+
## Prerequisites
|
|
117
|
+
- Required upstream promises: [{PROMISE_TAG}]
|
|
118
|
+
- Required input files: [{список файлов}]
|
|
119
|
+
|
|
120
|
+
## Skill to Load
|
|
121
|
+
- Primary: {название скилла}
|
|
122
|
+
|
|
123
|
+
## Rules for This Stage
|
|
124
|
+
1. {Правило 1}
|
|
125
|
+
2. {Правило 2}
|
|
126
|
+
|
|
127
|
+
## Quality Gates
|
|
128
|
+
- [ ] {Гейт 1}
|
|
129
|
+
- [ ] {Гейт 2}
|
|
130
|
+
|
|
131
|
+
## Promise Tag
|
|
132
|
+
On successful completion, emit: `<promise>{TAG}</promise>`
|
|
133
|
+
|
|
134
|
+
## Anti-Patterns for This Stage
|
|
135
|
+
| Pattern | Fix |
|
|
136
|
+
|---------|-----|
|
|
137
|
+
| {Анти-паттерн} | {Исправление} |
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### 3.3. Выберите топологию для каждой стадии
|
|
141
|
+
|
|
142
|
+
Модуль `orchestration/topology-selection.md` предлагает 6 топологий:
|
|
143
|
+
|
|
144
|
+
| Топология | Когда использовать | Пример |
|
|
145
|
+
|-----------|--------------------|--------|
|
|
146
|
+
| **Star** | Простые параллельные задачи | 3 агента ищут данные параллельно |
|
|
147
|
+
| **Mesh** | Отказоустойчивый research | Агенты подстраховывают друг друга |
|
|
148
|
+
| **Hierarchical** | Сложная многоуровневая работа | Queen -> Managers -> Workers |
|
|
149
|
+
| **Ring** | Итеративное улучшение | Черновик -> Ревью -> Полировка -> Финал |
|
|
150
|
+
| **Hybrid** | Гетерогенные подзадачи | Star для поиска + Ring для доработки |
|
|
151
|
+
| **Adaptive** | Неопределённая сложность | Начинает как Star, эволюционирует |
|
|
152
|
+
|
|
153
|
+
### 3.4. Настройте маршрутизацию моделей
|
|
154
|
+
|
|
155
|
+
Не каждая задача требует самую мощную модель. Создайте таблицу маршрутизации:
|
|
156
|
+
|
|
157
|
+
```markdown
|
|
158
|
+
| Задача | Тир | Обоснование |
|
|
159
|
+
|--------|-----|-------------|
|
|
160
|
+
| Форматирование файлов | Tier 1 (haiku) | Простая трансформация |
|
|
161
|
+
| Анализ данных | Tier 2 (sonnet) | Аналитическая работа |
|
|
162
|
+
| Написание отчёта | Tier 3 (opus) | Креативная работа |
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### 3.5. Включите witness chain
|
|
166
|
+
|
|
167
|
+
На каждой границе стадий вычисляйте SHA-256 хеш артефакта и добавляйте запись в цепочку:
|
|
168
|
+
|
|
169
|
+
```json
|
|
170
|
+
{
|
|
171
|
+
"sequence": 0,
|
|
172
|
+
"stage": "stage-0",
|
|
173
|
+
"artifact": "data_collection.md",
|
|
174
|
+
"hash": "sha256:a1b2c3...",
|
|
175
|
+
"previous_hash": "sha256:0000...0000",
|
|
176
|
+
"timestamp": "2026-03-02T10:00:00Z",
|
|
177
|
+
"promise_tag": "DATA_COLLECTED"
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### 3.6. Включите memory protocol
|
|
182
|
+
|
|
183
|
+
Добавьте два вызова в каждую стадию:
|
|
184
|
+
- **memory_query()** в начале -- загрузка исторических паттернов,
|
|
185
|
+
- **memory_store()** после чекпоинта -- сохранение результата с наградой.
|
|
186
|
+
|
|
187
|
+
### 3.7. Добавьте поддержку платформ (опционально)
|
|
188
|
+
|
|
189
|
+
Если ваш пайплайн будет работать не только в Claude Code, используйте `platform/adapter-registry.md` для генерации конфигов Cursor, OpenCode или GitHub Copilot.
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## 4. Governance -- как управлять пайплайном
|
|
194
|
+
|
|
195
|
+
### Конституция: инварианты
|
|
196
|
+
|
|
197
|
+
Конституция (`governance/constitution.md`) определяет 7 базовых инвариантов, которые защищают ваш пайплайн:
|
|
198
|
+
|
|
199
|
+
| ID | Инвариант | На что влияет |
|
|
200
|
+
|----|-----------|---------------|
|
|
201
|
+
| INV-001 | Целостность артефактов | Артефакт должен совпадать с хешем в witness chain |
|
|
202
|
+
| INV-002 | Сигнал завершения | Стадия не завершена без promise-тега |
|
|
203
|
+
| INV-003 | Человеческий чекпоинт | Запрет авто-перехода между стадиями |
|
|
204
|
+
| INV-004 | Независимость оценщиков | Судьи не видят оценки друг друга |
|
|
205
|
+
| INV-005 | Детекция циклов | Агент не повторяет одно действие 3+ раз подряд |
|
|
206
|
+
| INV-006 | Консистентность памяти | Нет противоречивых паттернов в memory |
|
|
207
|
+
| INV-007 | Верификация утверждений | Нет непроверенных фактов без пометки |
|
|
208
|
+
|
|
209
|
+
Вы можете добавить доменные инварианты в `constitution-{domain}.md`, нумеруя их с INV-100.
|
|
210
|
+
|
|
211
|
+
### Шарды: правила для каждой стадии
|
|
212
|
+
|
|
213
|
+
Проблема: в длинных сессиях (более 40 минут) агент «забывает» правила, загруженные в начале.
|
|
214
|
+
|
|
215
|
+
Решение: каждая стадия перечитывает свой шард -- компактный набор правил (30-50 строк), актуальный именно для текущей стадии. Шард включает:
|
|
216
|
+
|
|
217
|
+
- **Time Budget** -- сколько времени отведено,
|
|
218
|
+
- **Prerequisites** -- какие promise-теги должны быть получены,
|
|
219
|
+
- **Skill to Load** -- какой скилл прочитать,
|
|
220
|
+
- **Rules** -- правила конкретной стадии,
|
|
221
|
+
- **Quality Gates** -- чеклист качества,
|
|
222
|
+
- **Promise Tag** -- какой тег эмитировать при завершении,
|
|
223
|
+
- **Anti-Patterns** -- что НЕ делать.
|
|
224
|
+
|
|
225
|
+
### Чекпоинты: формат и обработка
|
|
226
|
+
|
|
227
|
+
После каждой стадии пайплайн останавливается и показывает:
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
=====================================================
|
|
231
|
+
CHECKPOINT 2: Анализ Complete
|
|
232
|
+
<promise>ANALYSIS_COMPLETE</promise>
|
|
233
|
+
|
|
234
|
+
Проанализированы 5 источников данных, выявлены 3 тренда.
|
|
235
|
+
Artifacts created: analysis_report.md
|
|
236
|
+
|
|
237
|
+
Options:
|
|
238
|
+
- "ok" -- перейти к следующей стадии
|
|
239
|
+
- "углуби раздел X" -- расширить конкретный раздел
|
|
240
|
+
- "переделай подход" -- существенная переработка
|
|
241
|
+
=====================================================
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
Реакция человека определяет reward-оценку: "ok" = 1.0, мелкие правки = 0.7, серьёзная переработка = 0.3, полный рестарт = 0.0.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## 5. Memory -- как система учится
|
|
249
|
+
|
|
250
|
+
### memory_query(): загрузка паттернов
|
|
251
|
+
|
|
252
|
+
Вызывается в начале каждой стадии. Алгоритм:
|
|
253
|
+
|
|
254
|
+
1. Проверить наличие `{memory-root}/config.json`.
|
|
255
|
+
2. Найти записи для текущей стадии и домена.
|
|
256
|
+
3. Отфильтровать просроченные записи.
|
|
257
|
+
4. Отсортировать по награде (desc) и времени (desc).
|
|
258
|
+
5. Вернуть топ-10 записей и обнаруженные паттерны.
|
|
259
|
+
|
|
260
|
+
Если записей нет (первый запуск) -- пайплайн работает без подсказок.
|
|
261
|
+
|
|
262
|
+
### memory_store(): сохранение результатов
|
|
263
|
+
|
|
264
|
+
Вызывается после каждого чекпоинта, когда человек ответил. Сохраняет:
|
|
265
|
+
|
|
266
|
+
```json
|
|
267
|
+
{
|
|
268
|
+
"stage": "stage-2",
|
|
269
|
+
"domain": "banking",
|
|
270
|
+
"reward": 0.7,
|
|
271
|
+
"reward_label": "good",
|
|
272
|
+
"reward_reason": "Пользователь попросил добавить ещё один источник",
|
|
273
|
+
"outcome": {
|
|
274
|
+
"artifacts_created": ["analysis_report.md"],
|
|
275
|
+
"promise_emitted": "ANALYSIS_COMPLETE"
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### Шкала наград
|
|
281
|
+
|
|
282
|
+
| Поведение пользователя | Награда | Метка |
|
|
283
|
+
|------------------------|---------|-------|
|
|
284
|
+
| Одобряет сразу ("ok", "ок", "продолжай") | 1.0 | excellent |
|
|
285
|
+
| Мелкая правка (один раздел) | 0.7 | good |
|
|
286
|
+
| Серьёзная переработка (3+ области) | 0.3 | needs_work |
|
|
287
|
+
| Полный рестарт стадии | 0.0 | failed |
|
|
288
|
+
|
|
289
|
+
### Просмотр статистики
|
|
290
|
+
|
|
291
|
+
Модуль `memory/reward-tracker.md` предоставляет аналитику:
|
|
292
|
+
- средняя награда по стадиям,
|
|
293
|
+
- средняя награда по доменам,
|
|
294
|
+
- детекция узких мест (стадии с наградой < 0.5),
|
|
295
|
+
- анализ трендов (улучшается или ухудшается качество со временем).
|
|
296
|
+
|
|
297
|
+
### Dream-циклы
|
|
298
|
+
|
|
299
|
+
Модуль `memory/dream-engine.md` -- фоновый анализ, который строит граф концепций из накопленных данных и генерирует кросс-доменные инсайты.
|
|
300
|
+
|
|
301
|
+
**Триггеры запуска:**
|
|
302
|
+
- прошло более 60 минут с последнего dream-цикла,
|
|
303
|
+
- накоплено 20+ новых reward-записей,
|
|
304
|
+
- произошло специальное событие (провал quality gate, завершение кейса).
|
|
305
|
+
|
|
306
|
+
**Результат:** файл `dream-{timestamp}.json` с инсайтами:
|
|
307
|
+
- какие стадии проблемны для определённого домена,
|
|
308
|
+
- какие скиллы работают лучше в определённых контекстах,
|
|
309
|
+
- обнаруженные анти-паттерны.
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## 6. Orchestration -- как организовать агентов
|
|
314
|
+
|
|
315
|
+
### Queen Protocol: 10-шаговый жизненный цикл
|
|
316
|
+
|
|
317
|
+
Координатор (Queen) управляет пайплайном по протоколу из 10 шагов:
|
|
318
|
+
|
|
319
|
+
```
|
|
320
|
+
INIT -> HEALTH -> LOAD -> DETECT -> SHARD -> ORCHESTRATE -> MONITOR -> COLLECT -> STORE -> REPORT
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
| Шаг | Назначение |
|
|
324
|
+
|-----|-----------|
|
|
325
|
+
| INIT | Создание рабочей директории |
|
|
326
|
+
| HEALTH | Проверка доступности скиллов и шардов |
|
|
327
|
+
| LOAD | Загрузка исторических паттернов из memory |
|
|
328
|
+
| DETECT | Определение домена проекта |
|
|
329
|
+
| SHARD | Загрузка governance-шарда текущей стадии |
|
|
330
|
+
| ORCHESTRATE | Выбор топологии, назначение моделей, запуск агентов |
|
|
331
|
+
| MONITOR | Чекпоинты, трекинг времени |
|
|
332
|
+
| COLLECT | Сбор и верификация артефактов |
|
|
333
|
+
| STORE | Сохранение reward-записи в memory |
|
|
334
|
+
| REPORT | Финальный отчёт |
|
|
335
|
+
|
|
336
|
+
Шаги 1-3 и 7-10 универсальны. Шаги 4-6 настраиваются под ваш домен.
|
|
337
|
+
|
|
338
|
+
### Выбор топологии
|
|
339
|
+
|
|
340
|
+
**Star** -- самая частая. Координатор раздаёт задачи параллельным воркерам и собирает результаты. Используйте для независимых подзадач.
|
|
341
|
+
|
|
342
|
+
**Ring** -- для итеративного улучшения. Каждый агент дорабатывает результат предыдущего: черновик -> ревью -> полировка -> финал.
|
|
343
|
+
|
|
344
|
+
**Hierarchical** -- для масштабных задач (10+ агентов). Queen делегирует менеджерам, менеджеры -- воркерам.
|
|
345
|
+
|
|
346
|
+
**Adaptive** -- когда сложность неизвестна заранее. Стартует как Star, переключается на Mesh при разногласиях, на Hierarchical при росте сложности.
|
|
347
|
+
|
|
348
|
+
### Фоновые воркеры
|
|
349
|
+
|
|
350
|
+
Для задач, которые не блокируют основной пайплайн, используйте протокол из `orchestration/background-workers.md`:
|
|
351
|
+
|
|
352
|
+
- **Максимум 3 параллельных воркера.**
|
|
353
|
+
- Воркеры пишут только в свою директорию.
|
|
354
|
+
- Воркеры используют Tier 1 или Tier 2 (никогда Tier 3).
|
|
355
|
+
- Запуск только с подтверждения пользователя.
|
|
356
|
+
|
|
357
|
+
### Маршрутизация моделей: экономия до 71%
|
|
358
|
+
|
|
359
|
+
Правильная маршрутизация сокращает расходы в разы:
|
|
360
|
+
|
|
361
|
+
```
|
|
362
|
+
Без маршрутизации: 20 задач x Tier 3 (75x) = 1500x
|
|
363
|
+
С маршрутизацией: 8 x Tier 1 (1x) + 8 x Tier 2 (15x) + 4 x Tier 3 (75x)
|
|
364
|
+
= 8 + 120 + 300 = 428x
|
|
365
|
+
Экономия: 71%
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
**Правила:**
|
|
369
|
+
- Tier 1 (haiku, ~500ms, 1x): форматирование, структурные проверки, ранжирование.
|
|
370
|
+
- Tier 2 (sonnet, ~2s, 15x): анализ, синтез, панели судей, мутации.
|
|
371
|
+
- Tier 3 (opus, ~5s, 75x): креативная работа, сложное решение проблем, сторителлинг.
|
|
372
|
+
|
|
373
|
+
**Строгие запреты:**
|
|
374
|
+
- Tier 3 для структурных проверок -- пустая трата бюджета.
|
|
375
|
+
- Tier 1 для панели судей -- недостаточное качество оценки.
|
|
376
|
+
- Tier 1 для креативной работы -- поверхностный результат.
|
|
377
|
+
|
|
378
|
+
---
|
|
379
|
+
|
|
380
|
+
## 7. Verification -- как гарантировать целостность
|
|
381
|
+
|
|
382
|
+
### Witness Chain: SHA-256 хеш-цепочка
|
|
383
|
+
|
|
384
|
+
Каждый артефакт пайплайна получает хеш, который включает хеш предыдущего артефакта. Это создаёт цепочку: изменение любого артефакта ломает все последующие хеши.
|
|
385
|
+
|
|
386
|
+
**Как это работает:**
|
|
387
|
+
1. Первый артефакт хешируется с NULL_HASH (64 нуля) -- это genesis record.
|
|
388
|
+
2. Каждый последующий: `SHA-256(содержимое_файла + предыдущий_хеш)`.
|
|
389
|
+
3. Цепочка хранится в `.witness-chain.json` рядом с артефактами.
|
|
390
|
+
4. Верификация: пройти всю цепочку и сравнить хеши.
|
|
391
|
+
|
|
392
|
+
**При легитимном изменении** (после обратной связи на чекпоинте) цепочка перестраивается каскадно: пересчитываются хеши изменённого и всех последующих артефактов.
|
|
393
|
+
|
|
394
|
+
### Judge Attestation: независимость оценщиков
|
|
395
|
+
|
|
396
|
+
При мультиагентной оценке (панель из 3+ судей) каждый судья:
|
|
397
|
+
1. Получает один и тот же артефакт.
|
|
398
|
+
2. Пишет оценку в отдельный файл.
|
|
399
|
+
3. Не видит оценок других судей.
|
|
400
|
+
4. Подписывает оценку хешем: `SHA-256(judge_id | artifact_hash | score | rationale)`.
|
|
401
|
+
|
|
402
|
+
Результат хранится в `.judge-attestations.json`. Это криптографическое доказательство изоляции.
|
|
403
|
+
|
|
404
|
+
### Audit Trail: полная история
|
|
405
|
+
|
|
406
|
+
Файл аудита содержит полную историю оценок: кто оценивал, когда, какие баллы поставил, были ли разногласия, привлекался ли мета-судья.
|
|
407
|
+
|
|
408
|
+
---
|
|
409
|
+
|
|
410
|
+
## 8. Trust Tiers -- как классифицировать качество
|
|
411
|
+
|
|
412
|
+
### 4 уровня доверия
|
|
413
|
+
|
|
414
|
+
| Тир | Метка | Требования | Уверенность |
|
|
415
|
+
|-----|-------|-----------|-------------|
|
|
416
|
+
| Tier 0 | Advisory | Базовый SKILL.md | Низкая -- используйте с осторожностью |
|
|
417
|
+
| Tier 1 | Structured | SKILL.md + references/ или modules/ | Средняя -- хорошо организован |
|
|
418
|
+
| Tier 2 | Validated | Панель из 3 судей, средний балл >= 7.0 | Высокая -- протестирован и оценён |
|
|
419
|
+
| Tier 3 | Verified | Балл >= 8.5 + детерминистические тесты | Наивысшая -- готов к продакшену |
|
|
420
|
+
|
|
421
|
+
### Как повысить тир скилла
|
|
422
|
+
|
|
423
|
+
```
|
|
424
|
+
Tier 0 (Advisory)
|
|
425
|
+
| Добавить references/ или modules/ + полную документацию
|
|
426
|
+
v
|
|
427
|
+
Tier 1 (Structured)
|
|
428
|
+
| Пройти оценку панелью из 3 судей (score >= 7.0)
|
|
429
|
+
v
|
|
430
|
+
Tier 2 (Validated)
|
|
431
|
+
| Создать eval-тесты + набрать score >= 8.5
|
|
432
|
+
v
|
|
433
|
+
Tier 3 (Verified)
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
**Повышение до Tier 1** -- структурная проверка (формальная оценка не нужна).
|
|
437
|
+
**Повышение до Tier 2** -- три судьи (Domain Expert 0.4 / Critic 0.3 / Auditor 0.3) независимо оценивают скилл. Если средний балл >= 7.0 и ни один судья не поставил ниже 5.0 -- повышение.
|
|
438
|
+
**Повышение до Tier 3** -- дополнительно к Tier 2 нужен набор детерминистических тестов (минимум 5), которые стабильно проходят.
|
|
439
|
+
|
|
440
|
+
### Что тир означает для пайплайна
|
|
441
|
+
|
|
442
|
+
- **Tier 0** -- при загрузке выводится предупреждение.
|
|
443
|
+
- **Tier 1** -- стандартное использование.
|
|
444
|
+
- **Tier 2** -- полное доверие, метаданные оценки включаются в brain export.
|
|
445
|
+
- **Tier 3** -- наивысшее доверие, автоматическая валидация доступна.
|
|
446
|
+
|
|
447
|
+
---
|
|
448
|
+
|
|
449
|
+
## 9. Platform -- мультиплатформенная поддержка
|
|
450
|
+
|
|
451
|
+
### Поддерживаемые платформы
|
|
452
|
+
|
|
453
|
+
| Платформа | Формат | Сложность адаптации |
|
|
454
|
+
|-----------|--------|---------------------|
|
|
455
|
+
| Claude Code | `.claude/` (нативный) | Не нужна |
|
|
456
|
+
| Cursor | `.cursorrules` | Низкая |
|
|
457
|
+
| OpenCode | `.opencode/` | Низкая |
|
|
458
|
+
| GitHub Copilot | `.github/copilot-instructions.md` | Средняя |
|
|
459
|
+
|
|
460
|
+
### Как генерировать конфиги
|
|
461
|
+
|
|
462
|
+
Источник истины -- директория `.claude/`. Адаптеры из `platform/templates/` трансформируют её в формат целевой платформы:
|
|
463
|
+
|
|
464
|
+
- **Cursor:** ключевые инструкции собираются в единый `.cursorrules` файл (< 10 000 токенов).
|
|
465
|
+
- **OpenCode:** структура повторяет Claude Code, файлы копируются в `.opencode/`.
|
|
466
|
+
- **GitHub Copilot:** все инструкции конденсируются в один `.github/copilot-instructions.md` (< 8 000 токенов).
|
|
467
|
+
|
|
468
|
+
При адаптации: ссылки на Agent tool заменяются на «разбей на подзадачи», model routing опускается (управляется платформой), promise-теги сохраняются как маркеры.
|
|
469
|
+
|
|
470
|
+
---
|
|
471
|
+
|
|
472
|
+
## 10. Примеры использования
|
|
473
|
+
|
|
474
|
+
### Пример 1: Простой 3-стадийный пайплайн (исследование -> анализ -> отчёт)
|
|
475
|
+
|
|
476
|
+
```
|
|
477
|
+
Стадии:
|
|
478
|
+
stage-0: Research -> research_data.md <promise>RESEARCH_DONE</promise>
|
|
479
|
+
stage-1: Analysis -> analysis.md <promise>ANALYSIS_DONE</promise>
|
|
480
|
+
stage-2: Report -> final_report.md <promise>REPORT_READY</promise>
|
|
481
|
+
|
|
482
|
+
Топологии:
|
|
483
|
+
stage-0: Star (3 агента ищут параллельно по разным направлениям)
|
|
484
|
+
stage-1: один агент (opus -- аналитическая работа)
|
|
485
|
+
stage-2: Ring (черновик -> ревью -> финал)
|
|
486
|
+
|
|
487
|
+
Model routing:
|
|
488
|
+
stage-0 workers: sonnet (research synthesis)
|
|
489
|
+
stage-1: opus (deep analysis)
|
|
490
|
+
stage-2 Ring agents: sonnet -> sonnet -> opus
|
|
491
|
+
|
|
492
|
+
Memory:
|
|
493
|
+
memory_query() в начале каждой стадии
|
|
494
|
+
memory_store() после каждого чекпоинта
|
|
495
|
+
|
|
496
|
+
Witness chain:
|
|
497
|
+
Genesis record после stage-0
|
|
498
|
+
Append record после stage-1 и stage-2
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
### Пример 2: Мультиоценочная система качества
|
|
502
|
+
|
|
503
|
+
```
|
|
504
|
+
Стадии:
|
|
505
|
+
stage-0: Layer 0 -- структурные проверки (haiku)
|
|
506
|
+
stage-1: Layer 1 -- семантическая проверка (haiku)
|
|
507
|
+
stage-2: Layer 2 -- панель из 3 судей (sonnet x3)
|
|
508
|
+
stage-3: Meta-judge -- при разногласии > 3 баллов (sonnet)
|
|
509
|
+
|
|
510
|
+
Топология stage-2: Star (изолированные судьи)
|
|
511
|
+
- Domain Expert (вес 0.4)
|
|
512
|
+
- Critic (вес 0.3)
|
|
513
|
+
- Completeness Auditor (вес 0.3)
|
|
514
|
+
|
|
515
|
+
Judge attestation:
|
|
516
|
+
Каждый судья хеширует свою оценку до раскрытия баллов.
|
|
517
|
+
.judge-attestations.json фиксирует изоляцию.
|
|
518
|
+
|
|
519
|
+
Гейт перехода:
|
|
520
|
+
Layer 0 -> Layer 1: все структурные проверки пройдены
|
|
521
|
+
Layer 1 -> Layer 2: семантическая когерентность OK
|
|
522
|
+
Layer 2 -> Done: средний балл >= 7.0
|
|
523
|
+
```
|
|
524
|
+
|
|
525
|
+
### Пример 3: Полный пайплайн с memory и dream-циклами
|
|
526
|
+
|
|
527
|
+
```
|
|
528
|
+
Пайплайн из 5 стадий с полной интеграцией:
|
|
529
|
+
|
|
530
|
+
1. Queen запускает INIT -> HEALTH -> LOAD.
|
|
531
|
+
2. LOAD: memory_query() загружает паттерны от предыдущих запусков.
|
|
532
|
+
Лог: "Loaded 12 historical patterns for stage-0 in fintech domain"
|
|
533
|
+
3. DETECT: определяет домен -- "fintech".
|
|
534
|
+
4. Для каждой стадии:
|
|
535
|
+
a. SHARD: загрузка governance-шарда.
|
|
536
|
+
b. ORCHESTRATE: выбор топологии + model routing.
|
|
537
|
+
c. Выполнение стадии.
|
|
538
|
+
d. Witness chain: вычисление хеша артефакта + append в цепочку.
|
|
539
|
+
e. MONITOR: чекпоинт с promise-тегом.
|
|
540
|
+
f. memory_store(): сохранение reward (0.0-1.0).
|
|
541
|
+
5. COLLECT + STORE + REPORT.
|
|
542
|
+
6. trigger-state.json обновляется.
|
|
543
|
+
Если накоплено 20+ записей -- предложение запустить dream-цикл.
|
|
544
|
+
7. Dream-цикл (по запросу):
|
|
545
|
+
- Строит граф концепций из 200 записей.
|
|
546
|
+
- Обнаруживает кросс-доменные ассоциации.
|
|
547
|
+
- Генерирует инсайты: "Stage-2 consistently underperforms in fintech domain.
|
|
548
|
+
Consider allocating extra time budget."
|
|
549
|
+
```
|
|
550
|
+
|
|
551
|
+
---
|
|
552
|
+
|
|
553
|
+
## 11. FAQ
|
|
554
|
+
|
|
555
|
+
### Можно ли использовать только один модуль?
|
|
556
|
+
|
|
557
|
+
Да. Все 6 модулей полностью независимы -- у них нет внутренних зависимостей друг от друга. Хотите только governance? Используйте только `governance/`. Нужна только верификация? Берите только `verification/`. Граф зависимостей:
|
|
558
|
+
|
|
559
|
+
```
|
|
560
|
+
governance --> (standalone)
|
|
561
|
+
memory --> (standalone)
|
|
562
|
+
orchestration --> (standalone)
|
|
563
|
+
verification --> (standalone)
|
|
564
|
+
trust-tiers --> (standalone)
|
|
565
|
+
platform --> (standalone)
|
|
566
|
+
```
|
|
567
|
+
|
|
568
|
+
### Нужен ли Claude Code для работы?
|
|
569
|
+
|
|
570
|
+
Нет. Протоколы написаны в markdown -- это инструкции, которые любой AI-агент может прочитать и выполнить. Claude Code -- нативная платформа, но через адаптеры поддерживаются Cursor, OpenCode и GitHub Copilot. Протоколы можно использовать даже с LLM через API -- агент просто читает markdown и следует инструкциям.
|
|
571
|
+
|
|
572
|
+
### Как работает оптимизация расходов?
|
|
573
|
+
|
|
574
|
+
Через 3-уровневую маршрутизацию моделей. Вместо использования самой мощной (и дорогой) модели для всех задач, каждая задача назначается на подходящий тир:
|
|
575
|
+
|
|
576
|
+
- Tier 1 (haiku, 1x стоимость): простые проверки, форматирование.
|
|
577
|
+
- Tier 2 (sonnet, 15x): аналитика, судейство, синтез.
|
|
578
|
+
- Tier 3 (opus, 75x): креативная работа, сложные решения.
|
|
579
|
+
|
|
580
|
+
На практике это даёт экономию порядка 71% по сравнению с подходом «всё на opus».
|
|
581
|
+
|
|
582
|
+
### Что если memory-система откажет?
|
|
583
|
+
|
|
584
|
+
Graceful degradation -- пайплайн продолжает работу. Memory -- это advisory-система, а не обязательный гейт. Если `memory_query()` не находит данных или падает, стадия выполняется без исторических подсказок. Если `memory_store()` не может записать -- ошибка логируется, но пайплайн не блокируется.
|
|
585
|
+
|
|
586
|
+
### Как добавить доменные инварианты?
|
|
587
|
+
|
|
588
|
+
Создайте файл `governance/constitution-{domain}.md` и нумеруйте инварианты с INV-100. Например, для банковского домена:
|
|
589
|
+
|
|
590
|
+
```markdown
|
|
591
|
+
### INV-100: Data Perimeter
|
|
592
|
+
**Rule:** No customer data may leave the security perimeter.
|
|
593
|
+
**Enforcement:** All LLM calls must be to on-premise models.
|
|
594
|
+
**On violation:** HALT
|
|
595
|
+
```
|
|
596
|
+
|
|
597
|
+
### Можно ли использовать keysarium-core вне экосистемы Keysarium?
|
|
598
|
+
|
|
599
|
+
Именно для этого он и создан. keysarium-core -- это cleanroom-экстракция, свободная от доменной специфики Keysarium. Терминология обобщена: «stage» вместо «phase», «project» вместо «research», «domain» вместо конкретной предметной области. Используйте маппинг из `index.md` для адаптации терминов под ваш проект.
|