אל תתייחסו ל-LangGraph כשרשרת ארוכה יותר
הפסיקו לראות ב-LangGraph גרסה של LangChain עם יותר שלבים. הטעות הזו מובילה לסוכנים (agents) תקולים.
LangGraph מיועד לתהליכי עבודה (workflows) הדורשים state, ענפים (branches), קריאות לכלים (tool calls) ואישור אנושי. הוא מיועד לסוכנים שחייבים להתאושש משגיאות מבלי להתחיל מחדש.
אם אתם משתמשים בו, עליכם להגדיר שלושה דברים תחילה: state, interrupts ו-recovery.
הגבול הראשון: State Schema
עבור פרומפט בודד, הגבול הוא הטקסט. עבור LangGraph, הגבול הוא ה-State schema. עליכם להחליט:
- אילו שדות עוברים בין nodes.
- אילו שדות node מעדכן.
- כיצד ענפים מקבילים ממזגים ערכים.
- אילו ערכים נכנסים ל-checkpoint.
- אילו ערכים לעולם לא צריכים להישמר (persist).
Reducers הם קריטיים כאן. אם לא תגדירו כלל מתאים להוספת הודעות (append), העבודה המקבילית שלכם תאבד נתונים.
התחילו בקטן. בנו גרף עם schema אחד, node אחד ו-reducer אחד. אם לא הצלחתם לגרום לזה לעבוד, הוספת כלים רק תסתיר את השגיאות שלכם.
גבול ה-Runtime
לפני שאתם קוראים ל-compile(), הגרף שלכם הוא רק תיאור. אחרי compile(), ה-runtime נכנס לפעולה.
כשגרף נכשל, אל תסתכלו רק על ה-node. בדקו את ארבעת הדברים הבאים:
- האם ה-State schema מאפשר ל-node לכתוב את המפתח (key) הזה?
- האם ה-node מחזיר שדה State תקין?
- האם ה-reducer ממזג נתונים בצורה נכונה?
- האם ל-conditional edge יש נתיב יציאה?
Human In The Loop
אל תתייחסו לאישור אנושי כאל פיצ'ר של ממשק משתמש (UI). התייחסו אליו כאל חוזה של הגרף (graph contract).
תבנית אמינה נראית כך:
- המודל מציע קריאה לכלי (tool call).
- הגרף מעלה interrupt.
- אדם מאשר או עורך את הפעולה.
- הגרף ממשיך בדיוק מהנקודה הזו.
זה הופך את הסוכנים ליכולים להתאושש (recoverable) במקום להיות רק תגובתיים (reactive).
צ'קליסט בדיקת עשן (Smoke Checklist)
לפני שעולים לייצור (production), הריצו את הבדיקה הזו:
- השתמשו בתיקייה זמנית ללא נתוני ייצור.
- הגדירו State מינימלי.
- כתבו node אחד שמחזיר רק שדות תקינים.
- השתמשו ב-reducer עבור פעולות append.
- הוסיפו interrupt אחד לפני פעולת כלי (tool action).
- הוסיפו checkpointer.
- גרמו לכשל בכוונה וודאו את התנהגות ה-resume.
אם המסלול הזה נכשל, אל תוסיפו עוד כלים. הבעיה היא בגבול ה-runtime שלכם.
LangGraph אינו מיועד לקריאות מודל חד-פעמיות. השתמשו בו כאשר ה-AI שלכם צריך לבצע עבודה רב-שלבית שניתן לבחון (inspectable), להשהות (pausable) ולסקור (reviewable).
Optional learning community: https://t.me/GyaanSetuAi
