Мой ИИ-тренер по бегу: Git-репозиторий и агент Claude
Я заканчиваю пробежку, часы синхронизируются, и через три минуты анализ уже записан в мой репозиторий, неделя пересобрана, а тренер оставил комментарий под активностью в Strava. Никакого написанного приложения, никакого сервера, никакого счёта за токены: подписка Claude, AgentsRoom и файлы Markdown. Вот вся сборка целиком, воспроизводимая.
Я заканчиваю тренировку. Часы сами синхронизируются со Strava, как обычно. Я иду в душ.
Пока я моюсь, три вещи происходят без моего участия. Анализ тренировки записан в мой тренировочный репозиторий. Неделя пересобрана, и рядом отмечена причина изменения. А под активностью в Strava висит комментарий моего тренера: чего стоила эта тренировка и что она меняет для пятницы.
Этот тренер не приложение, которое я написал. Это репозиторий Git с файлами Markdown, подписка Claude и AgentsRoom, который держит всё вместе. Никакого написанного сервера, никакого счёта за токены, примерно выходные на сборку.
Всё это опубликовано как шаблон: github.com/AgentsRoomDev/running-performance-coach. Его можно клонировать и сделать своим, заполнив оставленные пустыми места. Эта статья объясняет, как он работает, кусок за куском, и рассчитана на того, кто слышал слово «API», но никогда не писал вебхук.
Для контекста: бегаю я давно, 2:47 на марафоне, 1:13:59 на половинке, 33:45 на 10 км. Цель текущего цикла: снова выбежать 10 км из 34 минут. Это важно для дальнейшего: универсальный тренер, который заново объясняет мне, что такое пороговая тренировка, мне бесполезен, и именно эту проблему сборка решает.
Что происходит между концом пробежки и комментарием
Вся цепочка укладывается в шесть шагов:
- Часы отправляют активность в Strava. Это и так происходит у всех.
- Каждые 15 минут маленький скрипт на Python спрашивает у Strava, есть ли что-то новое.
- Найдя новую тренировку, он собирает в моём репозитории карточку тренировки в Markdown: круги, отсечки, объём, пульс. Только измеренное.
- Он же переписывает название и описание активности в Strava, чтобы в ленте перестало висеть «Дневная пробежка».
- Затем он отправляет подписанное сообщение в AgentsRoom, и тот открывает агента Claude с тренировкой уже на руках.
- Этот агент делает тренерскую работу: читает, сравнивает, пишет анализ, правит неделю, коммитит, пушит, комментирует в Strava и присылает мне длинный отчёт на почту.
Первые пять шагов это техническая обвязка. Шестой и есть предмет этой статьи.
Дневник тренировок живёт в репозитории Git, а не в базе данных
Это решение меняет всё, и оно же удивляет людей сильнее прочего.
Одна тренировка = один файл, journal/2026/2026-09-03.md. Одна неделя = один файл, plan/weeks/2026-W36.md. Одно изменение плана = один коммит, с причиной в сообщении. Нет базы данных, нет схемы, нет миграций, нет интерфейса.
Три следствия, по убыванию важности:
Тренер может перечитать собственную историю. Он знает, что назначил три недели назад, и может проверить, сработало ли это. Чат-бот, которому вы рассказываете про тренировку, каждый раз начинает с нуля. У агента с репозиторием есть память, и эту память читает человек.
Свой план я читаю с телефона, в приложении GitHub. README.md репозитория это не страница-презентация, а моя панель управления. Контракт, записанный в CLAUDE.md, говорит об этом прямо: планирование не закончено, пока README его не отражает. Итог: мне нечего поддерживать в виде интерфейса, и при этом у меня есть экран, который говорит, что я делаю сегодня.
Ничего необратимого. Всё, что пишет агент, это коммит. Я могу его прочитать, оспорить, откатить. Это совсем не то же самое, что приложение, решающее само за себя.
Шаг 1: Strava будит маленький скрипт
У Strava есть API: способ для программы спросить «дай мне недавние активности этого атлета». Скрипт strava_sync.py делает ровно это и превращает ответ в карточку тренировки.
Интересна не сетевая часть, а восстановление. Часы записывают сырые круги. Скрипту нужно понять, что это была за тренировка:
Lap 1 : 4.40 km in 26'07 (5:56/km) ← разминка
Lap 2 : 1.00 km in 3'41 (3:41/km) ← отрезок 1
Lap 3 : 0.20 km in 1'59 (9:55/km) ← трусца между отрезками
... → «5 x 1000m r' 2'»
Он перебирает все разбиения вида «k самых быстрых кругов это отрезки» и оставляет лучшее из тех, что держатся. Звучит тривиально, но это не так: наивная кластеризация по скорости попадается ровно в тот момент, когда разминка оказывается быстрее трусцы.
Главное, форма тренировки восстанавливается по часам, никогда по плану. Соблазнительно сделать наоборот (в плане написано 5 x 1000m, значит так и запишем), и это ровно та ошибка: весь смысл в том, чтобы поймать дни, когда я сделал что-то другое. Когда эти двое расходятся, само расхождение и есть находка, и тренер её видит:
Запланировано 3 x 8' → бежал непрерывно
Два предупреждения перед стартом.
API Strava с июня 2026 года требует платной подписки разработчика. Без неё каждый вызов отвечает 403 Application Status Inactive. Запасной путь существует и заложен в шаблон: выгрузить файл TCX с часов и отдать его import_tcx.py. Всё, что идёт после импорта, работает точно так же.
Квоты щедрые, но реальные. На моём приложении 300 запросов каждые 15 минут и 3 000 в день на чтение. В устоявшемся режиме скрипт тратит один за проход, то есть 96 в день. До потолка далеко, но это как раз то, что проверяют до, а не после.

