پرش به محتوای اصلی
پرش به محتوای مقاله

ترکیب Claude و پروتکل MCP؛ تبدیل چت‌بات به مربی سلامت با حافظهٔ Git

·۱۴ مهر ۱۴۰۵۱۲ دقیقه مطالعه
راهنما
دستیار هوشمند تناسب اندام: Claude با داده‌های گارمین، Yazio و FitDays از طریق MCP و حافظه گیت‌هاب
دستیار هوشمند تناسب اندام: Claude با داده‌های گارمین، Yazio و FitDays از طریق MCP و حافظه گیت‌هاب
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

استفاده از یک مخزن Git به عنوان لایه حافظه بلندمدت و ساختاریافته برای یک عامل هوش مصنوعی؛ به جای تکیه بر حافظه کوتاه مدل، وضعیت کاربر به صورت نسخه-دار (Versioned) ذخیره می‌شود.

تصور کنید مربی سلامتی شما نه یک انسان، بلکه یک مدل هوش مصنوعی است که هر ثانیه ضربان قلب، کیفیت خواب و کالری دریافتی شما را می‌بیند و بر اساس آن‌ها برنامه فردا را تغییر می‌دهد. این دیگر یک رویای علمی نیست، بلکه نتیجهٔ پیوند دادن یک مدل زبانی به داده‌های واقعی زندگی است.

به نقل از مستندات منتشر شده در ۶ اکتبر ۲۰۲۶، یک توسعه‌دهنده موفق شده است Claude را از یک چت‌بات عمومی به یک مربی تخصصی تغذیه و سلامت تبدیل کند. او برای این کار از پروتکل زمینهٔ مدل (Model Context Protocol یا MCP) — که شبیه به یک مترجم جهانی است و اجازه می‌دهد هوش مصنوعی به جای حدس زدن، مستقیماً با نرم‌افزارهای دیگر حرف بزند — استفاده کرده است. این پروژه نشان می‌دهد که چگونه می‌توان شکاف بین داده‌های پراکنده سلامتی و تصمیم‌گیری‌های عملی هوش مصنوعی را پر کرد. این رویکرد در راستای تلاش‌های گسترده‌تری است که در آن سامانه Lamarck با تبدیل نشانگرهای زیستی خام به بینش‌های شخصی‌سازی‌شده، استانداردهای جدیدی برای تحلیل سلامت تعریف کرده است.

بسیاری از علاقه‌مندان به سلامت با مشکل «سیلوهای داده» دست‌وپنجه نرم می‌کنند؛ وضعیتی که در آن داده‌های خواب، تغذیه و وزن در اپلیکیشن‌های جداگانه زندانی شده‌اند. در حالی که یک متخصص تغذیه انسانی می‌تواند این اعداد را با هم تطبیق دهد تا برنامه غذایی را اصلاح کند، هوش مصنوعی معمولاً فاقد دسترسی لحظه‌ای و حافظه بلندمدت برای انجام چنین کاری است. همان‌طور که در تحلیل قبلی ما درباره‌ی اتوماسیون وضعیت پروژه‌ها از طریق دستورات اسلش سفارشی اشاره کردیم، این پیاده‌سازی با مسیر سلامتی یک فرد به عنوان یک پروژه نرم‌افزاری با وضعیت کنترل‌شده (Version-controlled state) برخورد می‌کند.

معماری فنی سامانه

