Библиотека · Запуск: оплата, секреты, законы, журналы

Управление армией агентов — журналы, контроль, ClickUp и CRM

Строитель70 минОбновлено: октябрь 2026
87 из 105 в библиотеке

Модуль: Профессиональная практика | Время: ~30 мин теории + 40 мин практики


Суть урока

Когда у тебя один агент — всё понятно. Когда их 10+ — ты перестаёшь понимать кто что сделал, сколько это стоило и почему вчера что-то пошло не так.

🎨 Образ: ресторан с одним поваром vs ресторан с командой из 15 человек. Одного повара ты контролируешь взглядом. Команду из 15 — только через журнал заказов, KPI и смены. Без этого хаос: два повара готовят одно блюдо, третий простаивает, шеф не знает что происходит на кухне.

Этот урок — про то, как навести порядок в армии агентов. Аудит, журналы, статус дашборды, интеграция с ClickUp и CRM.


Ключевые концепции

  • Почему "чёрный ящик" = корень всех проблем с агентами
  • Три уровня логирования: файл, база данных, внешний PM-инструмент
  • ClickUp MCP — агент сам создаёт задачи и обновляет статус
  • Notion как база знаний агентных результатов
  • CRM-интеграция: завершил работу — обновил клиентскую карточку
  • STATUS.md — живой дашборд который Claude обновляет сам

Теория

Проблема "чёрного ящика"

Без управления агенты работают как чёрные ящики: ты запустил, они что-то сделали, вернули результат. Что происходило внутри? Кто из них запустился первым? Почему один завис? Сколько денег сожгли за ночь?

🎨 Образ: такси без счётчика и без маршрута. Довезло? Отлично. Сколько стоило? Непонятно. Почему опоздало? Загадка. Можно ли повторить маршрут точно так же? Нет.

Пять симптомов "чёрного ящика":

  1. Не знаешь сколько стоила конкретная агентная задача
  2. Не можешь воспроизвести результат — непонятно что именно агент делал
  3. Не знаешь кто запускал агента и когда
  4. При ошибке — не понятно на каком шаге она произошла
  5. Клиент спрашивает "что делал ваш AI?" — нечего показать

С управлением картина обратная: полный audit trail, воспроизводимость, ответственность, прозрачность для клиента.


Три уровня логирования

Логи агентов бывают трёх уровней — выбирай по задаче.

Уровень Где хранить Когда использовать
1 — Файловый agent-log.jsonl в проекте Личные проекты, соло
2 — База данных Supabase таблица Команда, многопользовательский доступ
3 — PM-инструмент ClickUp / Linear / Notion Клиентские проекты, reporting

Начинай с уровня 1. Поднимайся выше когда появляется команда или клиенты.


Уровень 1: Файловый лог (agent-log.jsonl)

JSONL — формат "одна строка = одна запись". Удобно: можно дописывать в конец без перезаписи всего файла, легко парсить, поддерживает grep.

Суммы и даты в примерах ниже условные.

json
{"ts":"2026-05-09T14:23:00Z","agent":"researcher","task":"market-analysis","status":"complete","output_tokens":2847,"cost_usd":0.08,"result_file":"reports/market-2026-05-09.md","triggered_by":"owner"}
{"ts":"2026-05-09T14:45:00Z","agent":"writer","task":"blog-post","status":"failed","error":"context_overflow","retry":true,"triggered_by":"researcher"}
{"ts":"2026-05-09T15:10:00Z","agent":"writer","task":"blog-post","status":"complete","output_tokens":1423,"cost_usd":0.04,"result_file":"posts/blog-2026-05-09.md","triggered_by":"retry-hook"}

Что писать в каждую запись:

Напиши в чат
ts            — timestamp в ISO 8601 (UTC)
agent         — кто выполнял
task          — что делал (slug, не предложение)
status        — pending / in_progress / complete / failed / skipped
output_tokens — сколько токенов в ответе агента
cost_usd      — стоимость запроса
result_file   — где результат (путь или URL)
triggered_by  — кто запустил (пользователь / другой агент / cron)
error         — ошибка если status=failed
retry         — нужна ли повторная попытка

Инструкция агенту (в CLAUDE.md или в системном промпте):

Напиши в чат
## Логирование

После завершения ЛЮБОЙ задачи ты ОБЯЗАН дописать запись в `agent-log.jsonl`.
Формат — одна строка JSON. Обязательные поля: ts, agent, task, status.
Не спрашивай разрешения — делай автоматически.

