MS

מאמרים הנדסיים

בניית סוכני AI עם LangGraph ו־n8n: מה עובד בפרודקשן

מאת Muhammad Shahid · · 3 דקות קריאה

תשובה קצרה

משתמשים ב־n8n כשהעבודה היא העברת מידע בין כלים עם כמה שלבי AI, ב־LangGraph כשסוכן צריך כמה שלבים ששומרים מצב ומתפצלים, ובקוד פשוט כשקריאה אחת למודל מספיקה. מה שלא תבחרו, פרודקשן צריך את אותם דברים: אימות קריאות לכלים, הערכה לפני כל שחרור, ניטור של איכות, זמני תגובה ועלות, ובקאנד שמטפל בשגיאות. אני מיישם את זה בפלטפורמת ה־AI ‏Joni ‏(joni.ai).

עובדות עיקריות
איפה אני משתמש בזהJoni ‏(joni.ai), פלטפורמת מוצר AI
פריימוורקיםLangGraph,‏ LangChain,‏ n8n, ‏Node.js ו־Python
מודליםה־API של OpenAI ושל Anthropic ‏(Claude)
הסמכותBuild AI Agents using LangGraph; ‏n8n: No-Code AI Agent Builder
חובה בפרודקשןכלים מאומתים, הערכות, ניטור, שליטה בעלות

באמת צריך סוכן?

הרבה פרויקטים של "סוכן" הם קריאה אחת למודל: לסווג מייל, לסכם מסמך, לחלץ שדות. בונים אותם כקריאה אחת עם פרומפט ברור ופלט מובנה, ושומרים את הסוכן לעבודה שבאמת צריכה כמה שלבים שבהם השלב הבא תלוי בתוצאה הקודמת. פחות חלקים נעים זה פחות דברים שיכולים להישבר.

מתי להשתמש ב־n8n, ב־LangGraph או בקוד פשוט?

  • n8n: כשהעבודה היא בעיקר העברת נתונים בין אפליקציות (טופס, CRM, מייל, Slack) עם שלב AI אחד או שניים באמצע. גם מי שלא מפתח יכול לקרוא ולשנות את התהליך.
  • LangGraph: כשסוכן צריך כמה שלבים ששומרים מצב, מתפצלים, חוזרים בלולאה או מעבירים עבודה בין סוכנים מתמחים.
  • קוד פשוט (Node.js או Python): כשמדובר בקריאה אחת או שתיים למודל בתוך הבקאנד הקיים, או כשביצועים ובדיקות הכי חשובים.

איך הופכים קריאות לכלים לבטוחות?

סוכן שיכול לקרוא ל־API שלכם יכול גם לקרוא להם לא נכון. מגדירים כל כלי עם סכמה קפדנית, מאמתים את הארגומנטים לפני שמשהו רץ, ושמים כל פעולה הרסנית (תשלומים, מחיקות, שליחת הודעות) מאחורי אישור או שלב אישור אנושי. מחזירים מהכלים שגיאות ברורות כדי שהמודל יתקן את עצמו במקום לנחש.

function runTool(name, input) {
  const tool = tools[name]
  if (!tool) return { error: "Unknown tool " + name }
  const check = tool.schema.safeParse(input)        // validate before acting
  if (!check.success) return { error: check.error.message }
  if (tool.needsApproval) return queueForApproval(name, check.data)
  return tool.run(check.data)
}

איך יודעים ששינוי שיפר את הסוכן?

שומרים סט של קלטים אמיתיים עם התשובות או הפעולות שמצפים להן, ומריצים אותו לפני כל שינוי בפרומפטים, בכלים או במודלים. משווים את הציון, לא כמה דוגמאות שנבחרו ביד. זו אותה משמעת של בדיקות רגרסיה ב־QA, רק על AI: שינוי שמתקן מקרה אחד שובר לעיתים קרובות שניים אחרים, ורק סט הערכה מראה את זה.

מה מנטרים בפרודקשן?

עוקבים אחרי כל ריצה: הפרומפט, קריאות הכלים, התשובה, כמה זמן זה לקח וכמה זה עלה. עוקבים אחרי איכות התשובות במדגם של שיחות אמיתיות, זמני תגובה לכל שלב ועלות לכל פיצ׳ר. רוב הבעיות של סוכנים מופיעות קודם כשלב איטי או קפיצה בעלות, לפני שמישהו מתלונן.

איך שומרים על עלות וזמני תגובה נמוכים?

  • שומרים בקאש תשובות חוזרות ופרומפטים ארוכים ויציבים.
  • משתמשים במודלים קטנים יותר בשלבים שבהם האיכות מאפשרת, ובמודל החזק ביותר רק איפה שזה חשוב.
  • מקצרים פרומפטים וקונטקסט למה שהשלב צריך.
  • משדרים תשובות למשתמשים ב־streaming, ומאחדים עבודות רקע.

מתי מערכות מרובות סוכנים שוות את זה?

כשהעבודה מתחלקת בצורה נקייה: סוכן אחד חוקר, אחר כותב, אחר בודק. כל סוכן מקבל תפקיד צר ורק את הכלים שהוא צריך, בתיאום עם LangGraph. אם החלוקה לא נקייה, סוכן אחד עם כלים טובים קל יותר לדיבוג ובדרך כלל טוב באותה מידה.

שאלות נפוצות

מה ההבדל בין n8n ל־LangGraph?

n8n הוא כלי ויזואלי לתהליכים שמחבר אפליקציות עם שלבי AI; ‏LangGraph הוא פריימוורק לבניית סוכנים בקוד ששומרים מצב לאורך כמה שלבים.

איך מעריכים סוכן AI?

מריצים סט קבוע של קלטים אמיתיים עם תוצאות צפויות לפני כל שינוי ומשווים ציונים, כך שרואים רגרסיות במקום לשפוט לפי כמה דוגמאות.

איך מונעים מסוכן AI לבצע קריאות מזיקות לכלים?

סכמות קפדניות לכלים, אימות לפני שמשהו רץ, ואישור אנושי לפעולות הרסניות כמו תשלומים, מחיקות או שליחת הודעות.

איך מורידים עלויות של LLM?

שומרים בקאש תשובות חוזרות, משתמשים במודלים קטנים יותר כשהאיכות מאפשרת, מקצרים פרומפטים וקונטקסט, משדרים תשובות ומאחדים עבודות רקע, ועוקבים אחרי עלות לכל פיצ׳ר.

מערכות מרובות סוכנים טובות יותר מסוכן אחד?

רק כשהעבודה מתחלקת בצורה נקייה לתפקידים צרים. אחרת סוכן אחד עם כלים טובים פשוט יותר לדיבוג ובדרך כלל עובד באותה רמה.

אתה יכול לבנות סוכן AI למוצר שלי?

כן. אני בונה סוכני AI לפרודקשן עם LangGraph,‏ n8n וה־API של OpenAI ושל Anthropic, כולל הערכה וניטור. ראו את עמוד שירות פיתוח סוכני AI.