Перейти к основному содержимому

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 &lt;пресет&gt; --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:

  1. определяет выбранный пресет по имени;
  2. запускает настроенные эталонные модели без схем инструментов (они получают только текст диалога от пользователя/ассистента — не системный промпт VibeOS или транскрипт вызовов инструментов — поэтому эталонные вызовы остаются дешёвыми и избегают отклонений от строгих провайдеров);
  3. добавляет выходные данные эталонных моделей как приватный контекст для агрегатора;
  4. вызывает настроенный агрегатор с обычной схемой инструментов VibeOS;
  5. обрабатывает ответ агрегатора как реальный ответ модели;
  6. если агрегатор вызывает инструменты, VibeOS выполняет эти инструменты обычным образом;
  7. на следующей итерации модели тот же процесс 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) — MoA0.8202
anthropic/claude-opus-4.80.7607
openai/gpt-5.50.7412

Конфигурация MoA превосходит свою сильнейшую компоненту (opus-4.8) примерно на 6 пунктов, подтверждая, что агрегация второй перспективы повышает качество на сложных задачах, а не просто усредняет две модели.

Кэширование промптов​

MoA построен так, что кэш промптов основного диалога никогда не сбрасывается. Выбор пресета MoA — это обычный выбор модели: он не изменяет прошлый контекст, не переключает наборы инструментов и не перестраивает системный промпт в середине диалога. История вашего диалога, системный промпт и схема инструментов остаются стабильными побайтово, поэтому кэшированный префикс, на который полагаются все остальные модели, сохраняется в точности так, как если бы использовалась обычная модель. Переключение на пресет MoA или с него стоит той же инвалидации кэша, что и любой другой переключатель /model — не больше.

Оба внутренних типа вызовов кэшируются нормально:

  • Эталонные модели получают урезанное, детерминированное представление диалога (системный промпт и транскрипт инструментов удалены — см. цикл выше). Поскольку это представление является стабильной функцией стабильной истории, префикс промпта эталонной модели повторяется между итерациями и кэшируется нормально. Эталонные вызовы — это короткие консультационные запросы без инструментов.
  • Агрегатор является действующей моделью. Выходные данные эталонных моделей добавляются в конец последнего пользовательского сообщения как приватное руководство. Поскольку этот текст находится в хвосте — ниже всего стабильного префикса (системный промпт + предыдущая история) — он не инвалидирует никакой кэшированный префикс: агрегатор получает попадание в кэш на всём, что выше вставки, и только свежедобавленный хвост является новым. Это в точности то, как ведёт себя каждый обычный шаг, где каждое новое сообщение пользователя также является некэшированными токенами в хвосте.

Таким образом, MoA не жертвует кэшированием промптов ни для одного из типов вызовов. Его единственная реальная стоимость — это дополнительные эталонные вызовы на каждую итерацию: вы платите за множество перспектив моделей, а не за сломанные кэши. Долгоживущий префикс диалога, общий с остальной частью VibeOS, полностью сохраняется.

Примечания​

  • MoA больше не отображается в vibeos tools; нет набора инструментов moa, который нужно включать.
  • Установка enabled: false для пресета отключает эталонное разветвление для этого пресета: агрегатор действует в одиночку, точно так же, как если бы вы выбрали его как обычную модель. Это переключатель отключения для каждого пресета, доступный в панели управления и настройках настольного приложения.
  • Агрегатор пресета не может быть другим пресетом MoA. Рекурсивные деревья MoA намеренно заблокированы.
  • Ошибки учётных данных на одной эталонной модели не прерывают шаг. VibeOS включает ошибку в эталонный контекст и продолжает работу с теми моделями, которые вернули результат.
  • MoA увеличивает количество вызовов моделей. Одна итерация модели может включать несколько эталонных вызовов плюс вызов агрегатора.