30 минут до старта|самостоятельная кооперация трёх ролей|мульти-провайдерское резервирование|автоматизация сквозного цикла от требований до PR
Обзор проекта
TheBotCompany — платформа для AI-команд, которая позволяет вам «действительно отпустить» процесс. Суть идеи предельно проста: больше не вы один общаетесь с AI и пишете код, а вы собираете команду из нескольких AI Agent — один планирует, другой пишет код, третий проверяет. Они сами обсуждают, сами распределяют задачи и сами управляют прогрессом; вам остаётся вмешиваться лишь тогда, когда перед ними встаёт действительно требующий человеческого суждения вопрос.
В команде есть три фиксированные управленческие роли: Athena отвечает за стратегическое планирование — задаёт вехи и бюджет циклов; Ares ведёт команду к выполнению — разбивает вехи на конкретные задачи для worker-приагентов; Apollo занимается приёмкой — оценивает выход Ares по высоким стандартам и отправляет обратно, если результат не соответствует требованиям. Весь этот цикл не требует, чтобы вы постоянно следили — Dashboard в реальном времени показывает, что делает каждый Agent, сколько потрачено и с какими проблемами он столкнулся.
TIP
Адрес проекта: https://github.com/syifan/thebotcompany, лицензия MIT, поддержка 15+ типов LLM Provider.
Кому будет полезно
Эта статья предназначена для разработчиков:
- с определённым опытом разработки, которые хотят отдать рутинную кодогенерацию команде AI Agent и сосредоточиться на решениях и архитектуре
- интересующихся концепциями Multi-Agent кооперации и самоорганизующихся команд — и ищущих практические примеры
- уже использующих одиночный Agent для помощи в разработке, но желающих расшириться до нескольких Agent, работающих параллельно по разным направлениям
Если вы ищете инструмент в духе «настроил — и полностью расслабился», сначала стоит снизить ожидания: TheBotCompany заметно сокращает количество ручных вмешательств, но полностью без вас не обходится.
Ключевые зависимости и окружение
| Зависимость | Минимальные требования | Описание |
|---|---|---|
| Node.js | ≥ 20 | База для работы full-stack |
| GitHub CLI | установлен и выполнен вход | gh auth login для авторизации |
| LLM API Key | любой поддерживаемый Provider | Anthropic / OpenAI / Google / Groq и др., всего 15+ |
| Сеть | доступ к GitHub | Agent должен уметь работать с репозиторием |
WARNING
GitHub CLI (gh) — обязательное условие: Agent использует его для создания веток, отправки PR и выполнения Code Review. Если ваш gh ещё не проходил авторизацию, выполните gh auth login, а затем продолжайте.
Полное дерево структуры проекта
После установки и запуска в директории ~/.thebotcompany/ будет создана следующая структура:
~/.thebotcompany/
├── keys.json # API Keys, хранящиеся в зашифрованном виде
├── db.sqlite # база данных трекера Issue
├── config.yaml # глобальная конфигурация
└── logs/ # логи выполнения
Ваша директория проекта/
├── workers/ # определения навыков worker Agent'ов
│ ├── leo.md # Frontmatter: reports_to, role, model
│ └── maya.md
├── workspace/ # рабочие пространства для каждого Agent
│ ├── athena/note.md
│ ├── ares/note.md
│ └── leo/note.md
└── .tbc/ # проектная конфигурация (создаётся при создании проекта)
Пошаговая инструкция по установке
Шаг 1: установить TheBotCompany
npm install -g thebotcompany
Проверка установки:
tbc --version
Шаг 2: запустить сервис
tbc start
При первом запуске последовательно попросит вас настроить:
- Пароль для доступа к записи Dashboard — защита операций записи (пауза, восстановление, изменение конфигурации)
- Номер порта — по умолчанию
3100, просто нажмите Enter, чтобы принять значение по умолчанию
? Set a password for dashboard write access: ********
? Port to run the dashboard (default 3100):
После успешного старта Dashboard доступен по адресу http://localhost:3100. По умолчанию включён режим только чтения — чтобы что-то делать, нужно войти.
Шаг 3: настроить API Key
Откройте Dashboard (http://localhost:3100), нажмите Settings в правом верхнем углу и добавьте ваш API Key в панели Keys. Также можно задать ключи через переменные окружения — тогда при первом запуске они будут автоматически обнаружены:
# добавьте в .bashrc или .zshrc:
export ANTHROPIC_API_KEY=sk-ant-...
export OPENAI_API_KEY=sk-...
TIP
TheBotCompany поддерживает Key Pool: один и тот же Provider может иметь несколько ключей. Когда какой-то ключ срабатывает с лимитом по скорости, система автоматически переключится на следующий ключ — ручное вмешательство не требуется.
Шаг 4: создать проект через Dashboard
- Откройте
http://localhost:3100 - Нажмите New Project и заполните:
- Repository URL — адрес вашего GitHub Repo (нужно, чтобы у
ghбыли права) - Provider — выберите, какой LLM Provider использовать
- Model Tier — модели для разных уровней (high/mid/low)
- Repository URL — адрес вашего GitHub Repo (нужно, чтобы у
- Нажмите Create — управление передаётся Athena, и она начинает работу
Подробности архитектуры кооперации трёх ролей
Это самое ключевое проектное решение TheBotCompany. Поняв его, вы поймёте, как работает вся система.
Три фиксированные управленческие роли
| Роль | Функция | Когда срабатывает |
|---|---|---|
| Athena (стратегическое планирование) | определяет вехи, распределяет бюджет циклов, оценивает направления | будит при начале каждого нового цикла |
| Ares (исполнение разработки) | формирует команду worker Agent'ов, декомпозирует задачи, проталкивает реализацию | на этапе IMPLEMENTATION |
| Apollo (приёмка) | проверяет выход Ares по высоким стандартам и решает: принять или отправить обратно | на этапе VERIFICATION |
Полный цикл Cycle
Этап PLANNING (Athena)
→ запускаются Athena и её worker Agent'ы
→ исследование, оценка, мозговой штурм
→ определяются вехи → переход в IMPLEMENTATION
Этап IMPLEMENTATION (Ares)
→ запускаются Ares и его worker Agent'ы (до N циклов)
→ Ares объявляет о завершении → переход в VERIFICATION
→ превышен бюджет циклов → отправить обратно в PLANNING для переоценки
Этап VERIFICATION (Apollo)
→ запускаются Apollo и его worker Agent'ы
→ Apollo принимает → переход к следующему PLANNING
→ Apollo отправляет обратно → возврат в IMPLEMENTATION для исправлений
Как работают worker Agent'ы
Manager (Ares / Athena / Apollo) «нанимает» worker Agent'а, создавая .md файл в директории {project_dir}/workers/. У каждого файла фиксированный YAML frontmatter:
---
reports_to: ares # кому докладывать
role: Frontend Engineer # описание обязанностей
model: mid # какую модель использовать
---
# Frontend Engineer
Вы — фронтенд-инженер. Отвечаете за реализацию UI-компонентов и логики взаимодействий.
Когда Manager распределяет задачи worker'ам, он выдаёт ровно одну задачу на один цикл — нельзя за раз навалить пять задач. После завершения worker'а Manager читает note.md в рабочем пространстве, чтобы понять контекст, а затем решает, что делать дальше.
Способы общения между Agent'ами
Agent'ы не общаются напрямую, вместо этого они координируются через встроенный Issue Tracker:
- Ares нужны мнения Athena → создаётся Issue в Issue Tracker с назначением Athena
- Worker столкнулся с проблемой → создаёт Issue, Manager видит и обрабатывает
- нужно ручное вмешательство → создаётся GitHub Issue; заголовок начинается с
HUMAN:, вы входите в GitHub и отвечаете
TIP
Плюс такой конструкции в том, что все решения имеют след и их можно проверить — не возникает ситуации «Agent в каком-то разговоре сделал что-то, а потом забыли что именно».
Демонстрация полного процесса разработки
Step 1: создать проект через Dashboard
Откройте Dashboard и нажмите New Project:
Repository: https://github.com/your-username/your-repo
Provider: Anthropic
Model: claude-sonnet-4
После создания проекта на Dashboard появится карточка этого проекта со статусом PLANNING — Athena начинает работу.
Step 2: наблюдать процесс планирования Athena
В панели Dashboard Agent Reports можно увидеть вывод Athena. Она делает следующее:
- читает README проекта и существующий код, чтобы понять текущее состояние
- ищет релевантные технические подходы и best practices
- оценивает реализуемость требований
- формирует первую веху и её бюджет (сколько Cycle)
После того как веха определена, система автоматически переключается на этап IMPLEMENTATION — Ares выходит в работу.
Step 3: реализация и выполнение Ares
Статус на Dashboard переключается на IMPLEMENTATION, Ares начинает работу:
- Найм worker'ов — Ares создаёт файлы вроде
workers/leo.mdиworkers/maya.md - Распределение задач — в каждом Cycle одному worker выдаётся одна конкретная задача
- Проверка PR — после того как worker отправляет PR, Ares делает Code Review
- Контроль Cycle — если в рамках одного Cycle задача не выполнена, отправляет обратно, пробуя в следующем Cycle
Вы можете прямо в панели Dashboard Chat отправить сообщение Ares, чтобы скорректировать направление или добавить контекст.
Step 4: приёмка Apollo
Когда Ares объявляет о завершении вехи, система переключается в VERIFICATION, и выходит Apollo:
→ Apollo читает изменения в коде
→ запускает проверочные тесты (через GitHub Actions)
→ проверяет соответствие требованиям вехи
→ прошло → переходит к следующему PLANNING
→ не прошло → отправляет обратно в IMPLEMENTATION с пояснением, что именно не так
Стандарты Apollo выше, чем у Ares, поэтому нередко бывает ситуация «Ares считает, что готово, но Apollo отправляет обратно» — это нормально по дизайну, не баг.
Step 5: ручное вмешательство (если необходимо)
Когда Agent сталкивается с ситуацией, где действительно требуется человеческое решение, он создаёт GitHub Issue с заголовком, начинающимся с HUMAN::
HUMAN: Входная страница — OAuth или логин+пароль?
Пожалуйста, ответьте на этот Issue в GitHub, Agent продолжит по вашему ответу.
После вашего ответа Ares продолжит выполнение. Если вмешательство не нужно, можно просто поставить проект на паузу в Dashboard.
Подробности по функциям Dashboard
Dashboard TheBotCompany — это центр управления всей системой, где видны все статусы целиком.
Обзор проектов
На главной странице Dashboard отображаются карточки всех проектов; в каждой карточке показано:
- текущая стадия (PLANNING / IMPLEMENTATION / VERIFICATION)
- текущие счётчики Cycle / Epoch
- прогресс-бар вехи
- краткое содержание последнего Agent Report
Agent Reports
История выходов каждого проекта: поддерживается рендер Markdown и автоматические краткие резюме. Если вывод за какой-то Cycle получается особенно длинным, Dashboard автоматически сжимает его и показывает только ключевые выводы.
Issue Tracker
Всё координирование между Agent'ами происходит здесь:
- фильтрация по проекту
- фильтрация по статусу (Open / In Progress / Resolved)
- фильтрация по Agent
- отдельная панель Human Issues, где перечислены все запросы на апгрейд, требующие вашего участия
Chat
Внутри Dashboard есть встроенный вход для прямого диалога: можно выбрать любой проект, отправлять сообщения соответствующему Manager, добавлять контекст или менять направление. Поддерживаются потоковые ответы и загрузка изображений.
Cost Tracking
Детализация расходов для каждого проекта и каждого Agent:
- стоимость Last Cycle
- средняя стоимость за 24 часа
- накопленная общая стоимость
В сочетании с Budget Controls можно задать лимит скользящего бюджета на 24 часа; при превышении Agent автоматически уходит в сон.
Controls
Быстрые кнопки управления на Dashboard:
- Pause / Resume — поставить проект на паузу и восстановить (нужен вход)
- Skip Sleep — пропустить предустановленный интервал сна и сразу начать следующий Cycle
- Kill Run / Cycle / Epoch — принудительно завершить текущее выполнение
- Bootstrap — перезапустить, начиная с указанной вехи
TIP
Если worker Agent попал в бесконечный цикл (например, всё время повторяет одну и ту же неудачную схему), используйте Kill Run, а затем прямо в Chat сообщите Ares правильное направление — так вы выиграете намного больше времени, чем ждать, пока он сам исправится.
Мульти-Provider и управление Key Pool
Список поддерживаемых Provider
TheBotCompany встроенно поддерживает 15+ LLM Provider:
| Provider | Описание |
|---|---|
| Anthropic | серия Claude (API Key / OAuth) |
| OpenAI | GPT-4o / o1 и др. (API Key / OAuth) |
| серия Gemini (API Key / OAuth) | |
| Groq | бесплатный лимит с ограничением скорости, быстрое инференс-выполнение |
| Mistral | Le Chat / API |
| xAI | серия Grok |
| Amazon Bedrock | управляемые модели в AWS |
| Azure OpenAI | корпоративная версия OpenAI |
| Cerebras | сверхбыстрый инференс |
| HuggingFace | Inference API |
| Kimi Coding | Kimi от «Стороны Луны» |
| MiniMax | Minimax (компания из Китая,稀宇科技) |
| OpenRouter | шлюз-агрегатор для нескольких моделей |
| GitHub Copilot | подключение через OAuth |
| Custom | любые end-point, совместимые с OpenAI/Anthropic |
Как работает Key Pool
В панели Settings → Keys можно добавить несколько ключей для одного Provider и задать порядок приоритетов. Во время выполнения:
- система сначала использует ключ с самым высоким приоритетом
- если по этому ключу срабатывает rate limit (429) или не хватает квоты → автоматически переключается на следующий ключ
- после окончания времени охлаждения ключ снова становится доступным и возвращается в ротацию
Это особенно полезно для проектов, которые работают долго: не нужно переживать, что один ключ исчерпается и остановит всю команду Agent.
Настройка Model Tier
Для каждого проекта можно задать, какие модели использовать на разных уровнях:
# проектная .tbc/config.yaml
model_tiers:
high: claude-opus-4 # сложные архитектуры, глубокое рассуждение
mid: claude-sonnet-4 # по умолчанию: баланс возможностей и стоимости
low: claude-haiku-3 # простые повторяющиеся задачи, форматирование
Также можно изменить настройки напрямую через UI в панели Settings Model Tier Overrides — не нужно трогать конфигурационные файлы.
Частые проблемы и способы устранения
Q1: после запуска tbc start Dashboard не открывается, показывается Connection Refused
Причина: порт занят или сервис не стартовал корректно.
Как проверить:
# 1. проверьте, запущен ли tbc
tbc status
# 2. если не запущен — запустите вручную и посмотрите вывод ошибок
tbc dev
# 3. если порт занят — укажите другой порт
TBC_PORT=3200 tbc start
Q2: команда Agent всё время зависает в PLANNING и не переходит в IMPLEMENTATION
Причина: Athena проводит глубокое исследование или ждёт результаты от worker Agent'ов, но ещё не успела определить веху.
Решение:
Откройте Dashboard → Agent Reports и посмотрите последнюю выдачу Athena. Если она ждёт результаты исследования какого-то worker'а, можно использовать /tbc logs, чтобы проверить серверные логи и убедиться, что процесс действительно завис. Если всё же зависло — прямо в панели Dashboard Chat отправьте Athena сообщение: «Пожалуйста, определите первую веху на основе имеющейся информации; не нужно ждать ещё больше исследований.»
Q3: GitHub PR не создаётся автоматически, а в Issue Tracker указана ошибка прав
Причина: gh CLI не авторизован корректно или недостаточно прав у токена.
Как проверить:
# 1. проверьте статус входа gh
gh auth status
# 2. если нет входа — выполните повторную авторизацию (нужны права на repo)
gh auth login --scopes repo
# 3. убедитесь, что remote URL в директории проекта указан правильно
cd /path/to/your-project
git remote -v
Q4: Apollo постоянно отправляет обратно реализации Ares, из-за чего Cycle уходит в бесконечный цикл
Причина: каждый раз, когда Ares исправляет, направление правок не совпадает с ожиданиями Apollo, либо критерии вехи сформулированы недостаточно чётко.
Решение:
В панели Dashboard Chat отправьте Ares: «Причина, по которой Apollo отправил обратно: [вставьте конкретные замечания из Apollo Report]. Перед тем как исправлять, сначала убедитесь, что вы понимаете стандарты Apollo, и согласуйте с Apollo направление исправлений».
Если критерии Apollo оказываются слишком строгими, на этапе PLANNING можно попросить Athena скорректировать условия приёмки вехи.
Q5: расходы сильно выше ожиданий — хочу немедленно остановить всех Agent
Решение:
# вариант 1: управление через Dashboard
# вход в Dashboard → карточка каждого проекта → Controls → Pause
# вариант 2: остановка через CLI
tbc stop
# вариант 3: настройка лимита бюджета (вступит в силу при следующем запуске)
# в Dashboard Settings → Budget Controls задайте лимит 24h
WARNING
tbc stop — глобальная остановка: она остановит все проекты и всех Agent. Если нужно остановить только один проект, достаточно в Dashboard отдельно поставить на паузу именно тот проект.
Q6: добавили несколько API Key, но Agent постоянно использует один и тот же ключ, из-за чего срабатывают лимиты
Причина: неверно настроен порядок приоритетов в Key Pool или время охлаждения для rate limit'а ключа ещё не закончилось.
Решение:
В Dashboard Settings → Keys проверьте статусы каждого ключа:
- Active — ключ активно используется
- Cooldown — сработал лимит скорости, ключ в охлаждении
- Exhausted — квота исчерпана
Если какой-то ключ долго находится в Cooldown, вручную переместите его в конец списка, чтобы система переключилась на следующий ключ.
Дополнительное чтение и направления развития
1. Настройка навыков worker Agent'ов
Создайте новый .md файл в workers/, чтобы расширить возможности команды:
---
reports_to: ares
role: DevOps Engineer
model: mid
---
# DevOps Engineer
Вы — DevOps-инженер, вы отлично разбираетесь в CI/CD пайплайнах, контейнеризации и инфраструктуре как коде.
Manager автоматически обнаружит добавленные worker Agent'ы, и при старте следующего Cycle их можно будет планировать.
2. Подключение кастомного Provider
Если нужно подключить LLM-сервис внутри компании (в формате, совместимом с OpenAI или Anthropic), в Settings → Keys → Add Custom Provider:
{
"name": "my-internal-llm",
"baseUrl": "https://llm.internal.company.com/v1",
"apiKey": "sk-internal-...",
"model": "gpt-4"
}
WARNING
Custom Provider по умолчанию отключён (TBC_ALLOW_CUSTOM_PROVIDER=false), потому что он будет отправлять запросы по URL, указанному пользователем; есть риск SSRF. Перед включением убедитесь, что адреса во внутренней сети недоступны из публичного интернета.
3. Глубокая интеграция с GitHub Actions
Дизайн Agent'ов TheBotCompany поощряет перенос долгих тестов и сборок в GitHub Actions. В файле навыка worker Agent'а задайте:
Никогда не запускайте напрямую в терминале тесты, которые занимают больше 5 минут. Все тестовые наборы должны запускаться через GitHub Actions.
Тогда, когда Agent будет убит из-за таймаута в Cycle, уже выполненные изменения кода и результаты CI не пропадут.
4. Управление несколькими проектами и общий обзор
Если вы одновременно запускаете несколько проектов (open-source, Side Project, коммерческий проект), единый Dashboard TheBotCompany показывает на одной странице статусы, расходы и распределение проблем по всем проектам. Используйте Project Filters на верхнем уровне для быстрого переключения, а панель Human Issues централизованно обрабатывает все запросы на эскалацию — ничего важного, требующего вашего решения, не будет упущено.
5. Тонкий контроль бюджета и стоимости
По умолчанию 24-часовой скользящий лимит бюджета общий для всей системы. Если вы хотите задать разные бюджеты для разных проектов, запустите несколько экземпляров TheBotCompany (разные каталоги TBC_HOME). Каждый экземпляр будет независимо управлять набором проектов и бюджетов и не будет мешать другим.