docs/BRAINSTORM-AGENTS-2026-02-20.md

7.4 KiB
Raw Blame History

Брейншторм: механика подключения агентов к Team Board

Дата: 2026-02-20

Архитектура

Хозяин ──голос──→ Марков ──HTTP API──→ Team Board (Tracker)
Хозяин ──веб────→ team.uix.su ──────→       ↑
Хозяин ──tg─────→ Telegram Bridge ──WS──→    │
                                              │
Агент-Архитектор ──────────────────WS/HTTP──→ │
Агент-Кодер #1 ────────────────────WS/HTTP──→ │
Агент-Кодер #2 ────────────────────WS/HTTP──→ │

Все входы равноправны. Team Board — центральный хаб. Система работает без Маркова.

Роли

Роль Кто Что делает
Хозяин Eugene Ставит задачи, контролирует, одобряет MR
Марков OpenClaw Голосовой интерфейс хозяина, менеджер (необязателен)
Архитектор Агент (Opus) Декомпозиция фич → задачи, координация
Кодер Агент (Sonnet) Кодинг, MR, исправление конфликтов
Bridge Telegram бот Дублирует чат в Telegram и обратно

Один Runner — разные роли

  • Один и тот же binary/процесс
  • Роль определяется конфигом: модель, prompt, capabilities
  • Скилл для Runner'ов описывает взаимодействие с Tracker

Транспорт

  • WebSocket — основной (persistent connection, события в реальном времени)
  • HTTP Callback — альтернативный (Tracker POST'ит события на URL агента)
  • HTTP API — для файлов, задач, регистрации

Агент = чёрный ящик

  • Получает сообщения / задачи
  • Имеет LLM + tools (Read, Write, Edit, Bash, WebSearch...)
  • Отвечает в чат, создаёт подзадачи, открывает MR
  • Настройки (prompt, роль) на стороне агента

Задачи

Жизненный цикл

backlog → todo → in_progress → in_review → done
                     ↑              ↓
                     └── rejected ──┘
  • backlog → todo = назначение (человек или архитектор)
  • todo = готова к работе, агент может взять
  • task.take — атомарная операция (кто первый — того и тапки)
  • Большая задача → агент сам разбивает на подзадачи

Назначение

  1. Человек назначает вручную
  2. Архитектор создаёт и назначает
  3. Агент сам берёт из todo по capabilities
  4. Через чат: "ребята, новая задача"

Git workflow

  • Агент клонит repo в свою рабочую директорию
  • Работает в отдельной ветке
  • По завершении → Merge Request
  • Ревью (агент/человек) → approve/reject
  • Конфликты: решает тот, чей MR. После — повторный review.
  • Автомерж после approve

Файлы проекта — гибрид

  • Git repo — опционально (привязывается если проект кодовый)
  • File storage — всегда (docs, картинки, видео, attachments)
  • Доступ через HTTP API (агент может быть на другом сервере)
  • Чат и задачи поддерживают прикрепление файлов

Проекты ≠ только код

  • Кодовый проект: repo + files
  • Документационный: только files
  • Медийный: только files

Контекст проекта

  • Документация в docs/ проекта или в file storage
  • Все агенты в чате = все в контексте
  • НЕ привязываемся к конкретному LLM (никаких CLAUDE.md)
  • Скилл для Runner'ов описывает где что искать

Проблема "глухого агента"

  • LLM query() блокирующий — агент не слышит новых сообщений
  • Решения: короткие задачи + checkpoint pattern (чекать между шагами)

Чат = лента событий

  • Сообщения людей + агентов + системные уведомления
  • MR создан/approved/rejected → в чат
  • Статус задачи изменился → в чат
  • Можно фильтровать по типу

Уведомления

  • Всё в чат Team Board
  • Telegram Bridge дублирует в Telegram группу
  • Типы: task_created, task_updated, mr_created, mr_approved, agent_connected

Безопасность

  • Аутентификация через токены (прописываются заранее при регистрации агента)
  • Каждый агент = уникальный токен
  • Пока без OAuth/сложной авторизации

Мониторинг

  • Heartbeat — Tracker пингует агентов периодически
  • Если агент не отвечает → статус offline
  • Уведомление в чат: "Агент X перестал отвечать"

Тестирование / Ревью

  • Другие агенты проверяют результат (агент-ревьюер)
  • CI/CD на MR (Gitea Actions) — автотесты

Интеграция агентов с Tracker

  • MCP-сервер для Tracker — нативные tools (create_task, send_message и т.д.)
  • Скилл (fallback) — для моделей без MCP, инструкции с curl
  • Скилл для правил — роль, стиль работы, когда что делать
  • MCP = tools (ЧТО делать), Скилл = правила (КАК делать)
  • Скилл можно автогенерировать из MCP-описания

Открытые вопросы

  • Формат скилла для Runner'ов (взаимодействие с Tracker)
  • Как агент определяет релевантность задачи для себя?
  • Автоматическое назначение по capabilities (будущее)
  • Интеграция с Gitea API для MR
  • UX веб-клиента (отдельная тема)

Референсы

  • MetaGPT (github.com/FoundationAgents/MetaGPT) — промпты ролей (PM, Architect, Engineer, QA), pub/sub между ролями, SOP. Забрать промпты для назначения ролей агентам.
  • Claude Flow / Ruflo — claims, swarm топологии, multi-provider
  • BMAD Method — brainstorming workflow, party mode (мульти-ролевой prompt)