Вернуться ко всем гайдам

OpenClaw: настройка нескольких агентов и мультиагентной системы

Как настроить несколько агентов OpenClaw: видимость сессий, взаимодействие между агентами и делегирование задач.

Если в OpenClaw у вас несколько агентов с разными workspace, то без дополнительных настроек они будут жить как отдельные изолированные агенты. Чтобы они реально начали работать вместе, нужна OpenClaw настройка с правилами видимости, взаимодействия и делегирования. Такой сценарий особенно полезен, если вы собираете несколько агентов OpenClaw под разные роли и хотите получить рабочую мультиагентную систему.

Пример конфига

{
  "agents": {
    "list": [
      {
        "id": "research",
        "workspace": "~/.openclaw/workspace-research",
        "agentDir": "~/.openclaw/agents/research/agent",
        "subagents": {
          "allowAgents": ["research", "writer"]
        }
      },
      {
        "id": "writer",
        "workspace": "~/.openclaw/workspace-writer",
        "agentDir": "~/.openclaw/agents/writer/agent",
        "subagents": {
          "allowAgents": ["writer", "research"]
        }
      }
    ]
  },
  "tools": {
    "agentToAgent": {
      "enabled": true,
      "allow": ["research", "writer"]
    },
    "sessions": {
      "visibility": "all"
    }
  }
}

Что дают эти настройки

В этой схеме каждый агент OpenClaw получает свой workspace и свой набор разрешений. Без этого даже ИИ агент OpenClaw будет существовать изолированно и не сможет нормально обмениваться контекстом с другими агентами.

Блок tools.agentToAgent отвечает за прямое общение между агентами. Без него агент не сможет нормально обращаться к сессиям другого агента. Поле allow внутри этого блока задаёт, между какими агентами такое общение вообще разрешено.

tools.sessions.visibility определяет, какие сессии агент вообще видит через session tools. Если поставить visibility: "all", агенты смогут находить и использовать сессии других агентов. Это также полезно в сценарии, когда основной агент анализирует сессию другого агента и затем вносит правки в его workspace.

subagents.allowAgents — это настройка про делегирование. Она говорит, каких агентов можно запускать через sessions_spawn. Именно на этом уровне обычно начинается практическая настройка ИИ агента под конкретную роль.

Как это работает вместе

Вместе эти настройки дают понятную схему:

  1. Сначала вы разрешаете, кто кого вообще может видеть.

  2. Потом определяете, кто с кем может общаться.

  3. И отдельно задаёте, кого можно запускать как отдельного подагента.

Так и собираются мультиагентные системы, где каждый исполнитель отвечает за свою часть работы. В более широком смысле это уже агент в мультиагентной системе с понятной зоной ответственности и управляемыми каналами связи.

После этого агенты начинают взаимодействовать через session tools. Если одному агенту нужно написать другому в уже существующую сессию, он использует sessions_list, чтобы найти нужную сессию, при необходимости читает контекст через sessions_history, а затем отправляет сообщение через sessions_send.

Если же нужен не обмен сообщениями, а отдельная изолированная задача, тогда используется sessions_spawn. В этом случае один агент запускает другого. Именно для такого сценария и нужен subagents.allowAgents. На практике такая схема хорошо ложится и на настройку AI агентов, и на мультиагентные системы ИИ, где роли разделены между несколькими исполнителями.

Практический сценарий

После всех настроек вы можете добавить правила в Agents.md и автоматизировать взаимодействие.

Простой пример: есть агент, который публикует статью на сайт, и есть SEO-агент. Первый агент присылает текст второму агенту и просит у него релевантные ключевые слова, второй возвращает топ ключей со статистикой поиска, а первый аккуратно встраивает их в исходный текст.

Такой сценарий показывает, как OpenClaw настройка помогает превратить разрозненных агентов в управляемую систему. В одном месте вы настраиваете видимость, в другом — общение, в третьем — делегирование. В итоге несколько агентов OpenClaw начинают работать как единый процесс, а не как отдельные изолированные сущности.