惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
博客园 - 【当耐特】
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Announcements
Recent Announcements
D
Docker
GbyAI
GbyAI
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
The Cloudflare Blog
雷峰网
雷峰网
A
About on SuperTechFans
小众软件
小众软件
博客园 - Franky
博客园 - 聂微东
F
Full Disclosure
大猫的无限游戏
大猫的无限游戏
C
Check Point Blog
MongoDB | Blog
MongoDB | Blog
G
Google Developers Blog
Microsoft Azure Blog
Microsoft Azure Blog
U
Unit 42
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
V2EX
Engineering at Meta
Engineering at Meta
宝玉的分享
宝玉的分享
aimingoo的专栏
aimingoo的专栏
量子位
P
Proofpoint News Feed
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
罗磊的独立博客
Martin Fowler
Martin Fowler
D
DataBreaches.Net
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Secure Thoughts
Project Zero
Project Zero
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
T
Tailwind CSS Blog
S
Schneier on Security
Blog — PlanetScale
Blog — PlanetScale
The Hacker News
The Hacker News
Spread Privacy
Spread Privacy
Security Latest
Security Latest
NISL@THU
NISL@THU
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
CXSECURITY Database RSS Feed - CXSecurity.com
J
Java Code Geeks

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Где российские клинреки расходятся с международными гайдлайнами: справочник для врача на графе знаний
azamat_sandb · 2026-05-07 · via Все публикации подряд на Хабре

Где российские клинреки расходятся с международными гайдлайнами: справочник для врача на графе знаний

Уровень сложностиПростой

Время на прочтение11 мин

Охват и читатели923

Ретроспектива

Идея этого продукта родилась дома. Моя жена работает врачом в клинике Фомина (известная московская клиника), и однажды она рассказала мне вещь, к которой я был не готов: российские клинические рекомендации (КР) в среднем отстают от международных гайдлайнов на два года. Это не просто задержка во времени — это отставание в методиках, дозировках и качестве ухода за пациентом.

И дотянуться до свежих международных гайдов российскому врачу сейчас почти негде: UpToDate отрезан, обходы через зарубежные SIM-карты прикрыли (разве что опытные айтишники знают пути обхода), Notion ушёл — а вместе с ним разлетелись по чатам и заметкам рабочие шаблоны, которые врачи годами в нём вели.

Когда жена это рассказала, мы взяли тему в работу как обычную задачу: гипотеза, интервью с врачами, валидация, MVP на нашей платформе. Так получился МедБро — бесплатный справочник, который рядом с международной рекомендацией сразу показывает соответствующую позицию из российского КР. Работает на medbro.pro, есть Android-сборка, iOS на модерации App Store. Сейчас продукт в режиме альфа-тестирования: загружено около 80 гайдлайнов, к 30 мая планируем закрыть основные специальности и выкатить личный кабинет врача с закладками.

В статье разберу четыре конкретные боли врача, ту самую функцию, ради которой во многом и затевался продукт, и то, как мы построили под неё граф клинических знаний.

Проблема: четыре боли, которые видны только изнутри клиники

Гипотеза от жены была простой: «врачам трудно с гайдлайнами». Дальше мы провели серию интервью с практикующими врачами разных специальностей и из этой одной фразы вытащили четыре разные боли. Перечисляю по убыванию остроты.

1. Международная экспертиза почти недоступна

По опросам Synovate Comcon (2015) и «Справочника врача» (2019), от 83 до 92% российских врачей не пользуются англоязычными медицинскими источниками. Дело не в лени. Пятнадцатиминутный приём не оставляет места на чтение 80-страничного документа на чужом языке.

Сами международные гайдлайны разбросаны по сайтам отдельных сообществ: ESC в кардиологии, NCCN и ESMO в онкологии, ADA в эндокринологии, NICE и WHO для общих вопросов. Часть материалов лежит за paywall. UpToDate с 2022 года недоступен из РФ напрямую (отмена приёма российских карт + блокировка по IP), обходные пути работают нестабильно. В 2025 появился российский аналог — IMDgo, но он только набирает базу.

В итоге врач знает, что свежий гайдлайн где-то существует, но дотянуться до него стоит времени, которого на приёме (да и после) нет. Ещё и языковой барьер

