Консилиум
Схема для задач, где цена ошибки высока, а источник истины неоднозначен. Даёт не «больше текста», а внутреннюю проверяемость: выводы проходят через намеренную атаку до того, как попадут к пользователю.
Главная мысль: ценность создаёт не количество агентов, а встроенный конфликт. Консилиум, в котором все согласились и оркестратор ничего у себя не исправил, — провалившийся консилиум, даже если текст красив.
Разбор идёт тактами. Каждый такт оставляет после себя реестр ограничений, и следующий такт стоит дешевле предыдущего: агенты не перепроверяют закрытое и не ходят по мёртвым маршрутам, а тратят внимание там, где ещё есть неопределённость.
Когда применять
Все четыре условия:
- Материал разнородный (несколько документов, форматов, дат) или объёмный.
- Есть внешние стандарты/нормы/литература, и они расходятся между собой.
- Ошибка имеет цену: деньги, здоровье, юридические последствия, репутация.
- Задача распадается на непересекающиеся предметные зоны.
Не применять: есть один правильный ответ; хватает одного поиска; пользователь просит скорость; предметных зон нет (тогда это «подумай хорошенько», а не консилиум).
Шаг 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. Сборка итога
Итог двухслойный:
- «Что делать» — одна страница: приоритеты, вопросы к пользователю, нерешённые развилки. Это то, ради чего всё затевалось.
- «Разбор» — полный текст: позиции, разногласия с классификацией, вердикты по возражениям скептика, изменения реестра за такт, источники с честными пометками.
Обязательный раздел: «Мои ошибки, найденные агентами» — перечисли свои, поимённо с тем, кто нашёл. Документ без этого раздела почти всегда означает, что скептик был декоративным.
Собирай файл блоками сверху вниз, а не правь срезами. Текстовые замены по срезу дважды ломали итоговый документ на реальном прогоне. Если правишь — только по точным анкерам, с проверкой после каждой правки и финальным контролем: все ли ожидаемые блоки на месте.
Шаг 10. Чек-лист качества и решение о следующем такте
Прогони перед выдачей. Если пунктов не хватает — такт сработал вхолостую, честнее это сказать, чем выдать гладкий текст.
- Есть список моих исправленных ошибок с именами нашедших.
- Есть явно неразрешённые разногласия с указанием, какого факта не хватает.
- Есть выводы, к которым независимо пришли несколько агентов.
- Есть пункты, удалённые из плана как не меняющие решений.
- Есть источники, помеченные «получить не удалось».
- По каждому возражению скептика есть вердикт.
- Каждый вывод, на котором держится рекомендация, опирается на
[Ф], а не на[Д]. - Реестр обновлён: что добавлено, что снято, что стало оспоримым.
Пункт про источники — самый недооценённый. Документ, где все ссылки якобы открыты и все числа известны, подозрительнее документа с честными пробелами.
Остановка. Такт, который не добавил ни одного ограничения силы ЗАПРЕТ и не изменил ни одного вывода, —
последний: дальше идёт стилистика, а не знание. Также останавливайся, если все оставшиеся разногласия
ценностные (решение за пользователем) или реестр перестал сокращать работу. И наоборот: если такт снял
ограничение — это сильная причина сделать ещё один, снятие открывает область, которую предыдущие такты
не рассматривали.
Метод. Допиши в ~/.claude/consilium/method.md уроки, которые повторятся на другой задаче в другой
области: рабочие и мёртвые маршруты к источникам, формулировки, давшие заметно лучший результат, зоны,
оказавшиеся пересекающимися, новые режимы отказа. Предметное туда не идёт — оно живёт в реестре. Лимит
25 пунктов; урок, подтвердившийся трижды, — кандидат не в файл, а в правку самого скилла, скажи об этом
пользователю. Подробнее — конец references/restrictions.md.
Следующий такт: ревизия, а не повторное исследование
Не запускать всё заново. Каждому агенту дать:
- Досье (с исправлениями прошлого такта);
- Реестр ограничений — что закрыто и куда не идти;
- Файл новых данных отдельно;
- Его собственную позицию прошлого такта;
- Выводы, которые оркестратор внёс — чтобы было что атаковать;
- Возражения скептика, касающиеся его зоны;
- Задание: «Это ревизия. Литературу ты уже собрал — ищи только там, где новые факты этого требуют. Что из твоей позиции теперь неверно или ослабло? Что усилилось? Что нового следует?»
Шаблон вывода такта ревизии:
## Что в моей позиции прошлого такта оказалось НЕВЕРНЫМ или ослабло
## Что стало СИЛЬНЕЕ
## Разбор новых фактов
## Какие ограничения реестра я оспариваю и на каком основании
## Что я говорю оркестратору изменить в документе
## Где я могу ошибаться
Это на порядок дешевле повторного прогона и информативнее: агенты не пересказывают известное, а прицельно ищут, что сломалось.
Если между тактами обнаружилась непокрытая зона — добавь роль. На реальном прогоне три агента независимо указали на один и тот же пробел; введённая под него роль дала самую содержательную позицию такта, включая опровержение возражения скептика прямыми количественными данными.
Порядок работы одной строкой
Метод и реестр → досье с номерами → пре-флайт и согласие → роли + скептик → параллельный запуск, агенты пишут свои файлы → своя проверка → обновление реестра → разбор разногласий с классификацией и вердиктами → фильтр «какое решение изменится» → двухслойный итог со своими ошибками → чек-лист и решение о следующем такте.
Справочные файлы
references/roles.md— как конструировать роли, таблица по предметным областям, формулировки для скептика.references/prompts.md— готовые промпт-блоки: общий, скептик, ревизия; шаблоны вывода и досье.references/restrictions.md— реестр ограничений: механика, формат, защита от окостенения, такты, метод.references/sourcing.md— протокол источников, маршруты к литературе, протокол обвинения в фабрикации.references/failure-modes.md— что уже проваливалось на реальных прогонах и как это ловить.