اگر نمودار مشارکت گیتهاب شما را به دفعات کامیت نیمهشب وادار میکند، ماس گاردن قانون بازی را عوض میکند: این بازیِ وبِ یگانه، سقف سخت ۴۰ XP در روز و بازده کاهشی (۱x، ۰.۵x، ۰.۲۵x، ۰.۱x) میگذارد تا ده کامیت نیمهشب از سه کامیت پراکنده جلوتر نروید. نتیجه: باغی که با حضورِ کم و مداوم سبز میماند، نه با یک شبِ بیخوابی.
همانطور که در تحلیل قبلی ما دربارهی فرهنگ استریک در ابزارهای توسعهدهنده اشاره کردیم، نمودارهای مشارکت گیتهاب روزهای غیبت را به خانههای قرمز و استریکها به نماد مقام تبدیل کردهاند. کومار در هفته سوم چالش هکتوبرفست (Hacktoberfest) با هدفی متفاوت وارد شد: ابزاری بساز که «حضورِ کم، در چند روز» را پاداش دهد و بقیه را نادیده بگیرد.
مکانیکهای بازی (Game Mechanics) — ساده اما عمدی:
- XP با بازده کاهشی (Diminishing Returns): اولین کامیت روز ۱x، دومین ۰.۵x، سومین ۰.۲۵x، بقیه ۰.۱x
- سقف روزانه ۴۰ XP — ده کامیت نیمهشب بهجز سه کامیت پراکنده برنده نمیشود
- بونوس هفتهی پایدار (Steady-Week Bonus): چهار روز مراقبتشده در هفته، پاداش یکبارهای که یک شبِ تمامقدری نمیتواند به آن برسد
- حیات (Vitality) پس از یک هفته غیبت به کف میرسد اما هرگز صفر نمیشود؛ گیاهان هرگز نمیمیرند
- نشان «بازگشت» (Came Back) برای بازیکنان بازگشتی
جزئیات
- چالش هکتوبرفست هفته سوم (Hacktoberfest Open‑Source AI Challenge Week 3) بسترِ ساخت این پروژه بود.
- کومار (Kumar) توسعهدهنده یگانه است و هدفش تغییر فرهنگ استریک بود.
- مدل جما ۴ (Gemma 4) با شناسه google/gemma-4-26b-a4b-it از طریق بکبورد (Backboard) ادغام شده.
- مدل بهصورت پیشفرض خاموش است و فقط شمارش باغ، فصل و گونه گیاه را میبیند؛ کد، نام مخزن و پیام کامیت هرگز به مدل نمیرسد.
- خروجی مدل در برابر اسکیمای سخت تجزیه میشود؛ در صورت شکست به متن مبتنی بر قانون (Rule‑based) بازمیگردد.
- بودجه درخواست روزانه هزینه را ریز نگه میدارد.
موتور قوانین (Rules Engine) کل پیشرفت را مدیریت میکند
XP، سطح، حیات، رشد گیاه و نشانها در یک موتور قوانین خالص پایتون (Python) با ۴۰۹ مورد تست pytest زندگی میکنند. کومار اصرار داشت باغ اول «قابل اعتماد» باشد، دوم «باهوش». مدل فقط کلمه و نام میافزاید؛ هرگز تصمیم نمیگیرد بازیکن چه چیزی کسب کرده. این تفکیک یعنی بازی بهصورت کامل بدون هوش مصنوعی کار میکند.
پشته و استقرار شکلگرفته توسط سایههای رایگان
فرانتاند با رِیاکت ۱۹ (React 19) و وایت (Vite)؛ بکاند با فستایپیآی (FastAPI)، اسکیوالآلکمی ۲ (SQLAlchemy 2) و آلمبیک (Alembic) روی پستگِرِیاسکیوال (PostgreSQL) در تولید و اسکیولایت (SQLite) بهصورت محلی. نقاشی لایهلایه با تم روشن/تیره و احترام به prefers-reduced-motion همهجا. رِندِر (Render) سرویس داکر رایگان و دیتابیس پستگِر رایگان را از طریق یک render.yaml میزبانی میکند. خوابِ سایهی رایگان یک گردشکار (Workflow) گیتهاب اکشنز (GitHub Actions) برای زنده نگه داشتن را القا کرد. کرونجابهای رِندِر رایگان نیستند، بنابراین یک گردشکار دوم اکشنز هر شب نقطهپیوست (Endpoint) همگامسازی را با توکن حامل (Bearer Secret) صدا میزند.
صدا و روایتی آفلاین میمانند
الیونلبز (ElevenLabs) یکبار افکتهای صدا و بافت را تولید کرد؛ آنها بهعنوان فایلهای استاتیک ارسال میشوند، بدون فراخوانی در زمان اجرا و بدون کلید در تولید. صدا بهصورت پیشفرض خاموش، هرگز خودکار پخش نمیشود و هر صدا همسایه بصری دارد. روزنامه با API گفتار مرورگر خوانده میشود. یک کلاینت روایتی الیونلبز وجود دارد اما خاموش مانده.
مستندات دوستدار عامل (Agent‑Friendly)
یک فایل AGENTS.md و پوشه docs (قوانین، طراحی بازی، معماری، سیستم طراحی، تصمیمات) به یک عامل کدنویسی (Coding Agent) یا انسان کنجکاو اجازه میدهد پروژه را از حالت سرد (Cold Start) درک کند. گیتهاب کوپایلوت (GitHub Copilot) در طول توسعه بهعنوان برنامهنویس جفتی (Pair Programmer) خدمت کرد.
وزنهای باز سه وعده را محقق میکنند
کومار استدلال میکند وزنهای باز سه چیز را ممکن ساخت که API بسته نمیتوانست: اول، اعتماد قابل بازبینی — کد عمومی، قوانین مستند، مدل بهدلخواه بهصورت محلی اجرا میشود. دوم، وعدهای که زندهتر از فروشنده بماند — باغ با هوش مصنوعی کاملاً خاموش کار میکند و مدل یک تنظیم قابل تعویض پشت یک کلید بکبورد است. سوم، کنترل هزینه در بودجه کوچک — یک مدل بازِ قادر از طریق یک کلید با بودجه درخواست، ویژگیِ همیشه-نرم را برای پروژه یگانه مقرونبهصرفه کرد.
زمینه
- پروژه نشان میدهد مدلهای وزنهای باز چگونه میتوانند ویژگیهای جانبیِ غیرواقعبینانه و قابل اعتماد را بدون قفل فروشنده (Vendor Lock‑in) یا هزینههای فرار قدرت دهند.
- معماریِ موتور‑قوانین‑اول پیشرفت قابل پیشبینی را تضمین میکند — نادری در ابزارهای تقویتشده با هوش مصنوعی.
- برای توسعهدهندگان سوخته از فرهنگ استریک، بازی یک جایگزین ساکت ارائه میدهد: وقتی میتوانید حاضر شوید، و باغ به یاد میآورد.
- محدودیتهای سایهی رایگان (خواب رِندِر، عدم کرون) میتواند معماری را به شیوههای مفید شکل دهد، توسعهدهندگان را به سمت گیتهاب اکشنز برای زمانبندی و داراییهای استاتیک برای رسانه سوق دهد.
- نتیجه یک کدپایه است که قابل استقرار، قابل بازبینی و قابل گسترش است و یک عامل کدنویسی میتواند در آن راهاندازی شود.
پاداشِ تنبلِ واقعی توجه است، نه ساعت
هیچ لاگگیری، هیچ عادت برای حفظ، هیچ استریک برای دفاع وجود ندارد. شما یکبار وارد میشوید، همانطور که همیشه کامیت میکنید، و باغ را وقتی میل کردید باز میکنید. لپتاپ را در ۲۳:۵۲ ببندید. آخر هفته را بگذارید. ماه را بگذارید. وقتی برگردید، خزه همچنان آنجا است، کمی سبزتر از آنچه رها کردید.
ماس گاردن نشان میدهد مدلهای وزنهای باز چگونه میتوانند ویژگیهای جانبیِ غیرواقعبینانه و قابل اعتماد را بدون قفل فروشنده (Vendor Lock‑in) یا هزینههای فرار قدرت دهند. معماریِ موتور‑قوانین‑اول پیشرفت قابل پیشبینی را تضمین میکند — نادری در ابزارهای تقویتشده با هوش مصنوعی. برای توسعهدهندگان سوخته از فرهنگ استریک، بازی یک جایگزین ساکت ارائه میدهد: وقتی میتوانید حاضر شوید، و باغ به یاد میآورد.
پروژه همچنین برجسته میکند که محدودیتهای سایهی رایگان (خواب رِندِر، عدم کرون) میتواند معماری را به شیوههای مفید شکل دهد، توسعهدهندگان را به سمت گیتهاب اکشنز برای زمانبندی و داراییهای استاتیک برای رسانه سوق دهد. نتیجه یک کدپایه است که قابل استقرار، قابل بازبینی و قابل گسترش است و یک عامل کدنویسی میتواند در آن راهاندازی شود.
گام بعدی شما
- دمو زنده را در moss-garden-api.onrender.com بدون ثبتنام امتحان کنید و حسِ «بدون استریک» را تجربه کنید
- مخزن را بررسی کنید تا ببینید چگونه موتور ۴۰۹-تستی با لایه LLM اختیاری همزیستی میکند
- اگر ابزار داخلی میسازید، الگوِ «قوانین اول، مدل دوم» را برای پیشرفت قابل اعتماد کپی کنید
چالش هکتوبرفست بعدی ممکن است ابزارهای بیشتری را القا کند که ریتم توسعهدهنده را بر تولید خام ترجیح میدهند.




گفتگو