2. Российские КР отстают — но неравномерно, и по нескольким позициям не догоняют вовсе

Лаг между международными гайдлайнами и российскими КР неравномерный. По одним позициям он составляет 2–3 года, по другим российские КР даже опережают международные (так было со SPRINT-обоснованным целевым АД). Но в актуальной редакции есть конкретные позиции, которые ESC уже принял как Class I, а КР-62 ещё нет. Например, по артериальной гипертензии: ESC 2024 для пациентов с высоким сердечно-сосудистым риском (≥10% за 10 лет) ввёл порог инициации фармакотерапии 130/80 мм рт. ст. как Class I; КР-62 2024 эту позицию не воспроизводит, оставляя её на уровне IIb (только при очень высоком риске и наличии ИБС). Полная хронология этих и других расхождений — дальше в разделе про продукт.

Для врача это два разных режима ответственности. Лечит по КР: формально прав, но по части новаций работает с задержкой. Лечит по ESC: данные актуальнее, но в случае разбирательства придётся объяснять, почему он отошёл от обязательных российских рекомендаций. И тут второй слой проблемы: ФЗ-489 от 25.12.2018 запустил поэтапный переход к обязательному применению клинических рекомендаций, и с 1 января 2025 все КР Минздрава обязательны. Юридический риск из «рамочного» стал конкретным — нарушение КР используется в делах по ст. 109 ч. 2 и ст. 118 ч. 2 УК (ятрогенные преступления) как доказательство.

3. Коморбидность: гайдлайны противоречат, врач один

С одним диагнозом врач легко удерживает протокол в голове. Когда диагнозов три (например, артериальная гипертензия + СД2 + хроническая болезнь почек C3), четыре актуальных гайдлайна/клинрека дают четыре разных целевых уровня систолического АД:

Гайдлайн

Целевое САД

Метод измерения

KDIGO 2024

<120 мм рт. ст.

Стандартизованное (по методике SPRINT)

ESC 2024

120–129 мм рт. ст.

Стандартное офисное

ADA 2025

<130/80 мм рт. ст.

Стандартное офисное

КР-62 2024

<140/80, при переносимости ≤130 (двухшаговый)

Стандартизованное офисное

Часть противоречия методологическая: <120 мм рт. ст. по SPRINT-методике приблизительно соответствует <130 по обычному офисному измерению. Но даже после этой поправки три из четырёх позиций расходятся, и врач должен сам выбрать, по какой жить на этом конкретном пациенте. Ассистента, который сопоставит все схемы и подсветит, где конкретно противоречия, у врача нет, и задача превращается в многомерный поиск по нескольким PDF (поиск клинических случаев).

4. Хранилище и UX: «Если пациент подумает, что врач гуглит — доверие потеряно»

Это прямая цитата из интервью. Раньше многие врачи держали свои рабочие шаблоны (типичные назначения, чек-листы, формулировки в карту) в Notion. В сентябре 2024 Notion ушёл из России (объявлено 26 августа, отключение 9 сентября — последствия санкций США), и шаблоны разлетелись по заметкам, Word-файлам и чатам с коллегами в ТГ/почте.

Параллельно проявился жёсткий UX-критерий, который мы услышали в нескольких интервью почти дословно: интерфейс не должен быть похож на Google. Пациент через плечо видит синюю поисковую строку и ленту результатов и считывает это как «врач не знает, гуглит». Доверие падает мгновенно.

Что у врача болит

Метрика

Что было раньше

Что есть сейчас

Доступ к свежим гайдлайнам

% врачей, читающих на английском

UpToDate давал экспертные выжимки из гайдлайнов и статей

UpToDate отрезан, обходы закрыты

Соответствие российским КР

Лаг между ESC/AHA/NICE и КР РФ

Не критично, КР были рекомендательными

Лаг 2–3 года; с 1 января 2025 все КР Минздрава обязательны

Решения при коморбидности

Время на сопоставление 3 гайдлайнов

Старший коллега или UpToDate

Самостоятельный поиск клинических случаев

Хранение рабочих шаблонов

Где врач держит свои конспекты

Notion и аналоги

Word, заметки, сообщения в почте

