返回

10. OpenClaw Çoklu Agent Yönlendirme ve Oturum İzolasyonu

Bu makale OpenClaw'ın çoklu Agent mimarisini detaylı olarak açıklar; birden fazla Agent örneğinin nasıl yapılandırılacağı, mesaj yönlendirme kuralları, oturum izolasyon stratejileri ve ekip işbirliği senaryoları için en iyi uygulamalar dahil olmak üzere kurumsal düzeyde AI asistan sistemleri oluşturmanıza yardımcı olur.

OpenClaw v2026.2 için geçerlidir | Bu makale ekip kullanımı veya bağlam izolasyonu gerektiren kullanıcılar için uygundur.

TL;DR: Çoklu Agent yapılandırması: "agents": {"instances": {"personal": {...}, "work": {...}}}. Yönlendirme kuralları: "routing": {"rules": [{"match": {"channel": "telegram"}, "agent": "personal"}]}. Oturum izolasyonu: "sessions": {"isolation": "user"}. Sandbox modu: "sandbox": {"mode": "non-main"}. Çoklu kullanıcı, çoklu proje, çoklu kullanım senaryoları için uygundur.

Neden Çoklu Agent Gerekli?

Tek Agent’ın Sınırlamaları

Senaryo Tek Agent Sorunu Çoklu Agent Çözümü
Çoklu kullanıcı Bağlam karışıklığı, gizlilik sorunları Her kullanıcı için bağımsız Agent
Çoklu proje Proje bilgileri birbirine karışır Her proje için bağımsız Agent
Çoklu kullanım Bir Agent birden fazla rol Uzmanlaşmış Agent’lar
Çoklu ekip İzinler zor kontrol edilir Ekibe göre Agent izolasyonu
Maliyet kontrolü Kullanım ayrımı yapılamaz Her model için ayrı faturalandırma

Çoklu Agent Kullanım Senaryoları

flowchart TB
    subgraph Users["Kullanıcılar"]
        U1[Kullanıcı A]
        U2[Kullanıcı B]
        U3[Ekip X]
        U4[Ekip Y]
    end
    
    subgraph Router["Mesaj Yönlendirme"]
        R[Yönlendirme kuralları]
    end
    
    subgraph Agents["Agent Örnekleri"]
        A1[Kişisel Agent A]
        A2[Kişisel Agent B]
        A3[Ekip Agent X]
        A4[Ekip Agent Y]
    end
    
    subgraph Models["Modeller"]
        M1[Claude Opus]
        M2[Claude Sonnet]
        M3[GPT-4o]
        M4[Haiku]
    end
    
    U1 --> R
    U2 --> R
    U3 --> R
    U4 --> R
    R --> A1
    R --> A2
    R --> A3
    R --> A4
    A1 --> M1
    A2 --> M2
    A3 --> M3
    A4 --> M4

Çoklu Agent Yapılandırması

Temel Yapı

{
  "agents": {
    "defaults": {
      "model": "anthropic/claude-sonnet-4",
      "workspace": "~/.openclaw/workspace"
    },
    "instances": {
      "personal": {
        "model": "anthropic/claude-opus-4-6",
        "workspace": "~/.openclaw/workspaces/personal",
        "thinkingLevel": "high"
      },
      "work": {
        "model": "anthropic/claude-sonnet-4",
        "workspace": "~/.openclaw/workspaces/work",
        "skills": ["github", "jira", "confluence"]
      },
      "assistant": {
        "model": "anthropic/claude-haiku-3.5",
        "workspace": "~/.openclaw/workspaces/assistant"
      }
    }
  }
}

Agent Yapılandırma Seçenekleri

Yapılandırma Açıklama Örnek
model Kullanılan model anthropic/claude-opus-4-6
workspace Çalışma dizini ~/.openclaw/workspaces/personal
thinkingLevel Düşünme seviyesi high, medium, low
skills Etkin beceriler ["gmail", "calendar"]
sandbox Sandbox yapılandırması { "mode": "non-main" }
contextWindow Bağlam penceresi 200000

Workspace Yapısı

~/.openclaw/
├── workspace/              # Varsayılan workspace
│   ├── AGENTS.md
│   ├── SOUL.md
│   └── skills/
├── workspaces/
│   ├── personal/          # Kişisel Agent
│   │   ├── AGENTS.md
│   │   ├── SOUL.md
│   │   └── USER.md
│   ├── work/              # İş Agent'ı
│   │   ├── AGENTS.md
│   │   └── skills/
│   └── assistant/         # Asistan Agent
│       └── AGENTS.md
└── openclaw.json          # Ana yapılandırma