این سیستم بر دو ستون اصلی استوار است: سرورهای MCP برای دسترسی به داده‌ها و یک مخزن Git برای حافظه شناختی. سرورهای MCP در واقع «دست‌های» هوش مصنوعی هستند که دسترسی خواندن و نوشتن در سه حوزه را فراهم می‌کنند:

  • فعالیت و ریکاوری: توسط سرور garmin_mcp (Taxuspt/garmin_mcp) مدیریت می‌شود که بیش از ۱۱۰ ابزار برای ردیابی فعالیت‌ها، خواب، HRV (تغییرپذیری ضربان قلب)، ضربان قلب استراحت، Body Battery و وضعیت تمرینی ارائه می‌دهد. این سرور حتی اجازه می‌دهد تمرینات مستقیماً در تقویم گارمین ایجاد و برنامه‌ریزی شوند. احراز هویت از طریق ترمینال انجام می‌شود و توکن‌های OAuth در مسیر ~/.garminconnect ذخیره می‌شوند که حدود شش ماه اعتبار دارند. در صورت انقضای توکن‌ها، راه حل این است که احراز هویت با دستور --force-reauth مجدداً اجرا شود، نه اینکه درخواست قبلی تکرار شود.
  • تغذیه: از طریق yazio-mcp (fliptheweb/yazio-mcp) مدیریت می‌شود که کالری‌ها، درشت‌مغذی‌ها (Macros)، اقلام مصرف شده و میزان مصرف آب را ردیابی می‌کند. این سرور همچنین می‌تواند غذاها را به دفترچه یادداشت روزانه اضافه یا از آن حذف کند. در این زمینه، چالش‌های مربوط به دقت محاسبات تغذیه‌ای همواره مطرح بوده است؛ به گونه‌ای که پروژه Protealpes برای تحلیل دقیق غذا، محاسبات LLM را با کدهای قطعی جایگزین کرد تا خطاهای ریاضی مدل‌های زبانی حذف شود.
  • ترکیب بدنی: توسط fitdays-mcp-server (roquerodrigo/fitdays-mcp-server) تامین می‌شود که بر تاریخچه وزن، آخرین اندازه‌گیری‌ها و توده عضلانی (Lean Mass) تمرکز دارد. این سرور برای اجرا به Node.js نسخه ۲۲ به بالا نیاز دارد.

دستیار هوشمند تناسب اندام: Claude با داده‌های گارمین، Yazio و FitDays و حافظه گیت‌هاب

جایگزین‌های داده‌ای

بر اساس بررسی‌های فنی، این سامانه انعطاف‌پذیر است و اگر از اپلیکیشن‌های متفاوتی استفاده شود، با تعویض سرور MCP و به‌روزرسانی نام ابزارها در پیکربندی، سیستم همچنان فعال می‌ماند:

  • MyFitnessPal: با استفاده از AdamWalt/myfitnesspal-mcp-python. این جایگزین یک مزیت متمایز با ابزار mfp_set_goals دارد که به مربی AI اجازه می‌دهد اهداف کالری و درشت‌مغذی‌ها را به‌طور خودکار به‌روزرسانی کند. این ابزار به پایتون نسخه ۳.۱۰ تا ۳.۱۲ نیاز دارد و معمولاً از طریق کوکی‌های مرورگر در یک جلسه فعال (Logged-in session) احراز هویت می‌شود.
  • Renpho: با استفاده از StartupBros-com/renpho-mcp-server. این سرور ترکیب بدنی کامل و روند تغییرات در N روز گذشته و همچنین ابزارهای تشخیصی برای اندازه‌گیری‌هایی که همگام‌سازی نشده‌اند را فراهم می‌کند. این سیستم با اپلیکیشن Renpho Health (نه نسخه قدیمی) کار می‌کند و نیاز به کلون کردن مخزن برای بیلد محلی دارد.

پیکربندی و امنیت

برای حفظ امنیت، توسعه‌دهنده از یک فایل .mcp.json در ریشه پروژه استفاده می‌کند. این فایل اعتبارنامه‌ها را از متغیرهای محیطی (Environment Variables) می‌خواند تا اطلاعات حساس هرگز وارد مخزن Git نشوند. برای مثال، سرورهای Yazio و FitDays مقادیر YAZIO_USERNAME ،YAZIO_PASSWORD ،FITDAYS_EMAIL و FITDAYS_PASSWORD را از محیط سیستم فراخوانی می‌کنند.

