Weft
RU
Блог

Несколько ИИ-агентов на одной доске: практическое руководство

Как вести Claude Code, Codex и ChatGPT на одной доске без двойной работы: контракт задачи, атомарный захват, аренды и одна очередь на просмотр.

Weft — это ИИ-менеджер задач для соло-основателей и небольших команд.

Все статьи

Автор: Andrei Finogeev ·

Да, два или три ИИ-клиента могут делить одну доску — при условии, что доска решает, кому принадлежит каждая задача. В Weft Claude Code, Codex и ChatGPT подключаются к одному и тому же MCP-эндпоинту. Каждый забирает задачу через start_task, держит её живой пульсом и возвращает отчёт. Если два клиента тянутся к одной карточке, второй получает already_claimed, и никто не делает работу дважды.

Weft делаем мы. Сведения о других продуктах взяты с их официальных страниц и проверены 27 октября 2026 года.

Это руководство для соло-основателя или небольшой команды, у которых два-три ИИ-клиента постоянно наступают друг другу на ноги.

Когда второй агент действительно помогает?

Сами по себе дополнительные агенты работу не ускоряют. Они помогают, когда работа делится на куски, которые друг друга не задевают, и мешают, когда у них общие файлы, общая тестовая база или решение, которое ещё никто не принял.

СитуацияОдин агент или несколько?Почему
Одна фича в одном репозитории, которую можно закончить за один присестОдин агент (с собственными субагентами, если они у него есть)Весь контекст помещается в одну сессию; доска только добавит накладных расходов
Два независимых исправления в разных частях кодаДва агента, отдельные ветки или worktreeОбщих файлов нет, так что единственный риск — взять одну и ту же карточку
Планирование и разбор в ChatGPT, код — в терминальном агентеДва клиента, разные ролиChatGPT пишет и сортирует задачи; агент для кода их забирает
Несколько агентов ждут одного и того же продуктового решенияОдин агент — после того как ты решишьПараллельные агенты угадают каждый по-своему

Если ты не отдал бы две задачи двум людям, не поговорив с ними сначала, не отдавай их и двум агентам.

Что должно быть в задаче, прежде чем агент её возьмёт?

Агенты понимают задачу буквально и редко переспрашивают. Прежде чем карточка покинет Backlog, дай ей:

  • Один проверяемый результат. Не «улучшить онбординг», а «добавить пустое состояние на страницу проектов с кнопкой создания».
  • Границы. Какие файлы, страницы или системы можно трогать и что за пределами задачи.
  • Проверку готовности. Тест, сборку или URL, по которым видно, что всё работает.
  • Какие доказательства вернуть. Ссылку на пулл-реквест, хеш коммита, адрес развёрнутой версии.
  • Где остановиться. Всё необратимое (публикация, прод, деньги) должно заканчиваться вопросом к тебе, а не действием.

Колонки Weft по умолчанию — Backlog, Todo, Doing и Done. Хорошо работает простая договорённость: брать можно только карточки из Todo. Проекты отделяют один репозиторий или клиента от остальных.

Что будет, если два агента вызовут start_task на одной карточке?

Перенос карточки в Doing — не блокировка: два агента могут прочитать одну и ту же карточку в Todo и оба начать. Поэтому в Weft блокировка — это сам захват.

Вызов start_task — одна вставка в базу данных, защищённая уникальным индексом, так что победителя определяет база. Победитель получает runId и leaseToken, а карточка переезжает в Doing. Проигравший получает already_claimed с id задачи, названием и подсказкой не дублировать работу. Неважно, что один клиент — терминальный агент, а другой — чат-приложение.

Для агента already_claimed — нормальный ответ, а не ошибка. Правильный ход — снова вызвать get_my_work и взять следующую карточку. Весь цикл описан в статье о цикле захвата, пульса и отчёта.

Как работают пульс и аренда на 20 минут?

Захват — это аренда, а не постоянное назначение. start_task даёт аренду на 20 минут и велит агенту продлевать её каждые 300 секунд. Агент продлевает её, вызывая report_progress со своими runId и leaseToken. Если за это время агент потерял аренду, вызов вернёт lease_lost, и ему нужно остановиться, а не продолжать правки.

Когда сессия умирает, сообщить об этом уже некому. Молчание — единственный сигнал, который получает доска, поэтому Weft и считает молчание сигналом:

  • Через 20 минут без пульса запуск помечается устаревшим, токен сбрасывается, и задача снова становится ничьей.
  • Каждые 10 минут проходит очистка, а устаревшая задача освобождается и сразу, как только её пробует взять другой клиент.
  • Пока агент ждёт ответа на вопрос к тебе, он держит задачу 60 минут. После этого аренда снимается, но вопрос остаётся открытым.

