# Consilium

> Состязательный мультиагентный разбор материалов, где ошибка дорого стоит, источники противоречат друг другу, а один взгляд систематически что-то упускает. Роли-специалисты с непересекающимися зонами работают параллельно по общему нумерованному досье, обязательный агент-скептик ломает выводы оркестратора, разногласия разрешаются публично, реестр ограничений удешевляет каждый следующий такт. Используй для медицинских документов, юридического due diligence, аудита архитектуры, разбора инцидента, инвестиционной оценки, литературного обзора, любой «второй экспертизы». Триггеры - «собери консилиум», «разбери с разных сторон», «состязательный анализ», «проверь мои выводы», «что я упускаю», «второе мнение», consilium, adversarial review, red team. Обязательно предлагай его, когда пользователь приносит пачку разнородных документов с высокой ценой ошибки и просит «разобраться», - даже если слово «консилиум» он не произнёс. НЕ использовать, когда есть один правильный ответ, хватает одного поиска или нужна скорость.

- Skill: `andrey-batrimenko/consilium` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add andrey-batrimenko/consilium`
- Raw SKILL.md: https://api.skillmd.com/api/skills/andrey-batrimenko/consilium/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Andrey-Batrimenko (https://skillmd.com/u/andrey-batrimenko)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/andrey-batrimenko/consilium

---


# Консилиум

Схема для задач, где **цена ошибки высока, а источник истины неоднозначен**. Даёт не «больше текста», а
внутреннюю проверяемость: выводы проходят через намеренную атаку до того, как попадут к пользователю.

Главная мысль: ценность создаёт не количество агентов, а **встроенный конфликт**. Консилиум, в котором все
согласились и оркестратор ничего у себя не исправил, — провалившийся консилиум, даже если текст красив.

Разбор идёт **тактами**. Каждый такт оставляет после себя реестр ограничений, и следующий такт стоит
дешевле предыдущего: агенты не перепроверяют закрытое и не ходят по мёртвым маршрутам, а тратят внимание
там, где ещё есть неопределённость.

## Когда применять

Все четыре условия:
1. Материал разнородный (несколько документов, форматов, дат) или объёмный.
2. Есть внешние стандарты/нормы/литература, и они **расходятся** между собой.
3. Ошибка имеет цену: деньги, здоровье, юридические последствия, репутация.
4. Задача распадается на **непересекающиеся** предметные зоны.

**Не применять:** есть один правильный ответ; хватает одного поиска; пользователь просит скорость;
предметных зон нет (тогда это «подумай хорошенько», а не консилиум).

## Шаг 0. Пре-флайт

Такт из 5–7 агентов с исследованием — это десятки минут и очень большой расход. Прежде чем запускать,
покажи пользователю список ролей с зонами, число агентов, оценку времени и что будет на выходе. Дай выбрать
масштаб:

| Масштаб | Состав | Когда |
|---|---|---|
| Быстрый разбор | 2–3 роли, **скептик обязателен** | цена ошибки средняя, материал однородный |
| Полный консилиум | 5–7 ролей + скептик | все четыре условия выполняются |
| Следующий такт | те же роли в режиме ревизии | появились новые факты или снято ограничение |

Без скептика консилиума не бывает — это не опциональная роль, а сам механизм. Если бюджет позволяет только
двух агентов, второй — скептик.

**Прочитай `~/.claude/consilium/method.md`**, если он есть: там переносимые уроки прошлых прогонов
(рабочие маршруты к источникам, удачные формулировки ролей, найденные режимы отказа). Файла нет — создашь
на шаге 10.

Если разбор продолжается, а не начинается — прочитай `0_Ограничения.md` и покажи пользователю, что уже
закрыто и куда такт не пойдёт.

## Шаг 1. Досье — единственный источник фактов

До запуска агентов напиши **один файл** со всеми извлечёнными фактами: значения, даты, источники, цитаты.
Агенты читают его, а не получают факты в промпте. Это (а) не раздувает промпты, (б) сажает всех на одни
цифры, (в) даёт одно место для правки.

**Нумеруй факты сквозным идентификатором `Ф1, Ф2, …`.** Это не бюрократия: когда агент пишет «мой вывод
держится на Ф17», ты можешь мгновенно проследить, куда расползлась ошибка, если Ф17 окажется неверным. Без
номеров эта трассировка невозможна — а ошибка в досье случается регулярно.

**Обязательный раздел «Чего в материале НЕТ»** — с номерами `П1, П2, …` (пробелы). Явный список
неизвестного не даёт агентам молча достроить недостающее из воображения и сразу даёт список вопросов
пользователю.

**Дословно в промпт каждому агенту:**

> Досье собрал оркестратор, и в нём могут быть ошибки. Если твой вывод зависит от конкретного значения —
> открой первичный материал и сверь. Найденная ошибка в досье ценнее согласия с ним.

Это не вежливая формула: на реальном прогоне агент нашёл в досье неверно прочитанное значение, и
исправление развернуло вывод в противоположную сторону.

Структура досье — в `references/prompts.md`, блок Д.

## Шаг 2. Роли

Каждому агенту — **имя-позывной** (СТРАТЕГ, ВЕРИФИКАТОР, АДВОКАТ) и своя зона. Имя нужно, чтобы пользователь мог
следить за позициями и ссылаться на них: «а что сказал скептик?».

Правила: 4–7 ролей; зоны **не пересекаются**; одна роль обязательно адверсариальная; если предметная область
не покрыта — лучше добавить роль, чем расширить существующую.

Тест на непересечение: для каждой роли сформулируй одним предложением, что в её зону **не** входит и кто это
берёт. Не получается — роли спроектированы плохо.

Конструирование ролей и таблица примеров по областям: `references/roles.md`.

### Скептик

Его задача — **ломать**, а не дополнять. На реальном прогоне это был самый результативный участник в обоих
тактах: он атаковал не материал, а **рассуждения оркестратора**, и это оказалось точкой наибольшей
уязвимости.

Ключевой приём: дай скептику **список выводов оркестратора отдельным блоком**, чтобы он бил адресно, а не
разбирал материал заново. Со второго такта добавь мандат на атаку реестра ограничений (шаг 6). Готовые
промпты — `references/prompts.md`.

## Шаг 3. Запуск

Запускай агентов **параллельно, одним сообщением, в фоне**. Каждому в промпт идёт: путь к досье, путь к
реестру ограничений (если он есть), путь к первичным материалам, роль и зона, шаблон вывода, протокол
источников, **путь к файлу, куда писать результат**.

**Агент пишет свой файл сам и возвращает только короткое резюме** (5–10 строк). Иначе оркестратор
захлебнётся чужими портянками и потеряет способность их сопоставлять — а сопоставление и есть его работа.

**Правило независимости: внутри такта агенты не видят выводов друг друга.** Это и есть то, что делает
схождение доказательством. Если два-три агента с разными зонами пришли к одному выводу, не сговариваясь, —
это весомее уверенного утверждения одного. Стоит подмешать им чужие тексты — и схождение перестаёт быть
сигналом, остаётся эхо.

Пока агенты работают, **не рассчитывай на общие интерактивные инструменты** (браузерная панель и т. п.):
агенты занимают их, и ты получишь их страницы вместо своих. Свою проверку делай до запуска или после
завершения.

По мере поступления результатов **докладывай пользователю содержательное, а не статус**. «ВЕРИФИКАТОР закончил»
бесполезно; «ВЕРИФИКАТОР нашёл в досье ошибку в дате — она меняет вывод» полезно.

Имена файлов: досье `0_Досье.md`, реестр `0_Ограничения.md`, агенты `1_ПОЗЫВНОЙ_роль.md`, твоя проверка
`9_Проверка_оркестратора.md`. Такты — отдельными папками: `Такт_1/`, `Такт_2/`.

## Шаг 4. Формат вывода агента

Единый шаблон для всех (полная версия — `references/prompts.md`):

```
# ИМЯ — роль
## Моя позиция в одном абзаце
## Что я вижу в данных            (со ссылками на Ф-номера)
## Оценка риска / последствий     (с числами)
## Что делать — по приоритетам    (СРОЧНО / ПЛАНОВО / ПОСТОЯННО),
                                   у каждого пункта графа «какое решение изменится»
