Игорь Градов
Игорь Градов
6 мин
ai

Claude агенты без фреймворков: 600 строк Python закрыли 954 задачи за 60 дней

Агенты Claude (ИИ-агенты, программы, которые сами выполняют задачи и передают работу друг другу) звучат как сложная инженерная история, но один разработчик из России показал, что координация дюжины таких агентов укладывается в 600 строк Python и один текстовый файл.

Claude агенты без фреймворков: 600 строк Python закрыли 954 задачи за 60 дней
Почему это важно

Автор SKUmind, аналитического сервиса для продавцов на Ozon, за 60 дней закрыл 954 из 1002 задач с медианным временем 47 минут на задачу, причём без единого модного фреймворка для агентов, только стандартная библиотека Python и markdown-файл.

Материал основан на публикации разработчика SKUmind, который ведёт весь продукт в одиночку через Claude Code, инструмент Anthropic для работы с кодом. Он перепробовал три способа координации агентов Claude, все провалились, и нашёл четвёртый, который работает. Ниже его опыт переложен в пошаговую инструкцию.

Что понадобится?

  • Claude Code с подпиской, поддерживающей несколько окон (сессий)
  • Python 3 со стандартной библиотекой, без сторонних пакетов
  • Текстовый редактор или IDE (автор использует VS Code)
  • Один markdown-файл для доски задач
  • Примерно 2 часа на первичную настройку ролей и хука
  • Базовое понимание, что такое системный промпт (системный промпт, стартовая инструкция, которую модель получает перед каждым ответом и которая задаёт поведение)

Как собрать координацию агентов Claude шаг за шагом?

1. Определите роли и границы каждого агента

Создайте JSON-конфиг, где у каждой роли есть поле boundaries, жёсткое описание того, что роль делает и чего не делает. Автор использовал четыре роли:

{
  "id": "coder-tl",
  "name": "Техлид",
  "boundaries": "Архитектура, ревью, код. Деплой на прод только ты."
},
{
  "id": "ba",
  "name": "Бизнес-аналитик",
  "boundaries": "ЧТО строить: требования, ТЗ, спеки. Не кодишь: код передаёшь техлиду."
},
{
  "id": "mediabuyer",
  "name": "Медиабайер",
  "boundaries": "Платный трафик, ключи, брифы для Директа и РСЯ. Не кодишь."
},
{
  "id": "qa",
  "name": "QA-инженер",
  "boundaries": "Находишь, репортишь и верифицируешь баги. Не чинишь код, фикс передаёшь техлиду."
}

Эти границы подставляются в системный промпт агента при каждом ходе. Без них модель «вежливо помогает» за пределами роли: тестировщик начинает чинить баг, аналитик пишет код. По отдельности выглядит полезно, в сумме ломает разделение труда.

2. Создайте доску задач как обычный markdown-файл

Паттерн называется blackboard (общая доска). Файл разбит на секции по ролям, внутри каждой секции строки задач:

## coder-tl
- [open] 2026-07-10 (from ba): уточнить контракт эндпоинта /v1/pnl
- [done] 2026-07-09 (from qa): баг в пересчёте комиссии при возврате

## qa
- [open] 2026-07-10 (from coder-tl): проверить миграцию после фикса

Файл хранится локально, не в облачной синхронизируемой папке. Автор отдельно подчёркивает: параллельная запись из нескольких окон в синхронизируемую директорию даёт конфликтующие копии и потерянные задачи.

3. Решите проблему идентификации окна

Переменные окружения не подходят: панели VS Code делят одно окружение процесса. Все окна считают себя последним объявленным агентом.

Рабочее решение: Claude Code передаёт хукам параметр session_id, уникальный идентификатор сессии окна. Он стабилен, пока окно живо. При первом запуске окна привяжите session_id к конкретной роли из конфига, и дальше хук при каждом вызове знает, «кто» это окно.

4. Вынесите протокол координации в хук, а не в конфиг проекта

Автор отказался от записи правил координации в CLAUDE.md (файл, который Claude Code читает автоматически). Причины две:

  • Файл лежит в репозитории и виден всем, кто откроет проект
  • Файл один, а проектов несколько, роли в них разные

Протокол живёт в хуке: скрипт на Python, который вызывается при каждом ходе агента, подставляет в промпт роль, границы и текущие задачи с доски.

5. Запустите цикл: агент читает доску, берёт задачу, пишет результат

Каждое окно Claude Code при каждом ходе:

  • получает через хук свою роль и границы
  • видит свою секцию доски с открытыми задачами
  • выполняет задачу и помечает её как закрытую
  • при необходимости создаёт новую задачу в секции другой роли

Вы как человек вмешиваетесь только когда задача эскалирована на роль «основатель».