Шаг 2: скрипт будит агента, с подписью
Вот тут становится интересно.
Вебхук это противоположность вопросу. Вместо того чтобы каждые пять минут спрашивать, есть ли что-то новое, вы отдаёте программе веб-адрес, и она сама присылает сообщение, когда событие происходит. Пока ничего не происходит, вы не платите ничего.
AgentsRoom предлагает ровно это: вебхук-триггер. Вы создаёте триггер в приложении, оно возвращает вам URL и секрет. Любой, кто отправит JSON-сообщение на этот URL, откроет агента с вашим промптом и уже вложенным в него содержимым сообщения.

Сообщение, которое отправляет мой скрипт, намеренно крошечное:
{
"type": "created",
"title": "03/09 · 5 x 1000m r' 2'",
"body": "Тренировка от 03/09/2026, импортирована из Strava.\n\nКачественная тренировка: 5 x 1000m r' 2'\nОтсечки: 3'41 - 3'40 - 3'38 - 3'40 - 3'35\n\nОбщий объём: 12.51 km за 1h07'42 (5:25/km), набор высоты 56 m\nЗапланированная тренировка: RP10-5x1000\n\nКарточка тренировки: journal/2026/2026-09-03.md\nКарточка недели: plan/weeks/2026-W36.md"
}
Обратите внимание, чего там нет: текста плана. Вебхук несёт код запланированной тренировки и путь к карточкам, но никогда их содержимое. Агент, у которого есть репозиторий, прочитает их сам; агенту, у которого его нет, нечего делать с моими внутренними указаниями. Правило то же, что и для описаний, публикуемых в Strava.
Подпись и ловушка, которая идёт с ней
Публичный URL, открывающий агента, не может оставаться открытым для любого, кто его найдёт. Поэтому триггер подписан: скрипт считает отпечаток сообщения с общим секретом (HMAC-SHA256, если это словосочетание вам о чём-то говорит) и отправляет его в заголовке X-AgentsRoom-Signature. Сервер пересчитывает тот же отпечаток у себя; если они не совпадают, он отказывает.
Без подписи ответ короткий:
{"error":"REJECTED","message":"Signature missing."}
И вот ловушка, которая стоила мне вечера. Подпись покрывает ровно те байты, которые уходят в сеть, а не объект в памяти. Если вы подписали файл в том виде, в каком он лежит на диске, а потом дали другому слою заново сериализовать объект (лишний пробел, другой порядок ключей, иначе экранированный символ), вы получите совершенно верную подпись для сообщения, которое сервер никогда не получит. Отказ не отлаживается: с обеих сторон всё выглядит правильно.
Исправление умещается в одну фразу: сериализуем и подписываем в одном месте. В шаблоне это делает функция post_json, и больше ничему не позволено трогать тело сообщения.
Шаг 3: три слоя говорят тренеру, кто он, как здесь всё устроено и что делать прямо сейчас
Агент, который тренирует, это не один большой промпт. Это три отдельных текста, и разделение между ними важно.
Слой 1, персона: кто он
Системный промпт, прикреплённый к агенту в AgentsRoom. Он несёт философию тренировок и намеренно не привязан к виду спорта: он тренировал бы кого угодно.
Ваша задача не просто генерировать тренировочные планы. Вы непрерывно тренируете атлета: анализируете его тренировки, понимаете его текущую форму, адаптируете предстоящие занятия. […] Говорите как опытный тренер, а не как мотивационный чат-бот.
Он также говорит, чего не делает: не судит тренировку только по тому, был ли выдержан целевой темп, прямо говорит о неопределённости прогноза на соревнования и не одобряет цель просто потому, что атлету так хочется. Именно последняя строчка делает тренера полезным.
Писать его самому не нужно: эта персона опубликована в каталоге агентов AgentsRoom под именем Running Performance Coach. Один клик, и она установлена, готовая к работе.
Слой 2, CLAUDE.md: как здесь всё устроено
Это контракт, который читается в начале каждой сессии. В нём раскладка файлов, правила, которые держат её в порядке, тренировочные принципы, ограничивающие любое предложение, и главное ритуал: точная последовательность действий, когда о тренировке доложили.
Одна выдержка, потому что она показывает уровень точности:
Порядок жертв, когда неделя разваливается: сначала лишние минуты на лёгких пробежках, потом силовая работа, потом длина длительной, потом одна качественная тренировка. Никогда вся неделя целиком.
Вот здесь тренер перестаёт быть чат-ботом. Он не выдумывает порядок действий каждый раз, а идёт по тому, который я написал однажды. Если из репозитория-шаблона вы прочитаете только один файл, читайте этот.
Слой 3, промпт триггера: что делать прямо сейчас
Это сообщение, которое передаётся агенту, когда прилетает тренировка. Активность приходит к нему через переменные шаблона: {{event.title}}, {{event.body}}, {{event.url}}. Так что агент стартует с тренировкой уже на руках, а не идёт её искать.

