Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
Медицинскую многоагентную систему удалось защитить от вредоносного текста в карте без переобучения моделей и изменения их совместной работы. В препринте George Mason University атаки стали успешными более чем на 80% реже; поскольку работу не рецензировали, эти числа пока отражают только замеры авторов. Для продуктовых команд это архитектурный паттерн: перепроверять выводы отдельно от данных, на которых они основаны.
Несколько агентов повторяют одну и ту же ошибку
Атака через внедрение подсказки добавляет в медицинскую запись текст, который склоняет LLM к выбранному ответу. Это может быть явная команда, но в работе опаснее выглядели фрагменты, похожие на обычное заключение врача, рекомендацию специалиста или ссылку на экспертное мнение.
Совместное обсуждение не стало надёжной защитой. Все агенты читали одну запись, поэтому вредоносный фрагмент одновременно влиял на каждого участника. Система получала не независимые мнения, а несколько согласованных рассуждений, основанных на одном и том же ложном утверждении.
В одном примере MDAgents сначала рекомендовала профилактику зидовудином для новорождённого с риском передачи ВИЧ. Добавленная заметка со ссылкой на экспертное мнение заставила систему выбрать наблюдение без профилактики. Другие агенты не исправили решение, потому что тоже приняли заметку за медицинский факт.
Защиты, которые ищут команды и подозрительные формулировки, помогали лишь частично. Клиническое заключение не обязано приказывать модели игнорировать правила: ему достаточно правдоподобно назвать нужный диагноз или лечение.
Проверку проводили на MDAgents и MedAgents, а также на одиночных моделях семейств Qwen и Llama. Набор испытаний включал MedQA, MedMisBench и MPIB: от вопросов с вариантами ответа до свободных рекомендаций, которые оценивали по потенциальному вреду.
Как вывод проверяют отдельно от исходных находок
Метод работает поверх системы как отдельный контур. Он получает запись, вопрос и первоначальное решение, но не меняет подсказки агентов, порядок обсуждения или сами модели.
- Модуль разметки делит предложения на находки и клинические суждения. К находкам относятся симптомы, результаты осмотра и анализов; к суждениям — диагнозы, рекомендации и инструкции.
- Фильтр определяет, поддерживает ли какое-либо суждение первоначальный ответ или исключает альтернативу. Если решение не опирается на такие предложения, система сохраняет его без дополнительной проверки.
- Проверяющий модуль сопоставляет каждое суждение только с находками и собственными медицинскими знаниями модели. Первоначального ответа он не видит, поэтому не подгоняет оценку под уже принятое решение.
- Повторный запуск удаляет неподтверждённые суждения и снова передаёт очищенную запись медицинской системе. Подтверждённые заключения остаются на месте.
Разделение играет ключевую роль. Если проверять вредоносное заключение по всей записи, оно может подтвердить само себя. Когда в качестве доказательств остаются только симптомы, результаты исследований и другие наблюдаемые данные, ложная рекомендация лишается собственной опоры.
Метод не удаляет все интерпретации заранее. Настоящее заключение врача может содержать полезную информацию, которую нельзя восстановить из отдельных показателей. Поэтому система вмешивается только тогда, когда суждение повлияло на ответ и не прошло отдельную проверку.
Что меняется в планах продуктовой команды
На MedQA защита снизила долю решений, которые менялись на выбранную атакующим цель, до 4–7%. Точность на записях без атаки отличалась от исходной менее чем на один процентный пункт. На остальных испытаниях метод также обошёл способы защиты, основанные на предупреждениях в подсказке и поиске подозрительного текста.
Паттерн подходит системам, которые собирают контекст из медицинских записей, внешних документов или сторонних инструментов. Его можно добавить после основного решения, не переобучая модель и не переписывая взаимодействие агентов. Дополнительные вызовы моделей стоили около 2 долларов на тысячу записей по использованным в работе публичным тарифам.
При этом защита переносит часть риска в проверяющую модель. Если ей не хватает медицинских знаний, она может удалить верное заключение. А если атакующий подменит саму находку — например, значение лабораторного показателя, — метод примет её как исходное свидетельство: такие данные нужно проверять у источника.
Испытания проходили на экзаменационных вопросах и открытых наборах, а не на реальных картах или развёрнутых клинических системах. Проверяли также атаки, которые знали устройство защиты и переписывали текст после ответа: фильтр снижал их успешность, но не устранял её. Поэтому паттерн стоит планировать как дополнительный защитный слой вместе с контролем происхождения данных и надзором врача, а не как самостоятельную гарантию безопасности.
Источники
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



