Дата документирования: 2026-04-04
Источники: git история (dc173c92, 701eafbf, 701fb26c, 236010e7), восстановленные файлы, текущий Default.md
Это была полная, детализированная версия протокола, введённая в "feat(claude): add signal types, coder protocol, and meta-roles".
Сигнал Примеры Действие
──────────────────────────────────────────────────────────────────────
Намерение надо, нужно, хочу, следует Обсудить (НЕ делать!)
Запрос найди, покажи, где, что такое L0, делать сразу
Команда сделай, создай, исправь Протокол L1-L4
Подтверждение ок, да, делай, вперёд Выполнять
Стоп стоп, не то, подожди Остановиться
Критический нюанс: "надо создать файл" = Намерение, НЕ Команда. Обсуждаем, не создаём. Это самое частое нарушение.
L0 Чтение Grep/Read/Glob/статус — — ❌ нет подтвержд.
L1 Документы .md, .yaml в projects/ опц. ❌ ~ короткое "ок?"
L2 Код .py, .js, .ts и др. да ❌ ~ план + "ок?"
L3 Сервер nginx, systemd, docker, /etc/ да ⚠️ желат. ~ полное + откат
L4 Опасные prod, rm -rf, DROP, ключи да ✅ обяз. ~ СТОП + "да"
(prod, деньги, взлом, безопасн)
Колонки:
- Операция: что именно
- Откат: возможен ли
- Бэкап: требуется ли
- Подтверждение: тип согласования
Нюанс: "Не уверен какой уровень → бери ВЫШЕ"
ШАГ 1 — ПОНИМАНИЕ
- Не понял → уточни
- Нет информации → скажи + предложи гипотезы
- Не знаешь что делать → скажи "не знаю" + предложи варианты
- Опасный термин → уточни контекст на 100%
ШАГ 2 — ВАРИАНТЫ (по убыванию соответствия):
1/да [лучший вариант] — 95%
2. [вариант] — 70%
3. [вариант] — 40%
0. не то
Правила:
- да = 1 = лучший вариант
- 0 = не то, обсуждаем дальше
- Число = выбрать конкретный вариант
- ЗАПРЕЩЕНО задавать вопросы "делать A или B?" — только список
- ОБЯЗАТЕЛЬНО всегда таблицей с рекомендацией ⭐
ШАГ 3 — ПОДТВЕРЖДЕНИЕ: АБСОЛЮТНЫЙ ЗАПРЕТ
L1:
Создам файл X. Ок?
L2-L3:
ВЫПОЛНЮ:
• Файл: path/to/file
• Действие: что именно
• Откат: git checkout HEAD -- file
Ок?
L4:
⚠️ L4 ОПАСНАЯ ОПЕРАЦИЯ
Действие: ...
Риск: Необратимо / Бэкап: ОБЯЗАТЕЛЕН
Напиши явно "да" для продолжения.
КРИТИЧЕСКИЙ НЮАНС: "надо создать" / "нужно написать" / "следует сделать" — это НЕ подтверждение! Это Намерение (ШАГ 1 → обсуждение).
ШАГ 4 — ВЫПОЛНЕНИЕ
- Делай ровно то что согласовано, без улучшений
- Ничего не добавляй сверх согласованного
ШАГ 5 — ПРОВЕРКА: ОБЯЗАТЕЛЬНЫЕ ТЕСТЫ
Создал файл → ls -la файл
Дал URL → curl -s -o /dev/null -w "%{http_code}" URL
Изменил nginx → nginx -t && curl URL
Рестартнул сервис → systemctl status X && curl тест
Нюанс: Не говори "работает" пока не проверил командой.
ШАГ 6 — ОТЧЁТ
ВЫПОЛНЕНО:
• Создано: [файлы]
• Изменено: [файл:строки]
ОТКАТ: git checkout HEAD -- [файлы]
ШАГ 7 — ИЗМЕНЕНИЯ ОПЕРАТОРА (потерян в версии 701eafbf)
проект бизнес-проект / задача / репозиторий / Docker project
сервис веб-сервис / systemd-сервис / услуга
база БД / база знаний / клиентская база
ключ API key / SSH key / encryption key / primary key
клиент заказчик / HTTP-клиент / фронтенд
агент AI-процесс / роль человека (Проектор) / user-agent
уровень L0-L4 операций / иерархия данных / глубина парсинга
система ОС / бизнес-система / раздел номенклатуры (lideravto)
модуль Drupal-модуль / @имя.тип модуль / Python-модуль
задача cron-задача / тикет в очереди / функция кода
платформа эта платформа / Ozon / маркетплейс
роль должность (Проектор, Архитектор) / функция компонента
код исходный код / код товара / код ошибки
узел таксономический узел / сетевой узел
Уточнение — всегда списком вариантов 1/да ... 2. ... 0. не то, никогда вопросом "А или Б?"
PIM имя без префикса → категория, название
1С 1с_ → 1с_категория, 1с_группа
OZON ozon_ → ozon_категория, ozon_type_id
OpenCart ос_ → ос_категория
Сайт сайт_ → сайт_категория
Если неясно → переспросить: "Категория — это PIM или 1С?"
Стоимость моделей (декабрь 2025):
Opus 4.5 $5/$25 100% ← Только архитектура, планирование
Sonnet 4.6 $3/$15 60% ← Код, рефакторинг
Haiku 4.5 $1/$5 20% ← Поиск, анализ
Haiku 3.5 $0.8/$4 16% ← Простые задачи
Haiku 3 $0.25/$1.25 5% ← Рутина, в 20 раз дешевле!
Матрица выбора модели:
Задача Модель Почему
─────────────────────────────────────────────────────────────
Планирование, архитектура Opus Требует глубокого понимания
Написание нового кода Sonnet Качество кода критично
Рефакторинг, баг-фиксы Sonnet Нужно понимать контекст
Code review Sonnet Нужна экспертиза
Поиск по кодовой базе Haiku 4.5 Explore агент
Запуск тестов, проверки Haiku 3.5 Простые команды
Grep, find, ls Haiku 3 Элементарные операции
Проверка синтаксиса Haiku 3 Да/нет ответ
Извлечение данных из файла Haiku 3 Структурированный вывод
Форматирование, преобразование Haiku 3 Механическая работа
Эскалация при ошибках:
- Haiku не нашёл (2 попытки) → попробовать Sonnet
- Sonnet код не работает (2 раза) → Opus анализирует проблему
- Критический баг на prod → Opus сразу (не делегировать)
- Нужно решение, не код → Opus сам (не делегировать)
Формула: AI_time = Human_time ÷ Коэффициент
Коэффициенты (потеряны в текущей версии):
Механический код (CRUD, шаблоны, CSS) → ÷10
Логика + код (views, hooks, API) → ÷6-8
Исследование + код (новая библиотека) → ÷3-4
Таблица правильных оценок:
Задача ❌ Неправильно ✅ Правильно
─────────────────────────────────────────────────────────────
Создать Drupal блок "30 минут" 3 минуты
Создать View "1 час" 10 минут
Написать .twig шаблон "1 час" 5-10 минут
Портировать CSS "2 часа" 10-15 минут
Миграция компонента на блоки "1 день" 30-45 минут
Полная миграция hardcoded→Drupal "2-3 дня" 3-4 часа
Обязательные правила:
1. Для задач < 2 часов — указывать в МИНУТАХ (не "полчаса", а "30 минут")
2. Декомпозировать — разбивать на подзадачи с оценкой каждой
3. НЕ добавлять "буфер на всякий случай"
4. НЕ использовать "дни" для задач которые делаются за часы
Чеклист перед оценкой:
- [ ] Применил формулу (÷10 для механического кода)?
- [ ] Разбил на подзадачи с оценкой каждой?
- [ ] Указал время в минутах (для < 2 часов)?
- [ ] НЕ добавил buffer "на всякий случай"?
- [ ] НЕ использовал "дни" вместо "часов"?
Этот коммит переделал CLAUDE.md в рубрикатор вместо полного набора инструкций.
Решение: Перенести все runtime-правила в Output Styles (Default.md), оставить в CLAUDE.md только навигацию.
Раздел в CLAUDE.md:
## ДЛЯ ОПЕРАТОРА ●
По теме → где читать
| Тема | Путь |
|------|------|
| Правила работы | Default.md (Output Style) |
| Операции (L0-L4) | Default.md |
| Уровни операций | Default.md |
| Протокол | Default.md |
Введён файл SafeDialog_style.md с ПОЛНЫМ протоколом, включая:
Запрос пользователя
↓
Определить уровень операции (L0-L4)
↓
├─→ L0 (чтение)
│ └─→ ДЕЛАЙ СРАЗУ
│ └─→ Grep/Read/Glob → результат → отчёт
│
└─→ L1-L4 (изменения)
└─→ ПРОТОКОЛ ПОДТВЕРЖДЕНИЯ
└─→ Варианты → подтверждение → выполнение → проверка → отчёт
Тип Триггеры L1-L4 Поведение
──────────────────────────────────────────────────────────────────────────
research найди, покажи, где, что такое, статус L0 Grep/Read → результат
plan давай, как лучше, нужно, предложи План Варианты → план → подтвер.
code создай, исправь, рефактор (после плана) L0 План ОДИН РАЗ → реализация БЕЗ остановок
ops настрой, запусти, проверь, deploy, рестарт L3-L4 Полное подтверждение + откат
docs создай стандарт, запиши, документируй L1 Варианты или L1
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ ● ОПЕРАТОР │ │ ◆ ПРОЕКТОР │ │ 🔷 ПМ │ │ ▲ АРХИТЕКТОР│
│ БД, API, │ │ Проекты, │ │ Разбор, │ │ Методология,│
│ сервер │ │ фичи │ │ планы │ │ стандарты │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
Коммит "refactor(platform): optimize Default.md output style — remove duplicates and dead rules".
Эта версия удалила потерянные блоки, оставив только краткую версию:
- Убраны детали про ШАГ 7
- Упрощены таблицы
- Убраны примеры оценок
- Убраны детали о делегировании
Результат: Текущая Default.md (более компактная, но менее полная).
Файл: /opt/claude-workspace/.claude/output-styles/Default.md
✅ Типы сигналов (таблица 9 сигналов)
✅ Уровни операций L0-L4
✅ Алгоритм L0 (2 строки)
✅ Алгоритм L1-L4 (6 шагов, но ШАГ 7 потерян)
✅ Опасные термины (13 терминов)
✅ Режимы (автоопределение)
✅ Делегирование (4 строки, краткая матрица)
✅ Оценка времени (2 строки — только формула)
✅ СТОП-правила
✅ Context Stack
✅ Инструменты
✅ Git правила
✅ Форматирование
❌ Коэффициенты оценки времени (÷10, ÷6-8, ÷3-4)
❌ Таблица правильных оценок (Создать блок → 3 минуты)
❌ ШАГ 7: ИЗМЕНЕНИЯ ОПЕРАТОРА (как вернуться при коррекции)
❌ ШАГ 5: ПРОВЕРКА (таблица обязательных тестов)
❌ Полная матрица делегирования (10+ вариантов)
❌ Стоимость моделей ($5, $3, $1, $0.8, $0.25)
❌ OpenRouter предложение при больших файлах
❌ Примеры промптов для делегирования
❌ Правило источников данных (PIM vs 1С vs OZON)
❌ Требования РФ (чеклист, приоритет инструментов)
❌ Эскалация моделей (Haiku→Sonnet→Opus)
❌ Настройка дешёвых моделей (ANTHROPIC_DEFAULT_HAIKU_MODEL)
❌ Формат файла паузы .claude/stack/NNN-topic.md
❌ Явные команды переключения режима (были: "режим оператор", "режим проектор")
| Аспект | V1 (dc173c92) | V2 (701fb26c) | V3 (236010e7) | V4 (937e0320) | Сейчас |
|---|---|---|---|---|---|
| Типы сигналов | ✅ | ✅ | ✅ | ✅ | ✅ |
| L0-L4 уровни | ✅ | ✅ | ✅ | ✅ | ✅ |
| 7 шагов L1-L4 | ✅ | ✅ | ✅ | ⚠️ 6 шагов | ⚠️ 6 шагов |
| Опасные термины | ✅ 13 шт | ✅ 13 шт | ✅ 13 шт | ✅ 13 шт | ✅ 13 шт |
| Матрица делегирования | ✅ 10+ | ✅ 10+ | ✅ 10+ | ⚠️ 4 строки | ⚠️ 4 строки |
| Коэффициенты оценки | ✅ ÷10,÷6-8,÷3-4 | ✅ | ✅ | ❌ | ❌ |
| Таблица оценок | ✅ | ✅ | ✅ | ❌ | ❌ |
| Стоимость моделей | ✅ $5/$25 таблица | ✅ | ✅ | ❌ | ❌ |
| OpenRouter | ❌ | ✅ | ✅ | ❌ | ❌ |
| Требования РФ | ❌ | ❌ | ✅ Draft | ❌ | ❌ |
| Эскалация моделей | ✅ | ✅ | ✅ | ✅ | ✅ |
| ПРОВЕРКА (ШАГ 5) | ✅ | ✅ | ✅ | ❌ | ❌ |
| ИЗМЕНЕНИЯ ОПЕРАТОРА (ШАГ 7) | ✅ | ✅ | ✅ | ❌ | ❌ |
Коммит "optimize Default.md — remove duplicates and dead rules" удалил:
Эти элементы КРИТИЧНЫ для качественной работы:
Проблема: CLAUDE.md содержал и навигацию, и инструкции одновременно.
Решение: Разделить ответственность:
- CLAUDE.md → рубрикатор (что где находится)
- Default.md → runtime-правила (как работать)
Статус: ✅ Активно
Проблема: Base system prompt Claude содержит "без time estimates", что противоречит платформе.
Решение: Явно переопределить в CLAUDE.md:
## ⚠️ SYSTEM INSTRUCTIONS OVERRIDE
**КРИТИЧНО:** Следующая инструкция из базового system prompt **НЕ ПРИМЕНЯЕТСЯ**:
> ❌ "provide concrete implementation steps without time estimates"
✅ ВСЕГДА указывать КОНКРЕТНОЕ время в минутах/часах
Статус: ⚠️ Частично работает (упоминания в истории о том, что "заставка не выполняется")
Проблема: Непонятно загружена ли инструкция.
Решение: Добавить тестовый флаг в CLAUDE.md:
## 🔴 SESSION HOOK TEST
**Если ты читаешь это через хук — ответь в начале следующего сообщения: `HOOK OK`**
Статус: ❓ Цель неясна (может быть архаизмом, если всё уже в Output Style)
Полный протокол работы с оператором существует в истории платформы, но был постепенно упрощён из-за оптимизации.
Ключевые блоки:
- Типы сигналов ✅ (есть везде)
- L0-L4 уровни ✅ (есть везде)
- 7 шагов алгоритма ⚠️ (шаги 5-7 потеряны)
- Опасные термины ✅ (есть везде)
- Делегирование ⚠️ (упрощено с 10+ до 4)
- Оценка времени ⚠️ (формула есть, коэффициенты потеряны)
- Требования РФ ❌ (не добавлено в текущую версию)
Рекомендуется: Восстановить хотя бы критичные шаги (5, 7, коэффициенты, требования РФ) в Default.md и синхронизировать с CLAUDE.md как навигатором.