Как это выглядит на практике

Бизнес-аналитик уточнил требование к расчёту прибыли и записал на доску задачу для техлида: [open] (from ba): уточнить контракт эндпоинта /v1/pnl. Техлид взял задачу, написал код, закрыл свою строку, добавил задачу для QA: [open] (from coder-tl): проверить миграцию после фикса. QA нашёл баг и вернул задачу техлиду, не починив сам, потому что в его границах написано: «Не чинишь код, фикс передаёшь техлиду». Вся цепочка прошла без участия человека. Автор описывает, что из 1002 задач 954 были закрыты именно так, с медианой 47 минут от постановки до закрытия.

Что делать с этим прямо сейчас?

Автору Дзена. Модель с ролями применима к контент-производству: один агент пишет черновик, второй проверяет факты, третий адаптирует под площадку. Границы не дают агентам «помогать» друг другу и путать результат. Начните с двух ролей и текстовой доски, даже без кода.

Маркетологу. Роль «медиабайер» из примера собирала ключевые слова и брифы для Директа и РСЯ. Если вы управляете платным трафиком и контентом одновременно, разделение через доску снимает нагрузку «маршрутизатора», того, кто носит информацию между задачами.

Предпринимателю в РФ. SKUmind работает на Ozon, автор пишет из российского контекста. Claude Code доступен по подписке Anthropic, из РФ потребуется VPN и оплата через зарубежную карту. Альтернатива: тот же паттерн доски применим к любой рассуждающей модели с API, включая доступные в России YandexGPT или GigaChat, хотя возможности кодогенерации у них на данный момент скромнее.

Частые ошибки

Облачная синхронизация доски. Dropbox, iCloud, «Яндекс Диск» при параллельной записи из нескольких процессов создают конфликтующие копии. Доска должна лежать локально.

Отсутствие границ в промпте. Без строки boundaries модель начинает «помогать» за пределами роли. Тестировщик правит код, аналитик деплоит. Каждый случай по отдельности выглядит разумно, в сумме это хаос.

Попытка использовать переменные окружения для идентификации. В VS Code панели делят один процесс. Переменная, выставленная для одного окна, видна всем.

Сложный транспорт вместо простого файла. Автор пробовал Telegram-бота и остановился: проблема была не в доставке сообщений (окна на одной машине), а в отсутствии структуры. Бот превращает координацию в чат, где «всё написано и ничего не найдено».

Мнение редакции dzen.guru

Самое ценное в этом кейсе не технология, а отказ от технологий. Автор перебрал переменные окружения, Telegram-бота, инъекцию в конфиг и остановился на текстовом файле и 600 строках Python без единой внешней зависимости. По моим наблюдениям, большинство тех, кто пробует агентов Claude, застревают именно на этапе «какой фреймворк взять», хотя реальное узкое место не инструмент, а структура: кто кому что должен, что висит, что закрыто. Честная оговорка: автор не выложил код в открытый доступ, это внутренний инструмент. Но механику он показал снипетами (фрагментами кода), и её достаточно, чтобы собрать свою версию. Начните с двух ролей и одной доски, не с двенадцати окон.

Паттерн blackboard существует десятилетия, задолго до нейросетей. То, что он оказался лучшим решением для координации агентов Claude в 2025 году, говорит о простой вещи: прежде чем искать модный фреймворк, стоит проверить, не решит ли задачу текстовый файл.

Попробуйте промпт-конструктор dzen.guru

Соберите системный промпт для своих агентов с готовыми шаблонами ролей и границ

Попробовать бесплатно
Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

VK заменила ручную разметку 500 млн роликов нейросетью для поиска видео по описанию
ai

VK заменила ручную разметку 500 млн роликов нейросетью для поиска видео по описанию

Разметка видео вручную при базе в 500 миллионов роликов превращается в бутылочное горлышко: инструкции разрастаются, асессоры не успевают, а пики нагрузки…

5 мин
Кризис в журналистике США оставил инструкцию: как побеждать при 100 заявках на слот
ai

Кризис в журналистике США оставил инструкцию: как побеждать при 100 заявках на слот

Российские авторы массово выходят на фриланс, и конкуренция за заказы растёт каждый месяц, а в 2013 году американская журналистика уже прошла через точно такой…

7 мин
Четыре новые модели ИИ за четыре дня: впервые можно сравнить всех лидеров напрямую
ai

Четыре новые модели ИИ за четыре дня: впервые можно сравнить всех лидеров напрямую

Компания OpenAI, Anthropic, SpaceXAI и Meta с 7 по 10 июля выпустили новые модели ИИ почти одновременно, и эта синхронность впервые позволяет сравнить цены,…

6 мин