Инъекция подсказок — это пробл... Заметка
DEV Community на русском

Инъекция подсказок — это проблема разрешений, а не проблема модели

Снижение риска внедрения команд в большие языковые модели — это не проблема проверки входных данных, а проблема привилегий, поскольку большие языковые модели по своей сути стирают грань между инструкциями и данными. Полагаться на "лучшие инструкции" или механизмы фильтрации недостаточно, поскольку они зависят от того, что модель всегда ведет себя корректно, что не гарантируется. Злоумышленникам достаточно одного успешного обхода фильтрации, который может быть обойден различными методами кодирования или путем встраивания контента в изображения или документы. Основная проблема заключается в том, что большие языковые модели имеют единый канал как для инструкций, так и для данных, что делает невозможным надежное их различие на уровне протокола.Следовательно, реальный контроль заключается в предположении, что враждебные инструкции будут выполнены, и в проектировании системы таким образом, чтобы такое выполнение было "скучным". Это включает в себя несколько структурных изменений. Во-первых, разделите агента на два компонента: один, который читает недоверенный контент без инструментов или учетных данных, и другой, который действует на основе структурированных данных, возвращаемых первым, никогда не видя напрямую недоверенный текст. Во-вторых, вместо того чтобы позволять модели вызывать действия, позвольте ей предлагать намерения, которые затем проверяются по строгому списку разрешенных действий и схеме. В-третьих, прервите путь эксфильтрации, разрешив исходящие сетевые запросы по хосту и удалив или проксируя удаленные ссылки из отрендеренного вывода модели, чтобы предотвратить утечку данных. В-четвертых, включите человека в цикл для всех необратимых действий, позволяя модели составлять черновики, но требуя подтверждения человека для критических шагов. Наконец, свяжите каждую учетную запись с ключами на агента, сроком действия, лимитами расходов, ограничениями скорости и внешними журналами только для добавления, которые записывают отказы. Проверяйте наборы разрешений горизонтально, учитывая, как индивидуально безвредные возможности объединяются, создавая опасные конфигурации. Такой подход, основанный на возможностях, гарантирует, что даже если враждебная инструкция будет выполнена, ей нечего ценного будет достичь или на что воздействовать.