מבוא ל-LangChain

מה זה LangChain ולמה בכלל צריך פריימוורק

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

כבר ראינו בנושא ה-LLM איך קוראים ל-API של מודל שפה ישירות מקוד (system/user messages, tool calls, טיפול בשגיאות) — LangChain לוקח את כל אותם רכיבים חוזרים ועוטף אותם בממשק אחיד, כדי שלא תצטרכו לכתוב מחדש את אותה לולאת tool-calling, ניהול היסטוריה וטיפול בשגיאות בכל פרויקט מחדש.

LangChain לעומת קריאה ישירה ל-API

קריאה ישירה ל-SDK של ספק (כמו @anthropic-ai/sdk) עובדת מצוין לשימוש חד-פעמי, אבל ברגע שרוצים agent אמיתי — עם tool calling, ניהול context, retries, streaming ותמיכה בכמה ספקי מודלים במקביל — צריך לבנות את כל התשתית הזו בעצמכם, ולתחזק אותה בנפרד לכל ספק.

LangChain מספק ממשק אחיד (מחרוזת model כמו "anthropic:claude-sonnet-5" או "openai:gpt-4o") שמאפשר להחליף ספק מודל כמעט בלי לשנות קוד, וכולל מהקופסה את מנגנוני ה-retry, streaming ו-tool calling שאחרת היינו צריכים לבנות ידנית.

LangChain Core מול LangGraph

לאקוסיסטם של LangChain שני חלקים משלימים: LangChain עצמו נותן את אבני הבניין ברמה גבוהה — מודלים, כלים, ופונקציה מרכזית בשם createAgent שמרכיבה מהם agent שלם בקריאה אחת; LangGraph, לעומת זאת, הוא שכבה נמוכה יותר שמאפשרת להגדיר את זרימת הבקרה (control flow) כגרף מפורש — שימושי כשצריך לוגיקה מותאמת אישית שחורגת מלולאת agent סטנדרטית.

בנושא הזה נתמקד ב-LangChain וב-createAgent — הדרך המהירה והנפוצה ביותר להרכיב agent עובד. ברגע שמכירים את אבני הבניין האלה, המעבר ל-LangGraph (במידת הצורך) הוא הרחבה טבעית ולא התחלה מאפס.

בונים על מה שכבר למדנו ב-AI Agents

בנושא AI Agents למדנו את המושגים agent, subagent, harness, skill ו-tool ברמה עקרונית, בלי תלות בפריימוורק ספציפי — ובפרט את הרעיון שה-harness הוא השכבה שעוטפת את המודל: system prompt, כלים זמינים, ומידלוור שקובע איך הכול מתנהג יחד (ראו פרק ה-Harness בנושא AI Agents).

LangChain הוא בדיוק מימוש קונקרטי של אותו harness: כשקוראים ל-createAgent ומעבירים לו model, tools ו-middleware, בפועל בונים את אותו "הארנס" שכבר הכרנו — הפעם כאובייקט אמיתי בקוד, לא רק כמושג. כל מה שנלמד בפרקים הבאים על models, tools, memory ו-middleware הוא מימוש ישיר של המפה שכבר ראינו שם.

מה נלמד בהמשך הנושא

בפרק הבא נבנה agent ראשון עם createAgent ונריץ אותו בפועל. אחר כך נעבור פרק אחר פרק על models, tools, structured output, streaming, memory, middleware, מערכות רב-סוכניות (multi-agent) ו-Deep Agents, ונסיים בפרק על תצפית (observability) עם LangSmith והרצה בסביבת production.

כל הדוגמאות בנושא הזה כתובות ב-JavaScript/TypeScript, בהתאם לתיעוד הרשמי של LangChain.