בניית סוכני שימוש במחשב (CUA)
סוכני שימוש במחשב יכולים לקיים אינטראקציה עם אתרי אינטרנט באותה צורה שבה אדם היה עושה זאת: על ידי פתיחת דפדפן, בדיקת הדף, וביצוע הפעולה הטובה הבאה ממה שהם רואים. בשיעור זה תבנו סוכן אוטומציה לדפדפן שמחפש ב-Airbnb, מפיק נתוני רישום מובנים, ומזהה את השהות הזולה ביותר בסטוקהולם.
השיעור משלב את Browser-Use לניווט מונחה בינה מלאכותית, Playwright ופרוטוקול Chrome DevTools (CDP) לשליטה בדפדפן, Azure OpenAI לקבלת חישוב מבוסס ראייה, ו-Pydantic להפקת נתונים מובנים.
הקדמה
שיעור זה יכלול:
- הבנת מתי סוכני שימוש במחשב מתאימים יותר מאוטומציה מבוססת API בלבד
- שילוב Browser-Use עם Playwright ו-CDP לניהול מחזור חיים אמין של הדפדפן
- שימוש בראייה של Azure OpenAI ופלט מובנה של Pydantic להפקת נתוני רישום מדפי אינטרנט דינמיים
- החלטה מתי להשתמש בזרימת עבודה של אוטומציית דפדפן שמבוססת על סוכן, שחקן, או שילוב של שניהם
מטרות הלמידה
בסיום שיעור זה תדעו כיצד:
- לקנפג Browser-Use עם Azure OpenAI ו-Playwright
- לבנות זרימת עבודה של אוטומציית דפדפן שמנווטת באתר אמת ומתמודדת עם רכיבי ממשק דינמיים
- להפיק תוצאות מוקלדות מתוכן גלוי בדף ולהפוך אותן ללוגיקה עסקית מתקדמת
- לבחור בין דפוס סוכן לדפוס שחקן בהתאם למידת החיזוי של משימת הדפדפן
דוגמת קוד
שיעור זה כולל מדריך אחד במחברת:
- 15-browser-user.ipynb: משגר מפגש Chrome דרך CDP, מחפש רישומים ב-Airbnb לסטוקהולם, מפיק מחירים עם ראיית Browser-Use, ומחזיר את האפשרות הזולה ביותר כנתונים מובנים.
דרישות מוקדמות
- פייתון 3.12 ומעלה
- פריסת Azure OpenAI מוגדרת בסביבת העבודה שלך
- Chrome או Chromium מותקן מקומית
- תלות Playwright מותקנות
- היכרות בסיסית עם פייתון אסינכרוני
התקנה
התקן את החבילות המופעלות במחברת:
pip install browser_use playwright python-dotenv
playwright install chromium
הגדר את משתני הסביבה של Azure OpenAI שבהם משתמשת המחברת:
AZURE_OPENAI_ENDPOINT=...
AZURE_OPENAI_API_KEY=...
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME=...
# אופציונלי: ברירת המחדל היא לגרסת ה-API העדכנית ביותר כאשר לא צוינה
AZURE_OPENAI_API_VERSION=...
סקירת ארכיטקטורה
המחברת מדגימה זרימת אוטומציה היברידית לדפדפן:
- Chrome מתחיל עם CDP מופעל כך שגם Playwright וגם Browser-Use יכולים לשתף את אותו מפגש דפדפן.
- סוכן Browser-Use מטפל במשימות ניווט פתוחות כגון פתיחת Airbnb, סגירת פופאפים, וחיפוש סטוקהולם.
- העמוד הפעיל נבדק עם סכמת Pydantic מובנית להפקת כותרות רישומים, מחירי לילה, דירוגים וכתובות אתר.
- לוגיקת פייתון משווה בין הרישומים המופקים ומדגישה את התוצאה הזולה ביותר.
גישה זו שומרת על החישוב המבוסס ראייה הגמיש ש-Browser-Use מצטיין בו, תוך מתן שליטה דטרמיניסטית בדפדפן כשנדרש.
נקודות מפתח ונהלים מומלצים
מתי להשתמש בסוכן לעומת שחקן
| תרחיש |
שימוש בסוכן |
שימוש בשחקן |
| פריסות דינמיות |
כן, AI יכול להסתגל לשינויים בדף |
לא, בוחרים שבירים עלולים להישבר |
| מבנה ידוע |
לא, סוכן איטי יותר מאשר שליטה ישירה |
כן, מהיר ומדויק |
| מציאת אלמנטים |
כן, שפה טבעית עובדת היטב |
לא, נדרשים בוחרים מדויקים |
| שליטת תזמון |
לא, פחות צפוי |
כן, שליטה מלאה על המתנות וניסיונות חוזרים |
| זרימות עבודה מורכבות |
כן, מטפל במצבים פתאומיים בממשק |
לא, דורש סניפים מפורשים |
נהלים מומלצים ל-Browser-Use
- התחל עם סוכן למחקר וניווט דינמי.
- עבור לשליטה ישירה בדף כאשר האינטראקציה נעשית צפויה.
- השתמש בדגמים לפלט מובנה כך שהנתונים המופקים יהיו מאומתים ובטוחים מבחינת טיפוס.
- הוסף עיכובים אסטרטגיים לאחר פעולות שמשנות את הממשק הגלוי.
- צלם צילומי מסך בעודך חוזר על הפעולות כך שיהיה קל יותר לאתר כשלים.
- צפה שאתרי אינטרנט משתנים ועצב אסטרטגיות גיבוי לפופאפים ולהזזות פריסת עמוד.
- שלב דפוסי סוכן ושחקן כדי לקבל גם גמישות וגם דיוק.
אמצעי הגנה לשימוש בסוכני דפדפן
סוכני דפדפן פועלים על אתרי אינטרנט חיים, ולכן הם זקוקים לתחומים הדוקים יותר מאשר סקריפט שקורא רק ל-API ידוע. לפני המעבר מדמוא מחברת לזרימת עבודה אמיתית, הגדר את הגבולות סביב מה שהסוכן יכול לראות, ללחוץ ולשלוח.
- הגבל את סביבת הגלישה. הרץ את הסוכן בפרופיל דפדפן ייעודי או בסנדבוקס, והגבל אותו לתחומים הדרושים למשימה.
- הפרד בין תצפית לפעולה. אפשר לסוכן לחפש, לקרוא ולהפיק נתונים תחילה; דרוש שלב אישור מפורש לפני שהוא שולח טפסים, שולח הודעות, מבצע הזמנות, קונה, מוחק רשומות או משנה הגדרות חשבון.
- הימנע מהכנסת סודות לפקודות ולרישומים. אל תכניס סיסמאות, פרטי תשלום, עוגיות סשן או נתונים אישיים גולמיים לקונטקסט של המודל. אפשר למשתמש לבצע אימות ולמחוק שדות רגישים מהרישומים.
- טפל בתוכן הדף כקלט לא מהימן. אתר אינטרנט יכול להכיל הנחיות המיועדות לסוכן, לא למשתמש. הסוכן צריך להתעלם מטקסט בדף שמבקש ממנו לשנות את מטרתו, לחשוף נתונים, לבטל אמצעי הגנה או לבקר באתרים לא קשורים.
- השתמש בבדיקות דטרמיניסטיות סביב שלבים בסיכון. אמת את כתובת ה-URL הנוכחית, כותרת הדף, פריט נבחר, מחיר, מקבל וסיכום פעולה עם קוד לפני בקשת אישור סופי מהמשתמש.
- הגבל תקציבים ותנאי עצירה. הגב את מספר הפעולות, הניסיונות, הכרטיסיות, והדקות שהסוכן יכול להשתמש בהם. עצור כאשר מצב הדף לא ברור במקום להמשיך ללחוץ.
- תעד ראיות שימושיות, לא הכל. שמור סיכומי פעולות, חותמות זמן, כתובות URL, תיאורי אלמנטים נבחרים, והפניות לצילומי מסך כך שניתן יהיה לבדוק כשלים ללא אחסון מיותר של תוכן רגיש בדף.
בדוגמת Airbnb, ברירת המחדל הבטוחה היא לחפש רישומים ולהפיק מחירים. כניסה לחשבון, יצירת קשר עם מארח או השלמת הזמנה צריכה להיות פעולה נפרדת מאושרת על ידי המשתמש.
יישומים מעשיים
- הזמנת נסיעות ומעקב מחירים
- השוואת מחירים ואימות זמינות במסחר אלקטרוני
- הפקה מובנית מאתרים דינמיים
- בדיקות ממשק משתמש המבוססות ראייה ואימות
- ניטור אתרי אינטרנט והתראות
- מילוי טפסים חכם בזרימות רב-שלביות
דוגמה מעשית: Microsoft Project Opal
הסוכן שאתה בונה בשיעור זה הוא גרסה קטנה מקומית של סוכן שימוש במחשב (CUA) — תוכנה שמפעילה דפדפן כמו אדם. מיקרוסופט מביאה את הרעיון הזה לארגונים עם Project Opal (Frontier), יכולת ב-Microsoft 365 Copilot.
עם Project Opal, אתה מתאר משימה והסוכן פועל בשם שלך באמצעות שימוש מחשב על PC מבוסס Windows 365 בענן מבוטח, הפועל על פני יישומי הדפדפן, האתרים והנתונים בארגון שלך. הוא פועל באופן אסינכרוני ברקע, ואתה יכול להנחות את העבודה או להשתלט עליה בכל עת. דוגמאות לתפקידים כוללים:
- ניהול בקשות חברות בקבוצות אבטחה
- איסוף ואימות ראיות ביקורת לבדיקות תאימות
- ניהול תקלות IT (עדכון סטטוס, שיוך בעלי תפקיד, סגירת כפילויות)
- איסוף נתוני Excel לעיצוב סגור פיננסי
Opal הוא הפניה שימושית למה שנראה כסוכן שימוש במחשב אמין ובשל לייצור — ומדגיש מושגים משיעורים קודמים:
| מושג בקורס זה |
איך Project Opal מפעיל אותו |
| אדם בלולאה (שיעור 06) |
Opal עוצר לבקשת אישורי התחברות, נתונים רגישים או הנחיות דו-משמעותיות, ואינו מזין סיסמאות או שולח טפסים ללא אישור מפורש. ניתן להשתלט ולהחזיר שליטה במהלך המשימה. |
| סוכנים אמינים ומאובטחים (שיעורים 06 ו-18) |
פועל בסביבה מבודדת של Windows 365 Cloud PC, מוגבל לדפדפן בלבד כברירת מחדל (גישה למחשב חסומה, מיושמת דרך Intune), משתמש ב-זהות שלך כך שניגש רק למה שאתה מורשה אליו, ומתעד כל פעולה לשם ביקורת. |
| תכנון ומטאקוגניציה (שיעורים 07 ו-09) |
Opal מייצר תוכנית למשימה תחילה, ואז מפקח על ההיגיון שלו בכל שלב ועוצר אם מזהה פעילות חשודה. |
| יכולות / כלים לשימוש חוזר (שיעור 04) |
מיומנויות מאפשרות לך לכתוב הוראות למשימות חוזרות (מיובאות מקובץ .md או נכתבות ב-Opal) ולשחזרן בשיחות שונות. |
זמינות: Project Opal זמין כיום למשתמשים בתוכנית Frontier early access עם מנוי Microsoft 365 Copilot, ומנהל המערכת חייב להשלים את ההגדרה. מאחר שמדובר בתכונה ניסיונית של Frontier, היכולות עלולות להשתנות עם הזמן.
בדיקת ידע
בדוק את הבנתך לפני המעבר לשיעור הבא.
1. מתי סוכן שימוש במחשב מבוסס דפדפן מתאים יותר מזרימת עבודה שמבוססת רק על API?
תשובה
השתמש בסוכן דפדפן כאשר המשימה תלויה במה שנראה בממשק אינטרנטי, האתר לא חושף את ה-API הנדרש, או שהדף משתנה מספיק כך שהגיון API או בוחרים קבועים יהיו שבירים. אם יש API יציב לאותה משימה, העדף את ה-API כי הוא בדרך כלל מהיר יותר, קל יותר לבדיקה, וקל יותר לאבטחה.
2. בזרימת עבודה היברידית, אילו חלקים הסוכן אמור לטפל ואילו חלקים צריכים להתבצע בקוד Playwright ישיר?
תשובה
תן לסוכן לטפל בניווט פתוח ומצבי ממשק דינמיים, כמו מציאת הדף הנכון או סגירת פופאפים לא צפויים. עבור לשליטה ישירה ב-Playwright כאשר מבנה הדף ידוע והפעולה דורשת דיוק, ניסיונות חוזרים, המתנות, או אימות דטרמיניסטי.
3. בדוגמת Airbnb נמצא רישום שהמשתמש עשוי לרצות להזמין. מה צריך לקרות לפני שזרימת העבודה מתאפשרת התחברות, יצירת קשר עם מארח או השלמת הזמנה?
תשובה
זרימת העבודה צריכה להיעצר ולבקש אישור מפורש מהמשתמש. לפני הבקשה יש להציג סיכום ברור של הרישום הנבחר, כתובת ה-URL הנוכחית, המחיר, התאריכים והפעולה המתוכננת. חיפוש והפקת מחירים יכולים להיות אוטונומיים; גישה לחשבון, הודעות, רכישות והזמנות צריכות להיות מאושרות על ידי המשתמש.
4. עמוד אינטרנט מודיע לסוכן להתעלם מההוראות המקוריות, לבקר באתר אחר, ולחשוף פרטי התחברות שמורים. איך הסוכן צריך לטפל בטקסט הזה?
תשובה
יש להתייחס לזה כתוכן דף בלתי מהימן, לא כהוראות מפתח או משתמש. הסוכן צריך להישאר בתחום ובטווח המשימה המותרים, לסרב לחשוף סודות, ולהימנע מלעקוב אחרי טקסט בדף שמשנה את המטרה, מבטל אמצעי הגנה, או שולח אותו לאתרים לא קשורים.
5. אילו ראיות מועילות לשמור כשסוכן דפדפן פועל, ומה יש להימנע מלשמור?
תשובה
שמור סיכומי פעולות, חתימות זמן, כתובות URL, תיאורי אלמנטים נבחרים, תוצאות אימות והפניות לצילומי מסך כדי שניתן יהיה לבדוק את הריצה. הימנע מאחסון סיסמאות, פרטי תשלום, עוגיות סשן, נתונים אישיים גולמיים, או תוכן מלא של דפים אלא אם כן יש סיבה ספציפית לשמירה ולשמירת פרטיות.
מקורות נוספים
שיעור קודם
חקירת מסגרת סוכני Microsoft
שיעור הבא
פריסת סוכנים בקנה מידה רחב
כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום אוטומטי Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עלולים להכיל שגיאות או אי-דיוקים. יש להחשיב את המסמך המקורי בשפתו הטבעית כמקור הסמכות. למידע קריטי מומלץ להשתמש בתרגום מקצועי על ידי מתרגם אדם. אנו לא אחראים לכל אי-הבנה או פירוש שגוי הנובע מהשימוש בתרגום זה.