Относиться к подагентам 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: Haiku, Sonnet и Opus
Гайды

Практическая система выбора между моделями Claude: Haiku, Sonnet и Opus

Разработчик протестировал три модели Claude на задаче по рефакторингу Express.js объёмом 400 строк и обнаружил, что ключевое различие заключается в глубине рассуждений, а не в интеллекте. Haiku 4.5 справилась с простыми частями, но пропустила порядок промежуточного ПО, Sonnet 4.6 нашла проблему с порядком и добавила типы TypeScript, а Opus 4.6 выявила уязвимость безопасности в промежуточном ПО для аутентификации.

OpenClawRadar
Оптимизация настройки OpenClaw: Практические шаблоны и идеи
Гайды

Оптимизация настройки OpenClaw: Практические шаблоны и идеи

Пользователи OpenClaw делятся эффективными шаблонами настройки, такими как использование cron для запланированных задач и создание специализированных подпомощников, чтобы улучшить функциональность и экономическую эффективность.

OpenClawRadar
AGENTS.md Правильно: Повышение точности на 25% — или падение на 30%
Гайды

AGENTS.md Правильно: Повышение точности на 25% — или падение на 30%

Компания Augment Code провела соревновательное тестирование файлов AGENTS.md: лучшие из них дают эффект, сопоставимый с обновлением модели с Haiku до Opus; худшие — ухудшают результат. Таблицы решений, процедурные рабочие процессы и прогрессивное раскрытие информации оказались наиболее эффективными.

OpenClawRadar
12GB VRAM 基准测试:在 RTX 4070 Super 上运行 Qwen 3.6 和 Gemma 4 模型
Гайды

12GB VRAM 基准测试:在 RTX 4070 Super 上运行 Qwen 3.6 和 Gemma 4 模型

Пользователь Reddit делится подробными бенчмарками скорости для Qwen3.6-35B-A3B, Qwen3.6-27B, Gemma 4 26B и Gemma 4 31B на 12 ГБ RTX 4070 Super с оптимизированными настройками llama.cpp.

OpenClawRadar