Пульс — это вызовы инструментов. Задача на 40 минут с пульсом каждые 5 минут тратит на него около 8 вызовов, а на бесплатном тарифе (Free) 200 вызовов в месяц, так что три агента, работающие каждый день, из него вырастут. На Pro лимита вызовов нет.

Как доска понимает, какой агент что сделал?

Каждый OAuth-клиент, вошедший в Weft, — отдельный участник. Claude Code, Codex и ChatGPT регистрируются по отдельности, и доска показывает имя, под которым зарегистрировался каждый клиент. В каждом событии истории записано, какой клиент его совершил.

Клиенты без OAuth могут использовать персональный токен доступа; каждый токен тоже отдельный участник, но у токенов нет областей прав (токены доступа). Права задаются для каждого OAuth-подключения:

  • full (по умолчанию): все 32 инструмента.
  • write: всё, кроме трёх разрушительных инструментов (корзина, архив, завершение спринта).
  • read: только 11 инструментов для чтения.

Разумное разделение: агентам для кода — write, всему экспериментальному — read. Отключение одного клиента отзывает его токены, не затрагивая остальных. Weft выдаёт refresh-токены, поэтому подключённый клиент сам продлевает вход.

Отдельное имя на доске — это не изоляция на диске. Два агента с разными именами всё равно могут перезаписать друг друга в одной рабочей копии. Дай каждому агенту для кода свою ветку или worktree.

Куда попадает готовая работа и сколько может тебя ждать?

По умолчанию завершённая задача сразу уходит в Done. Во Входящих она останавливается, если требует проверки или не прошла проверку верификации. Там ты выбираешь «Принять», «На доработку», «Позже» или «Отбросить». «На доработку» требует пояснения. Вопросы из request_input попадают в те же Входящие и приходят пушем на телефон, так что смотреть нужно в одно место, какой бы агент ни спросил.

Отчёт из complete_task содержит итог, проверяемые артефакты, что не сделано, неизвестные и nextStep. nextStep показывается над кнопкой «Принять», так что принятие одобряет ровно этот шаг. Подробнее — в статье «что сделал мой ИИ-агент».

У Входящих есть лимит, и с несколькими агентами ты в него упрёшься. Это 5 пунктов в пространстве на одного человека и 10 в командном или 45 минут оценённой проверки — смотря что наступит раньше. Вопросы тоже считаются. Когда лимит заполнен, start_task отказывает с attention_queue_full и говорит агенту, что ему ещё можно делать, например сообщать о ходе работы или читать доску. Три агента производят работу быстрее, чем один человек успевает её проверять; лимит не даёт им наваливать результаты, которые ты никогда не прочитаешь.

Что ломается и как это исправить?

СбойЧто ты видишьЧто делает WeftЧто делаешь ты
Два клиента начинают одну и ту же задачуОдна карточка в Doing, один клиент получил already_claimedБаза данных пропускает один захват; второму отказаноНичего, если проигравший агент переходит к другой задаче. Если он всё равно продолжил работу, ужесточи его инструкции
Сессия упала или ноутбук уснулКарточка в Doing без движенияЧерез 20 минут без пульса запуск устаревает, и задача снова ничьяПроверь ветку на недоделанную работу, прежде чем её подхватит другой агент
Агент закончил, но так и не вызвал complete_taskРабота смержена, карточка всё ещё в DoingАренда истекает; задача освобождается, но не закрываетсяЗакрой её сам или попроси агента завершить её с доказательствами
Агенту нужно решение, которое можешь принять только тыВопрос во Входящих, возможно, пушЗахват сохраняется 60 минут; ответ приходит агенту при следующем start_task или get_my_workОтветь одним из предложенных вариантов
Тебя ждёт слишком многоПереполненные Входящиеstart_task отказывает с attention_queue_fullПроверь или отбрось пункты; по мере того как очередь пустеет, агенты снова могут начинать
Два агента правят одну рабочую копиюНесвязанные изменения перемешаны в одном диффеНичего; Weft не видит твоих файловРазведи агентов по отдельным worktree или веткам, прежде чем запускать их параллельно

Как подключить два или три клиента?

Все три подключаются к одному эндпоинту и входят через браузер — ключ копировать не нужно.

# Claude Code
claude mcp add --transport http weft https://letsweft.com/api/mcp

# Codex: add to ~/.codex/config.toml, then sign in
[mcp_servers.weft]
url = "https://letsweft.com/api/mcp"

codex mcp login weft

ChatGPT подключается через приложение Weft в своём каталоге, на любом тарифе, включая бесплатный. Пошаговые страницы: Claude Code, Codex, ChatGPT, Cursor (установка в один клик). Вход устроен по спецификации авторизации MCP.

