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

Какую задачу решал?
Понял, что хочу жить долгую, здоровую и счастливую жизнь. Вкопался в инфу как это делать, начал заниматься силовыми и кардио. Чтобы всё нормально работало нужно соблюдать режим, есть по каллориям и регулярно заниматься
Можно нанять тренера, нутрициолога и сомнолога, которые будут говорить что делаю так или не так. Но у этого есть минусы:
- Время людей стоит денег
- Люди уходят в отпуск, на выходные или просто не отвечают
- Люди не помнят всего. У них вообще мозг забывчивый и с когнитивными ошибками
Можно купить GPT подписку и консультироваться с ним. Но даже последние модели тупят. Они помнят только недавний контекст и то криво. В последней попытке агент всё время путал как мы ведём рассчёт, что считаем и зачем. Всё время приходится проверять и напоминать
Поэтому решил сделать самописного агента на GPT мозгах. Даёт такое же качество как человек, не забывает важное и на связи 24/7 прямо в кармане
Эта штука уже качественно улучшила мою жизнь
Что умеет агент?
- Записывает еду. Пишу "Съел гречу с куриной грудкой" и фотку прилагаю. Он всё считает и сохраняет в базу данных. Считает довольно хорошо, проверял на уже посчитанной еде
- Умеет синхронизироваться с Whoop. Я использую умный браслет, он качественно трекает и рассчитывает метрики сна, восстановления и тренировок. Агент умеет забирать эти данные
- Запоминает цели и учитывает их в ответах. На старте говоришь "Вес 72кг, рост 184 кг, цель набрать массу". Или свободные заметки "Сегодня голова болит и колено после тренировки тянет". Запоминает, опирается на эту инфу
- Подводит итоги дня и недели. Сравнивает что стало лучше, а что хуже. Может из данных вывести, что сегодня каллорий не набрал или белка маловато. Или по сравнению с прошлой неделью спал на 10% лучше. Он замечает тренды
Как делал?
За последние пару месяцев поднатарел в вайбкодинге. Для сложных проектов использую такую связку
- Чат GPT. Иду обстукивать бизнесовую идею. Сам лучше понимаю что хочу, на выходе получаю ТЗ с верхнеуровневыми бизнесовыми требованиями
- Скармливаю Клоду. Связка Warp (такой красивый терминал, но можно испоьзовать хоть системный) + Клоду код на Опусе. Он подгоняет технически требования
- Пишу с ним Markdown файлы. Claude.md общая инфа и правила работы с проектом. Iterations.md план разработки, тут уложились в 9 итераций. Memory.md память между сессиями
- Дальше иду по итерациям. Каждую итерацию тестирую руками и правлю если что не так
- Заливаю с локала на виртуалку. Ровняю всё там тоже с помощью Клоду
Что использовал и как работает
- Телеграм бот с телеграм API. Но можно любой другой удобный источник, хоть веб версию или аппку сделать. Если решу упороться, то будет аппка с графиками всякими
- Postgree SQL. 17 таблиц с едой, тренировками, юзерами. Подробнее на скрине. Нужно, чтобы хранить все данные

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

Промпт
Делал агента не в графическом интерфейса, а кодом в первый раз, поэтому ловил инсайты как устроен SDK и API нейронок. Например промпт в таких агентах состоит из таких частей:
- Base System Prompt. База про роль агента, что он должен и не должен делать, зачем мы его вызвали. Эта часть не меняется и тарифицируется 50% стоимости
- Tool Definitions. Описание 17 тулов, которые есть у агента. Их собирает и отправляет SDK, тоже 50% стоимости, потому что не меняется тоже
- Dynamic Context. Собирается из БД про меня, мои цели, последние тренировки или сон. + сам запрос того что мы от него хотим. Генерируется каждый новый запрос
- Conversation History. Модель не имеет своей памяти. Чтобы эмулировать память нужно скармливать ему последние сообщения
Как такое сделать самому
Покупаешь Клод подписку, запускаешь в терминал и начинаешь разбираться. Я постоянно задаю вопросы "А ты что сейчас делаешь и зачем?", "А вот эту тулу ты зачем поставил, что она делает?", А почему ты решил это использовать, а не вот это?"
Чтобы начать вайбкодить и разбираться с нейронками нужно начать вайбкодить и разбираться с нейронками. Нужно пройти через психологическое сопротивление и начать. А если этого не сделать, то другие это сделают быстрее тебя, будут быстрее и эффективнее
Вывод
Я продакт менеджер. Я знаю как формулировать требования и бизнесово думать про продукт. Неделю назад я не знал как работает SDK Open AI, как поднять Постгрю и подключиться к ней, зачем нужен докер и как всё это залить на виртуальный сервер и управлять через SSH.
Я не смогу без копайлота повторить этот путь. Скорее всего код внутри написан плохо и мой друг разработчик если попробует его заревьюить не разберётся. Но это фиксится парой промптов.
Но оно работает, живёт и приносит мне кайф и пользу
Ниже несколько скринов нашей переписки с этим товарищем





Круто! Очень понравилось и как написано, и подход в целом.
Возникли два вопроса:
Существует ли это в виде репы где-то и доступно ли к просмотру?
Ну и планируешь ли запускать как реальный продукт) Я бы как минимум на месяц был заинтересован потестить
Я аналогично делал в GPT контроль калорий, когда сбрасывал вес.
Но я пошел совсем простым путем - сделал хороший стартовый промпт и дальше просто фотографировал все, что я ем и в конце дня пару экранов Гармина.
GPT сам все разбирал, и довольно неплохо.
Только нужно было раз в месяц перезапускать чат, когда он упирался в контекстное окно.
Привет! Интересный проект и отдельно интересно, что я начал строить аналогичный пару недель назад.
Вопрос у меня такой: в чем преимущество использования твоего бота по сравнению с одним диалогом с Ии?
Я у себя пытаюсь решить задачу хранения оптимального количества контекста, чтобы гарантировать, что ии получит правильный промпт; ты пользуешься своим продуктом не больше недели — как ты обеспечиваешь, что бот со временем не начнет забывать?
Привет! Проект выглядит очень круто!
У меня пара вопросов:
Во сколько тебе в итоге обходится ежедневное использование бота?
Тестил ли ты, насколько точно он подсчитывает ккал? Нет ли большой ошибки из-за отсутствия указания веса + фото с разного расстояния, например, одного и того же блюда?