ساختن گردش‌های کار عاملی با Gemini Nano

گردش‌های کاری عاملی ML Kit (com.google.mlkit:genai-agent، نسخه آلفا) به شما امکان می‌دهد تجربه‌های مکالمه‌ای درون‌دستگاهی چندنوبتی و خودکار بسازید که از Gemini Nano و سرویس سیستم Android AICore بهره می‌برند.

کلاس AgentRunner که برپایه کلاس GenerativeModel (دسترسی مستقیم به مدل) ساخته شده است، حلقه‌های عامل‌گرای کامل و هدف‌محور را به‌طور خودکار مستقیماً در برنامه شما اجرا می‌کند: مشاهده بافت، استدلال درباره ورودی‌های کاربر، اقدام ازطریق ابزارهای Kotlin تایپ‌شده، و ارزیابی بازخورد تا زمانی که شرط پایان برآورده شود.

الگوهای عامل‌گرای رایج

گردش کارهای عامل‌گرا در دستگاه برای حلقه‌های استدلال قطعی و متمرکز بهینه‌سازی شده‌اند، جایی که قصد کاربر به کنش‌های ساختاریافته برنامه ترجمه می‌شود. الگوهای رایج عبارت‌اند از:

الگو

نمونه

اجرای کنش درون‌برنامه‌ای و میان‌برها

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

جستجوی ساختاریافته و محاسبه محلی

واکشی یک سابقه خاص براساس شناسه (مانند وضعیت سفارش یا موجودی حساب) و انجام محاسبات ریاضی چندمرحله‌ای (مانند استهلاک وام یا سنجه‌های تناسب اندام).

فیلتر کردن و سازمان‌دهی مکالمه‌ای

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

ورودی چندمرحله‌ای راهنمایی‌شده

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

عملکرد و حریم خصوصی درون‌دستگاهی

گردش‌های کاری عامل‌محور در Android AICore اجرا می‌شوند تا اجرای خصوصی و واکنش‌گرا را مستقیماً در دستگاه کاربر ارائه دهند:

  • استدلال محلی و حریم خصوصی پیام‌واره: حلقه استدلال و برنامه‌ریزی مدل کاملاً در دستگاه و بدون تأخیر شبکه اجرا می‌شود. داده‌های پیام‌واره کاربر در دستگاه خصوصی می‌ماند. بااین‌حال، اگر مورد استفاده شما به داده‌های خارجی نیاز داشته باشد، ابزارهای جداگانه‌ای که در برنامه‌تان پیاده‌سازی شده‌اند همچنان می‌توانند فراخوانی‌های شبکه انجام دهند یا میاناهای برنامه‌سازی کاربردی ابری را پُرسمان کنند.
  • جلسه‌های چندنوبتی مدیریت‌شده: میانای AgentSession سابقه مکالمه را در حافظه درطول نوبت‌ها حفظ می‌کند، بنابراین لازم نیست ترانویسی‌ها را به‌صورت دستی مدیریت کنید. هرزمان بخواهید می‌توانید بااستفاده از روش‌های session.close()، deleteSession(sessionId)، یا clearAllSessions() حافظه را پس بگیرید.
  • حفاظ‌های اجرا: پیکربندی‌های عامل حداکثر حد نوبت را (حد maxTurns، به‌طور پیش‌فرض ۱۰) به‌عنوان شرط پایان منبع اعمال می‌کنند تا از حلقه‌های اجرای فراری جلوگیری کنند، باتری را حفظ کنند، و از پاسخ‌گویی دستگاه محافظت کنند.

بین تولید سفارشی، عامل‌ها، و میاناهای برنامه‌سازی کاربردی مختص تکلیف انتخاب کنید

