תוכן עניינים
סוף סוף, AI Agent שיכול ממש להשתמש במחשב שלנו
הפרויקט UI-TARS-desktop של ByteDance פותר את הניתוק הבסיסי בין יכולות החשיבה של AI לבין היכולת שלו לבצע משימות על המחשבים האמיתיים שלנו. יש לנו AI agents שיכולים לחשוב, לתכנן, ולהמציא אסטרטגיות, אבל כשמגיע הרגע ללחוץ על כפתורים, למלא טפסים, או לנווט באפליקציות הדסקטופ שלנו, אנחנו תקועים לעשות הכל ידנית.
הבעיה שכולנו מכירים
כולנו מתמודדים עם התסכול היומיומי הזה. העוזרים שלנו מבוססי-AI חיים בחלונות צ'אט ויכולים להתממשק עם העולם רק דרך APIs מוגבלים וממשקי שורת פקודה. כשאנחנו צריכים להזמין טיסה, לשנות הגדרות מערכת, או לעבוד עם תוכנה ותיקה שאין לה API, אנחנו חוזרים לעבודה ידנית. זה כמו שיש לנו אסטרטג מבריק שיכול לתכנן משחק שחמט מושלם אבל לא יכול ממש להזיז את הכלים.
יש לנו כלים כמו AutoGPT, LangChain agents, ומסגרות אוטומציה שונות, אבל הם מוגבלים באופן יסודי למה שזמין דרך APIs. אם לתוכנה אין API חשוף - ולרוב אפליקציות הדסקטופ אין - הסוכנים שלנו חסרי אונים. להמיר תהליכי עבודה ויזואליים לשליטה פרוגרמטית דורש בניית אינטגרציות מותאמות אישית לכל אפליקציה שאנחנו משתמשים בה, וזה לא בר-קיימא.
הבעיה המרכזית היא שרוב העבודה שלנו במחשב קורית דרך ממשקים גרפיים שתוכננו לעיניים וידיים אנושיות, לא לשליטה פרוגרמטית. ניסינו לכפות את סוכני ה-AI לעבוד דרך הדלת האחורית של APIs כשהדלת הקדמית - הממשק האמיתי - נמצאת ממש שם.
איך UI-TARS-desktop עובד
הפרויקט UI-TARS-desktop לוקח גישה שונה לגמרי על ידי שימוש בראייה ממוחשבת ובמודל UI-TARS-1.5 - מה שנקרא מודל שפה רב-מודאלי (multimodal language model), תחשבו על זה כמו AI שיכול גם לראות תמונות וגם להבין טקסט במקביל - כדי ממש לראות את המסך שלנו ולהתממשק איתו דרך שליטה בעכבר ובמקלדת. תחשבו על זה כמו עמית לעבודה שיושב לידנו, צופה במסך שלנו, ויכול לקחת את העכבר כשאנחנו מבקשים ממנו לעשות משהו - רק שהעמית הזה הוא AI שאף פעם לא מתעייף ויכול לעבוד 24/7.
המערכת מגיעה בשני רכיבים מרכזיים. ראשית, יש את Agent TARS, שמטפל באינטראקציות שורת פקודה ומבוססות-ווב - הטריטוריה המסורתית של AI agents. שנית, יש את אפליקציית הדסקטופ עצמה, שמספקת שליטה מקורית במערכת ההפעלה עם הבנה ויזואלית מלאה. הארכיטקטורה הכפולה הזאת אומרת שאנחנו מקבלים את הטוב משני העולמות: המהירות והדיוק של שליטה מבוססת-API איפה שזה זמין, והבנה ויזואלית בכל מקום אחר.
מה שהופך את זה לחזק במיוחד הוא האינטגרציה עם Model Context Protocol (MCP) - כלומר פרוטוקול תקשורת סטנדרטי שמאפשר למודלי AI להתחבר לכלים ומקורות מידע חיצוניים. תחשבו על זה כמו יציאות USB במחשב שלנו: תקן אוניברסלי שמאפשר לנו לחבר כל מכשיר תואם. עם MCP, UI-TARS יכול לגשת ל-API של היומן שלנו, למייל שלנו, למסד הנתונים שלנו, או לכל כלי אחר בזמן שהוא מבין במקביל מה קורה ויזואלית על המסך שלנו.
התחלה מהירה
ככה אנחנו מתחילים עם UI-TARS-desktop:
# שכפול הריפוזיטורי
git clone https://github.com/bytedance/UI-TARS-desktop.git
cd UI-TARS-desktop
# התקנת התלויות
pip install -r requirements.txt
# הרצת ה-agent של הדסקטופ
python main.py --mode desktop
# או הרצת Agent TARS עבור CLI/web
python main.py --mode agentדוגמה אמיתית: הזמנת טיסה אוטומטית
נגיד שאנחנו רוצים לבצע אוטומציה להזמנת טיסה, שבדרך כלל דורשת לחיצה דרך מספר עמודים, מילוי טפסים, והשוואת אופציות:
from ui_tars import DesktopAgent
# אתחול ה-agent עם הבנה ויזואלית
agent = DesktopAgent(
model="ui-tars-1.5",
screen_resolution=(1920, 1080),
enable_mcp=True
)
# הגדרת המשימה בשפה טבעית
task = """
הזמן טיסה הלוך-חזור מניו יורק לסן פרנסיסקו:
- יציאה: יום שני הבא
- חזרה: יום שישי שאחרי
- תקציב: מתחת ל-$400
- העדפה: טיסות ישירות
"""
# ביצוע תהליך העבודה
result = agent.execute_task(
task_description=task,
websites=["expedia.com", "kayak.com"],
max_duration=300 # טיימאאוט של 5 דקות
)
print(f"המשימה הושלמה: {result.success}")
print(f"אישור הזמנה: {result.data}")פיצ'רים מרכזיים שהופכים את זה לשונה
- הבנה ויזואלית - המודל UI-TARS-1.5 יכול לראות ולפרש כל ממשק גרפי, מאפליקציות ווב מודרניות ועד תוכנות דסקטופ ותיקות משנות ה-90. תחשבו על זה כמו שיש עיניים על המחשב שלנו שמבינות מה כפתורים עושים, איפה נמצאים טפסים, ואיזה מידע מוצג.
- שליטה מקורית ב-OS - בניגוד לכלי אוטומציה בדפדפן שעובדים רק על אתרים, זה פועל ברמת מערכת ההפעלה. הוא יכול ללחוץ על אייקונים בשורת המשימות, לנווט במנהלי קבצים, לשנות הגדרות מערכת - כל דבר שאנחנו יכולים לעשות עם העכבר והמקלדת שלנו.
- אינטגרציה עם Model Context Protocol - בזמן שהסוכן רואה את המסך שלנו, הוא יכול במקביל לגשת ל-APIs וכלים חיצוניים דרך MCP. זה כמו שיש מוח שמעבד את מה שהוא רואה בזמן שיש לו גם גישה ישירה למסדי נתונים ושירותים.
- ארכיטקטורה כפולה - Agent TARS מטפל במשימות מבוססות-API מסורתיות ביעילות, בזמן שהרכיב של הדסקטופ מתמודד עם תהליכי עבודה ויזואליים. אנחנו מקבלים את המהירות של שליטה פרוגרמטית איפה שזה זמין ואת הגמישות של הבנה ויזואלית בכל מקום אחר.
- פעולה לוקלית ומרחוק - אנחנו יכולים להריץ את זה על המכונה שלנו לאוטומציה אישית או לשלוט במחשבים מרוחקים. תחשבו על זה כמו TeamViewer, אבל האדם בצד השני הוא AI שעוקב אחרי ההוראות שלנו.
מתי להשתמש בזה לעומת אלטרנטיבות
יש לנו מספר גישות לאוטומציה במחשב, ולכל אחת יש את המקום שלה. סקריפטים מסורתיים עם כלים כמו Selenium או Playwright הם מהירים יותר ואמינים יותר למשימות חוזרות עם ממשקים יציבים - כמו הרצת בדיקות על אפליקציית הווב שלנו כל לילה. אם אנחנו עובדים עם תוכנה שיש לה APIs טובים, שימוש ישיר ב-APIs האלה תמיד יהיה יותר יעיל מאוטומציה ויזואלית.
UI-TARS-desktop מבריק כשאנחנו מתמודדים עם תהליכי עבודה מורכבים, רב-שלביים שמשתרעים על פני אפליקציות שונות, במיוחד כשחלק מהאפליקציות האלה חסרות APIs. זה מושלם למשימות חד-פעמיות שייקחו לנו שעה ידנית אבל לא שווה לכתוב עבורן סקריפט מותאם אישית. זה גם מצוין לעבודה עם תוכנות ותיקות, אפליקציות קוד סגור, או כל ממשק שמשתנה לעתים קרובות שבו תחזוקה של סקריפטים מסורתיים תהיה כואבת.
אם אנחנו כבר משתמשים בכלים כמו תוכנות RPA - מה שנקרא אוטומציה רובוטית של תהליכים (Robotic Process Automation), תחשבו על זה כמו רובוטים תוכנה שעושים משימות חוזרות - UI-TARS מציע יכולות אוטומציה ויזואלית דומות אבל עם קבלת החלטות הרבה יותר אינטליגנטית. RPA מסורתי עוקב אחרי סקריפטים מדויקים-לפיקסל שנשברים כשממשקים משתנים קצת; UI-TARS מבין מה הוא מסתכל עליו ויכול להסתגל לשינויי פריסה, רזולוציות מסך שונות, ודיאלוגים לא צפויים.
בעיניי - האם אשתמש בזה?
לעניות דעתי, זה מייצג אבולוציה משמעותית באופן שבו אנחנו חושבים על AI agents. בילינו שנים בבניית סוכנים שיכולים לחשוב על משימות וליצור קוד, אבל שכבת הביצוע נתקעה בעולם ה-API. UI-TARS-desktop סוף סוף מגשר על הפער הזה על ידי מתן לסוכנים אותו ממשק שבו אנחנו משתמשים: הבנה ויזואלית ושליטה ישירה.
עבור תהליך העבודה שלנו ב-YUV.AI, זה מעניין במיוחד לביצוע אוטומציה של הדגמות ללקוחות ובדיקת אפליקציות AI על פני פלטפורמות שונות. במקום לתחזק סקריפטים נפרדים לכל סטאפ ייחודי של כל לקוח, אנחנו יכולים לתאר את תהליך העבודה בשפה טבעית ולתת ל-UI-TARS להבין איך לנווט בממשק הספציפי שלהם. האינטגרציה של MCP קריטית כאן - זה אומר שהסוכן יכול לגשת לכלים והדאטה שלנו בזמן שהוא שולט במקביל בממשק הויזואלי.
המגבלה היא שאוטומציה ויזואלית היא מטבעה יותר איטית משליטה מבוססת-API. אם אנחנו מריצים את אותה משימה מאות פעמים ביום, כתיבת סקריפט מסורתי או שימוש ב-API תמיד יהיו מהירים יותר. אבל למשימות מורכבות, לא-תכופות - כמו יצירת דוח חודשי שכולל משיכת דאטה מחמישה כלים שונים, כל אחד עם ממשק שונה - זה טרנספורמטיבי. אנחנו לא מחליפים אוטומציה מסורתית; אנחנו מוסיפים יכולת חדשה לתרחישים שבהם אוטומציה מסורתית לא הייתה מעשית.
מגבלה אחת לשים לב אליה: ההבנה הויזואלית של המודל, למרות שהיא מרשימה, היא לא מושלמת. אנחנו צריכים לספק הוראות ברורות ולפעמים להוסיף שלבי ווריפיקציה כדי להבטיח שפעולות קריטיות הושלמו כמו שצריך. לפעולות בעלות סיכון גבוה כמו עסקאות פיננסיות, היינו רוצים ווריפיקציה אנושית בתהליך במקום אוטונומיה מלאה.
בואו לבדוק את הפרויקט ולראות איך ByteDance דוחפים את הגבולות של מה שסוכני AI יכולים לעשות: UI-TARS-desktop ב-GitHub
