תהליכי העבודה מבוססי-הסוכנים של ML Kit (גרסת אלפא, com.google.mlkit:genai-agent) מאפשרים לכם ליצור ממשקי צ'אט אוטונומיים עם מספר שלבים במכשיר, שמבוססים על Gemini Nano ועל שירות המערכת Android AICore.
הכלי AgentRunner מבוסס על המחלקה GenerativeModel (גישה ישירה למודל), והוא הופך לאוטומטיות לולאות סוכנים מלאות שמוכוונות למטרה מסוימת ישירות באפליקציה: צפייה בהקשר, הסקת מסקנות על סמך קלט מהמשתמש, פעולה באמצעות כלים מסוג Kotlin והערכת משוב עד שמתקיים תנאי סיום.
תבניות נפוצות של סוכנים
תהליכי עבודה אג'נטיים במכשיר מותאמים ללולאות חשיבה רציונלית ממוקדות ודטרמיניסטיות, שבהן כוונת המשתמש מתורגמת לפעולות מובנות באפליקציה. דוגמאות נפוצות:
דוגמת עיצוב |
דוגמה |
ביצוע פעולות באפליקציה וקיצורי דרך |
תרגום בקשות בשפה טבעית לפקודות ספציפיות באפליקציה, כמו שינוי תמונות באזור העריכה, שינוי הגדרות ההפעלה או שינוי ההעדפות באפליקציה. |
חיפוש מובנה וחישוב מקומי |
אחזור רשומה ספציפית לפי מזהה (כמו סטטוס הזמנה או יתרה בחשבון) וביצוע חישובים מתמטיים בכמה שלבים (כמו הפחתת הלוואות או מדדי כושר). |
סינון ואוצרות תוכן באמצעות שיחה |
שאילתות אינטראקטיביות ושיפור של פריטים באפליקציה מקומית, כמו חיפוש ברשימת משימות מקומית, סינון פלייליסט או מיון פריטים בקטלוג על סמך קריטריונים של המשתמש. |
קלט מודרך בכמה שלבים |
הדרכת המשתמשים בהזנת נתונים מובנים שלב אחר שלב, אימות קלט ביניים באמצעות כלים מקומיים לפני השליחה הסופית. |
ביצועים ופרטיות במכשיר
תהליכי עבודה מבוססי-סוכנים פועלים ב-Android AICore כדי לספק ביצוע פרטי ומהיר ישירות במכשיר של המשתמש:
- הסקת מסקנות מקומית ופרטיות ההנחיות: לולאת הסקת המסקנות והתכנון של המודל פועלת אך ורק במכשיר, בלי זמן אחזור ברשת. נתוני ההנחיות של המשתמשים נשארים פרטיים במכשיר. עם זאת, כלים ספציפיים שמוטמעים באפליקציה עדיין יכולים לבצע קריאות לרשת או לשלוח שאילתות ל-Cloud API אם תרחיש השימוש שלכם דורש נתונים חיצוניים.
- ניהול של סשנים עם כמה שלבים: הממשק של
AgentSessionשומר בזיכרון את היסטוריית השיחה לאורך השלבים, כך שלא צריך לנהל את התמלילים באופן ידני. אתם יכולים להחזיר את הזיכרון בכל שלב באמצעות השיטותsession.close(),deleteSession(sessionId)אוclearAllSessions(). - אמצעי הגנה על הביצוע: הגדרות הנציג אוכפות מגבלה מקסימלית על מספר התורות (המגבלה של
maxTurns, שמוגדרת כברירת מחדל ל-10) כתנאי לסיום המשאבים, כדי למנוע לולאות ביצוע בלתי נשלטות, לחסוך בסוללה ולהגן על מהירות התגובה של המכשיר.
בוחרים בין יצירה בהתאמה אישית, סוכנים וממשקי API ספציפיים למשימות
היכולות של ה-AI הגנרטיבי במכשיר מאורגנות ב-ML Kit לפי רמת ההתאמה האישית והתזמור שהתכונה שלכם צריכה:
- יצירה וסוכנים בהתאמה אישית: עובדים ישירות עם המודל הבסיסי של Gemini Nano כשהתכונה דורשת הוראות בהתאמה אישית או לוגיקה ספציפית לדומיין. בחרו בAgentic Workflows (באמצעות המחלקה
AgentRunner, שמבוססת על המחלקהGenerativeModel) אם אתם רוצים סשנים מנוהלים רב-שלביים ולולאות קריאה אוטומטית לפונקציות, או בחרו בגישה ישירה למודל (באמצעות המחלקהGenerativeModel) להנחיות בהתאמה אישית, פלט מובנה עם סוגים או היסטוריה של כמה פניות שמנוהלת על ידי הלקוח. - דיבור ואודיו: שימוש במודלים ייעודיים של דיבור ו-AI גנרטיבי (כמו זיהוי דיבור) כדי לתמלל אודיו של דיבור לטקסט.
- משימות טקסט ותמונה: משתמשים בסוגי תכונות שהוגדרו מראש וספציפיים למשימה, ובמתאמי LoRA שעברו כוונון על גבי מודל הבסיס המשותף (כמו תיאור תמונה, סיכום, הגהה ושכתוב) לתרחישי שימוש מוכנים לראייה ולכתיבה בלי הנדסת פרומפטים.
בטבלה הבאה מפורטת השוואה בין הגישות האלה:
התעניינות ברכישה |
Agentic Workflows ( |
גישה ישירה למודל ( |
ממשקי Tasks API לטקסט ותמונה |
ארכיטקטורה |
שכבת תזמור ברמה גבוהה שמבוססת על |
ממשק ישיר למודל הבסיס Gemini Nano להנחיות בהתאמה אישית. |
סוגי תכונות ספציפיים למשימות שמגובים במתאמי LoRA שעברו כוונון עדין, בנוסף למודל הבסיס המשותף. |
הקשר של שיחה רב-שלבית |
ניהול סשנים עם כמה סבבים ( |
הקשר רב-שלבי בניהול הלקוח.
|
קריאות למשימות ללא שמירת מצב (stateless) עם קלט יחיד. |
הפעלת כלים ופעולות |
לולאה אוטומטית של קריאה לפונקציות. הוא מגלה פונקציות AppFunctions רשומות ב-Android, מפעיל קריאות שנבחרו על ידי המודל ומזין את התוצאות בחזרה למודל באופן אוטומטי. |
הצהרות על כלים בניהול הלקוח.
|
לא רלוונטי (צינור עיבוד נתונים קבוע של משימות). |
מתי להשתמש? |
כדאי להשתמש באפשרות הזו כשרוצים תזמור אוטומטי להפעלה של כלים בכמה שלבים, ולנהל סשנים עם כמה פניות בזיכרון. |
אפשר להשתמש בו כדי להתאים אישית את ההנחיות, להבין תמונות בכמה אופנים, להקליד פלט מובנה ( |
כדאי להשתמש באפשרות הזו אם התכונה שלכם תואמת למשימת כתיבה או ראייה סטנדרטית, ואתם רוצים איכות מוכנה לשימוש מ-LoRA שעברו כוונון, עם הגדרה מינימלית. |
השלבים הבאים
- כדי להגדיר את הפרויקט וליצור את ה-agent הראשון, קראו את המאמר Agentic Workflows.
- במאמר הגדרת כלים מוסבר איך לחשוף פונקציות בתוך האפליקציה לסוכן.
- כדי לנהל סשנים עם כמה פניות וזיכרון במחזורי חיים של Android, עיינו במאמר ניהול סשנים ומחזור חיים.
- כדי לאסוף תשובות בסטרימינג ולעדכן את ממשק המשתמש, עיינו במאמר אירועי סטרימינג ושילוב ממשק משתמש.