Mesaj Yönlendirme Kuralları

Yönlendirme Yapılandırması

{
  "routing": {
    "rules": [
      {
        "match": {
          "channel": "telegram",
          "sender": "123456789"
        },
        "agent": "personal"
      },
      {
        "match": {
          "channel": "discord",
          "guild": "987654321"
        },
        "agent": "work"
      },
      {
        "match": {
          "session": "main"
        },
        "agent": "personal"
      }
    ],
    "default": "personal"
  }
}

Yönlendirme Kuralları Detayları

Eşleşme alanı Açıklama Örnek
channel Kanal türü telegram, discord, slack
sender Gönderen ID 123456789
guild Discord sunucu ID 987654321
group Grup ID -100123456789
session Oturum ID main, telegram:user:123
pattern Regex eşleşmesi ^work-

Karmaşık Yönlendirme Örneği

{
  "routing": {
    "rules": [
      {
        "name": "Kişisel Telegram",
        "match": {
          "channel": "telegram",
          "sender": ["123456789", "987654321"]
        },
        "agent": "personal"
      },
      {
        "name": "İş Discord",
        "match": {
          "channel": "discord",
          "guild": "111222333"
        },
        "agent": "work"
      },
      {
        "name": "İş grubu",
        "match": {
          "channel": "telegram",
          "group": "-100111222333"
        },
        "agent": "work"
      },
      {
        "name": "Test ortamı",
        "match": {
          "pattern": "^test-"
        },
        "agent": "assistant",
        "config": {
          "sandbox": { "mode": "always" }
        }
      }
    ],
    "default": "personal"
  }
}

Yönlendirme Önceliği

flowchart TB
    MSG[Mesaj gelir] --> R1{Kural 1 eşleşir mi?}
    R1 -->|Evet| A1[Agent 1]
    R1 -->|Hayır| R2{Kural 2 eşleşir mi?}
    R2 -->|Evet| A2[Agent 2]
    R2 -->|Hayır| R3{Kural 3 eşleşir mi?}
    R3 -->|Evet| A3[Agent 3]
    R3 -->|Hayır| D[Varsayılan Agent]

Kurallar sırayla eşleştirilir, ilk eşleşen kural geçerli olur.

Oturum İzolasyonu

İzolasyon Seviyeleri

Seviye Açıklama Kullanım Senaryosu
İzolasyon yok Paylaşılan bağlam Tek kullanıcı, tek kullanım
Kanal izolasyonu Kanala göre bağımsız bağlam Çoklu kanal erişimi
Kullanıcı izolasyonu Kullanıcıya göre bağımsız bağlam Çoklu kullanıcı paylaşımı
Oturum izolasyonu Her oturum bağımsız Tam izolasyon
Agent izolasyonu Her Agent bağımsız Çoklu Agent dağıtımı

Oturum İzolasyonu Yapılandırması

{
  "sessions": {
    "isolation": "user",
    "persistence": true,
    "retention": {
      "maxAge": 604800000,
      "maxSessions": 100
    }
  }
}

İzolasyon Yapılandırması Detayları

{
  "sessions": {
    "isolation": "user",
    "storage": {
      "type": "file",
      "path": "~/.openclaw/sessions"
    },
    "encryption": {
      "enabled": true,
      "algorithm": "aes-256-gcm"
    },
    "retention": {
      "maxAge": 604800000,
      "maxSessions": 100,
      "cleanupInterval": 86400000
    }
  }
}
Yapılandırma Açıklama Varsayılan
isolation İzolasyon seviyesi user
storage.type Depolama türü file
encryption.enabled Şifrelemeyi etkinleştir true
retention.maxAge Maksimum saklama süresi 7 gün
retention.maxSessions Maksimum oturum sayısı 100

Ekip İşbirliği Senaryoları

Senaryo Bir: Küçük Ekip Paylaşımı

{
  "agents": {
    "instances": {
      "team": {
        "model": "anthropic/claude-sonnet-4",
        "workspace": "~/.openclaw/workspaces/team",
        "skills": ["github", "jira", "slack"]
      }
    }
  },
  "routing": {
    "rules": [
      {
        "match": { "channel": "slack" },
        "agent": "team"
      },
      {
        "match": { "channel": "discord" },
        "agent": "team"
      }
    ],
    "default": "team"
  }
}

Senaryo İki: Departman İzolasyonu

