Normal view

Я построил AI-тренера, который всегда следит за моим отдыхом и пишет тренировки мне в часы

Пятьдесят дней назад планирование моих тренировок переехало из головы и переписки в телеграм-бота. Он читает восстановление из WHOOP и форму из TrainingPeaks, рассуждает через Claude и сам пишет структурированные тренировки обратно в календарь — оттуда они уезжают в Garmin Connect и на часы. За это время он записал в календарь 72 тренировки, а стоимость эксплуатации (дроплет, инференс, подписки) составила около 4 500 рублей в месяц против 30 000+ за живого тренера с теми же подписками на спортивные сервисы.

Официального доступа к TrainingPeaks у меня нет: в партнёрскую программу я написал и получил отказ без объяснения причин. В статье — как я всё равно научился писать в чужой календарь: обмен куки веб-сессии на bearer, GET-merge-PUT вместо несуществующего PATCH, поле, которое на чтении приходит объектом, а на запись требует JSON внутри JSON, и почему IF и TSS плановой тренировки приходится считать самому.

Вторая половина — про то, где это ломалось. Три отказа за пятьдесят дней, и ни один не был виной модели: устаревший в настройках пороговый темп, мой собственный баг с зонами не того вида спорта, один невалидный OAuth-scope, отбивавший запрос согласия целиком, и ответы, обрывавшиеся на полуслове из-за параметра, у которого «по умолчанию» значит разное у разных моделей. Плюс три дня, когда я был уверен, что агент зря меня бережёт, — а данные говорят, что прав был он.

Спортивного результата пока нет: до целевого марафона сто дней, но надеюсь на лучшее.

Как это устроено и во что обошлось

Находки в опенсорсе: мир питона за август 2026

Всем привет, вот и заканчивается лето :(

Мой прошлый дайджест неожиданным образом зашел, а значит - людям такое интересно. В августе было много новых интересных PEP’ов (например, PEP 805: Safe Parallel Python), которые я поревьюил, было много новых релизов, было много новых опенсорс проектов чуваков из нашего сообщества, пару интересных подкастов и множество другого интересного!

С меня как всегда статья без нейрослопа и ИИ, с вас как всегда интересные комментарии и лайки! Но немного нейрослопа я все же добавил в некоторые свои проекты. Но осторожно и с пользой для всех.

Погнали смотреть, что у нас в питоне происходило!

Читать далее

Что такое харнес? Разбираемся в самом популярном термине в ИИ‑агентах

Слово «харнес» за этот год попало во все разговоры про ИИ, а обьясняется это примерно так: «ну, это обвязка». Обвязка чего? Какая обвязка? Поделюсь своим мнением по поводу этого термина.

Если вы хоть раз запускали Claude Code, работали с Codex или Cursor, вы уже используюете харнес в самом что ни на етсь смысле.

Проше говоря, харнес — это слой настроек, дополнительных файлов, инструментов для модели (LLM) или если хотите в своем роде *архитектурный паттерн в ИИ‑агентах. Но в живой речи харнесами называют и программы целиком: «поставил себе харнес», «какой харнес выбрать», логика та же, по которой «мотор» иногда означает всю машину. Если нуэно различать то помогает вопрос «это можно скачать и запустить?»: если да, речь о программе. Дальше «харнес» у меня означает «обвязку» слой внутри неё.

Читать далее

Как работает текстовый водяной знак в Claude

Привет!

Эпоха дикой генерации слопотекста, кажется, заканчивается.

Недавно от Anthropic вышла статья How Claude's Text Watermark Works, которая была посвящена покушению на святое — копирайту на сгенерированный текст и его детекции.

Тема супер интересная и когда один из главных научпоп-исследователей LLM — Себастьян Рашка — подготовил детальный разбор того, как вообще в LLM может быть устроен вотермаркинг, я понял, что надо брать. Я сделал частичный перевод этого разбора — автор очень крутой, но часто долго разгоняется, слишком много извиняется за свои предположения, порой чрезмерно рекламит, а иногда просто нудит и тяжело пишет.

Поэтому публикую чистенькую, вручную переписанную и адаптированную под русский язык версию. Тема очень крутая и горячая, приятного чтения!

Читать далее
❌