Навайбкодил health агента. Как работает, что умеет, как сделать самому

 Публичный пост
25 марта 2026  196

В последнеее время угораю по тренировкам, правильному питанию, нормальному сну и восстановлению. Запилил агента, который знает это всё обо мне и советует что делать дальше. Иногда хвалит, иногда ругает, всё как настоящий тренер и нутрициолог. Делюсь тем как он работает и как по шагам что-то похожее сделать самому

Не забываем ставить плюсики если понравилось. От этого всегда приятно, я старался 😉

Это мы с моим новым тренером-нутрициологом-сомнологом в зале
Это мы с моим новым тренером-нутрициологом-сомнологом в зале

Какую задачу решал?

Понял, что хочу жить долгую, здоровую и счастливую жизнь. Вкопался в инфу как это делать, начал заниматься силовыми и кардио. Чтобы всё нормально работало нужно соблюдать режим, есть по каллориям и регулярно заниматься

Можно нанять тренера, нутрициолога и сомнолога, которые будут говорить что делаю так или не так. Но у этого есть минусы:

  • Время людей стоит денег
  • Люди уходят в отпуск, на выходные или просто не отвечают
  • Люди не помнят всего. У них вообще мозг забывчивый и с когнитивными ошибками

Можно купить GPT подписку и консультироваться с ним. Но даже последние модели тупят. Они помнят только недавний контекст и то криво. В последней попытке агент всё время путал как мы ведём рассчёт, что считаем и зачем. Всё время приходится проверять и напоминать

Поэтому решил сделать самописного агента на GPT мозгах. Даёт такое же качество как человек, не забывает важное и на связи 24/7 прямо в кармане

Эта штука уже качественно улучшила мою жизнь

Что умеет агент?

  1. Записывает еду. Пишу "Съел гречу с куриной грудкой" и фотку прилагаю. Он всё считает и сохраняет в базу данных. Считает довольно хорошо, проверял на уже посчитанной еде
  2. Умеет синхронизироваться с Whoop. Я использую умный браслет, он качественно трекает и рассчитывает метрики сна, восстановления и тренировок. Агент умеет забирать эти данные
  3. Запоминает цели и учитывает их в ответах. На старте говоришь "Вес 72кг, рост 184 кг, цель набрать массу". Или свободные заметки "Сегодня голова болит и колено после тренировки тянет". Запоминает, опирается на эту инфу
  4. Подводит итоги дня и недели. Сравнивает что стало лучше, а что хуже. Может из данных вывести, что сегодня каллорий не набрал или белка маловато. Или по сравнению с прошлой неделью спал на 10% лучше. Он замечает тренды

Как делал?

За последние пару месяцев поднатарел в вайбкодинге. Для сложных проектов использую такую связку

  1. Чат GPT. Иду обстукивать бизнесовую идею. Сам лучше понимаю что хочу, на выходе получаю ТЗ с верхнеуровневыми бизнесовыми требованиями
  2. Скармливаю Клоду. Связка Warp (такой красивый терминал, но можно испоьзовать хоть системный) + Клоду код на Опусе. Он подгоняет технически требования
  3. Пишу с ним Markdown файлы. Claude.md общая инфа и правила работы с проектом. Iterations.md план разработки, тут уложились в 9 итераций. Memory.md память между сессиями
  4. Дальше иду по итерациям. Каждую итерацию тестирую руками и правлю если что не так
  5. Заливаю с локала на виртуалку. Ровняю всё там тоже с помощью Клоду

Что использовал и как работает

  1. Телеграм бот с телеграм API. Но можно любой другой удобный источник, хоть веб версию или аппку сделать. Если решу упороться, то будет аппка с графиками всякими
  2. Postgree SQL. 17 таблиц с едой, тренировками, юзерами. Подробнее на скрине. Нужно, чтобы хранить все данные
    Скрин БД и таблиц
    Скрин БД и таблиц
  3. SDK Open AI. Даже Claude Code сказал, что у конкурентов SDK лучше, поэтому мозги и SDK у агента от Open AI. Нужно, чтобы агрегировать запросы и дать модели разные тулы на удаление, прочтение, редактирование и добавление записей в Постгрю. Всего 17 тулов (столько же сколько и таблиц, но это совпадение)
  4. Роутер по ключевым словам на входе. Понимает какую модель вызывать. Если вопрос лёгкий типо "я поел, запиши", то вызывает 5.4 mini. Если сложный типо "проанализируй текущую неделю, сделай выводы как я иду к цели", то обычную 5.4. Нужно для экономии денег. 1 запрос в 5.4 mini стоит ~0.5 цента. 1 запрос в 5.4 стоит ~2 цента
  5. Scheduler. Крон, который пушит регулярные задачки как оценку дня или недели. Помимо ещё делает ночные синхронизации на случай если что-то из интеграции с Whoop не долетело
  6. Всё это в Докере, потому что не должно конфликтовать и должно нормально разворачиваться
  7. TablePlus. Позволяет приконнектиться к Постгре и смотреть как пишутся данные. Было важно на этапе тестов проверять, что агент всё правильно записывает
  8. VPS на IT Garage. "Коллега" Opus подсказал как поднять виртуалку, подключиться по SSH и всё там настроить. Чтобы бот крутился не локально, а по взрослому 24 на 7
  9. Duck DNS. Сервис дал HTTPS обёртку. Было нужно для интеграции в Whoop, он требовал внешний url, ip сервера с портом не подходил

