יום 15 - שימוש בכלים משרתי MCP
נסיים את החלק על שימוש בכלים בסקירה קצרה של שרתי MCP וחיבור הסוכנים שלנו אליהם.
טיפים קצרים וחדשות למתכנתים
נסיים את החלק על שימוש בכלים בסקירה קצרה של שרתי MCP וחיבור הסוכנים שלנו אליהם.
העברת שליטה היא סוג מיוחד של הפעלת כלי בה סוכן אחד מזהה שיש סוכן אחר שיהיה יותר מיומן ממנו לפתור בעיה ספציפית ולכן מעביר את השליטה לסוכן השני. בואו נראה איך זה מוגדר ב Agents SDK ולמה חשוב לשים לב.
ראינו אתמול איך מודלים מאומנים להבין איך לעבוד עם כלים, לבקש הפעלת כלים ולקרוא תשובות מכלים. סוג נוסף של אימון שמודלים עוברים הוא אימון ליצירת פלט מובנה כלומר פלט שיגיע אלינו בתור אוביקט JSON ולא ידרוש פיענוח טקסטואלי. היום נראה איך זה עובד ומתי מומלץ להשתמש במנגנון זה.
הפעלת כלים היא מצד אחד היכולת הכי משמעותית של מודלים, היא מהווה בסיס להרבה תבניות עבודה עם מודלים אבל מצד שני בגלל האופי הלא אמין של מודלים היא גם מבלבלת ומקור בלתי נדלה לבאגים. היום נבין יותר לעומק איך מנגנון הפעלת הכלים עובד, מה נקודות הבקרה שלנו במנגנון ולאיזה מטרות נרצה להשתמש בו.
ספקי הגישה למודלים כמו OpenAI ו Anthropic שמו לב למספר אתגרים של מפתחים שבונים מערכות מבוססות סוכנים הקשורים להפעלת כלים ומהווים הזדמנות עסקית לאותם ספקי מודלים:
אם המודל כותב קוד ורוצה להריץ אותו, מישהו צריך להרים סביבה וירטואלית בה המודל יוכל להריץ את הקוד בלי לעשות נזק.
אם המודל רוצה לחפש ברשת, מישהו צריך לתת לו גישה למנוע חיפוש, אבל מנועי חיפוש כמו גוגל לא מספקים API ולא אוהבים שבוטים מריצים דרכם חיפושים (כי בוטים לא רואים פרסומות).
אם המודל רוצה ליצור תמונה יש להשתמש במנגנון AI אחר שיוצר תמונות.
ראינו שאנחנו יכולים להעביר כל פונקציית פייתון למודל בתור Tool והמודל יריץ אותה אם היא תעזור לענות על הפרומפט, אבל עבור שלושת הכלים המתוארים למעלה כתיבת ה"כלי", כלומר כתיבה והרצה של הפונקציה עצמה שמריצה קוד, מחפשת ברשת או יוצרת תמונה זה אתגר.
כלי צד שרת או כלים מובנים הם הדרך של אותן ספקיות מודלים לעזור בשלושת האתגרים האלה ובאתגרים נוספים דומים.
עוד ממשק משתמש מעניין לבוטים הוא אפלקיציות המסרים בטלפון. למרות שכולם אוהבים לדבר בווטסאפ כתיבת בוטים לטלגרם זה הרבה יותר קל, נגיש וחינמי ולכן הדוגמה היום היא על טלגרם. בואו נראה איך לכתוב בוט AI שגם ממשיך שיחות ותמיד זמין עבורכם בטלגרם.
ספריית OpenAI Agents SDK זמינה גם בגירסת טייפסקריפט ואפשר להשתמש בה כשכותבים יישומי next.js. נכון, גם ל vercel יש ספריית סוכנים וגם אותה אפשר לחבר בקלות ל next.js, אבל תמיד טוב שיש כמה אפשרויות.
בפוסט זה נראה איך ליצור יישום next.js לשיחה עם סוכן באמצעות ספריית OpenAI Agents SDK תוך שימוש בדברים שלמדנו והתאמתם לטייפסקריפט.
הממשק שאנחנו הכי רגילים לראות בעבודה עם סוכנים הוא הצ'אט בדפדפן ולכן חשוב להבין איך הוא בנוי. בשביל הדוגמה היום אשתמש ב fastapi בצד השרת ובהזרמת מידע HTTP Streaming. בואו נראה את הקוד.
אחד המאפיינים החשובים והחדשים של מערכות אג'נטיות הוא השימוש ב Streaming. הייחוד של מודלי שפה גדולים הוא שהם מייצרים המון פלט ודי לאט. במערכת אינטרקטיבית זה אומר שמשתמשים צריכים לחכות המון זמן עד שיכולים לכתוב את ההודעה הבאה ולהמשיך את השיחה. אפילו בתהליכים אסינכרוניים זה אומר שלמשתמשים קשה להבין איפה בדיוק אנחנו בתהליך.
הפיתרון של ספקי המודלים היה ליצור APIs שתומכים בהזרמת מידע ולשלוח את הטקסט מהמודל מיד איך שהוא נוצר, מילה אחרי מילה. התוצאה היא חווית ה Streaming שאנחנו מכירים מאתרי ה Chat - אנחנו אומנם מחכים שהמודל יסיים לכתוב את כל הפלט, אבל לפחות במהלך ההמתנה אנחנו יכולים לראות את התוצאה נבנית מול העיניים.
סוכנים שאנחנו בונים לרוב יצטרכו לתת חווית משתמש דומה ולכן כל ספריית עבודה עם סוכנים חייבת לתת פיתרון גם להזרמת המידע. בפוסט זה נראה את הפיתרון של OpenAI Agents SDK.
הפוסט היום מסיים את החלק הראשון של סידרת הפוסטים על פיתוח משולב AI. בסידרה עד עכשיו למדנו איך להתקין את ספריית OpenAI Agents SDK, למדנו על שני סוגי מערכות משולבות AI (סקריפט שרץ ברקע וסוכן אינטרקטיבי) ואנחנו אפילו כבר יודעים איך לכתוב תוכניות פשוטות משני הסוגים.
בואו נסיים את החלק הראשון בסקירה של מבנה הקוד הרצוי למערכת וכמה טיפים על בחירת מודלים.