Перейти к содержимому
AUTHORВЫПУСК №008 → АВТОМАТИЗАЦИЯ АГЕНТАМИ: 90% НЕ ПРОМПТ / имейте совесть, когда будете делиться или копировать
>AISTUDY_

Модуль md.2 · Урок 3

Медицинский тул-сервер через MCP: ToolUniverse

45 мин
Практика
md.2 / Урок 3 из 3

Чему вы научитесь

  • Понимать роль MCP как стандарта подключения инструментов к агенту
  • Объяснять, что даёт ToolUniverse и какие инструменты в нём есть
  • Подключать тул-сервер к агенту и вызывать проверку фактов
  • Видеть, почему вызов инструмента надёжнее «памяти» модели

Зачем агенту инструменты

Reasoner из прошлых уроков рассуждает, но не должен «помнить» дозировки и взаимодействия лекарств — это как раз зона галлюцинаций. Вместо этого он вызывает инструмент, который возвращает проверенные данные из реального источника. Это превращает «модель сказала» в «источник подтвердил».

Стандартом интеграции инструментов в 2025–2026 стал MCP (Model Context Protocol). Инструмент выставляется как MCP-сервер, а агент подключается к нему по единому протоколу — навык переносится между продуктами и моделями.

flowchart LR
    AG["Агент\n(Reasoner)"] -->|"MCP"| TS["Тул-сервер\nToolUniverse"]
    TS --> D1["FDA drug labels"]
    TS --> D2["OpenTarget"]
    TS --> D3["Monarch\n(онтологии болезней)"]
    D1 --> AG
    style TS fill:#fef3c7,stroke:#d97706
    style AG fill:#eef2ff,stroke:#4400FF

Что такое ToolUniverse

ToolUniverse (лаборатория Zitnik, Harvard, проект TxAgent) — реальный научный MCP-сервер медицинских и биомед-инструментов: метки препаратов FDA, OpenTarget, онтологии Monarch и другие. В README MedicalAgentX заявлено около 215 инструментов; точное число и версию стоит проверять при установке.

ИнструментЧто отвечаетПример вопроса
FDA drug labelsИнформация о препарате из официальных метокПоказания, противопоказания
ВзаимодействияСовместимость препаратовМожно ли назначать вместе
MonarchОнтологии болезней и фенотиповСвязь симптома и заболевания
OpenTargetСвязи ген–болезнь–препаратМишени и доказательная база

Как подключить и вызвать

Подключение по MCP единообразно: агент получает список доступных инструментов и вызывает нужный с аргументами. Ниже — учебный набросок логики ToolsConsultant.

# подключение к тул-серверу по MCP (псевдокод поверх MCP-клиента)
tools = mcp_client.connect("tooluniverse")

def verify(entities: dict) -> dict:
    results = {}
    for drug in entities.get("drugs", []):
        # вместо "память модели" — вызов проверенного источника
        results[drug] = tools.call("fda_drug_label", {"name": drug})
    if len(entities.get("drugs", [])) > 1:
        results["interactions"] = tools.call(
            "drug_interactions", {"drugs": entities["drugs"]}
        )
    return results

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


Как встроить проверку в пайплайн

  1. Извлеките сущности. Reasoner выделяет упомянутые препараты и состояния из рассуждения.

  2. Вызовите инструменты. ToolsConsultant проверяет каждый препарат и взаимодействия через тул-сервер.

  3. Передайте результаты в отчёт. ReportGenerator цитирует ответы инструментов рядом с тезисами.

  4. Отметьте «нет данных». Если инструмент ничего не вернул, это должно быть видно в отчёте, а не скрыто.


Что дальше

Ядро собрано. Следующий модуль — мультиагентность и клиническое рассуждение. Начните с md.3/01.

Скачать урок

Есть идея или нашли ошибку?

// Обсуждение

Можно писать анонимно. Укажите email, чтобы получать уведомления об ответах.