{
  "agents": {
    "instances": {
      "engineering": {
        "model": "anthropic/claude-opus-4-6",
        "workspace": "~/.openclaw/workspaces/engineering",
        "skills": ["github", "jira", "pagerduty"],
        "sandbox": { "mode": "off" }
      },
      "marketing": {
        "model": "anthropic/claude-sonnet-4",
        "workspace": "~/.openclaw/workspaces/marketing",
        "skills": ["mailchimp", "analytics"],
        "sandbox": { "mode": "non-main" }
      },
      "support": {
        "model": "anthropic/claude-haiku-3.5",
        "workspace": "~/.openclaw/workspaces/support",
        "skills": ["zendesk", "intercom"],
        "sandbox": { "mode": "always" }
      }
    }
  },
  "routing": {
    "rules": [
      {
        "name": "Engineering Discord",
        "match": { "channel": "discord", "guild": "111111111" },
        "agent": "engineering"
      },
      {
        "name": "Marketing Slack",
        "match": { "channel": "slack", "team": "T22222222" },
        "agent": "marketing"
      },
      {
        "name": "Support Telegram",
        "match": { "channel": "telegram", "group": "-100333333333" },
        "agent": "support"
      }
    ],
    "default": "support"
  }
}

Senaryo Üç: Çoklu Kiracı SaaS

{
  "agents": {
    "dynamic": true,
    "template": {
      "model": "anthropic/claude-sonnet-4",
      "workspace": "~/.openclaw/workspaces/tenants/{{tenantId}}",
      "skills": ["base"],
      "sandbox": { "mode": "always" }
    },
    "limits": {
      "maxAgents": 100,
      "maxSessionsPerAgent": 50,
      "maxTokensPerMonth": 1000000
    }
  },
  "routing": {
    "rules": [
      {
        "name": "Tenant Routing",
        "match": { "header": "X-Tenant-Id" },
        "agent": "tenant_{{tenantId}}",
        "createIfNotExists": true
      }
    ]
  }
}

İzinler ve Güvenlik

Agent İzin Kontrolü

{
  "agents": {
    "instances": {
      "trusted": {
        "model": "anthropic/claude-opus-4-6",
        "sandbox": { "mode": "off" },
        "permissions": {
          "filesystem": { "read": true, "write": true },
          "network": { "outbound": true },
          "process": { "execute": true }
        }
      },
      "restricted": {
        "model": "anthropic/claude-haiku-3.5",
        "sandbox": { "mode": "always" },
        "permissions": {
          "filesystem": { 
            "read": ["~/allowed/"],
            "write": ["~/allowed/"]
          },
          "network": { 
            "outbound": ["api.example.com"]
          },
          "process": { "execute": false }
        }
      }
    }
  }
}

Sandbox Modu

Mod Açıklama Uygulama Senaryosu
off Sandbox yok Güvenilir Agent
non-main Ana oturum dışı sandbox Ekip paylaşımı
always Her zaman sandbox Güvenilmeyen ortam

Sandbox Yapılandırması

{
  "sandbox": {
    "mode": "non-main",
    "container": {
      "image": "openclaw/sandbox:latest",
      "timeout": 30000,
      "memory": "512m",
      "cpu": "0.5"
    },
    "allowlist": ["read", "write", "edit", "bash"],
    "denylist": ["browser", "canvas", "nodes"],
    "networkPolicy": {
      "allow": ["api.example.com"],
      "deny": ["*"]
    }
  }
}

İzleme ve Yönetim

Agent Durum İzleme

# Tüm Agent örneklerini listele
openclaw agents list

# Çıktı örneği:
# Name        Model                  Sessions  Status   Last Active
# personal    claude-opus-4-6        3         active   2 min ago
# work        claude-sonnet-4        5         active   5 min ago
# assistant   claude-haiku-3.5       2         idle     1 hour ago

# Agent detaylarını görüntüle
openclaw agents show personal

# Yönlendirme kurallarını görüntüle
openclaw routing list

Oturum Yönetimi

# Tüm oturumları listele
openclaw sessions list --agent personal

# Çıktı örneği:
# Session ID              Channel    Sender      Created      Messages
# telegram:user:123       telegram   123456789   2026-02-26   42
# main                    cli        -           2026-02-25   128

# Oturum detaylarını görüntüle
openclaw sessions show telegram:user:123

# Oturumu dışa aktar
openclaw sessions export telegram:user:123 --format json

# Oturumu sil
openclaw sessions delete telegram:user:123

Kullanım İstatistikleri

