اگر کاربر شما باید چند ثانیه برای دریافت پاسخ کامل هوش مصنوعی صبر کند، رابط کاربری شما عملاً شکسته است. راه حل این مشکل در پیادهسازی معماری استریمینگ است که متن را همزمان با تولید نمایش میدهد.
در دنیایی که سرعت درکشده تعیینکننده ماندگاری کاربر است، پاسخهای ایستا یک ریسک بزرگ هستند. همانطور که در تحلیل قبلی ما دربارهی Gemini Spark اشاره کردیم، اصطکاک ایجاد شده توسط «چرخدندههای در حال چرخش» (loading spinners) همچنان بزرگترین مانع توسعهدهندگان است. این پیادهسازی خاص که در ۷ ژوئن ۲۰۲۶ منتشر شد، بهطور ویژه برای توسعهدهندگان مستقل که اپلیکیشنهای دسکتاپ سبک میسازند، طراحی شده است.
به نقل از یک راهنمای فنی در dev.to، این سیستم بر پایه Gemini 2.0 Flash و یک بکاند Rust از طریق چارچوب Tauri بنا شده است. در این معماری، فرآیند استنتاج (Inference) — لحظهای که مدل واقعاً جواب تولید میکند، شبیه به خودِ آشپزی و نه دورهی آموزش آشپز — از طریق یک خط لوله مشخص مدیریت میشود:
- بکاند Rust یک اتصال Server-Sent Events (SSE) — شبیه به لولهای که دادهها را قطرهقطره و بدون توقف میفرستد — به API مدل باز میکند.
- به محض رسیدن تکههای متن، بکاند از دستور
handle.emitبرای ارسال رویدادها به فرانتاند استفاده میکند. - فرانتاند TypeScript این رویدادها را میگیرد و متن را در لحظه به رابط کاربری اضافه میکند.

بر اساس مستندات این پروژه، کل این سیستم تنها با ۵۰ خط کد Rust و ۲۰ خط TypeScript اجرا میشود. با این حال، نویسنده درباره یک باگ بحرانی در نسخههای نهایی (Release) هشدار داده است. استفاده از متد .json() در کتابخانه reqwest روی فایلهای DMG (نسخه Universal Binary) میتواند باعث حذف بیصدا بدنه درخواست شود. برای پایداری برنامه، توسعهدهندگان باید از هدرهای صریح و serde_json::to_string() استفاده کنند. این نتایج روی یک مکبوک ایر ۸ سال پیش تأیید شده است.
این رویکرد، بار یکپارچهسازی AI را از لایههای میانی سنگین به لایه اپلیکیشن منتقل میکند. برای توسعهدهندگان تکنفره، این یعنی امکان ارائه تجربهای حرفهای و شبیه به GPT بدون نیاز به زیرساختهای پیچیده بکاند. این موضوع ثابت میکند که تجربه کاربری باکیفیت، بیشتر به مدیریت هوشمند رویدادها وابسته است تا سختافزارهای قدرتمند.
گام بعدی شما
- اولویتبندی پاکسازی Event Listenerها در فرانتاند برای جلوگیری از نشت وضعیت (state leak).
- تست نقاط انتهایی SSE در Gemini 2.0 Flash در یک پروژه کوچک Tauri.
- جایگزینی متد
.json()باserde_jsonبرای تضمین پایداری در توزیعهای مک.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.

گفتگو