Training
Assistant
Данные завершённых тренировок
STAS соединяет спортивные часы с ChatGPT и Claude. Завершённые активности приходят через Intervals.icu, STAS готовит их, а AI получает чистый тренировочный контекст.
В STAS тренировка хранится как подготовленная запись в базе о завершённой активности. Это не просто неразобранный набор данных из Intervals.icu. STAS оставляет важные поля, размечает рабочие отрезки, прикрепляет отчёт и собирает сводки истории для анализа.
Что такое запись тренировки в STAS
В STAS тренировка хранится как запись в базе данных о завершённой активности. Эта запись фиксирует факты: что вы сделали, когда, как долго, насколько тяжело и что показывают данные.
Запись о завершённой активности
STAS получает завершённые активности из Intervals.icu и сохраняет их как записи тренировок. Эти записи использует сайт, отчёты, состояние, проверка стратегии и AI-чаты.
Плановая тренировка говорит, что должно произойти. Завершённая тренировка говорит, что произошло на самом деле. STAS сравнивает план и факт только после прихода реальной активности.
Где это видно
Список тренировок находится на /trainings а каждая запись открывает страницу вида /trainings/[id] с метриками, интервалами, зонами, wellness-контекстом и редактором отчёта.
Как данные попадают в STAS
Цепочка простая: часы или тренировочная платформа -> Intervals.icu -> STAS -> профиль, Telegram, ChatGPT или Claude.
Intervals.icu — слой данных
Часы или платформа загружают завершённую активность в Intervals.icu. STAS читает эту активность из Intervals.icu и сохраняет её как подготовленную запись тренировки.
Для STAS публичный путь источника — Intervals.icu. Эта страница не описывает отдельный импорт через Strava.
Где смотреть тренировку и писать отчёт
Одна и та же завершённая активность остаётся видимой в нескольких местах, но роль у них разная.
Часы и Intervals.icu
В приложении часов и в Intervals.icu вы видите исходные данные активности: маршрут, время, дистанцию, пульс, темп, мощность, зоны и другие поля, которые передало устройство или платформа.
Профиль и история тренировок в STAS
В STAS тренировка видна в профиле и истории тренировок как подготовленная карточка: детали занятия, интервалы и метрики, если они есть, плюс поле или кнопка для отчёта после тренировки.
Telegram как быстрый слой
После обработки тренировки STAS автоматически присылает сообщение в Telegram. Из него можно быстро написать отчёт, не открывая подробный веб-интерфейс.
Этот отчёт сохраняется в тренировку STAS и в описание активности Intervals.icu. Telegram не заменяет страницу тренировки, а даёт быстрый способ добавить комментарий сразу после занятия.
Что STAS делает с тренировкой
Одна активность в Intervals.icu состоит из нескольких слоёв данных: общие поля, отрезки, зоны, подробные значения и описания. Эти данные нужно расшифровать и собрать в понятный вид.
Подготовка до передачи в AI
STAS сохраняет основные поля, убирает лишний шум, нормализует метрики и держит исходную активность Intervals как источник за подготовленной записью.
STAS также готовит тренерский слой: не просто хранит цифры, а добавляет к ним понятный для анализа смысл.
Что входит в тренерский слой
Этот слой помогает ChatGPT и Claude быстрее понять тренировку как занятие, а не как набор чисел.
- тип сессии: для бега STAS размечает занятие как Easy, Threshold, Interval, Long, Recovery или Unclassified, если данных недостаточно; для велосипеда, плавания и силовой чаще остаётся спортивный тип активности;
- рабочие отрезки: например, 4 x 8 минут в пороге или 5 x 1000 м, с темпом, пульсом, мощностью и восстановлением, если эти данные есть;
- сплиты и зоны: километры по темпу, время в пульсовых зонах, а для велосипеда ещё и зоны мощности;
- отчёт пользователя: что реально произошло, как ощущалась нагрузка, почему тренировка отличалась от плана;
- связь с исходной активностью Intervals.icu: STAS хранит ссылку на источник, но наружу отдаёт подготовленную запись, а не весь внутренний набор данных.
Зачем нужен этот слой подготовки
В этом и смысл STAS: заранее превратить активность в понятный набор фактов, чтобы AI разбирал тренировку, а не тратил ответ на расшифровку данных.
- сохранить полезные поля тренировки;
- очистить и нормализовать значения для сравнения;
- разметить значимые рабочие отрезки и интервалы, когда данные это подтверждают;
- прикрепить отчёт пользователя к той же тренировке;
- собрать короткие сводки по неделям, месяцам, трендам, нагрузке и ключевым занятиям.
Из чего состоит запись тренировки
В записи тренировки есть общие данные о занятии и дополнительные спортивные детали. Набор деталей отличается для бега, велосипеда, плавания, силовой и других активностей, потому что сами устройства и Intervals.icu передают разные поля.
Что есть в записи тренировки
Запись тренировки включает:
- дату, название активности, вид активности и тип сессии;
- исходную активность Intervals.icu и id тренировки в STAS;
- дистанцию, время движения, темп или скорость;
- средний пульс, максимальный пульс, нагрузку, Fitness, Fatigue и Form;
- набор высоты и интенсивность, если источник передал эти значения;
- отчёт пользователя, сохранённый в тренировке;
- километровые сплиты и рабочие отрезки, если в деталях активности есть данные для их построения;
- контекст дня из wellness, если он есть в Intervals.icu.
Дополнительные данные по видам спорта
Для разных видов активности запись дополняется спортивными деталями:
- Бег: темп, дистанция, пульс, сплиты, интервалы, каденс или темп с поправкой на рельеф, если источник передал эти поля; VDOT и беговые темпы — только когда данные это подтверждают.
- Велосипед: скорость и поля мощности — средняя мощность, нормализованная мощность, FTP, каденс, intensity factor и зоны мощности, если источник передал эти поля.
- Плавание: дистанция, время, плавательный темп, интервалы и специальные плавательные детали, если источник передал эти поля.
- Силовые и другие активности: STAS сохраняет полезные поля, которые даёт Intervals.icu, и не придумывает отсутствующие метрики.
История, собранная из тренировок
STAS строит превью последних тренировок, 26-недельную историю, окна 4 и 12 недель, сводки по месяцам и кварталам, смесь видов спорта, нагрузку, регулярность и ключевые занятия.
Это отдельный слой истории, а не часть одной записи тренировки. STAS прикладывает его рядом, когда AI нужно понять не только “что произошло на этой тренировке”, но и “что она значит на фоне последних недель и месяцев”.
Технический пример: что получает AI
Ниже не внутренняя выгрузка Intervals.icu, а упрощённый пример подготовленной записи, которую STAS отдаёт через свой слой данных.
Пример записи тренировки
В ответе есть идентификатор, дата, вид активности, тип сессии, метрики, зоны, сплиты, отчёт пользователя и подготовленные sportMetrics. Если запрос сделан с full=1, STAS добавляет интервалы.
{
"id": "trn_2026_04_06_run_threshold",
"date": "2026-04-06T07:12:00.000Z",
"workoutType": "Run",
"sessionType": "Threshold",
"activityName": "Morning threshold run",
"distance": 12.4,
"movingTime": 3660,
"pace": 4.92,
"avgHr": 151,
"maxHr": 174,
"fitness": 52.1,
"fatigue": 61.4,
"form": -9.3,
"load": 84,
"intensity": "moderate",
"elevationGain": 86,
"hrZoneTimes": [
320,
1180,
1470,
610,
80
],
"splitsKm": [
{
"km": 1,
"pace": "5:10/km"
},
{
"km": 2,
"pace": "5:05/km"
}
],
"intervalSummary": {
"work": "4 x 8 min",
"recovery": "3 min jog"
},
"userReport": "Completed as planned. Last two reps felt hard but controlled.",
"sportMetrics": {
"gradedPace": 4.86,
"cadence": 176,
"verticalOscillation": 8.4
},
"intervals": [
{
"name": "Work 1",
"moving_time": 480,
"distance": 1640,
"avg_hr": 164
},
{
"name": "Work 2",
"moving_time": 480,
"distance": 1660,
"avg_hr": 168
}
]
}Разные виды спорта — разные дополнительные поля
Базовая запись остаётся одной и той же, но sportMetrics зависит от типа активности: у бега одни поля, у велосипеда — мощность и FTP, у плавания — свои показатели, у силовой специальных sportMetrics может не быть.
{
"Run": {
"workoutType": "Run",
"sessionType": "Interval",
"sportMetrics": {
"gradedPace": 4.18,
"cadence": 180,
"verticalOscillation": 8.1
}
},
"Ride": {
"workoutType": "Ride",
"sessionType": "Ride",
"sportMetrics": {
"avgWatts": 188,
"normalizedPower": 215,
"ftp": 260,
"intensityFactor": 0.83,
"tss": 96,
"powerZoneTimes": [
780,
2200,
1800,
900,
240,
0,
0
],
"cadence": 84,
"decoupling": 3.2
}
},
"Swim": {
"workoutType": "Swim",
"sessionType": "Swim",
"pace": 1.82,
"sportMetrics": {
"swimCadenceSpm": 31
}
},
"WeightTraining": {
"workoutType": "WeightTraining",
"sessionType": "WeightTraining",
"movingTime": 2700,
"load": 31,
"sportMetrics": null
}
}Как ChatGPT и Claude запрашивают тренировки
В ChatGPT это выглядит как запрос к Actions-эндпоинту STAS. Для полноценного разбора используется окно дат и full=1.
GET /trainings?oldest=2026-04-01&newest=2026-04-08&limit=30&full=1В Claude это то же действие через MCP-инструмент get_trainings.
{
"name": "get_trainings",
"arguments": {
"oldest": "2026-04-01",
"newest": "2026-04-08",
"limit": 30,
"full": true
}
}Правила для AI
STAS-инструкции заставляют AI работать не по памяти чата, а по свежим данным.
- сначала загрузить user_summary, чтобы понять профиль, цели, правила, состояние и краткую историю;
- для анализа конкретных тренировок загрузить полные тренировки напрямую, потому что recentTrainings — только короткое превью;
- для обычного анализа и экспорта использовать full=1, чтобы получить интервалы, и дробить окно дат, если ответ слишком большой;
- сравнивать факт с планом только после чтения плановых событий за тот же период.
Как ChatGPT и Claude используют тренировки
AI получает подготовленную тренировку вместе с нужным контекстом: метрики, отрезки, отчёт, данные дня и историю вокруг занятия.
Как AI разбирает прошедшую тренировку
Когда пользователь просит разобрать занятие, ChatGPT или Claude смотрят на факты этой тренировки и сверяют их с контекстом:
- что реально было сделано: длительность, дистанция, вид активности и тип сессии;
- как прошла нагрузка: темп или скорость, пульс, мощность, зоны и тренировочная нагрузка;
- какие были ключевые отрезки: интервалы, рабочие части, восстановление и сплиты;
- что добавил спортсмен в отчёте и что видно по данным дня;
- как эта тренировка соотносится с планом, текущим состоянием и недавней историей.
Подготовленный контекст, а не сырые данные
ChatGPT или Claude не должны каждый раз расшифровывать все слои данных активности. STAS уже подготовил полезный тренировочный контекст.
Обычное сообщение в ChatGPT или Claude не сохраняется как отчёт к тренировке. Отчёты сохраняются через сценарии STAS: Telegram или страницу тренировки.
Ограничения
STAS зависит от качества исходных данных.
Важные границы
- Данные часов, GPS, пульса и мощности могут быть ошибочными или неполными.
- Специфичные поля спорта заполняются только из тех данных, которые пришли в исходной активности.
- Интервалы, зоны, wellness и мощность не гарантированы для каждой тренировки.
- STAS не диагностирует травмы и не заменяет врача.
- STAS не обещает вручную чинить каждую запись активности.
- Сообщения в чате не становятся автоматически сохранёнными отчётами к тренировке.
Частые вопросы
Короткие ответы про завершённые тренировки в STAS.
Почему тренировки так важны в STAS?
Это основа фактического контекста. STAS соединяет данные часов с AI-анализом, а завершённые тренировки дают факты, без которых нельзя нормально разбирать подготовку и строить планы.
STAS передаёт в AI сырые данные Intervals.icu?
Нет. STAS получает полные данные активности, затем сохраняет и готовит запись тренировки. AI получает подготовленный контекст: важные поля, интервалы, отчёт, метрики и сводки истории.
Что всегда относится к записи тренировки?
Запись хранит идентификатор активности, дату, название, вид активности, тип сессии, дистанцию, время, темп или скорость, пульсовые поля, нагрузку, Fitness/Fatigue/Form и поле отчёта пользователя. Отдельные значения остаются пустыми, если источник их не передал.
Что зависит от спорта или устройства?
Мощность, каденс, зоны мощности, плавательные поля, wellness, интервалы и часть подтверждений формы зависят от того, что Intervals.icu получил от устройства или платформы.
Как STAS использует историю?
STAS собирает компактные сводки по последним тренировкам, неделям, месяцам, трендам, нагрузке, смеси видов спорта и ключевым занятиям. Это даёт AI контекст шире одной активности.
Может ли STAS поставить диагноз по тренировке?
Нет. STAS помогает увидеть тренировочные сигналы и недостающий контекст, но не ставит медицинские диагнозы и не заменяет специалиста.
Что читать дальше
Тренировки связаны с отчётами, состоянием, стратегией и общей помощью.
Полезные страницы рядом
Открыть историю тренировок
Смотрите завершённые тренировки, проверяйте интервалы, добавляйте отчёты и давайте AI лучший контекст.