תיעוד

העורך הויזואלי

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

pipeline ב-betool הוא גרף של צמתים שאתם מרכיבים בעורך הויזואלי. כל סוג צומת מצהיר בצד השרת על התצורה שלו ועל המפתחות שהוא מייצר; העורך מאמת את הגרף ואת התצורה לפני שהוא מאפשר לפרסם.

אנטומיה של pipeline

[Start]──▶[agent]──▶[router]──┬──▶[agent]
                              └──▶[webhook_action]
  • הצומת Start נוצר אוטומטית יחד עם המודל; הוא נושא את המקלטים (ערוצי הקלט) שמפעילים את ה-pipeline. אותו Start יכול להצהיר על כמה מהם.
  • כל צומת במורד הזרם קורא את המפתחות שהצמתים שלפניו ייצרו בהקשר הביצוע.
  • נתב (router) או מסננים יוצרים ענפים; כל ביצוע משאיר עקבה שניתן לעיין בה.

מושגי יסוד

מפתח זרימה

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

מה שצומת מייצר מוצהר בחוזה שלו, בשתי צורות:

  • מפתח קבוע (fixed_key) — תמיד אותו מפתח, המוגדר על ידי סוג הצומת (לדוגמה input.entry_kind עבור ה-Start).
  • מפתח הניתן להגדרה (configurable_key) — נבחר בתצורת הצומת (לדוגמה מפתח הפלט של agent).

מה שצומת קורא נקבע בתצורה שלו (השדה שמסנן בודק, הקלטים של agent…).

חוזה

כל סוג צומת חושף חוזה שמוצהר בצד השרת: שדות התצורה שלו (סוג, ערכים מותרים, שדות חובה, ערכי ברירת מחדל) והמפתחות שהוא מייצר. העורך נשען על חוזה זה כדי לבנות את פאנל התצורה ולאמת את מה שאתם מזינים.

תצורה

לצומת יש גם פרמטרים סטטיים (התצורה שלו) — לדוגמה, עבור צומת agent: התפקיד, המשימה, ה-tools, מודל ה-LLM.

סודות

שדות שהחוזה של צומת או של מקלט מצהיר עליהם כסודיים (סוד HMAC של webhook נכנס, טוקן או סיסמה של קריאת HTTP, אסימון גישה של Page, סוד של תת-pipeline…) לעולם אינם מוחזרים בטקסט ברור לאחר שנשמרו: לא לעורך, לא דרך ה-API, לא לכלי ה-MCP ולסוכנים שקוראים pipeline, ולא בהצעות.

במפקח, שדה כזה מציג «•••••• שמור — הקלידו כדי להחליף»:

  • אם נשאר ריק, הוא שומר את הסוד השמור;
  • הקלדה מחליפה אותו;
  • הכפתור הסרה מוחק אותו (עבור סוד HMAC, אימות החתימה מושבת אז).

העתקה-הדבקה או שכפול של צומת אינם מעתיקים את הסודות שלו: הזינו אותם מחדש בעותק.

יצירת pipeline

  1. מודלים → חדש — ב-betool, מודל נושא את ה-pipeline שלכם.
  2. הבד (canvas) נפתח עם צומת Start. הגדירו אותו כדי לבחור את ערוץ הקלט או ערוצי הקלט.
  3. הוסיפו צמתים באמצעות הכפתור הוספת צומת בריחוף מעל קישור, או בלחיצה ימנית על צומת (הוספת צומת לפני / אחרי), ואז בחרו את הסוג שלהם בקטלוג המודולים (חיפוש לפי שם).
  4. חברו את הצמתים זה לזה. ה-pipeline הוא עץ: לכל צומת הורה אחד בלבד.
  5. לחצו על צומת כדי לפתוח את התצורה שלו ב-inspector.
  6. הרצת בדיקה — הריצו את הגרסה המפורסמת על payload שתזינו בחופשיות, במצב אמיתי או במצב סימולציה (הצמתים בעלי השפעה חיצונית מדולגים).
  7. פרסום — הודעת commit היא חובה; ה-pipeline מאומת, ואז הגרסה החדשה הופכת לזו שה-runtime מריץ.

ניהול גרסאות

כל פרסום יוצר גרסה. מתוך גרסאות, ניתן:

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

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

אימות

בעת הפרסום, validator בודק את הגרף:

  • חוסם — מחזור בגרף; צומת עם כמה הורים; פלט חובה שאינו מחובר (גוף הלולאה של foreach, הילדים של parallel, כל נתיב מוצהר של router); מספר שגוי של צמתי Start; שגיאות ייחודיות לסוג צומת (לדוגמה תפקיד או משימה של agent שאינם קיימים).
  • אזהרה (לא חוסמת) — צומת שאינו נגיש מה-Start; סטייה של תצורה קיימת מהחוזה של הצומת שלה.

בעת כתיבת תצורה (עורך, הצעות, API), ערך שאינו מבין הערכים המותרים או שדה חובה חסר נדחים, עם התיקון הנדרש.

כתוצאה מכך: pipeline שפורסם עבר את הבדיקות המבניות האלה. השגיאות שנותרות שייכות לביצוע (קריאת API של צד שלישי שנכשלת, parsing בלתי צפוי).