Всё это совпало во времени с двумя сдвигами: КР стали обязательными (регуляторное окно), а привычная инфраструктура — недоступной (санкции и уход сервисов). В этом окне мы и собрали продукт.

За продуктом стоит команда МедБро: Азамат Гиззатуллин (CEO), Тимур Курмаев (frontend/архитектура), Ольга Заречная (Product) и врач-эксперт Лилиана Гиззатуллина. Мы делаем инструмент, который помогает врачу быстрее находить и сравнивать релевантные рекомендации — без потери контекста и времени.

Что на самом деле нужно врачу: конспект, дозировки, расхождения

Из интервью стало ясно: врачу не нужен 80-страничный гайдлайн целиком. Ему нужны три вещи, между которыми он переключается прямо во время приёма.

Саммари на русском

Структурированный конспект гайдлайна: диагностика, лечение, дозировки, целевые показатели. Источники — ESC, AHA, NICE, NCCN, ESMO, ADA, WHO. Каждое саммари вычитано практикующим врачом и помечено датой верификации. Сейчас в базе около 80 верифицированных гайдлайнов; выбирали те, с которыми врачи на приёме сталкиваются чаще всего, к концу мая закроем основные специальности.

Расхождения с российским КР

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

Страница гайдлайна по артериальной гипертензии: блок расхождений ESC vs КР-62 со светофорной маркировкой.

Страница гайдлайна по артериальной гипертензии: блок расхождений ESC vs КР-62 со светофорной маркировкой.

Конкретный пример — хронология ключевых обновлений по артериальной гипертензии:

Позиция

Впервые в ESC

В КР-62

Лаг

Стартовая двойная низкодозовая комбинация (Class I)

ESC/ESH 2018 (повышен с IIb 2013)

КР-62 2020 (Class IA)

~2 года

Порог 130/80 для инициации фармакотерапии при CVD-риске ≥10% (Class I)

ESC 2024

КР-62 2024 — остаётся IIb (только очень высокий риск + ИБС)

КР-62 не догнала

Единый «opt-out» целевой САД 120–129 мм рт. ст.

ESC 2024 (одношаговая стратегия)

КР-62 2024 — сохраняет двухшаговую (<140/90 → ≤130)

КР-62 не догнала

Полная интеграция SPRINT в целевые уровни (Class I A)

ESC 2024 (SPRINT + STEP + ESPRIT)

КР-62 2020 (явная ссылка на SPRINT)

КР-62 опередила

SGLT2i при АГ + ХСНнФВ (Class I A, через ESC HF)

ESC HF 2021

КР-62 2024

~3 года

Такую таблицу врач за 30 секунд просматривает глазами и понимает, по каким именно позициям он сейчас работает с задержкой, а по каким — наравне или даже впереди. Без сравнения он читает два документа подряд и держит разницу в голове.

Конспект для копирования в карту

Выжимка только из назначений: анализы, препараты, дозы, контроль. Одна кнопка — и текст уходит в буфер обмена, врач вставляет его прямо в электронную медкарту. Это тот режим, который раньше закрывал Notion: рекомендации не пишутся с нуля каждый раз, копируется выверенный шаблон.

Интерфейс, который не похож на Google (надеюсь)

Когда мы поняли UX-требование «не как Google», мы отказались от больших поисковых строк, лент сниппетов и автодополнений. Главный экран минималистичный: одно поле, врач вводит МКБ-код или название диагноза в любой форме, под капотом работает семантический поиск. Никакой регистрации, никакого онбординга. Открыл и работаешь. Дизайн ближе к референсам справочников Vidal и UpToDate, чем к поисковикам.

Внутри страницы гайдлайна два таба, «Полный» и «Конспект», sidebar с разделами, отдельный блок расхождений, таблица дозировок с международными непатентованными названиями. Кнопка «Поделиться» делает то самое: уносит конспект в буфер.

Главный экран. Семантический поиск по МКБ-коду или названию диагноза, без регистрации.

Главный экран. Семантический поиск по МКБ-коду или названию диагноза, без регистрации.

AI-ассистент: для коморбидности и тонких вопросов

Поверх всей базы работает диалоговый ассистент. Врач задаёт вопрос (например, «как вести гипертонию у пациента с СД2 и сниженной СКФ») и получает ответ со ссылками на конкретные параграфы конкретных гайдлайнов. Сюда же планируем интегрировать API Perplexity для поиска клинических случаев.

