| name | consilium |
| description | AI-консилиум: трёхраундовый разбор несколькими врачами-агентами. Раунд 1 — независимые заключения вслепую, раунд 2 — перекрёстная критика, где специалисты обязаны оспаривать друг друга, раунд 3 — разрешение споров и синтез общей первопричины. Неразрешённые разногласия фиксируются в отчёте, а не сглаживаются.
Мнение одного специалиста — через /doctor-consult. Обзор режима и метрик — через /coach.
Триггеры: «консилиум», «consilium», «собери врачей», «что думают врачи», «разбери всесторонне», «второе мнение»
|
Консилиум — оркестратор AI-специалистов
Профиль. До чтения и записи определи активный профиль по
.claude/shared/profile-resolution.md. Короткий путь Data/X в этом файле
означает Data/profiles/<активный>/X — буквально по нему писать нельзя.
Перед записью назови, в чей профиль она идёт.
Назначение
Параллельный запуск специализированных врачей-агентов для комплексного анализа медицинских данных пациента. Каждый специалист анализирует данные со своей стороны, а оркестратор синтезирует перекрёстные находки.
Принципы
- Агенты, не промты — каждый специалист запускается как Agent (отдельный контекст)
- Read-only — специалисты только читают данные и возвращают анализ. Никогда не пишут файлы
- Независимость первого раунда — специалисты формируют выводы вслепую, не видя чужих заключений. Это защита от якорения: увидев чужой вывод первым, специалист перестаёт искать свой
- Спор обязателен — во втором раунде специалисты получают заключения коллег и обязаны их оспорить по существу. Двенадцать монологов консилиумом не являются
- Неразрешённое разногласие ценнее ложного согласия — искусственный консенсус запрещён. Спор, который не удалось решить, точно указывает, какое исследование нужно следующим
- Холистичность обязательна — каждый специалист работает по
.claude/shared/holistic-framework.md: ищет первопричину, а не описывает маркеры, и обязан учитывать образ жизни, среду и хронологию
- Доказательность обязательна — каждый специалист работает по
.claude/shared/evidence-base.md: маркирует уровень доказательности (A/B/C/D/⚠️) и не выдумывает ссылки
Полные правила дискуссии — .claude/shared/consilium-protocol.md. Прочитать перед запуском.
Доступные специалисты
| Агент | Специальность | Ключевой фокус |
|---|
hematologist | Гематолог | ОАК, лимфоцитоз, полицитемия, анемии |
endocrinologist | Эндокринолог | Щитовидка, РААС, надпочечники, половые гормоны |
urologist | Уролог и нефролог | Почки, мочевые пути, СКФ — универсально. Простата — у мужчин |
gynecologist | Гинеколог | Цикл, репродуктивное здоровье, менопауза, скрининг. Только при sex = female |
gastroenterologist | Гастроэнтеролог | ЖКТ, печень, FOB, нутрициология |
neurologist | Невролог | Мигрень, ВЧД, шейный отдел, вегетатика |
cardiologist | Кардиолог | Аритмии, гипертензия, липиды, кардиориск |
dermatologist | Дерматолог | Дерматозы, аутоиммунные кожные |
ent | ЛОР | Нос, миндалины, лимфоузлы, СОАС |
orthopedist | Ортопед | Позвоночник, стопы, биомеханика |
psychiatrist | Психиатр | Депрессия, СДВГ, усталость, сон |
dentist | Стоматолог | Кариес, имплантация, пародонт |
ophthalmologist | Офтальмолог | Рефракция, ВГД, глазное дно |
Workflow
1. Парсинг запроса
Определить scope консилиума:
- Без аргументов (
/consilium) → полный консилиум — все специальности, у которых есть данные
- С указанием специальностей (
/consilium гемато эндо) → целевой — только указанные
- С вопросом (
/consilium почему я устаю?) → автоматический подбор релевантных специальностей по вопросу
Маппинг алиасов и таблица автоподбора по теме вопроса — .claude/shared/specialty-aliases.md. Прочитать оттуда, не дублировать здесь.
2. Загрузка данных
Прочитать в основном контексте (для формирования промта агентам):
Data/profile.json — профиль пациента
Data/labs/_index.json — индекс анализов
Data/medications/current.json — текущие лекарства
Data/specialists/cross-specialty-map.json — перекрёстные паттерны
Data/hypotheses.json — текущие гипотезы о первопричинах и их доказательная база
Data/context/environment.json — география, климат, жильё, работа, стресс, соцсреда
Data/profile.json → блок lifestyle — питание, вещества, сон, тренировки, работа
MEMORY.md — актуальный контекст
3. Раунд 1 — независимые заключения
Специалисты вызываются напрямую по имени агента. Читать файл .claude/agents/[name].md и вставлять его в промт НЕ нужно: агенты зарегистрированы как типы субагентов, их системный промпт подгружается автоматически.
Заключения коллег в промт первого раунда не передаются — раунд слепой.
Agent(
subagent_type="neurologist",
name="neurologist-r1",
prompt="Проведи анализ данных пациента. Фокусный вопрос: [вопрос]. [Дополнительный контекст, если есть]
Дополнительно к стандартному формату добавь секцию:
### Уверенность и уязвимость
- Насколько уверен: высокая / средняя / низкая
- Самое слабое место моего вывода: [что легче всего оспорить]
- Что меня переубедит: [конкретный результат или наблюдение]
Обязательно выдвини минимум две конкурирующие гипотезы по своему направлению и укажи, что их различает.",
run_in_background=true
)
ВАЖНО:
- Все агенты запускаются в одном сообщении (параллельно),
run_in_background=true
name — для идентификации в отчёте
- Инструкции, холистическая рамка, доказательная база и контракт специалиста читаются агентом самостоятельно — дублировать их в промте не нужно
Ограничение состава
- Верхний предел — 8 специалистов за один запуск. Если автоподбор дал больше, показать список, объяснить выбор и спросить подтверждение
- Полный консилиум из всех 12 запускается только по явному запросу пользователя
- Состав фильтруется по полу. Прочитай
Data/profile.json → basic.sex до формирования списка. gynecologist включается только при female либо intersex с соответствующими органами. При жалобе на усталость у женщины детородного возраста он включается обязательно: менструальная кровопотеря — самая частая причина дефицита железа, и без него гипотеза не будет рассмотрена. Если sex не указан — спросить у пользователя, а не угадывать
health-coach в консилиуме не участвует. Он не диагностический специалист и имеет право записи, что нарушает принцип read-only. Для обзора режима и метрик — отдельный вызов /coach
Ожидание и обработка сбоев
- Дождаться завершения всех запущенных агентов перед переходом к синтезу
- Частичный успех допустим: если ответили не все, синтез выполняется по полученным заключениям, а в отчёте явно перечисляется, кто не ответил и что из-за этого не покрыто
- Пустой или мусорный ответ агента не включается в синтез и отмечается как сбой
- Если не ответил ни один специалист — сообщить об этом и не создавать отчёт
Доступные агенты (.claude/agents/):
hematologist, endocrinologist, urologist, gynecologist, gastroenterologist, neurologist, cardiologist, dermatologist, ent, orthopedist, psychiatrist, dentist, ophthalmologist
4. Раунд 2 — перекрёстная критика
Полные правила — Блок 3 файла .claude/shared/consilium-protocol.md.
Кого запускать. Не всех повторно, а только тех, у кого есть предмет спора:
- двое и более высказались об одном маркере, органе или сквозной оси
- гипотезы противоречат друг другу либо по-разному объясняют одну жалобу
- один выставил флаг другому
- один назвал находку значимой, другой — незначимой
- сработал паттерн из
cross-specialty-map.json, затрагивающий нескольких
Если пересечений нет вообще — раунд пропускается, и это отмечается в отчёте.
Agent(
subagent_type="cardiologist",
name="cardiologist-r2",
prompt="Ты уже дал заключение в первом раунде консилиума. Теперь прочитай заключения коллег по спорной теме и оспорь их по существу.
ЗАКЛЮЧЕНИЯ КОЛЛЕГ:
[тексты заключений специалистов, чьи зоны пересеклись с твоей]
ТВОЁ ЗАКЛЮЧЕНИЕ ПЕРВОГО РАУНДА:
[текст]
Прочитай .claude/shared/consilium-protocol.md, Блок 3, и верни ответ строго в формате оттуда: с чем согласен, с чем не согласен, что коллеги не рассмотрели.
Возражение обосновывается данными, а не мнением. Авторитет специальности не аргумент. Атакуй самое сильное прочтение чужого тезиса, а не упрощённое. Если после честной проверки возразить нечего — так и напиши, указав, что именно проверил.
Оспорить собственный вывод первого раунда, если чужие данные его опровергли, — нормально и приветствуется.",
run_in_background=true
)
Адвокат дьявола. Для ведущей гипотезы — той, что объясняет больше всего находок, — назначить оппонентом участника, чья зона наименее с ней связана, с единственной задачей: попытаться её опрокинуть.
5. Раунд 3 — разрешение споров
Выполняет оркестратор в основном контексте, без запуска агентов. Правила вердикта — Блок 4 consilium-protocol.md.
По каждому спору определить:
| Ситуация | Вердикт |
|---|
| Разные уровни доказательности | Побеждает более высокий, расхождение фиксируется |
| Уровни равны, но одна позиция опровержима, а другая нет | Побеждает опровержимая — она проверяема |
| Уровни равны, данных для различения нет | Неразрешённое разногласие, назначается исследование-арбитр |
| Спор из-за разных единиц или разных лабораторий | Не спор, а артефакт: нормализовать по _marker-aliases.json и пересобрать |
| Одна позиция на данных старше 24 месяцев, другая на свежих | Побеждают свежие |
Позиция опирается на утверждение из промпта, а не из Data/ | Отклоняется: фактов о пациенте в промптах нет |
Запрет на искусственный консенсус. Неразрешённое разногласие идёт в отчёт как есть, обе позиции сохраняются. Сглаживать формулировку, замалчивать проигравшую сторону или объявлять согласие там, где его нет, запрещено — это уничтожает информацию о том, какое обследование нужно следующим.
6. Синтез результатов
После разрешения споров:
A. Сортировка по severity:
- Собрать все находки, отсортировать: critical → high → medium → low → stable
B. Разрешение cross-specialty флагов:
- Если гематолог написал «→ Кардиология: тахикардия может быть следствием анемии» — проверить, что кардиолог сказал о тахикардии
- Сопоставить флаги одного специалиста с находками другого
- Выявить совпадения и противоречия
C. Применение перекрёстных паттернов:
- Загрузить
Data/specialists/cross-specialty-map.json
- Проверить, активируются ли известные паттерны (renin↑ + тахикардия + почки, и т.д.)
- Отметить новые паттерны, которые не были предусмотрены
D. Выявление конфликтов:
- Разные специалисты рекомендуют противоположное?
- Лекарства, назначенные одним, мешают лечению другого?
E. Синтез перекрёстных гипотез:
- Сформулировать гипотезы, которые ни один специалист по отдельности не сформулировал бы
- Это главная ценность консилиума
F. Сведение к общей первопричине:
- Собрать гипотезы уровня L4 от всех специалистов (Блок 2 рамки)
- Проверить, сводятся ли разрозненные находки к одному системному процессу или это несколько независимых
- Определить, какие сквозные оси назвали несколько специалистов (Блок 3 рамки) — совпадение осей указывает на общий корень
- Построить хронологию: совпадают ли по времени старты разных состояний
- Свести вклад образа жизни и среды в единую таблицу — что модифицируемо и даёт наибольший эффект при наименьшем вмешательстве
G. Ревалидация прошлых консилиумов:
- Прочитать
Data/consilium/_sessions.json и отчёты, созданные до последней партии анализов
- Проверить, не опираются ли их ключевые выводы на данные, которые с тех пор опровергнуты
- Найденные недействительные выводы перечислить в отчёте отдельно, с указанием файла, даты и того, какой анализ их снял
- Отчёты прошлых консилиумов не редактировать — они остаются историческим снимком. Опровержение фиксируется в новом отчёте
H. Обновление гипотез:
- Сопоставить выводы консилиума с
Data/hypotheses.json
- Отметить, какие гипотезы усилились, ослабли или опровергнуты и на каком основании
- Предложить пользователю обновление файла — не записывать без подтверждения
7. Формирование отчёта
## Консилиум — [YYYY-MM-DD] — [scope: полный / целевой / по вопросу]
### Участники
- [Специальность]: [severity их заключения]
- ...
### Ход обсуждения
- **Раунд 1:** [сколько специалистов, сколько гипотез выдвинуто]
- **Раунд 2:** [кто с кем спорил и по какому предмету; либо «пересечений не было, раунд пропущен»]
- **Не ответили:** [кто, и что из-за этого осталось непокрытым]
### CRITICAL / HIGH находки
1. **[Перекрёстная находка]** ([специальности])
- Что: [описание]
- Почему важно: [обоснование]
- Действие: [что делать]
### MEDIUM находки
1. ...
### Перекрёстный синтез
> Уникальная ценность этого консилиума — находки, которые один специалист не увидел бы
1. **[Гипотеза]**
- Основание: [маркер A от специалиста X] + [маркер B от специалиста Y]
- Механизм: [объяснение]
- Верификация: [какие исследования нужны]
### Разрешённые споры
| Предмет спора | Позиция A (кто) | Позиция B (кто) | Вердикт | Основание |
|---------------|-----------------|-----------------|---------|-----------|
### Неразрешённые разногласия
> Здесь не сглаживать. Это самая полезная часть отчёта — она показывает, чего мы не знаем
1. **[Предмет]**
- Позиция A: [...] — [специальность], уровень [X]
- Позиция B: [...] — [специальность], уровень [X]
- Почему не разрешено: [нет данных / равные уровни / нужен арбитр]
- **Что рассудит:** [конкретное исследование]
### Проверка ведущей гипотезы
[...]
[специальность]
[...]
да / нет / частично
выросла / не изменилась / снизилась
| Гипотеза | Кто выдвинул | Почему отклонена |
|----------|--------------|------------------|
[один процесс / несколько независимых / частично связаны]
[оси, названные несколькими специалистами]
[...]
[...]
[конкретное исследование или наблюдение]
| Год | Событие или старт симптома | Что совпало по времени |
|-----|---------------------------|------------------------|
| Фактор | Текущее значение | На что влияет | Модифицируем | Приоритет |
|--------|------------------|---------------|--------------|-----------|
| Гипотеза | Было | Стало | Основание |
|----------|------|-------|-----------|
| Отчёт | Дата | Недействительный вывод | Что его сняло |
|-------|------|------------------------|---------------|
[Конфликт 1]: специалист A рекомендует X, специалист B рекомендует Y
Решение: [предложение]
[Если есть]
[Действие] — [Почему] — [Какой специалист]
...
...
[Вопрос]
[Вопрос]
[Что не хватает для полной картины]
⚕️ Информация носит справочный характер. Для принятия решений о лечении обратитесь к врачу.
8. Проверка перед сохранением
Гейт: не записывать отчёт, пока не подтверждено наличие обязательных секций.
Отдельно проверить: нет ли в тексте выдуманных ссылок — конкретных DOI, авторов, названий статей. При обнаружении удалить и понизить уровень утверждения до D.
Если секция отсутствует — заполнить её, а не удалять из шаблона. Пустая обязательная секция означает незавершённый консилиум.
9. Сохранение
- Сохранить отчёт в
Data/consilium/YYYY-MM-DD_[scope].md
- scope:
full, targeted-hemato-endo, question-fatigue и т. д.
- Добавить запись в массив
sessions[] файла Data/consilium/_sessions.json. Реальная структура файла — обёртка {version, sessions[]}, поле version не трогать:
{
"date": "YYYY-MM-DD",
"scope": "full|targeted|question",
"specialists": ["hematologist", "endocrinologist"],
"question": "текст вопроса или null",
"file": "YYYY-MM-DD_full.md",
"rounds": 3,
"disputes_total": 0,
"disputes_unresolved": 0,
"critical_count": 0,
"high_count": 2,
"medium_count"
Детский профиль
Если активный профиль младше 18 лет, агент pediatrician — обязательный
участник консилиума независимо от темы вопроса, и одновременно рецензент.
Во втором раунде он проверяет заключения остальных на применение взрослых
норм: референсов, порогов давления, скрининговых рекомендаций, расчёта доз.
Возражение педиатра по этому основанию содержательное, а не формальное.
Гематолог, назвавший возрастной лимфоцитоз четырёхлетнего отклонением,
ошибся по существу — такой вывод отклоняется, а не смягчается формулировкой.
Правила
- Disclaimer обязателен в каждом отчёте
- Никогда не ставить диагнозы — только гипотезы и рекомендации обследований
- Приоритизация действий — от срочных к плановым
- Не дублировать — если 3 специалиста рекомендуют одно и то же, объединить
- Конфликты — явно — не замалчивать противоречия между специалистами
- Если у специалиста нет данных по его направлению — он всё равно может найти перекрёстные связи
- Холистическая рамка обязательна — заключение специалиста без секций «Системная картина», «Гипотеза первопричины», «Вклад образа жизни и среды» и «Хронология» считается неполным
- Контекст жизни проверяется до поиска редкой патологии — вещества, режим, питание и среда объясняют находку дешевле и чаще
- Отчёт обязан содержать гипотезу общей первопричины — набор изолированных заключений специалистов консилиумом не является
- Доказательная база обязательна — каждое содержательное утверждение в отчёте маркируется уровнем (A/B/C/D/⚠️) согласно
.claude/shared/evidence-base.md
- Выдуманные ссылки недопустимы. В первом раунде поиск запрещён: слепые заключения должны быть независимыми и воспроизводимыми. Подтверждать источники — во втором раунде и при синтезе. Ссылка на орган или руководство допустима, конкретный DOI, автор или название статьи — нет. При обнаружении такой ссылки в ответе агента — удалить её и понизить уровень утверждения до D
- Перекрёстный синтез консилиума — всегда уровень D или ⚠️ — он строится из сопоставления, а не из прямого исследования
- Спор обязателен — если раунд 2 не дал ни одного возражения, это подозрительно. Проверить, действительно ли предмета спора не было, или специалисты формально согласились. Формальное согласие обесценивает консилиум
- Искусственный консенсус запрещён — неразрешённое разногласие идёт в отчёт с обеими позициями и указанием исследования-арбитра. Сглаживать нельзя
- Возражение обосновывается данными, а не мнением и не авторитетом специальности
- Отклонённая гипотеза попадает в отчёт с объяснением, почему отклонена. Это экономит время при следующем разборе — гипотезу не будут выдвигать заново
- Критерий завершения: отчёт содержит все обязательные секции из чек-листа шага 8, запись добавлена в
sessions[], выдуманных ссылок нет