ChatGPT работает ходами: он действует, пока ты в разговоре. Он хорош для планирования, написания задач и ответов на вопросы. Долгие сессии кодинга лучше отдать терминальному агенту, потому что пульсу раз в несколько минут нужна сессия, которая продолжает работать.

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

  1. День 1: подключи два клиента. Claude Code и Codex или один агент для кода плюс ChatGPT. Агентам для кода дай права write.
  2. Дни 1–2: напиши пять–десять задач по контракту выше. Один результат, границы, проверка готовности, доказательства. Оставь их в Todo. Если задачи уже лежат в Linear, Jira, Notion или Trello, сначала импортируй их; импорт бесплатен на любом тарифе.
  3. Дни 2–5: запусти обоих агентов на одну очередь Todo, каждого в своём worktree, и скажи каждому брать задачи через start_task, а заканчивать через complete_task с артефактами.
  4. День 5: проверь сбой нарочно. Направь обоих агентов на одну карточку и посмотри, как один получит already_claimed. Убей одну сессию посреди задачи и проверь, что через 20 минут карточка снова свободна.
  5. День 7: проведи аудит только по доске. Выполнялась ли какая-то задача дважды или осталась в Doing после завершения? Можешь ли ты проверить каждый результат по его артефактам? Поправь шаблон задачи, прежде чем добавлять третьего агента.

Чем это отличается от подхода Hypertask?

Модель аренды у Hypertask здравая: захват, пульс, освобождение, со сроком действия. Разница в том, где эта модель живёт. В документации Hypertask аренды задач, доказательства и эскалация значатся только как REST-эндпоинты — так задумано, — а в справочнике инструментов 21 MCP-инструмент и ни одного для аренды (обзор MCP). В Weft захват, пульс, вопрос и отчёт — это MCP-инструменты, так что любой MCP-клиент пользуется ими без дополнительного кода.

WeftHypertask
Захват и арендаВнутри MCP: start_task, report_progress (аренда на 20 минут)Только REST-эндпоинты, так задумано (документация)
MCP-инструменты3221 (документация)
ВходOAuth в браузере, с refresh-токенами; по желанию — персональные токены доступаВ документации — скопированный API-ключ, который истекает через 30 дней; подключение, одобренное в браузере, действует 90 дней без продления (документация)
Идентичность агентаКаждый OAuth-клиент или токен — отдельный участникАгенты как сервисные аккаунты со своей идентичностью
Путь через ChatGPTОпубликованное приложение в каталоге ChatGPT, любой тариф, включая бесплатныйCustom GPT с OpenAPI Actions или собственный коннектор в режиме разработчика — по словам Hypertask (документация)
CLI и REST APIНетCLI в npm и REST API (документация)
Мобильные приложенияiOS и AndroidНативного приложения для iOS нет (веб-приложение на домашнем экране); в Google Play нет (документация)
Языки27Только английский
Цена за местоFree: 50 задач, 200 вызовов ИИ в месяц. Pro: $7 в месяц или $60 в годFree: 3 доски на человека. BYOK $8 при годовой оплате / $10 помесячно. Pro $16 при годовой оплате / $20 помесячно (цены)
Кредиты на ИИНе нужны: думает твой собственный ИИ-клиентВстроенный ИИ; тариф BYOK работает на твоих ключах к моделям

Hypertask — лучший выбор, если твои агенты запускаются из скриптов или CI и тебе нужны CLI и REST API, если ты хочешь агентов в виде сервисных аккаунтов, которыми управляешь как пользователями, или если тебе нужен встроенный ИИ (написание задач, умные метки, разбор), скорость работы с клавиатуры и учёт времени. У Weft нет CLI, REST API и вебхуков, нет интеграции с GitHub или Slack. Weft подходит, когда твои агенты — это MCP-клиенты, которыми ты уже пользуешься, в том числе ChatGPT, и ты хочешь отвечать им с телефона.

Для более широкого сравнения смотри сравнение MCP-менеджеров задач и альтернативу Hypertask.

Должны ли мои агенты общаться друг с другом?
Нет. Они координируются через доску: захваты, отчёты и вопросы. Weft никогда сам не обращается к агенту; каждый забирает следующую задачу через get_my_work.
Упавший агент оставит задачу висеть в Doing навсегда?
Нет. Через 20 минут без пульса запуск помечается устаревшим, и задача снова становится ничьей, так что её может взять другой клиент. Только сначала проверь ветку на недоделанную работу.
Три агента не завалят меня проверками?
У Входящих потолок — 5 пунктов для одного человека (10 для команды) или 45 минут проверки; когда он достигнут, агенты не могут начинать новые задачи. Большинство готовых задач сразу уходит в Done.
Несколько агентов обойдутся дороже?
Weft берёт плату за место, а не за агента: Pro стоит $7 в месяц или $60 в год за человека. На бесплатном тарифе (Free) лимит — 200 вызовов ИИ в месяц, а пульс нескольких агентов быстро его съедает. Смотри цены.