Каждый ответ маркирован «AI, не верифицирован»: мы намеренно не подменяем эксперта и не претендуем на статус системы поддержки принятия решений. Доступен голосовой ввод и синтез речи. Сценарий «между пациентами, руки заняты» закрывается без клавиатуры.

Ответ ассистента: каждый тезис подкреплён ссылкой на конкретный параграф гайдлайна, и весь ответ помечен «AI, не верифицирован». Врач сам решает, опираться или нет.

Ответ ассистента: каждый тезис подкреплён ссылкой на конкретный параграф гайдлайна, и весь ответ помечен «AI, не верифицирован». Врач сам решает, опираться или нет.

Границу мы держим жёстко, работают кастомные Guardrails через Litellm: МедБро остаётся справочником и не претендует на статус СППР. Данные пациента мы не обрабатываем, назначения не подсказываем. Платформа умеет ставить фильтры на исключение передачи персональных данных, но в текущем сценарии никаких пациентских данных в систему и не попадает: врач просто читает гайдлайн.

Mobile: там, где нет компьютера

Мобильное приложение: тот же контракт API, что и web, плюс нативные push

Мобильное приложение: тот же контракт API, что и web, плюс нативные push

Десктоп остаётся основным workflow: заключение печатается с рабочего компьютера, и режим «Конспект» оптимизирован под копирование в МИС. Но между пациентами и на обходе компьютера нет, есть телефон. Поэтому есть и мобильное приложение (Expo / React Native), и оно закрывает сценарии, до которых web-PWA не дотягивается: нативные push-уведомления, native share sheet (отправить гайд коллеге в Telegram), lazy-offline (что врач открыл, остаётся доступно без сети для стационаров с проблемным Wi-Fi).

Классический RAG не работает

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

Причина в природе данных. В медицинских гайдлайнах смысл живёт в связях между сущностями. Текст — лишь форма, в которой эти связи описаны. Возьмём спиронолактон как четвёртый препарат при резистентной артериальной гипертензии: ESC 2024 даёт ему класс IIa, Level B (нужны новые РКИ по сердечно-сосудистым исходам), а КР-62 2024 ставит ту же позицию на класс IB (УУР А, УДД 1) — на ступень выше. RAG, который ищет по тексту, найдёт оба фрагмента, но не сможет надёжно показать, в чём именно расхождение: для этого нужно сопоставить структурированные сущности (препарат, показание, класс рекомендации, уровень доказательности, источник), а не куски текста.

Поэтому мы построили продукт поверх графа клинических знаний. Это тот же графовый движок, на котором у нас уже работал поиск по корпоративной документации в одном крупном промышленном заказчике; мы доработали его под медицинскую онтологию, ядро не трогали.

В графе четыре основных типа узлов: гайдлайн, нозология (по МКБ-коду), препарат (по МНН) и российский клинрек. Между ними три типизированных ребра: TREATS (препарат лечит нозологию, с дозами и условиями), RECOMMENDS (гайдлайн рекомендует препарат, с классом и уровнем доказательности) и DIFFERS_FROM — то самое ключевое ребро, где у нас живёт сравнение позиций ESC и российского КР: обе формулировки, оба класса рекомендации, тип расхождения (severe / minor / equivalent), цитаты-обоснования и ссылки на исходные пункты.

Фрагмент графа клинических знаний. Узлы — гайдлайны, нозологии, препараты, клинреки РФ. Рёбра DIFFERS_FROM соединяют международные позиции с российскими; AI-ассистент ходит именно по ним, а не по чанкам текста.

Фрагмент графа клинических знаний. Узлы — гайдлайны, нозологии, препараты, клинреки РФ. Рёбра DIFFERS_FROM соединяют международные позиции с российскими; AI-ассистент ходит именно по ним, а не по чанкам текста.

Когда врач смотрит на нозологию «артериальная гипертензия», система не собирает ответ из текстовых чанков. Она проходит по рёбрам DIFFERS_FROM от ESC к КР-62 и показывает таблицу различий, в которой каждое поле ведёт на конкретный параграф с цитатой. Если данных не хватает, это видно сразу: нужного ребра в графе просто нет. Без галлюцинаций «по мотивам».

