Mixture of Agents
Mixture of Agents — это виртуальный провайдер моделей. Каждый именованный пресет MoA отображается как выбираемая модель у провайдера moa.
Когда вы выбираете пресет MoA, агрегатор этого пресета становится действующей моделью. Именно он пишет ответ ассистента и генерирует вызовы инструментов. Эталонные модели запускаются первыми и предоставляют анализ для использования агрегатором.
Используйте MoA, когда сложная задача выигрывает от множества перспектив моделей, но всё ещё требует обычного цикла агента VibeOS: вызовов инструментов, последующих итераций, прерываний, сохранения транскрипта и того же контекста сессии, что и любое другое сообщение.
Выбор пресета MoA в качестве модели
Вы можете выбрать пресет через обычные интерфейсы выбора модели:
/model default --provider moa
/model review --provider moa
Пресеты MoA доступны для выбора на каждой поверхности VibeOS, поскольку MoA — это обычный провайдер в системе моделей:
- CLI / шлюз / TUI
/model—/model <пресет> --provider moa, или/model --provider moaдля пресета по умолчанию. Простой/model<пресет>` также работает, если имя точно совпадает с настроенным пресетом. vibeos modelи выбор модели в панели управления — появляется строка провайдераMixture of Agentsс именами ваших пресетов в качестве моделей.- Настольное GUI-приложение — выпадающий список моделей показывает раздел
Пресеты MoA; выбор одного из них (MoA:<пресет>`) переключает активную модель на этот пресет. Панель настроек настольного приложения также создаёт и редактирует пресеты.
Настроенные пресеты, таким образом, отображаются везде, где вы бы выбирали любую другую модель.
Сокращение через slash-команду
/moa — это одноразовое удобное сокращение. Оно выполняет один запрос через стандартный пресет MoA, а затем восстанавливает модель, которая была у вас до этого:
/moa разработай и реализуй план миграции для этого нестабильного тестового кластера
VibeOS временно переключается на стандартный пресет MoA на один этот шаг, отправляет запрос, а затем восстанавливает вашу предыдущую модель. Весь аргумент считается запросом — /moa больше не интерпретирует его как имя пресета.
/moa
Простой /moa (без запроса) просто выводит инструкцию по использованию.
Чтобы переключиться на пресет MoA на оставшуюся часть сессии, выберите его из списка моделей — пресеты MoA отображаются под провайдером Mixture of Agents в каждом интерфейсе выбора модели (см. выше). /moa намеренно не является переключателем модели, поэтому обычный запрос никогда не сможет случайно изменить вашу модель.
Как это работает в цикле агента
При каждом основном вызове модели, когда выбран провайдер moa, VibeOS:
- определяет выбранный пресет по имени;
- запускает настроенные эталонные модели без схем инструментов (они получают только текст диалога от пользователя/ассистента — не системный промпт VibeOS или транскрипт вызовов инструментов — поэтому эталонные вызовы остаются дешёвыми и избегают отклонений от строгих провайдеров);
- добавляет выходные данные эталонных моделей как приватный контекст для агрегатора;
- вызывает настроенный агрегатор с обычной схемой инструментов VibeOS;
- обрабатывает ответ агрегатора как реальный ответ модели;
- если агрегатор вызывает инструменты, VibeOS выполняет эти инструменты обычным образом;
- на следующей итерации модели тот же процесс MoA повторяется с обновлённым диалогом, включая результаты работы инструментов.
Поскольку MoA выбирается через обычную систему моделей, он автоматически сочетается с /goal, сессиями шлюза, сессиями TUI и чатом настольного приложения.
Настройка пресетов
Вы можете настроить именованные пресеты MoA из:
- Панель управления → Модели → Настройки моделей → Mixture of Agents
- Настольное приложение → Настройки → Модель → Mixture of Agents
vibeos moa configure [имя]config.yaml
Конфигурация хранит явные пары провайдер/модель, поэтому вы можете смешивать провайдеров и использовать несколько моделей от одного провайдера:
moa:
default_preset: default
presets:
default:
reference_models:
- provider: chatgpt-oauth
model: gpt-5.5
- provider: openrouter
model: deepseek/deepseek-v4-pro
aggregator:
provider: openrouter
model: anthropic/claude-opus-4.8
reference_temperature: 0.6
aggregator_temperature: 0.4
max_tokens: 4096
enabled: true
Пресет по умолчанию:
- эталонная:
openai-codex:gpt-5.5 - эталонная:
openrouter:deepseek/deepseek-v4-pro - агрегатор / действующая модель:
openrouter:anthropic/claude-opus-4.8
Управление пресетами в терминале
vibeos moa list
vibeos moa configure # обновить пресет по умолчанию
vibeos moa configure review # создать или обновить именованный пресет
vibeos moa delete review
Бенчмарки
На VibeOSBench пресет MoA из двух моделей — claude-opus-4.8, агрегирующий эталонную gpt-5.5, — превосходит каждую из моделей по отдельности:
| Модель | Оценка VibeOSBench |
|---|---|
| Агрегатор Opus (opus-4.8 + эталонная gpt-5.5) — MoA | 0.8202 |
anthropic/claude-opus-4.8 | 0.7607 |
openai/gpt-5.5 | 0.7412 |
Конфигурация MoA превосходит свою сильнейшую компоненту (opus-4.8) примерно на 6 пунктов, подтверждая, что агрегация второй перспективы повышает качество на сложных задачах, а не просто усредняет две модели.
Кэширование промптов
MoA построен так, что кэш промптов основного диалога никогда не сбрасывается. Выбор пресета MoA — это обычный выбор модели: он не изменяет прошлый контекст, не переключает наборы инструментов и не перестраивает системный промпт в середине диалога. История вашего диалога, системный промпт и схема инструментов остаются стабильными побайтово, поэтому кэшированный префикс, на который полагаются все остальные модели, сохраняется в точности так, как если бы использовалась обычная модель. Переключение на пресет MoA или с него стоит той же инвалидации кэша, что и любой другой переключатель /model — не больше.
Оба внутренних типа вызовов кэшируются нормально:
- Эталонные модели получают урезанное, детерминированное представление диалога (системный промпт и транскрипт инструментов удалены — см. цикл выше). Поскольку это представление является стабильной функцией стабильной истории, префикс промпта эталонной модели повторяется между итерациями и кэшируется нормально. Эталонные вызовы — это короткие консультационные запросы без инструментов.
- Агрегатор является действующей моделью. Выходные данные эталонных моделей добавляются в конец последнего пользовательского сообщения как приватное руководство. Поскольку этот текст находится в хвосте — ниже всего стабильного префикса (системный промпт + предыдущая история) — он не инвалидирует никакой кэшированный префикс: агрегатор получает попадание в кэш на всём, что выше вставки, и только свежедобавленный хвост является новым. Это в точности то, как ведёт себя каждый обычный шаг, где каждое новое сообщение пользователя также является некэшированными токенами в хвосте.
Таким образом, MoA не жертвует кэшированием промптов ни для одного из типов вызовов. Его единственная реальная стоимость — это дополнительные эталонные вызовы на каждую итерацию: вы платите за множество перспектив моделей, а не за сломанные кэши. Долгоживущий префикс диалога, общий с остальной частью VibeOS, полностью сохраняется.
Примечания
- MoA больше не отображается в
vibeos tools; нет набора инструментовmoa, который нужно включать. - Установка
enabled: falseдля пресета отключает эталонное разветвление для этого пресета: агрегатор действует в одиночку, точно так же, как если бы вы выбрали его как обычную модель. Это переключатель отключения для каждого пресета, доступный в панели управления и настройках настольного приложения. - Агрегатор пресета не может быть другим пресетом MoA. Рекурсивные деревья MoA намеренно заблокированы.
- Ошибки учётных данных на одной эталонной модели не прерывают шаг. VibeOS включает ошибку в эталонный контекст и продолжает работу с теми моделями, которые вернули результат.
- MoA увеличивает количество вызовов моделей. Одна итерация модели может включать несколько эталонных вызовов плюс вызов агрегатора.