ML Kit قابلیت‌های «هوش مصنوعی زایای» درون‌دستگاهی را براساس میزان سفارشی‌سازی و سازمان‌دهی موردنیاز ویژگی شما سازمان‌دهی می‌کند:

  • تولید سفارشی و عامل‌ها: وقتی ویژگی شما به دستورالعمل‌های سفارشی یا منطق مختص دامنه نیاز دارد، مستقیماً با مدل پایه Gemini Nano کار کنید. وقتی جلسات چندنوبتی مدیریت‌شده و حلقه‌های فراخوانی ابزار خودکار می‌خواهید، گردش کار عاملی (بااستفاده از کلاس AgentRunner که روی کلاس GenerativeModel ساخته شده است) را انتخاب کنید، یا برای پیام‌واره سفارشی، خروجی ساختاریافته تایپ‌شده، یا سابقه چندنوبتی مدیریت‌شده توسط کارخواه، دسترسی مستقیم به مدل (بااستفاده از کلاس GenerativeModel) را انتخاب کنید.
  • گفتار و صدا: از مدل‌های اختصاصی گفتار و هوش مصنوعی زایا (مثل تشخیص گفتار) برای ترانویسی صدای گفتاری به نوشتار استفاده کنید.
  • تکالیف نوشتاری و تصویری: از انواع ویژگی‌های ازپیش‌پیکربندی‌شده و مختص تکلیف و آداپتورهای LoRA تنظیم‌شده بر روی مدل پایه مشترک (مانند شرح تصویر، خلاصه‌سازی، نمونه‌خوانی، و بازنویسی) برای موارد استفاده آماده بینایی و نوشتاری بدون مهندسی پیام‌واره استفاده کنید.

جدول زیر نحوه مقایسه این رویکردها را نشان می‌دهد:

ملاحظات

گردش کار عاملی (AgentRunner)

دسترسی مستقیم به مدل (GenerativeModel)

میاناهای برنامه‌سازی کاربردی تکلیف نوشتار و تصویر

معماری

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

میانای مستقیم به مدل پایه Gemini Nano برای پیام‌واره‌های سفارشی.

انواع ویژگی‌های مختص تکلیف که با آداپتورهای LoRA تنظیم‌شده در بالای مدل پایه مشترک پشتیبانی می‌شوند.

بافت چندنوبتی

جلسه‌های چندنوبتی مدیریت‌شده (AgentSession). سابقه مکالمه را به‌طور خودکار در حافظه درطول نوبت‌ها حفظ می‌کند تا لازم نباشد ترانویسی‌ها را به‌طور دستی مدیریت کنید (از اجرای تک‌نوبتی زودگذر نیز پشتیبانی می‌کند).

بافت چندنوبتی مدیریت‌شده توسط کارخواه. ‫GenerateContentRequest از چندنوبتی List<Content> (نقش‌های USER و MODEL) و sessionId برای توسعه‌دهندگانی که می‌خواهند سابقه گپ خود را مستقیماً مدیریت کنند پشتیبانی می‌کند.

فراخوانی‌های تکلیف تک‌ورودی بدون حالت.

فراخوانی ابزار و کنش‌ها

حلقه فراخوانی ابزار خودکارشده. ‫Android AppFunctions ثبت‌شده را کشف می‌کند، فراخوانی‌های انتخاب‌شده توسط مدل را اجرا می‌کند، و نتایج را به‌طور خودکار به مدل برمی‌گرداند.

اظهارنامه‌های ابزار مدیریت‌شده توسط مشتری. ‫GenerateContentRequest طرح‌واره‌های ابزار را می‌پذیرد و درخواست‌های فراخوانی تابع را برای برنامه شما صادر می‌کند تا به‌صورت دستی اجرا و برگردانده شوند.

نامربوط (خط لوله تکلیف ثابت).

زمان استفاده

وقتی می‌خواهید سازمان‌دهی خودکار برای اجرای ابزار چندمرحله‌ای و جلسه‌های چندنوبتی درون‌حافظه مدیریت‌شده داشته باشید، از این مدل استفاده کنید.

از آن برای پیام‌واره سفارشی، درک تصویر چندوجهی، خروجی ساختاریافته تایپ‌شده (@Generable)، یا زمانی که می‌خواهید سابقه گپ یا ارسال ابزار خود را مستقیماً مدیریت کنید استفاده کنید.

زمانی استفاده کنید که ویژگی شما با یک تکلیف نوشتاری یا دیداری استاندارد مطابقت دارد و می‌خواهید کیفیت آماده استفاده از LoRAهای تنظیم‌شده با حداقل راه‌اندازی را داشته باشید.

مراحل بعدی