Вот его каркас, каким он лежит в триггере:
Новая тренировка импортирована из Strava.
**{{event.title}}** · активность {{event.id}}
{{event.url}}
{{event.body}}
---
Ты в репозитории `training-plan`. Сначала прочитай `CLAUDE.md`: это закон.
Ты пишешь на моём языке и всюду обращаешься ко мне напрямую (§3).
Ритуал §6 применяется, но его **шаг 1 уже сделан**: `strava_publish.py`
создал карточку тренировки и закоммитил её. Ты продолжаешь с шага 2 и идёшь
до самого конца. Три результата, в таком порядке: **анализ в репозитории**,
**комментарий под активностью в Strava**, **письмо**.
⚠️ **Ты работаешь без присмотра: вопрос никто не прочитает.** Никогда не
проси рассудить: ты решаешь, ты действуешь и говоришь в отчёте, что именно
ты выбрал и почему.
## 1 · Проанализировать и поправить план (ритуал §6, шаги со 2 по 6)
1. Сначала `git pull --rebase`: карточка может прийти с сервера.
2. Читай в таком порядке: карточку сегодняшнего дня, карточку недели,
`athlete/zones-and-paces.md` и **последние 3 карточки тренировок**:
тренировку никогда не судят в одиночку.
3. Напиши раздел `## Analysis`: **сначала вердикт**, потом сигналы, которые
его несут, потом что это меняет.
⛔ Если `## Analysis` уже заполнен, не переписывай его.
4. Обнови карточку недели и запиши **каждое** изменение плана под
`## Adjustments`, с его причиной.
5. **Пересобери `README.md`**: это экран, который я читаю с телефона.
6. Коммить и пушь, явные пути, ⛔ никогда `git add -A`.
## 2 · Кудос и комментарий в Strava
⛔ Комментарий в Strava ПУБЛИЧНЫЙ: без целевого пульса, без болячек,
без внутренних компромиссов, без прогноза финишного времени.
## 3 · Полный отчёт письмом
Больше всего работы делает строчка в середине: «вопрос никто не прочитает». Агент, который работает без человека перед экраном и просит рассудить, не ошибается, он просто останавливается, а вы узнаёте об этом на следующий день.
Какая модель и почему миллион токенов это не блажь
| Настройка | Значение |
|---|---|
| Модель | Claude Opus, контекст 1M |
| Усилие рассуждения | Высокое |
| Режим разрешений | Автономный |
| Доступ к браузеру | Включён |