# Agent'a göre gruplanmış kullanımı görüntüle
openclaw usage --by-agent

# Çıktı örneği:
# Agent       Tokens In    Tokens Out   Cost      Requests
# personal    125,000     45,000      $2.10     128
# work        89,000      32,000      $1.25     95
# assistant   15,000      8,000       $0.15     42

# Zaman aralığına göre istatistik
openclaw usage --by-agent --from 2026-02-01 --to 2026-02-28

En İyi Uygulamalar

1. Agent’ları Mantıklı Bölümleme

Bölümleme boyutu Açıklama Örnek
Kullanım İşlevsel kullanıma göre coding, research, assistant
Proje Projeye göre project-alpha, project-beta
Ekip Ekibe göre engineering, marketing
Model Modele göre opus, sonnet, haiku

2. Yapılandırma Kalıtımı

{
  "agents": {
    "defaults": {
      "model": "anthropic/claude-sonnet-4",
      "workspace": "~/.openclaw/workspace",
      "thinkingLevel": "medium",
      "sandbox": { "mode": "non-main" }
    },
    "instances": {
      "opus": {
        "model": "anthropic/claude-opus-4-6",
        "thinkingLevel": "high"
        // defaults'tan workspace ve sandbox kalıtılır
      },
      "haiku": {
        "model": "anthropic/claude-haiku-3.5",
        "thinkingLevel": "minimal"
        // defaults'ın diğer yapılandırmaları kalıtılır
      }
    }
  }
}

3. Minimum İzin Prensibi

{
  "agents": {
    "instances": {
      "restricted": {
        "model": "anthropic/claude-haiku-3.5",
        "sandbox": { "mode": "always" },
        "permissions": {
          "filesystem": {
            "read": ["~/allowed/read"],
            "write": ["~/allowed/write"]
          },
          "network": {
            "outbound": []
          },
          "process": {
            "execute": false
          }
        }
      }
    }
  }
}

4. İzleme ve Uyarılar

{
  "monitoring": {
    "alerts": [
      {
        "condition": "usage > 1000000",
        "action": "notify"
      },
      {
        "condition": "error_rate > 0.1",
        "action": "notify"
      },
      {
        "condition": "response_time > 10000",
        "action": "notify"
      }
    ],
    "webhook": "https://your-monitoring.com/webhook"
  }
}

Sorun Giderme

Yönlendirme Çalışmıyor

# Mevcut yönlendirme kurallarını görüntüle
openclaw routing list

# Yönlendirmeyi test et
openclaw routing test --channel telegram --sender 123456789

# Çıktı örneği:
# Matched Rule: Kişisel Telegram
# Target Agent: personal
# Route Path: default -> rule 1 -> personal

Oturum İzolasyonu Sorunu

# Oturum izolasyon yapılandırmasını kontrol et
openclaw config get sessions.isolation

# Oturum listesini kontrol et
openclaw sessions list --all

# Oturum izolasyonunu sıfırla
openclaw sessions reset --agent personal

İzin Sorunu

# İzin yapılandırmasını kontrol et
openclaw agents permissions show personal

# İzni test et
openclaw agents test-permission personal --action filesystem.read --path ~/test

# Çıktı örneği:
# Permission: filesystem.read
# Path: ~/test
# Result: ALLOWED

Özet

Çoklu Agent mimarisi OpenClaw’ın gelişmiş bir özelliğidir ve ekip ile kurumsal senaryolar için güçlü destek sağlar:

  • Esnek yönlendirme: Kanala, kullanıcıya, projeye göre farklı Agent atama
  • Oturum izolasyonu: Gizliliği korur, bağlam karışıklığını önler
  • İzin kontrolü: Detaylı izin yönetimi
  • Maliyet optimizasyonu: Kullanıma göre farklı model seçimi
  • Ölçeklenebilirlik: Dinamik Agent oluşturma ve yönetim desteği

Bu Bölümün Özeti:

  • Çoklu Agent mimarisinin değerini ve senaryolarını anladınız
  • Agent yapılandırmasını ve mesaj yönlendirme kurallarını öğrendiniz
  • Oturum izolasyonu yapılandırma yöntemlerini öğrendiniz
  • Ekip işbirliği senaryoları için en iyi uygulamaları tanıdınız
  • İzin kontrolü ve izleme yönetimini öğrendiniz

Güncelleme Kayıtları:

  • 2026-02-26: İlk sürüm yayınlandı, OpenClaw v2026.2 temel alındı

Seri Navigasyonu: