Относиться к подагентам OpenClaw как к функциям без состояния, а не как к постоянным членам команды

✍️ OpenClawRadar📅 Опубликовано: 1 апреля 2026 г.🔗 Source
Относиться к подагентам OpenClaw как к функциям без состояния, а не как к постоянным членам команды
Ad

Разработчик на r/openclaw описывает смену своей ментальной модели при работе с мульти-агентными командами в OpenClaw. Изначальное отношение к суб-агентам как к младшим сотрудникам с именами, историями и ожиданием наличия памяти привело к неделям путаницы и сломанных рабочих процессов.

Аналогия с функцией

Прорыв произошел благодаря осознанию, что суб-агенты — это не мини-версии меня или постоянные члены команды, а функции. Конкретно:

  • Суб-агенты — это вызовы функций без состояния, а не постоянные члены команды
  • Это специализированные инструменты, а не младшие версии разработчика
  • Они работают по принципу чистый ввод → вывод, не запоминая контекст
  • Они возвращают значения вызывающей стороне, а не общаются друг с другом

В источнике приведены примеры кода, противопоставляющие неправильный и правильный подходы:

# НЕПРАВИЛЬНО: Отношение к суб-агенту как к постоянному объекту
frank = Agent("Frank")
frank.build_feature()
frank.fix_it() # Предполагается, что Фрэнк помнит

ПРАВИЛЬНО: Отношение к суб-агенту как к вызову функции

result = frank_task( instructions="Создать страницу входа", context={"requirements": reqs, "design": mockup} )

frank_task выполняется, возвращает вывод, завершается

Ad

Практические последствия

Эта смена ментальной модели имеет несколько конкретных последствий:

1. SOUL.md как строка документации функции: Вместо профилей личности SOUL.md становится спецификацией:

# frank_task()

Назначение: Создание функций Next.js Входные данные: требования (dict), дизайн (опционально) Выходные данные: {код, тесты, заметки} Ограничения: Без внешних вызовов API без одобрения

2. Явная передача состояния для итерации: Поскольку суб-агенты не запоминают контекст, вы должны передавать всю необходимую информацию в параметрах:

# НЕПРАВИЛЬНО
frank_fix("исправить баг") # создание, попытка, завершение
frank_fix("все еще сломан") # новое создание, нет контекста

ПРАВИЛЬНО

result = frank_fix({ "code": previous_output, "issues": ["сбой валидации входа", "сломан CSS для мобильных"], "test_cases": failing_tests }) # Полный контекст в параметрах

3. Координатор как основная программа: Разработчик становится функцией-оркестратором, а не менеджером команды:

def build_feature(spec):

Вызов функций по порядку

code = frank_build(spec) tests = quinn_audit(code)

if tests["passed"]: return deploy(code) else: # Итерация с явным контекстом fixed = frank_fix({ "code": code, "failures": tests["failures"] }) return deploy(fixed)

Параллели с дизайном ПО

Этот подход соответствует устоявшимся принципам проектирования ПО:

  • Единственная ответственность: Каждый суб-агент делает одно дело
  • Чистые функции: Одинаковый ввод → одинаковый вывод
  • Модульное тестирование: Тестировать вывод каждого суб-агента независимо
  • Композируемость: Соединять суб-агенты как quinn_test(frank_code(spec))
  • Отсутствие состояния: Нет скрытых зависимостей

Разработчик отмечает, что ценность не в «больше агентов = умнее», а в «специализированные функции = чище архитектура».

Результаты после смены

После принятия этой модели разработчик создал:

  • Базу данных из 11 249 тренажерных залов за 2 недели
  • 5 специализированных агентов (а не 5 универсалов)
  • CRM с рабочими процессами андеррайтинга
  • Ежедневное взаимодействие с Moltbook

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

📖 Read the full source: r/openclaw

Ad

👀 Смотрите также

Создание пользовательских навыков для Claude Co-Work: лучшие практики и форматы
Гайды

Создание пользовательских навыков для Claude Co-Work: лучшие практики и форматы

Изучите лучшие практики создания пользовательских навыков для Claude Co-Work с конкретными советами по форматированию и реализации, основанными на опыте пользователей.

OpenClawRadar
Практические советы по архитектуре многоагентных систем на основе опыта
Гайды

Практические советы по архитектуре многоагентных систем на основе опыта

Разработчик делится пятью конкретными паттернами для создания мультиагентных ИИ-систем на основе опыта работы с ежедневно функционирующей системой из 7 агентов: начать с одного агента, использовать паттерн оркестратора, внедрить общую память с JSON-файлами, маршрутизировать модели по задачам и добавить циклы подтверждения.

OpenClawRadar
Кастомный сервер 4x RTX PRO 6000 против Dell GB300: выбор для 30 тонко настроенных пайплайнов
Гайды

Кастомный сервер 4x RTX PRO 6000 против Dell GB300: выбор для 30 тонко настроенных пайплайнов

Подробный анализ двух локальных архитектур для запуска ~30 доработанных продакшн-пайплайнов: собственного 4U-сервера с 4-8x RTX PRO 6000 Blackwell (по 96 ГБ) и NVIDIA GB300 Grace Blackwell с 252 ГБ HBM3e + 496 ГБ унифицированной памяти.

OpenClawRadar
Как получить и продлить кредиты API Anthropic с помощью маршрутизатора Manifest
Гайды

Как получить и продлить кредиты API Anthropic с помощью маршрутизатора Manifest

В посте на Reddit описаны шаги по получению до $200 бесплатных кредитов API Anthropic и настройке роутера Manifest для автоматического перенаправления запросов к более дешёвым моделям, таким как Haiku, для простых задач, что продлевает срок действия кредитов с одного месяца до нескольких.

OpenClawRadar