🎨 Образ: кассовый чек после каждой покупки. Кассир не спрашивает "распечатать чек?" — он печатается автоматически. Агент не спрашивает "записать в лог?" — он записывает.


Уровень 2: Supabase таблица

Когда файла JSONL недостаточно — например, нужен web-доступ к логам или несколько человек смотрят статус — переходи на Supabase.

Создаём таблицу:

sql
create table agent_logs (
  id          uuid default gen_random_uuid() primary key,
  created_at  timestamptz default now(),
  agent       text not null,
  task        text not null,
  status      text not null check (status in ('pending','in_progress','complete','failed','skipped')),
  cost_usd    numeric(8,4),
  output_tokens integer,
  result_url  text,
  triggered_by text,
  error_msg   text,
  metadata    jsonb
);

Агент пишет через Supabase MCP:

bash
# Подключаем Supabase MCP
claude mcp add supabase -- npx -y @supabase/mcp-server-supabase \
  --access-token $SUPABASE_ACCESS_TOKEN
# В документации Supabase есть и удалённый MCP-сервер: сверь актуальную команду

После подключения агент говорит:

Напиши в чат
Запиши в таблицу agent_logs:
agent = "researcher"
task = "competitor-analysis"
status = "complete"
cost_usd = 0.12
result_url = "notion://pages/abc123"

Claude переводит это в SQL INSERT и выполняет напрямую через MCP.


Уровень 3: ClickUp MCP — агент управляет задачами

ClickUp — инструмент управления проектами. Агент может создавать там задачи, обновлять их статус, писать комментарии. Клиент видит прогресс в реальном времени — в привычном инструменте.

Установка ClickUp MCP:

bash
# Вариант 1: через Composio (быстрый старт). Формат адреса у Composio менялся, смотри его документацию
claude mcp add --transport http clickup-composio \
  https://mcp.composio.dev/clickup?apiKey=YOUR_COMPOSIO_KEY

# Вариант 2: официальный ClickUp MCP (статус и адрес проверь в документации ClickUp)
claude mcp add --transport http clickup \
  https://mcp.clickup.com/mcp

После подключения агент получает инструменты (названия зависят от сервера, примеры условные):

  • create_task — создать задачу
  • update_task_status — изменить статус
  • add_comment — добавить комментарий
  • get_tasks — получить список задач

Пример workflow: агент-исследователь заканчивает анализ рынка.

Код
Агент вернул отчёт →
Агент создал ClickUp задачу "Market Analysis — Ecuador Real Estate 2026-05" →
Прикрепил результат →
Поставил status = Done →
Создал следующую задачу "Write blog post based on research" →
Ты получил уведомление в ClickUp

Инструкция агенту:

markdown
## ClickUp интеграция

После завершения каждой задачи:
1. Обнови статус задачи в ClickUp на "Done" (используй update_task_status)
2. Добавь комментарий с кратким summary (2-3 строки)
3. Если есть следующий шаг — создай новую задачу
4. Списки ClickUp: Research → List ID 901234, Writing → List ID 901235

🎨 Образ: ClickUp — доска задач в офисе. Раньше менеджер вручную переставлял стикеры. Теперь агент сам передвигает стикеры — менеджер просто смотрит на доску.


STATUS.md — живой дашборд

Файл STATUS.md который Claude обновляет после каждого завершённого задания:

Напиши в чат
# STATUS.md — AI Operations Dashboard

> Обновлено: 2026-05-09 15:47 UTC

## Активные агенты

| Агент | Задача | Статус | Стоимость | Обновлено |
|-------|--------|--------|-----------|-----------|
| researcher | market-analysis Ecuador | ✅ Done | $0.08 | 14:23 |
| writer | blog-post недвижимость | 🔄 In Progress | $0.04 | 15:10 |
| designer | thumbnail YouTube | ⏳ Queued | — | — |
| deployer | production deploy | ❌ Failed | $0.02 | 15:30 |

## Сегодня потрачено

- Всего: $0.14
- Агентов запущено: 4
- Успешно: 2 / Ошибок: 1 / В работе: 1

## Последние ошибки

- **deployer** 15:30 — context_overflow при деплое. Retry scheduled 16:00.

Добавь агенту в CLAUDE.md: "После каждой завершённой задачи обновляй STATUS.md: свою строку + итог дня."


Notion MCP — база знаний

ClickUp = для задач и процессов. Notion = для знаний и результатов.

