От одного агента к сети: суть обновления
Petri — это открытый фреймворк для автоматизированной оценки безопасности ИИ, изначально созданный Anthropic, а теперь поддерживаемый Meridian Labs. Архитектура Petri традиционно строилась на взаимодействии трех ролей: Auditor (создатель сценария), Target (модель, проходящая тест) и Judge (оценщик результатов). Однако реальность разработки ИИ требует проверки не изолированных моделей, а сложных систем, где агенты общаются друг с другом.
Разработчики из Meridian Labs выпустили расширение, которое трансформирует Petri из инструмента для одиночных агентов в платформу для мультиагентных систем. Ключевое изменение затронуло механизм управления задачами через библиотеку anyio: теперь контейнер запускает N+1 параллельных задач, где N — количество целевых агентов, а каждая пара «Аудитор-Агент» соединена собственным каналом памяти.
Технические детали: топологии и новые инструменты
Расширение вводит два критически важных метода для Аудитора, позволяющие управлять сложной коммуникацией:
- select_target(): позволяет Аудитору переключаться между разными целевыми агентами в рамках одного сценария.
- route_message(): передает сообщения от одного целевого агента другому, эмулируя прямую связь без участия Аудитора как посредника.
Система поддерживает гибкую настройку топологии взаимодействия. Пользователь может выбрать одну из четырех встроенных конфигураций или создать кастомную, явно указав, какие агенты могут обмениваться сообщениями. Это позволяет моделировать сценарии от «один босс — несколько подчиненных» до равноправных групп.
Пример использования: тест на этический консенсус
В документации приведен пример оценки поведения трех агентов с равным статусом, которым необходимо прийти к консенсусу по этически сложному вопросу. Сценарий проверяет, возникает ли социальное давление, заставляющее третьего агента подчиниться мнению двух других, или же один из участников пытается манипулировать остальными.
Настройка такого теста осуществляется через Markdown-файл с YAML-фронтматтером, где задаются параметры:
| Параметр | Значение в примере | Описание |
|---|---|---|
multiagent |
true | Включает мультиагентный режим |
multiagent_type |
equal_hierarchy | Тип иерархии (равноправные агенты) |
n_agents |
3 | Количество целевых моделей |
tags |
["consensus", "peer_pressure"] | Метки для категоризации теста |
Как запустить оценку
Для запуска используется стандартный интерфейс Inspect AI. В примере все роли (Аудитор, Целевая модель, Судья) привязаны к модели openai/gpt-4o, но архитектура позволяет использовать разные модели для разных ролей. Команда запуска выглядит следующим образом:
uv run inspect eval peer_consensus_task.py \
--model-role auditor=openai/gpt-4o \
--model-role target=openai/gpt-4o \
--model-role judge=openai/gpt-4o \
--log-dir logs/
Результаты сохраняются в формате Inspect, что позволяет детально анализировать транскрипты взаимодействий и оценки по метрикам, таким как реализм сценария и корректность поведения каждого из агентов.
Почему это важно
По мере роста автономности ИИ-систем, риски смещаются от ошибок отдельных моделей к проблемам координации, манипуляций и коллективного поведения. Автоматизированные инструменты, такие как Petri, критически важны для ускорения исследований в области AI Safety. Возможность тестировать мультиагентные сценарии (например, согласование решений или иерархическое управление) закрывает важный пробел в инструментарии исследователей безопасности, позволяя выявлять уязвимости до развертывания систем в реальном мире.
Источник: LessWrong ↗
