Кілька ШІ-агентів на одній дошці: практичний посібник
Як запускати Claude Code, Codex і ChatGPT на одній дошці без дубльованої роботи: контракти завдань, атомарні захоплення, оренди й одна черга на рев’ю.
Weft — це ШІ-менеджер завдань для соло-засновників і невеликих команд.
Автор: Andrei Finogeev ·
Так, два-три ШІ-клієнти можуть ділити одну дошку, якщо дошка вирішує, кому належить кожне завдання. У Weft Claude Code, Codex і ChatGPT підключаються до того самого MCP-ендпоінта. Кожен захоплює завдання через start_task, підтримує його живим за допомогою heartbeat і повертає звіт. Якщо два клієнти тягнуться до тієї самої картки, другому кажуть already_claimed, і ніхто не робить роботу двічі.
Weft робимо ми. Факти про інші продукти взято з їхніх офіційних сторінок, перевірено 27 жовтня 2026 року.
Цей посібник — для соло-засновника чи невеликої команди, у яких два-три ШІ-клієнти постійно наступають одне одному на п’яти.
Коли другий агент справді допомагає?
Більше агентів саме по собі не робить роботу швидшою. Вони допомагають, коли робота ділиться на шматки, що не перетинаються, і шкодять, коли ділять файли, тестову базу даних чи рішення, яке ще ніхто не ухвалив.
| Ситуація | Один агент чи кілька? | Чому |
|---|---|---|
| Одна фіча в одному репозиторії, зроблена за один підхід | Один агент (з власними субагентами, якщо вони в нього є) | Один контекст тримає все; дошка додає накладних витрат |
| Два незалежні виправлення в різних частинах коду | Два агенти, окремі гілки чи worktree | Спільних файлів немає, тож єдиний ризик — узяти ту саму картку |
| Планування й тріаж у ChatGPT, код в агенті в терміналі | Два клієнти, різні задачі | ChatGPT пише й сортує завдання; агент для коду їх захоплює |
| Кілька агентів чекають на те саме продуктове рішення | Один агент, після того як ти вирішиш | Паралельні агенти вгадуватимуть кожен по-своєму |
Якщо ти не віддав би дві роботи двом людям, попередньо не поговоривши, не віддавай їх і двом агентам.
Що має бути в завданні, перш ніж агент його візьме?
Агенти сприймають завдання буквально й рідко перепитують. Перш ніж картка покине Backlog, дай їй:
- Один результат, який можна перевірити. Не «покращити онбординг», а «додати порожній стан на сторінку проєктів із кнопкою створення».
- Межі. Які файли, сторінки чи системи можна чіпати і що поза межами.
- Перевірку готовності. Тест, збірку чи URL, які показують, що все спрацювало.
- Докази, які ти хочеш отримати. Посилання на pull request, хеш коміту, URL розгортання.
- Де зупинитися. Усе незворотне (публікація, продакшн, гроші) має закінчуватися запитанням до тебе, а не дією.
Колонки Weft за замовчуванням — Backlog, Todo, Doing і Done. Добре працює проста домовленість: захоплювати можна лише картки в Todo. Проєкти відокремлюють один репозиторій чи клієнта від решти.
Що буде, коли два агенти викличуть start_task на одній картці?
Перенесення картки в Doing — не блокування: два агенти можуть прочитати ту саму картку в Todo, і обидва почнуть. Тому у Weft блокуванням є саме захоплення.
Виклик start_task — це один запис у базу даних, захищений унікальним індексом, тож переможця визначає база. Переможець отримує runId і leaseToken, а картка переходить у Doing. Той, хто програв, отримує already_claimed з ідентифікатором завдання, назвою і підказкою не дублювати роботу. Неважливо, що один клієнт — агент у терміналі, а інший — чат-застосунок.
Для агента already_claimed — нормальна відповідь, а не помилка. Правильний хід — знову викликати get_my_work і взяти наступну картку. Повний цикл ми описуємо в статті про цикл захоплення, heartbeat і звіту.
Як працюють heartbeat і 20-хвилинна оренда?
Захоплення — це оренда, а не постійне призначення. start_task дає 20-хвилинну оренду і каже агенту продовжувати її кожні 300 секунд. Агент продовжує її, викликаючи report_progress зі своїми runId і leaseToken. Якщо тим часом агент втратив оренду, виклик повертає lease_lost, і агенту слід зупинитися, а не редагувати далі.
Коли сесія помирає, немає кому про це сказати. Мовчання — єдиний сигнал, який отримує дошка, тож Weft і вважає мовчання сигналом:
- Після 20 хвилин без heartbeat запуск позначається як застарілий, токен очищається, і завдання знову стає непризначеним.
- Прибирання запускається кожні 10 хвилин, а застаріле завдання ще й звільняється одразу, коли інший клієнт пробує його захопити.
- Поки агент чекає на відповідь на запитання до тебе, він тримає завдання 60 хвилин. Після цього оренда знімається, але запитання лишається відкритим.
Heartbeat — це виклики інструментів. 40-хвилинне завдання з heartbeat кожні 5 хвилин витрачає на них близько 8 викликів, а на безкоштовному тарифі 200 викликів на місяць, тож три агенти, які працюють щодня, швидко з нього виростуть. У Pro обмеження на виклики немає.
Як дошка знає, який агент що зробив?
Кожен OAuth-клієнт, що входить у Weft, — окремий виконавець. Claude Code, Codex і ChatGPT реєструються окремо, і дошка показує ім’я, з яким зареєструвався кожен клієнт. Кожна подія в історії записує, який клієнт її спричинив.
Клієнти без OAuth можуть використовувати персональний токен доступу; кожен токен теж окремий виконавець, але токени не мають обмежень прав (токени доступу). Права задаються для кожного OAuth-підключення:
- full (за замовчуванням): усі 32 інструменти.
- write: усе, крім трьох деструктивних інструментів (кошик, архівування, завершення спринту).
- read: лише 11 інструментів для читання.
Розумний розподіл: агенти для коду — на write, усе експериментальне — на read. Відключення одного клієнта відкликає його токени, не зачіпаючи інших. Weft видає refresh-токени, тож підключений клієнт сам поновлює вхід.
Ідентичність на дошці — не ізоляція на диску. Два агенти з різними іменами однаково можуть перезаписувати роботу одне одного в одному checkout. Дай кожному агенту для коду власну гілку чи worktree.
Куди потрапляє завершена робота і скільки може чекати на тебе?
За замовчуванням завершене завдання одразу йде в Done. Натомість воно зупиняється в твоєму Inbox, коли потребує рев’ю або коли перевірка не пройшла. Там ти обираєш Accept, Rework, Later чи Drop. Rework просить примітку. Запитання з request_input потрапляють у той самий Inbox і приходять на телефон як push, тож у тебе одне місце, куди дивитися, — хоч би який агент питав.
Звіт від complete_task містить результат, артефакти, які можна перевірити, те, що не зроблено, невідоме і nextStep. nextStep з’являється над кнопкою Accept, тож прийняття погоджує саме цей крок. Більше — у статті «що зробив мій ШІ-агент».
Inbox має ліміт, і з кількома агентами ти в нього впрешся. Він вміщує 5 пунктів у робочому просторі на одну людину і 10 у команді або 45 хвилин оціненого рев’ю — залежно від того, що настане раніше. Запитання теж рахуються. Коли він заповнений, start_task відмовляє з attention_queue_full і каже агенту, що той ще може робити, наприклад звітувати про прогрес чи читати дошку. Три агенти можуть видавати роботу швидше, ніж одна людина встигає її переглядати; ліміт не дає їм накопичувати результати, які ти ніколи не прочитаєш.
Що ламається і як це виправити?
| Збій | Що ти бачиш | Що робить Weft | Що робиш ти |
|---|---|---|---|
| Два клієнти починають те саме завдання | Одна картка в Doing, одному клієнту сказано already_claimed | База даних дає перемогти одному захопленню; інше відхиляється | Нічого, якщо агент, що програв, іде далі. Якщо він однаково продовжив роботу, посиль його інструкції |
| Сесія падає або ноутбук засинає | Картка в Doing без прогресу | Після 20 хвилин без heartbeat запуск стає застарілим, а завдання повертається в непризначені | Перевір гілку на часткову роботу, перш ніж її підхопить інший агент |
| Агент закінчує, але так і не викликає complete_task | Роботу змерджено, картка досі в Doing | Оренда спливає; завдання звільняється, але не закривається | Закрий його сам або попроси агента завершити його з доказами |
| Агенту потрібне рішення, яке можеш ухвалити лише ти | Запитання в твоєму Inbox, можливо push | Захоплення зберігається 60 хвилин; відповідь доходить до агента під час його наступного start_task чи get_my_work | Відповідай одним із варіантів, які він дав |
| На тебе чекає забагато | Заповнений Inbox | start_task відмовляє з attention_queue_full | Переглянь або відкинь пункти; агенти зможуть знову починати, коли черга зменшиться |
| Два агенти редагують один checkout | Непов’язані зміни змішані в одному диффі | Нічого; Weft не бачить твоїх файлів | Розведи worktree чи гілки, перш ніж запускати агентів паралельно |
Як налаштувати два-три клієнти?
Усі три підключаються до того самого ендпоінта й входять через браузер, без жодного ключа для копіювання.
# Claude Code
claude mcp add --transport http weft https://letsweft.com/api/mcp
# Codex: додай у ~/.codex/config.toml, потім увійди
[mcp_servers.weft]
url = "https://letsweft.com/api/mcp"
codex mcp login weftChatGPT підключається через застосунок Weft у своєму каталозі, на будь-якому тарифі, зокрема Free. Покрокові сторінки: Claude Code, Codex, ChatGPT, Cursor (встановлення в один клік). Вхід відповідає специфікації авторизації MCP.
ChatGPT працює ходами: він діє, поки ти в розмові. Він підходить для планування, написання завдань і відповідей на запитання. Довгі сесії з кодом краще віддати агенту в терміналі, бо heartbeat кожні кілька хвилин потребує сесії, яка продовжує працювати.
Який вигляд має тижневий пробний запуск?
- День 1: підключи два клієнти. Claude Code і Codex або одного агента для коду плюс ChatGPT. Дай агентам для коду права write.
- Дні 1–2: напиши п’ять–десять завдань за контрактом вище. Один результат, межі, перевірка готовності, докази. Залиш їх у Todo. Якщо в тебе вже є завдання в Linear, Jira, Notion чи Trello, спершу імпортуй їх; імпорт безкоштовний на будь-якому тарифі.
- Дні 2–5: запусти обох агентів на тій самій черзі Todo, кожного у власному worktree, кожному скажи захоплювати через start_task і завершувати через complete_task з артефактами.
- День 5: навмисно перевір збої. Направ обох агентів на ту саму картку й подивися, як один отримає already_claimed. Убий одну сесію посеред завдання й перевір, що через 20 хвилин картка знову вільна.
- День 7: проведи аудит лише за дошкою. Чи якесь завдання виконувалося двічі або лишилося в Doing після завершення? Чи міг ти перевірити кожен результат за його артефактами? Виправ шаблон завдання, перш ніж додавати третього агента.
Як це порівнюється з підходом Hypertask?
Модель оренди в Hypertask продумана: захоплення, heartbeat, звільнення, із терміном дії. Різниця в тому, де ця модель живе. Документація Hypertask навмисно описує оренди завдань, докази й ескалацію лише як REST-ендпоінти, а в довіднику інструментів — 21 MCP-інструмент без жодного для оренди (огляд MCP). У Weft захоплення, heartbeat, запитання і звіт — це MCP-інструменти, тож будь-який MCP-клієнт користується ними без додаткового коду.
| Weft | Hypertask | |
|---|---|---|
| Захоплення і оренда | Усередині MCP: start_task, report_progress (оренда на 20 хвилин) | Навмисно лише REST-ендпоінти (документація) |
| MCP-інструменти | 32 | 21 (документація) |
| Вхід | OAuth у браузері з refresh-токенами; необов’язкові персональні токени доступу | Задокументоване налаштування — скопійований API-ключ, що спливає через 30 днів; підключення з підтвердженням у браузері діє 90 днів без оновлення (документація) |
| Ідентичність агента | Кожен OAuth-клієнт чи токен — окремий виконавець | Агенти як сервісні акаунти з власною ідентичністю |
| Шлях для ChatGPT | Опублікований застосунок у каталозі ChatGPT, будь-який тариф, зокрема Free | 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 хвилин без heartbeat запуск позначається як застарілий, і завдання повертається в непризначені, тож його може захопити інший клієнт. Спершу перевір гілку на часткову роботу.
- Чи не завалять мене три агенти рев’ю?
- Inbox обмежено 5 пунктами для однієї людини (10 для команди) або 45 хвилинами рев’ю; коли він заповнений, агенти не можуть починати нові завдання. Більшість завершених завдань одразу йде в Done.
- Чи дорожче запускати кількох агентів?
- Weft бере плату за місце, а не за агента: Pro коштує $7 на місяць або $60 на рік за людину. Безкоштовний тариф обмежує ШІ-виклики 200 на місяць, і heartbeat від кількох агентів швидко їх вичерпують. Див. ціни.