Длинный контекст здесь не украшение. Чтобы правильно оценить одну тренировку, тренер читает карточку дня, карточку недели, таблицу опорных темпов и три предыдущие тренировки. Тренировку никогда не судят в одиночку: накопленная нагрузка, порядок дней и текущие точки внимания полностью меняют вердикт. Три отрезка по 3'38 на следующий день после двухчасовой длительной рассказывают совсем не ту историю, что те же 3'38 после дня отдыха.
Автономный режим это не беспечность, а следствие: у запуска, при котором перед экраном никого нет, нет и того, кто одобрит git push. А доступ к браузеру это то, что позволяет агенту сходить прокомментировать в Strava и отправить письмо: две вещи, у которых здесь нет удобного API.
Что автоматизировано, а что намеренно нет
Это проектное решение, которым я доволен больше всего, и его легко пропустить.
Задача импорта записывает и публикует, но никогда не судит.
| Что скрипт делает | Чего он не делает |
|---|---|
| Забирает новые активности | Заполняет раздел Analysis |
| Создаёт карточку тренировки | Трогает карточку недели |
| Пишет название и описание в Strava | Трогает опорные темпы |
| Коммитит созданные карточки | Высказывает мнение |
Скрипт, который начал бы судить, выдавал бы вердикты без контекста, с логикой, застывшей в коде, который никто не перечитывает. Судить значит держать вместе нагрузку недели, текущую форму и то, что было сказано в прошлый раз: это тренерская работа, и её делает агент, у которого перед глазами всё дело целиком.
Практическая выгода видна сразу: когда агент не отработал (машина выключена, API лежит), карточка всё равно есть. Ничего не потеряно, не хватает только комментария, и достаточно повторить событие.
Ещё один выбор в ту же сторону: скрипт не ведёт файл состояния, чтобы помнить, что он уже обработал. Источник истины это описание в Strava. Пустое, он пишет; со своей подписью, он проходит мимо; непустое и без подписи, значит его написали вы, и он его не трогает. Локальный файл состояния ничего не сказал бы о том, что сделала другая машина; так же две машины могут работать параллельно, не наступая друг другу на ноги.
Ещё два правила разделения, высеченные в репозитории, и обходить их нельзя:
- описание, публикуемое в Strava, никогда не копирует текст плана: в моей карточке недели есть целевые пульсы и компромиссы, которым нечего делать в публичной активности;
- описание, написанное вручную, никогда не перезаписывается.
Комментарий, который появляется под активностью
Смысл не в самопохвале. Смысл в том, что вердикт тренера читается с телефона, прямо под активностью, без открытия репозитория, и остаётся там, привязанный к тренировке, навсегда.
Поэтому комментарий намеренно узкий: эмодзи вердикта, цифра, которая его несёт, и что это меняет для следующей тренировки. Около 250 знаков.
✅ Пять отрезков в среднем по 3'39 при цели 3'38-3'44, и пульс ровный на всём блоке. Таблица темпов держится. Пятница остаётся лёгкой: запас недели ты уже потратил.
Длинная версия, та, что с пульсами, отмеченной мной точкой внимания и решением по объёму следующей недели, уходит в репозиторий и в письмо. Два канала, две аудитории, и границу держит промпт.
Три вещи, которые ломаются только в бою
Каждая из этих строк существует потому, что без неё что-то сломалось. Они поучительнее, чем вся остальная статья.
1. Закрепить браузер. У меня в Chrome подключены два расширения Claude. Ничто не гарантирует, какое из них достанется агенту, а сессия Strava живёт только в одном. Итог: через раз агент оказывался не в том браузере, без входа в аккаунт, и не мог ничего прокомментировать. Выбор браузера по идентификатору устройства не сохраняется от сессии к сессии, поэтому ему место в промпте, вместе с прямым запретом идти спрашивать у пользователя, какой выбрать. Без присмотра вопрос это тупик.
2. У поля комментария в Strava нет maxlength. Ничто в браузере не мешает написать слишком длинно: отказывает сервер при отправке. Агент, который сочинил красивый абзац на 600 знаков, набирает его целиком, жмёт «Опубликовать» и получает непонятную ему ошибку. Значит, промпт должен требовать краткости до написания и предусмотреть этот случай: если отправка не прошла, укоротить и опубликовать заново, но никогда не разбивать на два комментария.
3. Один комментарий тренера на активность. Когда вы повторяете событие для проверки (а в начале это делаешь часто), без этого правила агент нагромождает комментарии на уже обработанную активность. Поэтому промпт заставляет его прочитать вкладку «Комментарии» перед тем, как писать, и пропустить ход, если он там уже есть. Та же логика на стороне репозитория: если раздел ## Analysis уже заполнен, его не переписывают.
Во что это обходится
| Часть | Где | Стоимость |
|---|---|---|
| Агент-тренер | Моя машина, через AgentsRoom | моя подписка Claude |
| Опрос каждые 15 минут | Небольшая машина на Linux, всегда включённая | ~5 €/месяц или ноль на Raspberry Pi |
| Дневник | Приватный репозиторий Git | бесплатно |
| API Strava | Strava Developer Program | см. тарифы Strava |
В этой сборке нет ключа API с оплатой за токены. Это тот момент, который, по-моему, недооценивают сильнее всего: то же самое, построенное на API с оплатой по использованию, крутило бы счётчик на каждой тренировке, и я бы, скорее всего, его не сохранил.
Собрать это на выходных
Шаги по порядку. Рассчитывайте на вечер, если у вас уже есть аккаунт Strava и подписка Claude.
1. Клонировать шаблон и сделать его своим.
git clone https://github.com/AgentsRoomDev/running-performance-coach.git my-coach
cd my-coach
rm -rf .git && git init
Сделайте свою копию приватной. Дневник тренировок содержит данные о здоровье: пульс, сон, травмы. Шаблон публичный, ваша копия быть такой не должна.
Затем заполните в таком порядке: athlete/profile.md (кто вы как бегун), athlete/records.md (ваши личные рекорды), athlete/constraints.md (окна, которые у вас реально есть), athlete/zones-and-paces.md (ваши опорные темпы), plan/objective.md (старт и цель), затем CLAUDE.md, где вы заменяете каждое место {{...}}.
Напоследок откройте репозиторий своим агентом Claude и скажите ему: «прочитай CLAUDE.md и athlete/, потом собери мне первую неделю».
2. Подключить Strava.
cp .env.example .env && chmod 600 .env
python3 scripts/strava_oauth.py # один клик в браузере, один раз
python3 scripts/strava_sync.py --dry-run
--dry-run печатает то, что было бы записано, ничего не записывая. Это момент проверить, что восстановление тренировок вас устраивает.
3. Создать триггер в AgentsRoom. В разделе Triggers, New trigger:
| Поле | Значение |
|---|---|
| Тип | Webhook, источник generic |
| Промпт | содержимое docs/trigger-prompt.md |
| Роль / персона | docs/coach-persona.md |
| Режим разрешений | Автономный |
| Доступ к браузеру | Включён |
AgentsRoom выдаёт URL и секрет для подписи. Положите оба в свой .env:
WEBHOOK_URL=https://agentsroom.dev/api/triggers/t_xxxxxxxxxxxx
WEBHOOK_SECRET=whsec_xxxxxxxxxxxxxxxxxxxxxxxx
4. Проверить его, прежде чем ему доверять.
python3 scripts/webhook_replay.py scripts/examples/webhook-session.json --dry-run
python3 scripts/webhook_replay.py scripts/examples/webhook-session.json
Это прогоняет тренировку через триггер, не дожидаясь вашей следующей пробежки и не трогая состояние автоматической задачи. Вы должны увидеть ✅ HTTP 202, и в AgentsRoom должна открыться вкладка агента.
5. Запускать каждые 15 минут.
bash scripts/systemd/install.sh # на сервере под Linux
Юнит oneshot плюс таймер: никакого резидентного процесса, а проход, пропущенный, пока машина была выключена, догоняется при следующем запуске.
Если постоянно включённой машины нет, пропустите этот шаг: запускайте strava_sync.py руками, когда захочется, или просто расскажите о тренировке агенту в разговоре. Ритуал из CLAUDE.md работает точно так же. Вы теряете автоматизацию, но не тренера.
Что я из этого вынес, помимо бега
В этой сборке нет ничего специфичного для бега. Она показывает переиспользуемый приём почти для любой области, где вы накапливаете личные данные и хотели бы получить по ним компетентное мнение.
Три части, и всё. Репозиторий Git с файлами Markdown как память, читаемая и машиной, и вами. Событие, которое будит агента, вместо агента, который опрашивает по кругу и жжёт токены впустую. Три слоя конфигурации, чисто разделяющие, кто такой агент, как он работает у вас и что ему делать прямо сейчас.
Замените «беговую тренировку» на «выписку из банка», «сессию кодинга», «замер сахара в крови» или «заметку о прочитанном»: механика не меняется.
Часто задаваемые вопросы
Нужно ли уметь программировать, чтобы собрать ИИ-тренера по бегу?
Нужно уметь запустить команду в терминале и отредактировать текстовый файл. Репозиторий-шаблон готов к клонированию, скрипты на Python не используют ничего, кроме стандартной библиотеки (никакого pip install), а тренерская часть настраивается обычной прозой в файлах Markdown. Настоящая работа тут не техническая: честно описать, что вы за бегун и к чему идёте.
Сколько это стоит в месяц?
Агент работает на подписке Claude, которая у вас уже есть (Pro или Max): ключа API с оплатой за токены здесь нет. Сверху может понадобиться небольшая машина, включённая постоянно, чтобы опрашивать Strava каждые 15 минут: около 5 евро в месяц на VPS или ноль на Raspberry Pi. Приватный репозиторий Git бесплатен. Остаётся API Strava, который с июня 2026 года требует платной подписки разработчика.
Почему репозиторий Git, а не база данных?
Потому что история становится читаемой: и тренером, и вами. Каждая тренировка записана как файл Markdown, каждое изменение плана как коммит со своей причиной. Агент может перечитать то, что назначил три недели назад, и проверить, сработало ли это, а вы читаете свой план с телефона в приложении GitHub, не написав ни строчки интерфейса.
Что такое вебхук, если объяснить просто?
Вебхук работает наоборот: не вы спрашиваете сервис, а сервис сам обращается к вам. Вместо того чтобы каждые пять минут спрашивать, есть ли что-то новое, вы отдаёте программе веб-адрес, и она присылает сообщение, когда событие произошло. Здесь это сообщение отправляет скрипт, который импортирует тренировку, а получает его AgentsRoom и за секунду открывает агента Claude. Отсюда же и дешевизна сборки: агент, который опрашивает по кругу, жжёт токены на каждом ходу, а вебхук-триггер не стоит ничего, пока ничего не происходит.
Работает ли это для другого вида спорта, не для бега?
Да. Импорт восстанавливает круги с часов, а велосипед и плавание тоже пишут круги. Меняются файлы стратегии и каталог тренировок, а это текст, который вы переписываете. Механика (импорт, вебхук, агент, репозиторий) остаётся прежней.
Может ли агент ошибиться и сломать мой план?
Ошибиться может, но сломать многого не сумеет: всё, что он пишет, это коммит Git, который вы можете прочитать, оспорить и откатить. Файл CLAUDE.md прямо запрещает ему переписывать историю, выдумывать данные, которых вы не давали, менять план без указания причины и давать медицинские советы. Подозрительная боль, и он отправляет вас к специалисту.
Репозиторий-шаблон лежит здесь: AgentsRoomDev/running-performance-coach. Клонируйте его, впишите свои темпы, и у вас есть свой тренер. Если хотите посмотреть на ту часть, которая будит агента, она описана на странице вебхук-триггеры, а AgentsRoom скачивается здесь.
Скачать AgentsRoom
Запускай всех своих ИИ-агентов во всех проектах из одного окна.
Приложение-компаньон: следите за агентами на ходу
Используйте Claude, Codex, Antigravity CLI или другого поставщика AI.
Отправляйте баги и запросы прямо в ваш публичный бэклог.
Взгляд на AgentsRoom в действии.
Читать далее
Antigravity CLI держит один вход Google на всю машину. Вот что работает вместо этого.
Почему две подписки Google AI Pro нельзя чередовать в Antigravity CLI, где он на самом деле хранит ваш вход, что переключатели аккаунтов действительно делают с системной связкой ключей, почему семейный тариф не удваивает квоту, и единственный подход, который по-настоящему запускает несколько аккаунтов параллельно.
Читать статьюСколько токенов у меня осталось в Claude? Такого числа не существует.
Ваша подписка Claude измеряется не в токенах, поэтому ни один экран не показывает остаток токенов. Вот что тарифицируется на самом деле, где это прочитать и почему расход растёт, пока вы ничего не печатаете, и что меняется для недельного окна 14 сентября 2026 года.
Читать статьюКод теперь пишут агенты. Вот во что превратилась работа разработчика.
Написание кода было одним звеном из шести, и забрали агенты именно его. Остальные пять стали тяжелее. Разбор того, что осталось от профессии: услышать, решить, поставить задачу, вести работу, проверить, выпустить.
Читать статью