همچنین برای جلوگیری از اشباع شدن پنجرهٔ زمینه (Context Window) — که مثل میز کاری است که فقط جای چند ورق کاغذ دارد و اگر زیاد پر شود مدل گیج می‌شود — از متغیر GARMIN_ENABLED_TOOLS برای ارسال یک لیست سفید (Allowlist) از ابزارهای ضروری استفاده شده است. این کار تضمین می‌کند که مدل متمرکز بماند و توکن‌ها را برای توابع نامرتبط هدر ندهد.

Git به عنوان مغز دائمی

برای حل مشکل «فراموشی» مدل در جلسات جدید، از یک مخزن Git ساده استفاده شده است. این مخزن فایل‌های Markdown و CSV را ذخیره می‌کند که Claude در ابتدای هر جلسه می‌خواند و در پایان به‌روزرسانی می‌کند. حافظه به چهار بخش عملیاتی مجزا تقسیم شده است:

  • memoria/DIARIO.md: یک لاگ از جلسات که فقط قابلیت افزودن (Append-only) دارد و هر ورودی به ۸ خط محدود شده است. این فایل به عنوان تاریخچه‌ای از اتفاقات هر جلسه عمل می‌کند.
  • memoria/apprendimenti.md: یک پایگاه دانشی از چیزهایی که برای کاربر جواب داده است. یک الگو تنها پس از سه بار تکرار به اینجا منتقل می‌شود. فرضیات رد شده به جای حذف شدن، خط خورده (Struck through) می‌شوند تا از تکرار اشتباهات توسط AI جلوگیری شود.
  • memoria/decisioni.md: سوابق این موضوع که چرا برنامه‌های خاصی انتخاب شدند و کدام جایگزین‌ها رد شدند. این کار مانع از آن می‌شود که مربی ایده‌هایی را که ماه‌ها پیش رد شده‌اند، دوباره پیشنهاد کند.
  • dati/*.csv: داده‌های سری زمانی برای وزن، تغذیه و تمرینات که فقط قابلیت افزودن دارند. این به Claude اجازه می‌دهد محاسبات را به‌صورت محلی انجام دهد بدون اینکه نیاز باشد مکرراً از سرورها استعلام بگیرد و از تکرار تاریخ‌ها جلوگیری کند.

ساختار مخزن و منطق فایل‌ها

پروژه به گونه‌ای سازماندهی شده که هویت ثابت کاربر از برنامه‌های در حال تغییر جدا باشد:

  • profilo/: شامل anagrafica.md (داده‌های ثابت، تجهیزات، اندازه‌های بدن)، obiettivi.md (اهداف) و preferenze.md (ترجیحات غذایی و زمان‌های در دسترس).
  • piani/: شامل dieta/CORRENTE.md و allenamento/CORRENTE.md برای برنامه‌های فعال فعلی.
  • RIFERIMENTI.md: فایلی اختصاصی برای نکات فنی (Gotchas) سرورهای MCP و مراجع فنی.

انتخاب Markdown و CSV عمدی است؛ زیرا هم کاربر و هم مدل می‌توانند آن‌ها را بخوانند، کاربر می‌تواند آن‌ها را دستی ویرایش کند و هر جلسه با یک Commit به پایان می‌رسد. این ساختار یک تاریخچه کامل از آنچه AI می‌دانست و چرا چنین تصمیمی گرفت ایجاد می‌کند.

حفاظ‌ها و منطق مربی‌گری

قلب تپنده سیستم، فایل CLAUDE.md است که قوانین سخت‌گیرانه‌ای را تعریف می‌کند تا مدل تبدیل به یک «بله‌گوی» ساده نشود و از محدودیت‌های غیرقابل مذاکره پیروی کند.

مدیریت اهداف: مربی اجازه ندارد چندین هدف اصلی را هم‌زمان فعال کند. در هر لحظه فقط یک هدف اصلی می‌تواند ACTIVE باشد که هر کدام باید دارای یک معیار خروج قابل اندازه‌گیری و تاریخ بازبینی باشد. اگر هدف جدیدی درخواست شود، AI باید یا هدف قدیمی را ببندد یا هدف جدید را در وضعیت «ON HOLD» قرار دهد.

همچنین مدل موظف است تضادها را شناسایی کند؛ مثلاً تلاش برای «هایپرتروفی شدید» و «دویدن با حجم بالا» به طور هم‌زمان، یا «کسری کالری» همراه با «افزایش حداکثری قدرت». AI باید هزینه این تضادها را به کاربر بگوید و به جای یک مصالحه خاموش، یک توالی زمانی پیشنهاد کند.

خط قرمزهای سلامتی: ایمنی در اولویت است و «پرچم‌های قرمز» تعریف شده‌اند که باعث ارجاع فوری به پزشک می‌شوند. این موارد عبارتند از:

  • درد قفسه سینه یا سرگیجه در حین ورزش.
  • افت HRV هم‌زمان با افزایش ضربان قلب استراحت برای بیش از ۱۰ روز.
  • میانگین خواب زیر ۵ ساعت.
  • کاهش وزن بیش از حد سریع یا نشانه‌های رابطه ناسالم با غذا.

محدودیت‌های تغذیه‌ای و جسمانی: محدودیت‌های عددی سخت‌گیرانه‌ای وجود دارد که مربی نمی‌تواند از آن‌ها عبور کند: حداکثر کسری کالری ۲۰ تا ۲۵ درصد TDEE، یک کف کالری مطلق، و حفظ پروتئین بین ۱.۶ تا ۲.۲ گرم به ازای هر کیلوگرم وزن. همچنین هر ۴ تا ۶ هفته یک هفته استراحت (Deload week) اجباری است.

نکته مهم این است که TDEE با فرمول تخمینی محاسبه نمی‌شود، بلکه بر اساس داده‌های واقعی (میانگین کالری در مقابل تغییر وزن) پس از در دسترس بودن دو هفته تاریخچه، بازسنجی می‌شود. این تضمین می‌کند که برنامه با متابولیسم واقعی کاربر سازگار شود نه یک تخمین کلی.

حفاظ‌های روان‌شناختی: برای جلوگیری از نوسانات روانی، مدل منع شده است که درباره وزن تک‌روز نظر دهد. AI باید فقط بر اساس میانگین متحرک ۷ روزه استدلال کند و ممنوع است از وزن به عنوان یک اهرم انگیزشی (در هر دو جهت مثبت یا منفی) استفاده کند.

اتوماسیون از طریق دستورات Slash

توسعه‌دهنده برای استانداردسازی وظایف تکراری، مجموعه‌ای از دستورات سفارشی را در .claude/commands/ تعریف کرده است تا AI هر بار از یک منطق ثابت پیروی کند:

  • /obiettivo (هدف): یک بررسی واقع‌بینانه ۹۰ روزه برای تعیین هدف مکتوب با معیار خروج قابل اندازه‌گیری. این فرآیند شامل حداکثر ۵ سوال و یک بررسی واقع‌بینانه است. اگر فایل اهداف خالی باشد، مربی از تولید برنامه خودداری می‌کند.
  • /nuovo-piano (برنامه جدید): یک فرآیند تایید سه مرحله‌ای. اول، اعداد تغذیه (TDEE، هدف، درشت‌مغذی‌ها) را پیشنهاد می‌دهد. دوم، انواع تمرینات را با یک دلیل تک‌خطی پیشنهاد می‌کند (مثلاً «وزنه ۳ بار در هفته: حفظ توده عضلانی در دوران کسری»). در نهایت، منویی با ۳ تا ۴ گزینه جایگزین برای هر وعده و یک تقویم مزوسیکل کامل تولید کرده و سپس آن را با گارمین همگام می‌کند.
  • /settimana (هفته): بازبینی هفتگی که TDEE واقعی را با فرمول real TDEE = average kcal − (weight change × 7700 / days) محاسبه می‌کند. این دستور پرچم‌های قرمز و وضعیت اهداف را بررسی کرده و در هر بار حداکثر یک پارامتر را تغییر می‌دهد تا علت بهبود مشخص باشد. اگر معیار خروج محقق شود، کاربر را مجبور به بازگشت به /obiettivo می‌کند.
  • /checkin: خلاصه صبحگاهی وزن، تغذیه دیروز، خواب و HRV در کمتر از ۱۰ خط (۳ عدد، ۱ انحراف، ۱ اقدام).
  • /spesa (خرید): تولید لیست خرید برای یک هفته معمولی، دسته‌بندی شده بر اساس راهروهای فروشگاه و ارائه به صورت PDF.
  • /viaggio (سفر): اجازه می‌دهد برای تعطیلات، اتفاقات غیرمنتظره یا بیماری، تغییرات موقتی اعمال شود بدون اینکه برنامه‌های اصلی تغییر کنند.
  • /analisi (ممیزی): بررسی برنامه موجود در برابر ترجیحات و اهداف فعلی پس از ویرایش‌های دستی.
  • /consolida (تثبیت): فشرده‌سازی لاگ‌ها و انتقال الگوهای تکراری به فایل یادگیری‌ها. وقتی لاگ از ۲۰۰ خط بیشتر شود، این دستور ورودی‌های قدیمی را در یک خلاصه ماهانه آرشیو می‌کند.

تحلیل: تغییر به سمت هوش مصنوعی مبتنی بر وضعیت (State-Based AI)

این پروژه نشان‌دهنده تغییر رویکرد از «پرامپت‌نویسی» به «مهندسی سیستم» برای AI شخصی است. با انتقال حافظه از پنجره زمینه LLM به یک مخزن ساختاریافته Git، توسعه‌دهنده سیستمی ساخته است که در آن استدلال AI قابل ممیزی است.

هر جلسه از یک ریتوال (آیین) سخت‌گیرانه پیروی می‌کند. با خواندن پروفایل، برنامه‌های جاری، آخرین ورودی‌های لاگ و تمام یادگیری‌ها شروع می‌شود. جلسه با یک ریتوال بستن اجباری به پایان می‌رسد: به‌روزرسانی لاگ (حداکثر ۸ خط)، آرشیو کردن برنامه‌های تغییر یافته در archivio/YYYY-MM-DD-*.md ،افزودن داده‌های CSV و اجرای git add -A && git commit. اگر مربی تصمیم بدی بگیرد، کاربر می‌تواند تاریخچه Git را بررسی کند تا ببیند AI دقیقاً چه داده‌هایی داشته و چرا به آن نتیجه رسیده است.

برای کاربر عادی، این یعنی «مربی AI» دیگر یک ابزار تفننی برای تولید تمرینات تصادفی نیست، بلکه ابزاری است که یک سابقه طولی (Longitudinal) مشابه پرونده‌های پزشکی را نگه می‌دارد. استفاده از MCP اجازه می‌دهد AI از یک تحلیل‌گر غیرفعال به یک هماهنگ‌کننده فعال تبدیل شود که می‌تواند رویدادها را در یک تقویم فیزیکی برنامه‌ریزی کند.

درس‌های طراحی پرامپت

توسعه‌دهنده چندین درس کلیدی در مهندسی پرامپت برای این سیستم برجسته کرده است:

  • منابع حقیقت مجزا: قوانین صریح مانع از ترکیب داده‌ها توسط AI می‌شود (مثلاً استفاده از گارمین برای وزن در حالی که FitDays منبع اصلی است). اگر منابع با هم تضاد داشته باشند، AI باید این تضاد را گزارش کند.
  • اعداد به جای صفت‌ها: جایگزینی عبارات مبهم مثل «دویدن آرام» با معیارهای دقیق مثل «دویدن Z2، ضربان قلب زیر ۱۴۵، حداکثر ۴۰ دقیقه» ابهام را از بین می‌برد.
  • توقف‌های اجباری: موثرترین دستورات شامل نقاط کنترلی هستند که در آن Claude باید متوقف شود و قبل از رفتن به مرحله بعد، تاییدیه بگیرد.
  • اجازه برای «نه» گفتن: به AI صراحتاً گفته شده است که اگر پرچم‌های قرمز وجود داشته باشد یا اهداف تعریف نشده باشند، می‌تواند از تولید برنامه خودداری کند.
  • کاهش نویز: با تعریف دقیق پرچم‌های قرمز، توسعه‌دهنده سلب مسئولیت‌های کلی مثل «با یک متخصص مشورت کنید» را حذف کرد تا هشدارها فقط زمانی صادر شوند که واقعاً لازم است.

محدودیت‌ها و ریسک‌ها

این رویکردCaveatهای مهمی دارد. APIهای مورد استفاده برای گارمین، Yazio و FitDays غیررسمی و مهندسی معکوس شده‌اند، به این معنی که ممکن است بعد از هر به‌روزرسانی اپلیکیشن از کار بیفتند. علاوه بر این، توسعه‌دهنده تأکید می‌کند که این سیستم یک دستگاه پزشکی نیست؛ بلکه برای سازماندهی است، نه تشخیص.

امنیت نیز یک نگرانی است، زیرا داده‌های سلامتی حساس هستند. توصیه می‌شود اعتبارنامه‌ها در متغیرهای محیطی نگه داشته شوند و مخزن خصوصی بماند. در نهایت، سیستم اذعان می‌کند که ترازوهای بیومپدانس خانگی نادقیق هستند؛ لذا مربی دستور دارد مقادیر مطلق چربی بدن را نادیده بگیرد و منحصراً بر روی روند تغییرات در طول چندین هفته تمرکز کند.

گام بعدی شما

  • اگر از Claude استفاده می‌کنید، مستندات Model Context Protocol را بررسی کنید تا ببینید چگونه می‌توانید مدل را به داده‌های محلی خود متصل کنید.
  • برای مدیریت حافظه بلندمدت AI، به جای تکیه بر پنجره متنی، از ساختار فایل‌های Markdown در یک مخزن Git استفاده کنید.
  • در طراحی پرامپت‌های سیستمی، به جای صفت‌ها (مثل «دویدن آرام»)، از اعداد و معیارها (مثل «ضربان قلب زیر ۱۴۵») استفاده کنید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این رویکرد با استفاده از تخصص در یکپارچه‌سازی داده‌ها، مدل‌های زبانی را از تحلیل‌گران غیرفعال به هماهنگ‌کنندگان فعال تبدیل می‌کند. اعتبار این سیستم از طریق ثبت تاریخچه تصمیمات در Git تامین می‌شود که امکان بازبینی و اصلاح خطاهای مدل را فراهم می‌کند.

تأثیر برای ایران

توسعه‌دهندگان ایرانی می‌توانند با استفاده از MCP و مدل‌های بازمتن (Open Weights)، دستیارهای تخصصی مشابه برای مدیریت داده‌های محلی بسازند، هرچند دسترسی به APIهای گارمین و یازیو در ایران با محدودیت‌های شبکه همراه است.

·نگاه ما
تحریریه دات‌هوش

این پروژه نشان می‌دهد که آینده هوش مصنوعی شخصی، نه در مدل‌های بزرگ‌تر، بلکه در «مهندسی وضعیت» (State Engineering) است. با انتقال حافظه از پنجره متنی مدل به یک ساختار بیرونی مانند Git، استدلال AI قابل حسابرسی (Auditable) می‌شود و کاربر می‌تواند دقیقاً بفهمد مدل بر اساس چه داده‌ای تصمیم گرفته است. این یک چرخش از «پرامپت‌نویسی» به سمت «طراحی سیستم» برای دستیاران شخصی است.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.