تصور کنید اپلیکیشنی داشته باشید که هدفش این است شما را هرچه سریعتر از خودش دور کند. Plot Buddy دقیقاً همین کار را میکند و از کاربر میخواهد گوشی را کنار بگذارد تا به سراغ خاک و گیاهان برود. در حالی که اکثر ابزارهای هوش مصنوعی برای به حداکثر رساندن زمان حضور کاربر در مقابل صفحه طراحی شدهاند، این پروژه ماهیت «همیشه متصل» تکنولوژی را به چالش میکشد.
این پروژه متنباز که در ۱۰ اکتبر ۲۰۲۶ بهعنوان بخشی از چالش هوش مصنوعی Hacktoberfest (هفته اول با عنوان Touch Grass یا «کمی با طبیعت وقت بگذران») معرفی شد، مربی هفتگی برای باغبانان خانگی در مقیاس کوچک در لاگوس، نیجریه است.
زمینه (Context)
اکثر دستیارهای هوش مصنوعی تلاش میکنند کاربر را بیشتر در محیط اپلیکیشن درگیر و نگه دارند. Plot Buddy دقیقاً برعکس عمل میکند. این ابزار یک «کارت فضای باز» تکصفحهای ارائه میدهد که شامل دو یا سه وظیفه مشخص، تخمین زمان مورد نیاز و تاریخ بازگشت برای بررسی مجدد است. سپس بلافاصله کاربر را به خروج از برنامه و شروع به کار در باغچه ترغیب میکند.
طراحی این برنامه بهویژه برای کسانی است که در فضاهای کوچک — مانند سطلها، کیسههای کشت (grow bags)، بالکنها یا حیاطهای خلوت — غذا میکارند اما تخصص لازم برای دانستن اینکه هر هفته چه چیزی باید کاشته شود را ندارند. هدف این است که کاربر تنها حدود یک دقیقه را روی نمایشگر و ۲۰ تا ۳۰ دقیقه را در فضای باز بگذراند. کاربران برای تسهیل این انتقال به حالت آفلاین، میتوانند کارتهای خود را چاپ کرده یا آنها را به واتساپ بفرستند.
برای جلوگیری از توهم (Hallucination) — که در مدلهای کوچک رایج است و شبیه دوستی است که خاطرهای را اشتباه تعریف میکند — توسعهدهنده یک معماری ترکیبی سختگیرانه پیاده کرده است. این سیستم بهطور کامل تصمیمگیری را از نحوه بیان (Phrasing) جدا میکند:
جزئیات (Details)
- منطق قطعی (Deterministic Logic): یک برنامهریز مبتنی بر پایتون (
planner.py) با خواندن یک فایل قوانین منبع (crops_lagos.json) دقیقاً تصمیم میگیرد چه کاری باید انجام شود. در این مرحله هیچ هوش مصنوعی دخالتی ندارد و منطق کاملاً کدنویسی شده است. این برنامه چهار گروه از محصولات کشاورزی را پوشش میدهد. - بیان زاینده (Generative Phrasing): یک مدل با وزنهای باز (Open-weight) به نام qwen2.5:1.5b که از طریق Ollama اجرا میشود، تنها برای بازنویسی قوانین فنی به زبان انگلیسی دوستانه یا زبان محلی (Pidgin) استفاده میشود. جابجایی بین این دو زبان تنها توسط یک متغیر محیطی (Environment Variable) مدیریت میشود.
- نردههای ایمنی (The Guardrail): یک اسکریپت اختصاصی (
guard.py) بهطور خودکار هر خروجی مدل را که سعی کند اعداد، قیمتها، لینکها یا محصولاتی را اضافه کند که در قوانین اصلی وجود ندارند، حذف میکند. این اسکریپت همچنین تضمین میکند که تخمین زمان (دقیقه) از متن حذف نشود.
پیادهسازی فنی
توسعهدهنده اشاره کرد که در طول مراحل تست، مدل ۱.۵ میلیارد پارامتری پیش از این آدرسهای خیابان و قیمتهای جعلی اختراع میکرد. با انتقال «مغز» برنامه به کدهای ساده و استفاده از مدل زبانی بزرگ (LLM) تنها بهعنوان یک «مترجم»، برنامه حتی در صورت شکست بکاند مدل نیز کاربردی باقی میماند.
این پروژه تنها با استفاده از کتابخانه استاندارد پایتون ساخته شده است، به این معنی که هیچ بسته خارجی برای نصب نیاز نیست. برنامه روی پلتفرم Render مستقر شده و در نسخه میزبانیشده از یک کلید API Backboard استفاده میکند، هرچند میتواند بهطور کامل بهصورت آفلاین روی یک لپتاپ اجرا شود. برای محافظت از هزینهها، پاسخها کش (Cache) شده و در هر ساعت سقف محدودی دارند. همچنین نقطه انتهایی /api/status وضعیت فعال بودن بکاند را بدون افشای کلید API نمایش میدهد.
تست و اعتبارسنجی
در طول توسعه، سازنده خروجیهای برنامهریز را برای ۶ مورد تست (tests/results-v1.txt) ذخیره کرد تا تجربه کاربری را بازرسی کند. این فرآیند باعث شناسایی سه باگ خاص شد: عبارتبندیهای نادرست در مورد «در بالکن شما» و «در کیسه شما»، یک یادداشت با اعتماد پایین درباره سبزیجات برگی که در کارتهای نامرتبط ظاهر میشد، و فهرستی از منابع که شامل محصولاتی بود که در کارت حضور نداشتند. این موارد اصلاح شده و در فایل results-v2.txt تأیید شدند.
این رویکرد نشاندهنده ترندی جدید در استقرار «مدلهای زبانی کوچک» (SLM) است: استفاده از هوش مصنوعی برای رابط کاربری بهجای منطق برنامه. برای کاربر، این یعنی سرعت و قابلیت اطمینان؛ برای توسعهدهنده، یعنی حذف هزینهها و پیشبینیناپذیری APIهای بسته. این رویکرد در راستای تبدیل مدلهای زبانی به ابزارهای کاربردی است، مشابه آنچه در پروژه Muse Gadgets برای تبدیل مدلها به ابزارهای فیزیکی مشاهده میکنیم.
در نهایت، Plot Buddy نمایشگر را کوتاهترین بخش تجربه میبیند. از آنجا که تاریخهای کاشت از منابع عمومی گرفته شدهاند که اغلب با هم اختلاف دارند، هر بازه زمانی کاشت با برچسب verified: false مشخص شده و برنامه به کاربران توصیه میکند جزئیات را با یک افسر ترویج کشاورزی محلی تأیید کنند.
اگر در حال ساخت یک ابزار هوش مصنوعی محلی هستید، نقش مدل خود را بازبینی کنید. از خود بپرسید آیا LLM در حال تصمیمگیری است یا صرفاً در حال عبارتبندی؛ مورد دوم تقریباً همیشه برای محیط عملیاتی ایمنتر است.
گام بعدی شما
- اگر در حال ساخت ابزار هوش مصنوعی هستید، نقش مدل خود را بازبینی کنید: آیا مدل تصمیم میگیرد یا فقط عبارت را بازنویسی میکند؟
- برای کاهش نرخ توهم در محیطهای عملیاتی، منطق تصمیمگیری را به کدهای قطعی (Deterministic) منتقل کنید.
- از مدلهای کوچکتر برای وظایف سادهای مثل تغییر لحن متن استفاده کنید تا هزینه استنتاج را کاهش دهید.
اما داستان سختافزاری اجرای مدلهای کوچک روی دستگاههای لبه حتی شگفتانگیزتر است — به تحلیل ما دربارهی رایانش لبه مراجعه کنید.




گفتگو