AI-ассистент работает поверх того же графа в режиме Graph RAG: запрос врача переводится в обход подграфа, и LLM получает на вход структурированный путь по графу вместо привычных «топ-10 чанков по косинусной близости». На выходе получается ответ, в котором каждое утверждение подкреплено цитатой и ссылкой на источник.

Контентный пайплайн устроен так: исходные гайдлайны парсятся, материал структурируется по онтологии, врач-куратор валидирует каждое саммари, и только после этого факты попадают в граф. Шаг с куратором самый дорогой и пока главное узкое место. На выходе у каждого утверждения есть автор-верификатор и дата. В медицинском контексте источник важнее, чем формулировка.

Стек и интеграция

Бэкенд написан на FastAPI, граф лежит в Memgraph (выбрали за совместимость с Cypher и низкие латентности на наших объёмах). Web мы пишем на React SPA с assistant-ui. Mobile собран на Expo с Hermes-движком. Общий контракт между web и mobile генерируется через Orval по OpenAPI-спеке: одни и те же типы не плодим руками в двух местах.

Поверх API мы реализовали AG-UI, открытый протокол стриминга агентских ответов. Практическая выгода: МедБро подключается как обычная модель в OpenWebUI, LiteLLM и любом AG-UI-совместимом фронтенде. Клиника или дистрибьютор может встроить ассистента в свой портал, не дожидаясь от нас отдельной интеграции. Для нас это ещё и страховка от vendor lock-in: если завтра появится более удобный фронтенд, мы не платим за миграцию пользователей.

Объяснимость и безопасность в медицине нельзя сдвинуть. У каждого ответа ассистента есть вшитая цитата и ссылка на источник в графе. В интерфейсе ответ помечается «AI, не верифицирован», и пользователь видит, на какой гайдлайн опиралась модель. Платформенные фильтры на ПДн настроены так, чтобы потенциально пациентские данные не уходили во внешние модели. В текущем сценарии (справочник без поля «введите данные пациента») этот контур скорее страховочный, чем рабочий.


Что есть сейчас

Около 80 верифицированных гайдлайнов, web на medbro.pro, Android APK, iOS на модерации App Store. Для врача всё бесплатно и без регистрации — это сознательная позиция, текущий этап про распространение и сбор обратной связи. Платным планируем сделать разве что поиск через Perplexity — он сильно поднимает себестоимость. А так - полностью социальный проект. Продукт в альфа-тестировании: к 30 мая закроем основные специальности и выкатим личный кабинет врача с закладками. B2B подписки для клиник появятся позже, когда мы доберём базу и закроем юридические вопросы.

Что я вынес из этого формата работы: превращение прототипа в продакшен — это в первую очередь вопрос платформы. Мы не собирали граф знаний с нуля; взяли движок, который уже работал на корпоративных кейсах, и переписали онтологию под медицину. Когда переиспользуются граф, контентный пайплайн с верификацией куратора, AG-UI-слой и связка web/mobile через один OpenAPI-контракт, с нуля остаётся написать только онтологию предметной области и интерфейс под конкретного пользователя.

Что планируем дальше: к 30 мая — закрыть основные специальности и выкатить личный кабинет врача с закладками. После — оффлайн-режим, push-уведомления о новых гайдах по специальности, юридический контур (copyright на тексты гайдлайнов — отдельная история), пилоты с клиниками.

Если коротко, два тезиса.

Первый: врач не пользователь продукта, а его соавтор. UX-критерии вроде «не должно быть похоже на Google» или «desktop-first для печати заключений» невозможно выдумать в кабинете — они приходят только из живых интервью, и именно такие детали отделяют рабочий инструмент от очередного «AI для врачей».

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

Если вы врач, зайдите на medbro.pro, вбейте код или название нозологии, с которой регулярно работаете, и посмотрите блок расхождений с российским КР. Что-то покажется неточным — напишите через форму обратной связи, мы читаем всё и правим быстро. Готовы пилотировать справочник в клинике — расскажите, мы открыты.


Все цифры по аудитории и доле читающих на английском взяты из открытых источников и интервью с врачами. Ссылки на конкретные гайдлайны и КР доступны прямо в интерфейсе на каждой странице МедБро.