Внутри всё ещё сложнее. Мне "коллега" накидал архитектуру. Я не в компетенции его проверить, может вы проверите

Архитектура бота
Архитектура бота

Промпт

Делал агента не в графическом интерфейса, а кодом в первый раз, поэтому ловил инсайты как устроен SDK и API нейронок. Например промпт в таких агентах состоит из таких частей:

  1. Base System Prompt. База про роль агента, что он должен и не должен делать, зачем мы его вызвали. Эта часть не меняется и тарифицируется 50% стоимости
  2. Tool Definitions. Описание 17 тулов, которые есть у агента. Их собирает и отправляет SDK, тоже 50% стоимости, потому что не меняется тоже
  3. Dynamic Context. Собирается из БД про меня, мои цели, последние тренировки или сон. + сам запрос того что мы от него хотим. Генерируется каждый новый запрос
  4. Conversation History. Модель не имеет своей памяти. Чтобы эмулировать память нужно скармливать ему последние сообщения

Как такое сделать самому

Покупаешь Клод подписку, запускаешь в терминал и начинаешь разбираться. Я постоянно задаю вопросы "А ты что сейчас делаешь и зачем?", "А вот эту тулу ты зачем поставил, что она делает?", А почему ты решил это использовать, а не вот это?"

Чтобы начать вайбкодить и разбираться с нейронками нужно начать вайбкодить и разбираться с нейронками. Нужно пройти через психологическое сопротивление и начать. А если этого не сделать, то другие это сделают быстрее тебя, будут быстрее и эффективнее

Вывод

Я продакт менеджер. Я знаю как формулировать требования и бизнесово думать про продукт. Неделю назад я не знал как работает SDK Open AI, как поднять Постгрю и подключиться к ней, зачем нужен докер и как всё это залить на виртуальный сервер и управлять через SSH.

Я не смогу без копайлота повторить этот путь. Скорее всего код внутри написан плохо и мой друг разработчик если попробует его заревьюить не разберётся. Но это фиксится парой промптов.
Но оно работает, живёт и приносит мне кайф и пользу

Ниже несколько скринов нашей переписки с этим товарищем

Оценка дня
Оценка дня

Определил по фотке
Определил по фотке

Запомнил, что мне как-то хреного было после силовой+кардио
Запомнил, что мне как-то хреного было после силовой+кардио

9 комментариев 👇

Круто! Очень понравилось и как написано, и подход в целом.

Возникли два вопроса:
Существует ли это в виде репы где-то и доступно ли к просмотру?
Ну и планируешь ли запускать как реальный продукт) Я бы как минимум на месяц был заинтересован потестить

  Развернуть 1 комментарий

@artkuzin, Спасибо! Пока сделал в формате пета. Репу сделаю. Хочу причесать код и сделать описание как с ним работать если кто то захочет такое же сделать) Но попозже

  Развернуть 1 комментарий
Dmitry Babayev Делаю финансы и аналитику для ИТ и не только по всему миру 2 часа назад

Я аналогично делал в GPT контроль калорий, когда сбрасывал вес.
Но я пошел совсем простым путем - сделал хороший стартовый промпт и дальше просто фотографировал все, что я ем и в конце дня пару экранов Гармина.
GPT сам все разбирал, и довольно неплохо.
Только нужно было раз в месяц перезапускать чат, когда он упирался в контекстное окно.

  Развернуть 1 комментарий

@Snk, Да, тоже так делал. Он начинает путать контексты. Я ему говорю что съел. Потом прошу сказать сколько за день. Он может привязать еду с прошлого дня. Или что-то не так посчитать. Постоянно в это упирался.

Фишка такого агента в том, что наврать ему очень сложно, все цифры зафиксированы в БД. Ну и вторая цель, хотелось поиграть с таким агентом)

  Развернуть 1 комментарий

@p_venediktov, Вначале путал, мы договорились ставить метку начала дня, и как рукой сняло.
Проверял, все совпадает.

Поиграться да, интересно.
Я так себе секретаря делаю.

  Развернуть 1 комментарий
Миша Безверхий гений, миллиардер, плейбой, филантроп 1 час назад

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

Вопрос у меня такой: в чем преимущество использования твоего бота по сравнению с одним диалогом с Ии?

Я у себя пытаюсь решить задачу хранения оптимального количества контекста, чтобы гарантировать, что ии получит правильный промпт; ты пользуешься своим продуктом не больше недели — как ты обеспечиваешь, что бот со временем не начнет забывать?

  Развернуть 1 комментарий

@mixbez, Да, проблема с контекстом. Чат путает вещи, которые нужно запоминать точно, сам тестил.

В агенте есть единый промпт с контекстом что нужно сделать, он на 80% один и тот же, добавляется только история и моё текущее сообщение. Исходя из этого агент идёт в БД и достаёт нужную информацию

А следующими итерациями можно накручивать на эту дату красивый интерфейс, графики и делать выводы по накопленным данные комплексно

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Привет! Проект выглядит очень круто!

У меня пара вопросов:

Во сколько тебе в итоге обходится ежедневное использование бота?

Тестил ли ты, насколько точно он подсчитывает ккал? Нет ли большой ошибки из-за отсутствия указания веса + фото с разного расстояния, например, одного и того же блюда?

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб