Паттерн двух LLM (Camel)
EN · Dual-LLM Pattern (Camel)Паттерн двух моделей (Camel) — архитектура безопасности, где одна модель работает с недоверенными данными без инструментов, а вторая принимает решения, не видя сырых данных; защищает от инъекций.Определение на английскомAn architectural defense against Indirect Prompt Injection (XPIA) where two LLMs handle a task with different privilege levels. A **privileged** LLM makes tool calls and interacts with trusted context (operator instructions, verified user input). A **quarantined** LLM reads untrusted content (retrieved documents, tool responses, third-party data) and can only pass results back through a narrow, structured channel—typically a schema-validated JSON blob. Because the privileged LLM never directly reads attacker-supplied text, injection payloads in that text cannot hijack tool decisions. Originally articulated by Simon Willison in 2023 and adopted in production agent frameworks by Trail of Bits and echoed in Anthropic's multi-agent security guidance.
Пример
Агенту поддержки нужно отвечать по статьям базы знаний. Наивный дизайн: одна LLM читает вопрос клиента, извлекает статьи и вызывает инструмент возврата. Если статья была отравлена, агент может провести мошеннический возврат. Дизайн с двумя LLM: изолированная LLM читает статьи и возвращает резюме, проверенное по схеме ({ answer, citations, needs_refund: bool, refund_reason }). Привилегированная LLM читает только этот структурированный результат — никогда сырой текст статьи — и вызывает инструмент возврата, только если позволяет политика. Полезная нагрузка, спрятанная в статье, не может инструктировать привилегированную LLM, потому что та её никогда не видит.
Часто задаваемые вопросы
- Добавляет ли паттерн двух LLM задержку?
- Немного — обычно 1–2 с на ход, так как два вызова модели идут последовательно. Для большинства агентных процессов это приемлемо; для голосовых агентов в реальном времени может быть слишком много. Оптимизации: более маленькая/быстрая модель для изолированной роли (только рассуждение по контексту, без инструментов, поэтому планка качества ниже) и конвейеризация где возможно.
- Паттерн двух LLM — это то же, что мультиагентная архитектура?
- Это подкласс. Мультиагентные системы используют несколько специализированных агентов для разделения работы по возможностям; паттерн двух LLM использует двух агентов именно для *границы доверия* между недоверенным контентом и привилегированными действиями. Можно иметь мультиагентную систему без этого паттерна безопасности и можно применить паттерн к однозадачному процессу, не называя его «мультиагентным».