RAG и модели выглядят впечатляюще на демо, но в медицине ключевой вопрос - как сделать процесс воспроизводимым, безопасным и контролируемым. В предложенном туториале автор детально показывает, как построить агент на базе Google Gemini, который не только рассуждает, но и действует через симулированные медицинские инструменты, возвращая строго структурированный JSON и сохраняя след действий.
Статья описывает полный путь - от безопасной конфигурации ключа API до примера с подачей prior-authorization на препарат Ozempic для пациента John Doe. Главная мысль: не архитектура модели решает проблему автоматически, а сочетание четких правил, инструментов и аудита действий агента.
Контекст и фактура
Почему это важно сейчас - потому что индустрия требует не только генерации текста, но и воспроизводимых актов принятия решений в клинических и регуляторных процессах. Туториал фиксирует несколько практических требований, которые раньше игнорировались в демо: безопасная конфигурация ключей, автоматический выбор наиболее способной модели Gemini, симуляция доступа к EHR и критерии утверждения prior-auth.
Что в коде - шаг за шагом
- Настройка и выбор модели: пример показывает установку SDK, безопасную загрузку ключа (с fallback в виде запроса у пользователя), перечисление доступных моделей и выбор наиболее подходящей текстовой модели для сессии.
- Эмуляция медицинских инструментов: класс MedicalTools симулирует доступ к EHR с заметками визитов и поиском по запросу, а также endpoint prior-auth, который возвращает одобрение только при наличии требуемых доказательств.
- Логика одобрения: в симуляции prior-auth утверждает заявку, если в обосновании есть доказательства интолерантности или неэффективности метформина и BMI > 30. Эти точные условия в коде определяют, когда агенту стоит отправлять заявку.
Дизайн агента и системный prompt
Ключевой элемент - класс AgenticSystem, который связывает модель и инструменты, хранит историю взаимодействий и задает строгое поведение. В системном prompt агент определяется как эксперт Medical Prior Authorization Agent и получает перечисление доступных функций: search_ehr(query) и submit_prior_auth(drug_name, justification). Пара основных правил задаются явно: 1) всегда думать перед действием; 2) возвращать строго JSON с полями "thought", "action" и "action_input"; 3) не догадываться о данных пациента - использовать search_ehr; 4) вызывать submit_prior_auth только при наличии доказательств; 5) завершать работу с действием "finish".
Исполнение инструментов и цикл агента
В коде реализована функция execute_tool, которая вызывает нужный симулированный инструмент и возвращает либо наблюдение, либо ошибку при неверных входных данных. Метод run формирует начальную историю, добавляет цель пользователя и в цикле:
- строит prompt из системных инструкций и истории;
- запрашивает у модели ответ в виде JSON и парсит его;
- логирует мысль агента и выбранное действие;
- выполняет инструмент и добавляет наблюдение в историю;
- останавливает цикл при действии "finish" или при успешном результате prior-auth.
Цикл включает базовую обработку ошибок при неверном JSON и ограничение числа шагов, чтобы избежать бесконтрольного выполнения.
Пример сценария
В демонстрации создаются экземпляры MedicalTools и AgenticSystem с выбранной моделью Gemini. Цель: "Please get prior authorization for Ozempic for patient John Doe." Агент сначала ищет в EHR доказательства - например, прекращение метформина, значение BMI, A1C - затем формирует обоснование и вызывает submit_prior_auth. Симулированный endpoint утверждает заявку, если в обосновании есть подтверждение интолерантности/неэффективности метформина и BMI > 30, иначе возвращает отказ с объяснением недостающих доказательств.
Выводы и направления развития
Туториал демонстрирует компактный, но строгий фреймворк для агентного поведения: планирование, использование инструментов и структурированные выводы делают процесс безопасным и аудируемым. Главный урок - нужен не только LLM, но и правильные интерфейсы к данным, четкие правила и механизм аудита.
Дальше автор предлагает расширяемость: добавление дополнительных инструментов, встроенных policy checks, доменно-специфической логики и мультиагентной оркестрации для более сложных рабочих процессов. Для практиков это означает: переход от эффектных демо к промышленным системам потребует дисциплины в оформлении данных, проверках и мониторинге.
Туториал сопровождается ссылками на полный код и репозиторий GitHub и подписан Asif Razzaq, CEO Marktechpost, как автор методики и примеров.
