Настройка агентов
Обновлено: 2026-04-05
Настройка агентов в OpenClaw
OpenClaw поддерживает мульти-агентную архитектуру, позволяя создавать специализированных агентов для разных задач.
Что такое агенты?
Агенты в OpenClaw — это независимые экземпляры AI-ассистентов, которые могут:
- Иметь разные модели (GPT-4, Claude, DeepSeek)
- Использовать разные системные промпты
- Иметь доступ к разным навыкам и инструментам
- Обрабатывать разные каналы или пользователей
Базовая конфигурация агентов
Минимальная конфигурация
{
"agents": {
"default": {
"model": "deepseek/deepseek-chat",
"systemPrompt": "Ты полезный AI ассистент."
}
}
}
Конфигурация с несколькими агентами
{
"agents": {
"personal": {
"model": "openai/gpt-4",
"systemPrompt": "Ты мой персональный помощник.",
"temperature": 0.7,
"maxTokens": 2000
},
"technical": {
"model": "anthropic/claude-3-opus",
"systemPrompt": "Ты технический эксперт по программированию и DevOps.",
"temperature": 0.3,
"maxTokens": 4000
},
"creative": {
"model": "openai/gpt-4",
"systemPrompt": "Ты креативный писатель и художник.",
"temperature": 0.9,
"maxTokens": 1000
}
}
}
Привязка агентов к каналам
Статическая привязка
{
"bindings": [
{
"match": {
"channel": "telegram",
"peer": { "id": "tg:336940264" }
},
"agentId": "personal"
},
{
"match": {
"channel": "telegram",
"group": { "id": "-1001234567890" }
},
"agentId": "technical"
},
{
"match": {
"channel": "discord",
"peer": { "id": "123456789012345678" }
},
"agentId": "creative"
}
]
}
Динамическая привязка по ключевым словам
{
"bindings": [
{
"match": {
"channel": "telegram",
"text": { "contains": "код|программирование|баг" }
},
"agentId": "technical"
},
{
"match": {
"channel": "telegram",
"text": { "contains": "идея|креатив|дизайн" }
},
"agentId": "creative"
},
{
"match": {
"channel": "*",
"default": true
},
"agentId": "personal"
}
]
}
Настройки агентов
Параметры модели
{
"agents": {
"expert": {
"model": "openai/gpt-4",
// Параметры генерации
"temperature": 0.7, // Креативность (0.0-2.0)
"maxTokens": 4000, // Максимальная длина ответа
"topP": 0.9, // Качество генерации
"frequencyPenalty": 0.0, // Штраф за повторения
"presencePenalty": 0.0, // Штраф за новые темы
// Контекст
"maxContext": 8000, // Максимальный контекст
"memoryLimit": 50, // Сохранение истории
// Поведение
"streaming": true, // Потоковая генерация
"thinking": false, // Включить reasoning
"retry": {
"attempts": 3,
"delayMs": 1000
}
}
}
}
Системные промпты
{
"agents": {
"assistant": {
"model": "deepseek/deepseek-chat",
"systemPrompt": `
Ты OpenClaw Assistant — полезный AI ассистент.
Твоя роль:
1. Помогать пользователям с задачами
2. Отвечать на вопросы
3. Выполнять команды через доступные инструменты
Твой стиль:
- Будь полезным и дружелюбным
- Отвечай кратко, но информативно
- Если не знаешь ответа — скажи об этом
- Всегда соблюдай безопасность
Доступные инструменты: {tools}
Текущее время: {time}
`
}
}
}
Навыки и инструменты агентов
Назначение навыков
{
"agents": {
"devops": {
"model": "openai/gpt-4",
"systemPrompt": "Ты DevOps инженер.",
"skills": ["terminal", "docker", "kubernetes", "github"],
"tools": {
"bash": true,
"exec": true,
"process": true,
"config": false // Запретить изменение конфигурации
}
},
"writer": {
"model": "anthropic/claude-3-sonnet",
"systemPrompt": "Ты профессиональный писатель.",
"skills": ["web_search", "markdown", "summarize"],
"tools": {
"web_search": true,
"web_fetch": true,
"write": true,
"edit": true
}
}
}
}
Ограничения доступа
{
"agents": {
"restricted": {
"model": "deepseek/deepseek-chat",
"tools": {
"bash": {
"enabled": false // Полный запрет
},
"exec": {
"enabled": true,
"requireApproval": true, // Требовать подтверждение
"allowedCommands": ["ls", "pwd", "date"] // Только разрешенные
},
"config": {
"enabled": false
}
}
}
}
}
Примеры использования
Пример 1: Личный и рабочий ассистенты
{
"agents": {
"personal": {
"model": "openai/gpt-4",
"systemPrompt": "Ты мой личный помощник для повседневных задач.",
"skills": ["calendar", "weather", "reminders"],
"temperature": 0.8
},
"work": {
"model": "anthropic/claude-3-opus",
"systemPrompt": "Ты профессиональный ассистент для работы.",
"skills": ["github", "jira", "slack", "terminal"],
"temperature": 0.3
}
},
"bindings": [
{
"match": {
"channel": "telegram",
"peer": { "id": "tg:336940264" },
"time": { "hour": { "between": [9, 18] } } // Рабочее время
},
"agentId": "work"
},
{
"match": {
"channel": "telegram",
"peer": { "id": "tg:336940264" },
"default": true
},
"agentId": "personal"
}
]
}
Пример 2: Специализированные агенты для команды
{
"agents": {
"frontend": {
"model": "openai/gpt-4",
"systemPrompt": "Ты эксперт по фронтенд разработке (React, TypeScript, CSS).",
"skills": ["github", "terminal", "web_search"],
"tools": {
"exec": { "allowedCommands": ["npm", "yarn", "git"] }
}
},
"backend": {
"model": "anthropic/claude-3-sonnet",
"systemPrompt": "Ты эксперт по бэкенд разработке (Node.js, Python, Databases).",
"skills": ["docker", "terminal", "github"],
"tools": {
"exec": { "allowedCommands": ["docker", "python", "node"] }
}
},
"devops": {
"model": "deepseek/deepseek-chat",
"systemPrompt": "Ты DevOps инженер (Kubernetes, AWS, CI/CD).",
"skills": ["kubernetes", "aws", "terminal"],
"tools": {
"exec": { "allowedCommands": ["kubectl", "aws", "terraform"] }
}
}
},
"bindings": [
{
"match": {
"channel": "telegram",
"group": { "id": "-1001234567890" },
"text": { "contains": "react|frontend|css" }
},
"agentId": "frontend"
},
{
"match": {
"channel": "telegram",
"group": { "id": "-1001234567890" },
"text": { "contains": "api|database|python" }
},
"agentId": "backend"
},
{
"match": {
"channel": "telegram",
"group": { "id": "-1001234567890" },
"text": { "contains": "deploy|kubernetes|aws" }
},
"agentId": "devops"
}
]
}
Пример 3: Production конфигурация с безопасностью
{
"agents": {
"default": {
"model": "deepseek/deepseek-chat",
"systemPrompt": "Ты полезный AI ассистент.",
"tools": {
"bash": false,
"config": false,
"exec": {
"enabled": true,
"requireApproval": true,
"allowedCommands": ["ls", "pwd", "date", "whoami"]
}
}
},
"admin": {
"model": "openai/gpt-4",
"systemPrompt": "Ты администратор системы.",
"tools": {
"bash": true,
"config": true,
"exec": true
}
}
},
"bindings": [
{
"match": {
"channel": "telegram",
"peer": { "id": "tg:336940264" }
},
"agentId": "admin"
},
{
"match": {
"channel": "*",
"default": true
},
"agentId": "default"
}
]
}
Управление контекстом и памятью
Настройки памяти
{
"agents": {
"assistant": {
"model": "openai/gpt-4",
// Контекст
"maxContext": 8000, // Максимальный размер контекста
"memoryLimit": 100, // Сохранять последние 100 сообщений
// Сжатие контекста
"compressContext": true, // Автоматически сжимать старый контекст
"summaryInterval": 20, // Делать summary каждые 20 сообщений
// Персистентность
"persistMemory": true, // Сохранять память между сессиями
"memoryPath": "~/.openclaw/memory/{agentId}.json"
}
}
}
Шардирование контекста
{
"agents": {
"longContext": {
"model": "anthropic/claude-3-100k",
"contextStrategy": "shard",
"shardSize": 4000, // Размер каждого шарда
"overlap": 200, // Перекрытие между шардами
"maxShards": 10 // Максимальное количество шардов
}
}
}
Мониторинг и метрики
Статистика использования
# Показать использование агентов
openclaw agents stats
# Мониторинг в реальном времени
openclaw agents monitor
# Логи по конкретному агенту
grep -i "agent:personal" ~/.openclaw/logs/gateway.log
Health checks
{
"agents": {
"monitored": {
"model": "openai/gpt-4",
"healthCheck": {
"enabled": true,
"interval": 300000, // Каждые 5 минут
"timeout": 10000, // Таймаут 10 секунд
"prompt": "Ответь 'OK' если ты работаешь."
}
}
}
}
Оптимизация стоимости
Использование разных моделей
{
"agents": {
"cheap": {
"model": "deepseek/deepseek-chat", // Дешевая модель
"usage": "for simple questions"
},
"expensive": {
"model": "openai/gpt-4", // Дорогая модель
"usage": "for complex tasks only"
}
},
"bindings": [
{
"match": {
"text": { "length": { "lt": 100 } } // Короткие вопросы
},
"agentId": "cheap"
},
{
"match": {
"text": { "contains": "сложный|анализ|код" } // Сложные задачи
},
"agentId": "expensive"
}
]
}
Лимиты использования
{
"agents": {
"limited": {
"model": "openai/gpt-4",
"limits": {
"dailyCost": 10.0, // Максимум $10 в день
"monthlyCost": 100.0, // Максимум $100 в месяц
"requestsPerHour": 100, // Максимум 100 запросов в час
"tokensPerDay": 100000 // Максимум 100к токенов в день
}
}
}
}
Устранение неполадок
Общие проблемы
❌ Агент не отвечает
- Проверьте модель:
openclaw agents list - Проверьте логи:
grep -i "agent" ~/.openclaw/logs/gateway.log - Проверьте привязки:
openclaw bindings show
❌ Ошибка "Model not available"
- Проверьте API ключи
- Проверьте доступность модели
- Проверьте лимиты использования
❌ Агент использует не ту модель
- Проверьте привязки (bindings)
- Проверьте конфигурацию агента
- Проверьте логи выбора агента
Отладка привязок
# Показать все привязки
openclaw bindings list
# Тестирование привязки
openclaw bindings test --channel telegram --peer tg:336940264 --text "помоги с кодом"
# Логи привязок
grep -i "binding\|match\|agentId" ~/.openclaw/logs/gateway.log
Лучшие практики
Проектирование агентов
- Специализируйте агентов по задачам, а не по пользователям
- Используйте дешевые модели для простых задач
- Ограничивайте доступ к опасным инструментам
- Тестируйте привязки перед production
Безопасность
- Разделяйте привилегии между агентами
- Используйте allowlists для доступа к инструментам
- Мониторьте использование дорогих моделей
- Ведите аудит действий агентов
Производительность
- Кэшируйте ответы для частых вопросов
- Используйте streaming для лучшего UX
- Оптимизируйте контекст для экономии токенов
- Балансируйте нагрузку между агентами
Дополнительные ресурсы
Совет: Начинайте с одного агента, отлаживайте его, затем добавляйте специализированных агентов по мере необходимости.
Комментарии и обсуждение
Пока нет комментариев. Будьте первым!
Добавить комментарий