מעבר ל-agents ולאופרטורים, betool מספקת צמתי בקרה לבניית הלוגיקה של pipeline.
מסנן
צומת filter הוא שער דטרמיניסטי: הביצוע ממשיך לצמתים שבמורד הזרם אם התנאים שלו מתקיימים, אחרת הענף נעצר שם.
תצורה:
- תנאים — כל אחד בצורה
{שדה, אופרטור, ערך}. השדה הוא selector בזרימה (exchange.intent,webhook.payload.type…); הערך הוא מחרוזת, הניתנת לתבנית (templatable). - מצרף —
AND(ברירת מחדל) אוORבין התנאים. - אופרטורים —
equals/not_equals,contains/not_contains,starts_with,ends_with,regex,is_empty/is_not_empty, השוואות מספריותgt/gte/lt/lte, שייכות לרשימהin/not_in(ערכים מופרדים בפסיקים). אופרטור לא מוכר נדחה בעת השמירה.
שימוש טיפוסי: סינון רעש לפני עלויות LLM במורד הזרם — התעלמות מאימיילים שה-from שלהם ברשימה שחורה, או מ-webhooks שבהם type != "order.created".
נתב
צומת router שולח את הביצוע לאחד מהנתיבים בעלי השם שלו. ההחלטה מתקבלת על-ידי LLM על בסיס prompt ניתוב והקונטקסט שאתם מרכיבים — לניתוב לפי כוונה, קטגוריה, טון.
תצורה:
- Prompt — הנחיית הסיווג.
- נתיבים — לכל שם נתיב, תת-הגרף לביצוע. כל נתיב מוצהר חייב להיות מחובר, אחרת הפרסום נדחה.
- מודל — אפשרות להקדיש LLM קל לניתוב (tiering) כדי לשלוט בעלות ובהשהיה.
לניתוב דטרמיניסטי לחלוטין (ערך מדויק של שדה, סטטוס HTTP), העדיפו צמתי filter המוצבים במקביל: הפרדיקט הוא אז מכני, לא מפורש.
לולאה (foreach)
צומת foreach עובר על אוסף. תצורה:
items— ה-selector של הרשימה שעליה עוברים.as— השם המקומי של האלמנט הנוכחי.max— תקרת איטרציות (ברירת מחדל 10): מעבר לה, הרשימה נקטעת והאירוע נרשם ביומן.collect— (אופציונלי) המפתח שבו נצברות התוצאות של כל איטרציה.max_per_minute— (אופציונלי) קצב מרבי, כדי לרווח את האיטרציות כאשר גוף הלולאה קורא ל-API שמגביל את קצב הבקשות.0(ברירת מחדל) = ללא הגבלה.
בכל סבב, תת-הגרף הפנימי מבוצע על האלמנט הנוכחי.
התקרה max היא מעקה הבטיחות שלכם לעלויות: רשימה בלתי צפויה של 10,000 אלמנטים לעולם לא תפעיל 10,000 ביצועים.
מקבילי
צומת parallel מבצע כמה תתי-גרפים במקביל וממתין שכולם יסתיימו לפני שהוא ממשיך. שימושי לתשאול כמה מקורות בלתי תלויים (חיפוש ב-CRM + קריאת יומן) בלי לצבור את זמני ההשהיה.
המלצות
- סננו מוקדם. כל exchange שעובר דרך agent עולה tokens;
filterבמעלה הזרם אינו עולה דבר. - שמרו על ניתוב קריא. נתב עם 12 נתיבים הוא סימן לכך שצריך שני שלבי סיווג במקום לוגיקה מרוכזת.
- הגבילו לולאות מקוננות. לולאה בתוך לולאה מכפילה את העלויות. העדיפו לטרנספורם את האוסף מראש.