## Что я говорю другим участникам
## Что я предлагаю оркестратору внести в реестр ограничений
## Где я могу ошибаться
## Источники                      (только реально открытые)
```

**Маркировка статуса утверждений.** В разделах «что я вижу» и «оценка риска» каждое ключевое утверждение
помечается: `[Ф]` — проверено в первичном материале, `[Д]` — взято из досье и не сверялось, `[В]` — мой
вывод, `[Г]` — гипотеза. Это превращает интеллектуальную честность из добродетели в механику:
`[Д]`-утверждение, на котором держится вывод, само себя объявляет уязвимым местом.

**Раздел «где я могу ошибаться» — рабочий инструмент, а не вежливость.** Именно он заставляет агентов
признавать: «вывод держится на одной метке — единая точка отказа», «я защищаю эту позицию второй такт
подряд, и это должно настораживать меня самого», «посылку взял у оркестратора и не проверял». Без раздела
такие признания не появляются.

Раздел «что я говорю другим участникам» создаёт горизонтальные связи: агент передаёт коллеге предупреждение,
которое тот сам бы не увидел.

Протокол добросовестности источников (обязателен дословно в каждом промпте) и технические маршруты к
литературе: `references/sourcing.md`.

## Шаг 5. Своя проверка

Ключевые числа и цитаты, на которых держатся выводы, верифицируй **независимо от агентов** — ты последняя
линия. Результат — отдельным файлом `9_Проверка_оркестратора.md`, чтобы было видно, что именно проверено.
Из него растёт реестр: непроверенное в реестр не попадает.

Если агент упал или не закончил (лимиты сессии — обычное дело), **объяви его зону непокрытой в итоговом
документе** и внеси это в реестр как `ЗОНА`. Не делай ни одного агента несущей опорой конструкции и не
заметай молчаливо пропавшую зону.

## Шаг 6. Реестр ограничений

После своей проверки обнови `0_Ограничения.md` — файл, который говорит следующему такту, **куда не тратить
усилия**. Полная механика, формат записи и мандат скептика: `references/restrictions.md` — прочитай его
перед первым обновлением реестра.

Коротко:

- **Реестр ограничивает процесс, а не мышление.** Запись вида «вывод X считать верным» запрещена. Можно
  ограничивать маршруты поиска, повторные проверки, отвергнутые действия, заданные вопросы, известную
  непригодность данных. Нельзя — интерпретацию, оценку риска и право оспорить любой твой вывод.
  Проверочный вопрос: **это экономит усилие или закрывает спор?** Второе — не вносить.
- **Вносишь только ты и только после проверки.** Агенты предлагают, ты верифицируешь. Иначе непроверенное
  утверждение получает силу закона — ровно тот отказ, от которого весь консилиум и защищает.
- **Каждая запись несёт основание и условие снятия.** Без основания через два такта реестр становится
  сводом суеверий, происхождение которых никто не помнит.
- **Две силы:** `ЗАПРЕТ` (опирается на выполненную проверку) и `ПРЕЗУМПЦИЯ` (опирается на суждение или
  отсутствие данных; агент вправе оспорить, предъявив основание).
- **Скептик получает реестр как мишень, а не как закон** и обязан каждый такт пытаться сломать хотя бы одно
  ограничение — в первую очередь самое старое и ни разу не оспоренное. Снятое ограничение ценнее нового
  возражения: оно возвращает в игру целую область, которую все перестали рассматривать.
- **Снятые записи не удаляй, помечай.** Реестр, из которого ни разу ничего не снималось, — плохой признак,
  и об этом стоит сказать пользователю прямо.

## Шаг 7. Разбор разногласий — публично

Не «синтез», а **разбор**: где сошлись, где разошлись, чьё возражение сильнее и почему. Разногласия
показываются пользователю, а не сглаживаются.

**Классифицируй каждое разногласие — от типа зависит, что с ним делать:**

| Тип | Признак | Разрешение |
|---|---|---|
| Фактическое | стороны спорят о значении/событии | назвать конкретную проверку, которая закроет спор |
| Интерпретационное | факты общие, выводы разные | назвать, каких данных не хватает; если их нельзя получить — сказать это |
| Ценностное | спор о допустимом риске, цене, приоритете | **решает пользователь**, агенты только раскладывают варианты |

Смешивать их — главная ошибка: ценностный спор не закрывается ещё одним анализом, а фактический не стоит
выносить пользователю как «дилемму».

**По каждому возражению скептика вынеси явный вердикт: принято / отклонено — и почему.** Скептик тоже
ошибается, и молча проглоченное возражение так же вредно, как проигнорированное. Принятые возражения идут в
реестр как `НЕПРИГОДНО`. Особый случай — обвинение источника в фабрикации: протокол в
`references/sourcing.md`, там дорого купленный урок.

## Шаг 8. Фильтр разрастания

Мультиагентный разбор естественно раздувает список действий: каждая версия хочет свою проверку.

**Правило:** каждый пункт итогового плана обязан иметь заполненную графу **«какое решение изменится в
зависимости от результата»**. Пункты с пустой графой и с формулировкой «уточнить картину» — удаляются и
уходят в реестр как `ОТКЛОНЕНО`, чтобы следующий такт не предложил их заново.

Фильтр вшит в шаблон агента (шаг 4), то есть работает **на входе**, а не только на выходе. Пройди им
итоговый список ещё раз и напиши пользователю, что удалено.

## Шаг 9. Сборка итога

Итог двухслойный:
1. **«Что делать»** — одна страница: приоритеты, вопросы к пользователю, нерешённые развилки. Это то, ради
   чего всё затевалось.
2. **«Разбор»** — полный текст: позиции, разногласия с классификацией, вердикты по возражениям скептика,
   изменения реестра за такт, источники с честными пометками.

Обязательный раздел: **«Мои ошибки, найденные агентами»** — перечисли свои, поимённо с тем, кто нашёл.
Документ без этого раздела почти всегда означает, что скептик был декоративным.

**Собирай файл блоками сверху вниз, а не правь срезами.** Текстовые замены по срезу дважды ломали итоговый
документ на реальном прогоне. Если правишь — только по точным анкерам, с проверкой после каждой правки и
финальным контролем: все ли ожидаемые блоки на месте.

## Шаг 10. Чек-лист качества и решение о следующем такте

Прогони перед выдачей. Если пунктов не хватает — такт сработал вхолостую, честнее это сказать, чем выдать
гладкий текст.

- [ ] Есть список **моих** исправленных ошибок с именами нашедших.
- [ ] Есть **явно неразрешённые** разногласия с указанием, какого факта не хватает.
- [ ] Есть выводы, к которым независимо пришли несколько агентов.
- [ ] Есть пункты, **удалённые** из плана как не меняющие решений.
- [ ] Есть источники, помеченные «получить не удалось».
- [ ] По каждому возражению скептика есть вердикт.
- [ ] Каждый вывод, на котором держится рекомендация, опирается на `[Ф]`, а не на `[Д]`.
- [ ] Реестр обновлён: что добавлено, что снято, что стало оспоримым.

Пункт про источники — самый недооценённый. Документ, где все ссылки якобы открыты и все числа известны,
подозрительнее документа с честными пробелами.

**Остановка.** Такт, который не добавил ни одного ограничения силы `ЗАПРЕТ` и не изменил ни одного вывода, —
последний: дальше идёт стилистика, а не знание. Также останавливайся, если все оставшиеся разногласия
ценностные (решение за пользователем) или реестр перестал сокращать работу. И наоборот: **если такт снял
ограничение — это сильная причина сделать ещё один**, снятие открывает область, которую предыдущие такты
не рассматривали.

**Метод.** Допиши в `~/.claude/consilium/method.md` уроки, которые повторятся **на другой задаче в другой
области**: рабочие и мёртвые маршруты к источникам, формулировки, давшие заметно лучший результат, зоны,
оказавшиеся пересекающимися, новые режимы отказа. Предметное туда не идёт — оно живёт в реестре. Лимит
25 пунктов; урок, подтвердившийся трижды, — кандидат не в файл, а в правку самого скилла, скажи об этом
пользователю. Подробнее — конец `references/restrictions.md`.

## Следующий такт: ревизия, а не повторное исследование

Не запускать всё заново. Каждому агенту дать:

1. Досье (с исправлениями прошлого такта);
2. **Реестр ограничений** — что закрыто и куда не идти;
3. **Файл новых данных** отдельно;
4. **Его собственную позицию прошлого такта**;
5. **Выводы, которые оркестратор внёс** — чтобы было что атаковать;
6. **Возражения скептика, касающиеся его зоны**;
7. Задание: *«Это ревизия. Литературу ты уже собрал — ищи только там, где новые факты этого требуют. Что из
   твоей позиции теперь неверно или ослабло? Что усилилось? Что нового следует?»*

Шаблон вывода такта ревизии:

```
## Что в моей позиции прошлого такта оказалось НЕВЕРНЫМ или ослабло
## Что стало СИЛЬНЕЕ
## Разбор новых фактов
## Какие ограничения реестра я оспариваю и на каком основании
## Что я говорю оркестратору изменить в документе
## Где я могу ошибаться
```

Это на порядок дешевле повторного прогона и информативнее: агенты не пересказывают известное, а прицельно
ищут, что сломалось.

**Если между тактами обнаружилась непокрытая зона — добавь роль.** На реальном прогоне три агента независимо
указали на один и тот же пробел; введённая под него роль дала самую содержательную позицию такта, включая
опровержение возражения скептика прямыми количественными данными.

## Порядок работы одной строкой

Метод и реестр → досье с номерами → пре-флайт и согласие → роли + скептик → параллельный запуск, агенты
пишут свои файлы → своя проверка → обновление реестра → разбор разногласий с классификацией и вердиктами →
фильтр «какое решение изменится» → двухслойный итог со своими ошибками → чек-лист и решение о следующем
такте.

## Справочные файлы

- `references/roles.md` — как конструировать роли, таблица по предметным областям, формулировки для скептика.
- `references/prompts.md` — готовые промпт-блоки: общий, скептик, ревизия; шаблоны вывода и досье.
- `references/restrictions.md` — реестр ограничений: механика, формат, защита от окостенения, такты, метод.
- `references/sourcing.md` — протокол источников, маршруты к литературе, протокол обвинения в фабрикации.
- `references/failure-modes.md` — что уже проваливалось на реальных прогонах и как это ловить.