Каждый агент-исследователь пишет структурированный вывод в Notion. Другой агент потом читает это и не делает ту же работу заново.

bash
# Официальный удалённый MCP-сервер Notion (адрес сверяй в документации Notion)
claude mcp add --transport http notion https://mcp.notion.com/mcp
# При подключении Notion попросит войти и выдать доступ к нужным страницам

Инструкция агенту:

Напиши в чат
## Notion — сохранение результатов

После каждого исследования создай страницу в базе "Research":
- Заголовок: [Тема] — [Дата]
- Теги: тип исследования, регион, проект
- Содержание: ключевые выводы (3-5 пунктов), источники, уверенность в данных
- Ссылка на полный отчёт

Перед началом нового исследования — сначала поищи в Notion.
Если похожая работа уже есть — используй её.

🎨 Образ: корпоративная Wiki. Когда уходит сотрудник — знания не уходят вместе с ним. Когда "уходит" сессия агента — знания остаются в Notion.


Audit Trail с Git хешами

Самый надёжный audit trail — Git коммиты.

json
{
  "ts": "2026-05-09T14:23:00Z",
  "agent": "researcher",
  "task": "competitor-analysis",
  "git_before": "abc123def",
  "git_after": "456789ghi",
  "files_changed": ["reports/competitors-2026-05-09.md"],
  "cost_usd": 0.08,
  "status": "complete",
  "duration_sec": 127
}

git diff abc123 456789 — покажет каждую строку которую изменил агент. Полная воспроизводимость.


CRM интеграция (HubSpot / Pipedrive)

Агент закончил анализ для клиента → в CRM автоматически появляется запись.

bash
# HubSpot через Composio (формат адреса сверяй с документацией Composio)
claude mcp add --transport http hubspot \
  https://mcp.composio.dev/hubspot?apiKey=YOUR_KEY

Инструкция агенту:

Напиши в чат
## CRM обновление

Если задача связана с клиентом (есть client_id):
1. Добавь заметку в HubSpot: "[Агент] завершил [задачу]. Результат: [одна строка]"
2. Обнови поле "Last AI Action" датой
3. Если есть следующий шаг для менеджера — создай задачу в CRM

🎨 Образ: раньше менеджер после каждого звонка вручную заходил в CRM. Теперь агент сам обновляет CRM. Менеджер видит актуальный статус без ручной работы.


Модель зрелости — с чего начать

Код
Ступень 1: agent-log.jsonl (15 мин)
↓
Ступень 2: STATUS.md (30 мин)
↓
Ступень 3: ClickUp MCP (2 часа)
↓
Ступень 4: Notion база знаний (2-3 часа)
↓
Ступень 5: CRM интеграция (3-4 часа)
↓
Ступень 6: Supabase + полный audit trail (1 день)

Начни со ступени 1 сегодня.


Практика

  1. Создай agent-log.jsonl и добавь инструкцию агенту в CLAUDE.md
  2. Создай STATUS.md с таблицей агентов
  3. Запусти любого агента и проверь что оба файла обновились
  4. (Опционально) Подключи ClickUp MCP если есть аккаунт
  5. (Опционально) Подключи Notion MCP для сохранения результатов
bash
# Шаг 1
touch agent-log.jsonl

# Шаг 2
cat > STATUS.md << 'EOF'
# STATUS.md

> Обновлено: вручную

## Активные агенты

| Агент | Задача | Статус | Стоимость |
|-------|--------|--------|-----------|
| — | — | — | — |
EOF

# Шаг 3 — проверка после работы агента
tail -5 agent-log.jsonl

Инструменты и ресурсы

  • ClickUp MCP — официальный сервер ClickUp (проверь статус в документации)
  • Composio — сотни интеграций через один MCP
  • Notion MCP — документация официального MCP Notion
  • Supabase MCP — для баз данных
  • HubSpot через Composio — CRM интеграция

Ключевые выводы

Агенты без журналов — чёрные ящики. Начни с agent-log.jsonl (15 минут) — одна строка JSON после каждой задачи.

STATUS.md — живой дашборд: агент обновляет сам. Ты видишь состояние всей армии одним взглядом.

ClickUp MCP: агент сам создаёт задачи и обновляет статус. Клиент видит прогресс в своём инструменте.

Notion — память между сессиями. Исследование оплачиваешь один раз, а не каждый раз заново.


Следующий урок

→ Локальные AI модели — Ollama, LM Studio и приватный AI

Отметка хранится только в этом браузере и никуда не отправляется. Мой прогресс