ניתוב רב-סוכני
Triggerfish תומך בניתוב ערוצים, חשבונות או אנשי קשר שונים לסוכנים מבודדים נפרדים, כל אחד עם מרחב עבודה, סשנים, אישיות ותקרת סיווג משלו.
למה סוכנים מרובים?
סוכן יחיד עם אישיות יחידה לא תמיד מספיק. ייתכן שתרצו:
- עוזר אישי ב-WhatsApp שמטפל בלוח שנה, תזכורות והודעות משפחתיות.
- עוזר עבודה ב-Slack שמנהל כרטיסי Jira, PRs ב-GitHub וסקירות קוד.
- סוכן תמיכה ב-Discord שעונה על שאלות קהילה בטון שונה ועם גישה מוגבלת.
ניתוב רב-סוכני מאפשר לכם להריץ את כל אלה בו-זמנית מהתקנת Triggerfish אחת.
כיצד זה עובד
ה-AgentRouter בוחן כל הודעה נכנסת וממפה אותה לסוכן בהתבסס על כללי ניתוב ניתנים להגדרה. אם אין כלל תואם, ההודעות הולכות לסוכן ברירת מחדל.
כללי ניתוב
ניתן לנתב הודעות לפי:
| קריטריון | תיאור | דוגמה |
|---|---|---|
| ערוץ | ניתוב לפי פלטפורמת הודעות | כל הודעות Slack הולכות ל-"עבודה" |
| חשבון | ניתוב לפי חשבון ספציפי בתוך ערוץ | דוא"ל עבודה מול דוא"ל אישי |
| איש קשר | ניתוב לפי זהות שולח/עמית | הודעות מהמנהל שלכם הולכות ל-"עבודה" |
| ברירת מחדל | חלופה כאשר אין כלל תואם | הכל השאר הולך ל-"אישי" |
תצורה
הגדירו סוכנים וניתוב ב-triggerfish.yaml:
yaml
agents:
list:
- id: personal
name: "Personal Assistant"
channels: [whatsapp-personal, telegram-dm]
tools:
profile: "full"
model: claude-opus-4-5
classification_ceiling: PERSONAL
- id: work
name: "Work Assistant"
channels: [slack-work, email-work]
tools:
profile: "coding"
allow: [browser, github]
model: claude-sonnet-4-5
classification_ceiling: CONFIDENTIAL
- id: support
name: "Customer Support"
channels: [discord-server]
tools:
profile: "messaging"
model: claude-haiku-4-5
classification_ceiling: PUBLICכל סוכן מציין:
- id -- מזהה ייחודי לניתוב.
- name -- שם קריא לאדם.
- channels -- אילו מופעי ערוצים סוכן זה מטפל בהם.
- tools -- פרופיל כלים ורשימות היתר/חסימה מפורשות.
- model -- באיזה מודל LLM להשתמש (יכול להיות שונה לכל סוכן).
- classification_ceiling -- רמת סיווג מקסימלית שסוכן זה יכול להגיע אליה.
זהות סוכן
לכל סוכן יש SPINE.md משלו המגדיר את האישיות, המשימה והגבולות שלו. קובצי SPINE.md נמצאים בספריית מרחב העבודה של הסוכן:
~/.triggerfish/
workspace/
personal/
SPINE.md # אישיות עוזר אישי
work/
SPINE.md # אישיות עוזר עבודה
support/
SPINE.md # אישיות בוט תמיכהבידוד
ניתוב רב-סוכני אוכף בידוד מחמיר בין סוכנים:
| היבט | בידוד |
|---|---|
| סשנים | לכל סוכן מרחב סשנים עצמאי. סשנים לעולם אינם משותפים. |
| זיהום | זיהום נעקב לכל סוכן, לא בין סוכנים. זיהום עבודה אינו משפיע על סשנים אישיים. |
| מיומנויות | מיומנויות נטענות לכל מרחב עבודה. מיומנות עבודה אינה זמינה לסוכן האישי. |
| סודות | אישורים מבודדים לכל סוכן. סוכן התמיכה אינו יכול לגשת למפתחות API של העבודה. |
| מרחבי עבודה | לכל סוכן מרחב עבודה קבצים משלו לביצוע קוד. |
תקשורת בין סוכנים אפשרית דרך sessions_send אך נשלטת על ידי
שכבת המדיניות. סוכן אחד אינו יכול לגשת בשקט לנתונים או סשנים של סוכן אחר ללא כללי מדיניות מפורשים המתירים זאת. :::
ניתוב רב-סוכני מיועד להפרדת אחריויות בין ערוצים ופרסונות. לסוכנים
שצריכים לשתף פעולה במשימה משותפת, ראו צוותי סוכנים. :::
סוכן ברירת מחדל
כאשר אין כלל ניתוב תואם להודעה נכנסת, היא הולכת לסוכן ברירת המחדל. ניתן להגדיר זאת בתצורה:
yaml
agents:
default: personalאם לא הוגדר ברירת מחדל, הסוכן הראשון ברשימה משמש כברירת מחדל.
