spinny:~/writing $ vim agentic-infrastructure-stack.md
1~2דיברנו לא פעם על מסגרות אגנטיות. LangGraph, CrewAI, AutoGen, SDK שונים, לולאה, קריאת כלים, זיכרון, מתכנן, מבקר, מפקח. כל המילים שימושיות, חלילה. אבל ככל שאני מסתכל יותר על הסוכנים שבהם נעשה שימוש בפועל, כך נראה לי שהחלק המעניין עבר מתחת לרמת המסגרת.3~4השאלה היא כבר לא רק: באיזו ספרייה אני משתמש כדי לגרום למודל צעד לחשוב?5~6השאלה האמיתית היא: איפה הסוכן הזה חי כשהוא מפסיק להיות הדגמה?7~8כי סוכן רציני הוא לא פונקציה שקוראת למודל ומחזירה טקסט. זו מערכת מבוזרת קטנה. עליו לקרוא את ההקשר, להשתמש בכלים, להפעיל קוד, לגעת בקבצים, לזכור החלטות, לבקש רשות, להיכשל היטב, להפעיל מחדש, להשאיר יומנים, לא לשרוף את התקציב ולא להפוך לדחפור בתוך מאגר הייצור.9~10המסגרת היא גלגל ההגה. התשתית היא הכביש, הבלמים, המוסך, הביטוח והאדם שיודע היכן המפתחות.11~12## כי יש הרבה דיבורים על זה עכשיו13~14ב-2023 וב-2024 השיחה הייתה מאוד ממוקדת מודל. איזה LLM? כמה הקשר? כמה זה עולה? כמה הוא טוב בתכנות?15~16ב-2025 וב-2026 השיחה השתנתה. המודלים טובים מספיק כדי לעשות עבודה אמיתית, אבל זו הסיבה שהסיביות המשעממות הופכות לגלויות: זמן ריצה, אבטחה, מחברים, זהות, צפייה, ביצוע קוד, פריסה, החזרה.17~18זה המעבר הטבעי מקסם להנדסה.19~20כאשר סוכן רק צריך ליצור תגובה, די בצ'אט. כאשר אתה צריך לפתוח בקשת משיכה, לבצע שאילתות במסד נתונים, להתקשר ל-CRM, להתחיל עבודה, לנווט באתר, לקרוא Slack, להדר קוד ולעדכן מסמך, אתה צריך מערכת הפעלה סביב זה.21~22לא במובן המילולי. במובן ארגוני.23~24## היצירה הראשונה: זמן ריצה שבו הסוכן יכול להחזיק מעמד25~26סוכן לרוב עובד בשלבים. הסתכל על המצב, בחר פעולה, השתמש בכלי, התבונן בתוצאה, עדכן את התוכנית, חזור.27~28אם הלולאה הזו נמצאת בתוך בקשת HTTP בודדת, יש לך מיד בעיה. חלק מהפעולות איטיות. חלקם ממתינים לקלט אנושי. חלק נכשלים וחייבים לנסות אותם שוב. חלקם חייבים לשרוד פריסה או פסק זמן.29~30כאן נכנסים לתמונה זרימות עבודה עמידות, תורים, רקע עבודה ומכונות מדינה. הם לא זוהרים, אבל הם ההבדל בין סוכן שנראה חכם בהדגמה לבין אחד שאתה יכול להשאיר לעבוד בזמן שאתה הולך לשתות קפה.31~32עבורי זמן הריצה הסוכן חייב לענות על שאלות מאוד קונקרטיות:33~34- איפה אני שומר את המדינה בין צעד אחד למשנהו?35- מה קורה אם התהליך מת באמצע?36- האם אני יכול לעצור ולבקש אישור?37- האם אני יכול לשחזר ריצה כדי להבין למה הוא בחר את הבחירה הזו?38- האם אני יכול להגביל את משך הזמן, הזיכרון, הכלים והעלות?39~40Vercel דוחפת חזק בחזית זו עם SDK של AI, פונקציות, זרימות עבודה וכלים לבניית סוכנים בתוך יישומי אינטרנט. אבל הנקודה היא לא רק ורצל. העניין הוא שהסוכן צריך בית תפעולי, לא נקודת קצה אחת.41~42## החלק השני: ארגז חול, כי הסוכן חייב להיות מסוגל להתלכלך מבלי להישבר43~44ברגע שסוכן כותב קוד או מבצע פקודות, יש צורך בארגז חול.45~46זה נראה כמו מילה טכנית, אבל הרעיון הוא ביתי: אתה נותן לו שולחן עבודה. זה יכול לפתוח קבצים, להתקין תלות, להריץ בדיקות, לעשות ניסויים, לייצר פלט. אם הוא טועה, עצרת את הנזק. אם זה עובד, קדם את התוצאה.47~48ארגז חול סוכן צריך להיות בעל כמה מאפיינים:49~50- מערכת קבצים מבודדת;51- מעבד, זיכרון ומגבלות זמן;52- רשת מבוקרת;53- סודות רכובים רק בעת הצורך;54- יומנים מלאים;55- אפשרות לייצא חפצים;56- איפוס נקי בין ריצות, בעת הצורך.57~58Vercel Sandbox הולך בדיוק בכיוון הזה: סביבות מבודדות להרצת קוד, התקנת תלות, עבודה עם קבצים ויצירת חפצים מבלי להפעיל הכל בזמן הריצה של האפליקציה הראשית.59~60הדבר הזה חשוב יותר ממה שהוא נראה. אבות טיפוס סוכן רבים קופצים ישירות מהמודל למערכת האמיתית. המודל יכול לקרוא לכלי. כלים יכולים לעשות דברים. הכל נראה אלגנטי עד הפקודה השגויה הראשונה, התלות הראשונה המותקנת במקום הלא נכון, האסימון הראשון שמסתיים ביומן.61~62ארגז החול הוא הדרך הבוגרת לומר: קדימה, אבל כאן.63~64## החלק השלישי: MCP ובעיית המחבר65~66פרוטוקול ההקשר של המודל הפך לאחד החלקים המעניינים ביותר של המערכת האקולוגית מכיוון שהוא מנסה לתקן משהו שאחרת הופך במהירות לבלתי ניתן לניהול: איך מודל מגלה ומשתמש בכלים חיצוניים.67~68ללא תקן, כל אינטגרציה היא אי קטן. מחבר עבור GitHub נעשה בצורה אחת, אחד עבור Slack נעשה אחר, אחד עבור מסדי נתונים עם סמנטיקה שונה, אחד עבור אוטומציה של דפדפן שלא נראה כמו כלום.69~70MCP מציע שפה משותפת בין הלקוח לשרת: כלים, משאבים, הנחיות, הרשאות, תחבורה, גילוי. זה לא פותר קסם ממשל ואבטחה, אבל זה נותן דקדוק.71~72והדקדוק חשוב. כאשר סוכן יכול להתחבר לכלים רבים, השאלה היא לא רק "האם הוא יכול לעשות את זה?". הבעיה היא "האם הוא מבין מה הוא יכול לעשות, באילו גבולות, בשם מי, ומשאיר איזה עקבות?".73~74עבורי MCP אינו הייפ כי הוא "עושה קריאת כלים". כבר עשינו את זה. זה הייפ מכיוון שהוא מעביר את מרכז הכובד מאינטגרציה יחידה לקטלוג הכלים התפעולי.75~76בארכיטקטורה סוכן טובה, MCP הופך לסוג של פאנל תיקונים:77~78- GitHub עבור קוד ובעיות;79- רפיון עבור הקשר שיחה;80- ליניארי או Jira לעבודה מתוכננת;81- מסד נתונים לקריאה בלבד לניתוח;82- דפדפן או מגרד נשלט עבור אתרים חיצוניים;83- אחסון מסמכים;84- סביבות ביצוע מבודדות;85- מערכות פנימיות חשופות עם הרשאות קפדניות.86~87החלק המסובך הוא שקטלוג כלים נטול מדיניות הוא רק דרך אלגנטית יותר ליצור כאוס.88~89## היצירה הרביעית: זהות והרשאות90~91זה האזור שבו הדגמות רבות מעלימים עין.92~93סוכן פועל בשמו של מישהו. אז חייב להיות ברור מי נושא הפעולה.94~95האם זה משתמש בהרשאות משתמש? של חשבון שירות? של חלל עבודה? האם יש לך גישה זמנית או קבועה? האם אתה יכול לקרוא הכל או רק כמה משאבים? אתה יכול לכתוב? אפשר לבטל? האם הוא יכול לשלוח הודעות טקסט לאנשים אמיתיים?96~97אם לא תענה טוב על השאלות האלה, במוקדם או במאוחר תבנה עוזר עם מפתחות לבית וללא זיכרון מי נתן לו.98~99כלל האצבע שאני אוהב הוא זה: הסוכן חייב להיות מסוגל לעשות פחות מהאדם, לא יותר מהאדם. וכאשר הוא צריך לעשות משהו מסוכן יותר, הוא צריך לעצור ולשאול.100~101המשמעות היא OAuth, היקף אסימון, ניהול סודי, יומן ביקורת, מדיניות כלים, רשימת היתרים, שלב אישור. דברים לא רומנטיים במיוחד. דברים הכרחיים.102~103## היצירה החמישית: זיכרון והקשר, אך ללא צבירת זבל104~105סוכנים צריכים זיכרון, אבל זיכרון מסוכן כשהוא הופך לעליית גג.106~107ישנם לפחות שלושה סוגי זיכרון:108~109- הפעלת זיכרון: מה קרה בביצוע הזה;110- זיכרון פרויקט: מוסכמות, החלטות, אילוצים;111- זיכרון אישי או צוותי: העדפות, טון, טקסים, תהליכים.112~113לשים הכל בהנחיה זה קיצור הדרך. זה עובד עד שזה לא עובד יותר. יש לדאוג לזיכרון שימושי: לאינדקס, לעדכן, פג תוקף, לאמת, להפוך לציטוט.114~115סוכן שזוכר רע גרוע יותר מסוכן שלא זוכר. כי הוא מדבר בביטחון.116~117לכן התשתית חייבת לכלול שליפה, קבצי הוראות, בסיס ידע, הטמעה בעת הצורך, אך גם ניקיון. אנחנו צריכים תרבות של זיכרון: מה נכנס, מי מאשר, מתי הוא מתפורר, איך אני מתקן את זה.118~119## היצירה השישית: צפייה, eval ושידור חוזר120~121אם סוכן עושה טעות, יומן "נקרא למודל" אינו מספיק.122~123אתה רוצה לראות את המסלול. איזה הקשר הוא קיבל? אילו כלים היו זמינים? באיזה כלי בחרת? עם איזה טיעונים? איזו תגובה קיבלת? כמה זה עלה? איפה זה נתקע? האם האדם אישר משהו? האם מודל השגיאה, הכלי, ההנחיה, הנתונים או ההרשאה שגיאה?124~125כאן הסוכנים דומים יותר למערכות מבוזרות מאשר לצ'אטבוטים.126~127אתה צריך עקבות קריא, לא רק יומני טקסט. אתה צריך להיות מסוגל לחזור על ריצה. יש צורך להשוות שתי גרסאות של אותו סוכן במשימות ידועות. אנחנו צריכים למדוד רגרסיות: לא רק שהוא "עונה טוב יותר", אלא שהוא "סוגר את הכרטיס הנכון מבלי לגעת בקבצים לא רצויים".128~129הסתייגויות סוכניות קשות יותר מהשבחות טקסט מכיוון שהן כוללות פעולות. לא מספיק להשוות מחרוזת צפויה. אתה צריך להסתכל על רצפים, תופעות לוואי, איכות החפץ, זמן, עלות, מספר התערבויות אנושיות.130~131הדבר המצחיק הוא שאנחנו תמיד חוזרים לשם: הנדסת תוכנה. בדיקות, סביבות, עקבות, חזרה לאחור. אלא שהקוד מחליט כעת גם מה לעשות הלאה.132~133## היצירה השביעית: ממשקים אנושיים134~135הסוכן לא צריך לחיות רק בצ'אט.136~137יש סוכנים שצריכים לוח. אחרים עמוד עם סטטוס ויומן. אחרים של כפתור "אישור". עוד הערות מוטבעות. עוד אחרים של CLI.138~139ממשק המשתמש משנה התנהגות. אם הדרך היחידה לשלוט בסוכן היא לכתוב הודעה ארוכה, המשתמש ייתן לסוכן הוראות מעורפלות. עם זאת, אם הוא רואה את התוכנית, ההבדל, המקורות, הסיכונים והפעולה הבאה, הוא יכול להתערב במדויק.140~141תשתית סוכנים הגונה כוללת משטחי בקרה:142~143- מצב נוכחי;144- תוכנית הניתנת לעריכה;145- חפצי אמנות מיוצרים;146- הבדל;147- בקשות אישור;148- כרונולוגיה;149- כפתור עצירה;150- כפתור ניסיון חוזר;151- הרשאות גלויות.152~153זה נראה טריוויאלי, אבל זה לא. ההבדל בין "AI מצמרר" ל"עוזר אמין" הוא לרוב רק שהאחרון מראה לך היכן יש לו ידיים.154~155## המחסנית המנטאלית156~157אם הייתי מצייר את זה היום, ערימת הסוכן המינימלית תהיה כזו:158~1591. מודל: הגיון, דור, קריאת כלי, מולטימודאלי במידת הצורך.1602. תזמור: לולאה, שלב, מתכנן, מדיניות, אנושי-בלולאה.1613. זמן ריצה עמיד: זרימת עבודה, תור, ניסיון חוזר, השהה, המשך.1624. ארגז חול: ביצוע קוד, מערכת קבצים מבודדת, מגבלות, חפצים.1635. שכבת כלי: MCP, API פנימי, דפדפן, מסד נתונים, מאגר.1646. שכבת זהות: OAuth, scope, סוד, ביקורת, מדיניות.1657. שכבת זיכרון: הקשר פרויקט, שליפה, הוראות, תפוגה.1668. צפיות: מדדי מעקב, שידור חוזר, הערכה, עלות ואיכות.1679. משטח מוצר: צ'אט כשמספיק, לוח מחוונים כשצריך, סקירה כשזה חשוב.168~169המסגרת האגנית מכסה בעיקר את נקודות 2 וחלק מנקודה 1. השאר הוא העבודה האמיתית.170~171## מה הייתי עושה בפועל172~173אם צוות היה אומר לי "אנחנו רוצים סוכנים בהפקה", לא הייתי מתחיל עם עשרה סוכנים.174~175הייתי מתחיל עם זרימת עבודה קטנה, שחוזרת על עצמה וניתנת לצפייה. לדוגמה: יחסי ציבור פתוחים לתחזוקה, עדכון תיעוד מבעיות סגורות, הכנת סקירה שבועית, בדיקת באגים כפולים, הפקת בדיקות לקבצים המושפעים.176~177אז הייתי מציב גבולות מאוד ברורים:178~179- אין כתיבה ללא ענפים או ארגז חול;180- אין סודות בהנחיה;181- כלים ברשימת ההיתרים;182- אישור אנושי לפעולות חיצוניות;183- יומן ומעקב חובה;184- תקציב לכל ריצה;185- פלט תמיד ניתן לבדיקה.186~187רק אז ארחיב.188~189סוכנים לא נכשלים רק בגלל שהדוגמניות טועים. הם נכשלים כי אנחנו שמים אותם בסביבות מעורפלות, עם הרשאות מבלבלות וציפיות תיאטרליות.190~191## הקריאה שלי192~193תשתית סוכן משעממת בצורה הטובה ביותר.194~195זה לא החלק שגורם לך למחוא כפיים בהדגמה. זה החלק שמאפשר לך להשתמש בהדגמה ביום שני בבוקר, עם אנשים אמיתיים, נתונים אמיתיים והשלכות אמיתיות.196~197עתיד הסוכנים לא יוכרע רק על ידי מי יש את המודל הטוב ביותר לחיקוי. זה יוכרע על ידי מי שיבנה את המקום הטוב ביותר לגרום לו לעבוד בו: מבודד כשהוא מתנסה, מחובר כשצריך, תמיד ניתן לצפייה, מורשה עם קריטריונים וצנוע מספיק להפסיק כשהוא לא יודע.198~199שם סוכנים מפסיקים להיות צעצוע והופכים לתשתית.200~201## מקורות202~203- [Vercel: כיצד לבנות סוכני AI עם Vercel ו-AI SDK](https://vercel.com/kb/guide/how-to-build-ai-agents-with-vercel-and-the-ai-sdk)204- [Vercel Docs: Sandbox](https://vercel.com/docs/sandbox)205- [Vercel Docs: Working with Sandbox](https://vercel.com/docs/sandbox/working-with-sandbox)206- [Vercel Docs: MCP](https://vercel.com/docs/mcp)207- [Protocol Context Model: Specification](https://modelcontextprotocol.io/specification)208- [OpenAI: כלים חדשים לסוכני בנייה](https://openai.com/index/new-tools-for-building-agents/)209- [בלוג Cloudflare: סוכנים ב-Cloudflare](https://blog.cloudflare.com/agents-on-cloudflare/)210~
NORMAL · agentic-infrastructure-stack.md [readonly]210 lines · :q to close