docs(skill): экономия контекста оркестратора по ретро прогона 2026-07-10
- Зачем:
- ретро трёх циклов конвейера показало: находки ревью проходили через
контекст оркестратора до шести раз, review-промпт дублировался, ~7
пустых ходов на idle-пингах teammate-ревьюера.
- Что:
- SKILL.md: механика «индекс у оркестратора, нагрузка файлами» — вердикты
в файлы обменного temp-каталога, fix-промпт конкатенацией, один
канонический review-промпт на обоих ревьюеров, idle-пинги как шум;
- новый references/prompt-templates.md — скелеты четырёх промптов;
- codex-exec.md: сборка промптов cat'ом, боевая модель gpt-5.5 явно
(фронтир из конфига не наследовать);
- codex-sandbox-fix-handover: рабочий AppArmor-фикс (ловушка memfd,
профиль на бинарь codex), проверен на обоих режимах;
- lessons.md: датированные записи ретро, казуса Sol и memfd.
- Проверка:
- чтение SKILL.md и references/, следующий прогон конвейера.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
4d074adda6
commit
15d5515925
5 files changed
+258
-22
No files matched your search
@@ -29,7 +29,17 @@ description: >-
|
||||
- **Оркестратор (ты)** — план, постановка, синтез, коммит. Работай по
|
||||
**индексу** (правило `/coordinator-loop`): в твой контекст входят вердикты
|
||||
и находки `файл:строка`, а не diff, не полные логи и не нарратив. Шумные
|
||||
команды — через файл-лог, в контекст только сводку.
|
||||
команды — через файл-лог, в контекст только сводку. **Индекс — у тебя,
|
||||
полезная нагрузка — файлами между агентами**: вердикты, отчёты и промпты
|
||||
живут в `$SCRATCH` (обменный temp-каталог прогона с полуслучайным
|
||||
префиксом — скретчпад сессии или `mktemp -d`; детали — в
|
||||
[references/prompt-templates.md](references/prompt-templates.md)), ты
|
||||
читаешь их один раз и дальше передаёшь путями и конкатенацией (`cat`), а
|
||||
не переписываешь Write'ом — каждое переписывание дублирует контент в
|
||||
твоём контексте (ретро 2026-07-10: находки ревью проходили через
|
||||
оркестратора до шести раз). SendMessage возвращает эхом
|
||||
весь текст сообщения — teammate'у шли короткое (вердикт, путь, вопрос),
|
||||
длинное — файлом, который он прочтёт сам.
|
||||
- **Codex** — реализация кода. У пользователя лимиты Codex больше, код он
|
||||
пишет в целом лучше, но верхнеуровнево планирует хуже — поэтому
|
||||
декомпозиция и постановка остаются у тебя. Механика вызова —
|
||||
@@ -94,25 +104,39 @@ description: >-
|
||||
Один писатель в дереве: пока Codex пишет — никто больше (казус с
|
||||
форвардером — в [references/lessons.md](references/lessons.md)). Готово,
|
||||
когда Codex вернул отчёт, а в дереве нет правок, которых он не называл.
|
||||
4. **Два слепых ревью параллельно.** Каждому: путь к задаче-файлу + фокус
|
||||
(математика/краевые случаи, соответствие критериям, честность тестов,
|
||||
артефакты). Друг про друга не знают, твои выводы им не пересказывай.
|
||||
Обоим поощряй безопасные эмпирические проверки (воспроизвести краевой
|
||||
случай вне репо, сходить в документацию) — вердикт заметно твёрже;
|
||||
менять исходники и окружение нельзя, после ревью сверь дерево
|
||||
(`git status`). Клод-ревьюеру можно поручить смотреть артефакты
|
||||
(картинки из ноутбука). Этап закрыт, когда оба вердикта у тебя индексами
|
||||
и дерево нетронуто; вердикт без единой находки засчитывай только после
|
||||
проверки его лога — работа, не отписка
|
||||
4. **Два слепых ревью параллельно.** Промпт — **один канонический файл в
|
||||
`$SCRATCH` на оба ревью** (скелет и обёртки вызова —
|
||||
[references/prompt-templates.md](references/prompt-templates.md)): Codex
|
||||
получает его через stdin, Клод-субагенту в prompt — короткая обёртка
|
||||
«прочитай файл X и выполни; индекс — в файл Y» (не дублируй текст
|
||||
промпта в параметре — это второй полный экземпляр в твоём контексте).
|
||||
Содержание: путь к задаче-файлу + фокус (математика/краевые случаи,
|
||||
соответствие критериям, честность тестов, артефакты). Друг про друга не
|
||||
знают, твои выводы им не пересказывай. Обоим поощряй безопасные
|
||||
эмпирические проверки (воспроизвести краевой случай вне репо, сходить в
|
||||
документацию) — вердикт заметно твёрже; менять исходники и окружение
|
||||
нельзя. Вердикты — файлами с **разными путями**: у Codex это его
|
||||
`-o`-отчёт, Клод-ревьюеру обёртка разрешает запись файла вердикта в
|
||||
`$SCRATCH` (вне репо — мандату не противоречит), финальным актом —
|
||||
SendMessage только со строкой VERDICT, счётчиками и путём: его
|
||||
idle-уведомления не содержат результата, не жди из них ничего. После
|
||||
ревью сверь дерево (`git status`). Клод-ревьюеру можно поручить смотреть
|
||||
артефакты (картинки из ноутбука). Этап закрыт, когда оба вердикта у тебя
|
||||
индексами и дерево нетронуто; вердикт без единой находки засчитывай
|
||||
только после проверки его лога — работа, не отписка
|
||||
(приём — в [references/codex-exec.md](references/codex-exec.md)).
|
||||
5. **Синтез и триаж.** Сведи вердикты по индексам: пересечения, противоречия.
|
||||
Пофиндинговый триаж — у **исполнителя**, не у тебя (правило
|
||||
`/claude-team-review` и `/coordinator-loop`: судит тот, у кого контекст
|
||||
кода): перешли Codex индекс находок **дословно**, он чинит или
|
||||
**аргументированно отклоняет** — через контракт и тест, не голословно;
|
||||
промпт починки — «закрой перечисленное, больше ничего не меняй». Ты судишь
|
||||
уровнем задачи: принять риск / вне скоупа. Повторная проверка — узкая
|
||||
(см. «Свежесть»). Этап закрыт, когда по каждой находке обоих ревью есть
|
||||
промпт починки — «закрой перечисленное, больше ничего не меняй».
|
||||
«Дословно» — это конкатенация: `cat шапка.md вердикт-A.md вердикт-B.md >
|
||||
fix-prompt.md` Bash'ем; Write'ом ты бы переписал те же находки в контекст
|
||||
ещё раз. Свои замечания к триажу — только шапкой. Ты судишь уровнем
|
||||
задачи: принять риск / вне скоупа. Повторная проверка — узкая (см.
|
||||
«Свежесть»); её промпт не пересказывает резолюции — ссылается на файл
|
||||
отчёта исполнителя. Этап закрыт, когда по каждой находке обоих ревью есть
|
||||
решение: починено и перепроверено — или отклонено с доводом.
|
||||
6. **Финал.** Артефакты проверь **своими глазами** (счётчик тестов, картинки,
|
||||
прогон CLI) — ревью не заменяет твою приёмку. Обнови чекбоксы и статус
|
||||
@@ -129,7 +153,9 @@ description: >-
|
||||
(механика — [references/codex-exec.md](references/codex-exec.md)).
|
||||
Подстраховка от молчаливой смерти агента — ScheduleWakeup сроком дольше
|
||||
ожидаемой длительности: по пробуждению смотри логи сам, по приходу
|
||||
результата таймер снимай.
|
||||
результата таймер снимай. Idle-уведомления teammate-субагентов — шум, а не
|
||||
событие: не докладывай о них пользователю и не действуй по ним, если
|
||||
результат уже получен (ретро 2026-07-10: ~7 пустых ходов на idle-пингах).
|
||||
|
||||
## Соседние скиллы
|
||||
|
||||
@@ -150,6 +176,9 @@ description: >-
|
||||
- [references/codex-exec.md](references/codex-exec.md) — прямой `codex exec`:
|
||||
сквозные правила (шум в файлы, thread_id, resume по id, проверка отписки),
|
||||
ветки исполнитель/ревьюер/триаж, раннер для переваривания шума.
|
||||
- [references/prompt-templates.md](references/prompt-templates.md) — скелеты
|
||||
четырёх промптов конвейера (задача/ревью/триаж/перепроверка): пиши только
|
||||
параметрический блок на задачу, boilerplate не переписывай.
|
||||
- [references/lessons.md](references/lessons.md) — датированная эмпирика
|
||||
прогонов: что поймал каждый этап, казусы, цифры.
|
||||
- [references/claude-agents.md](references/claude-agents.md) — определения
|
||||
|
||||
Reference in new issue
Block a user