דלגו לתוכן

מילון מונחים

סוכן: עובד AI בעל זהות, תפקיד, מיומנויות ומתאם. משתייך בדיוק לסביבת עבודה אחת. הפועל הראשי במערכת.

מתאם: המריץ שמבצע תור של סוכן. שניים נכללים: Control Center (מובנה) — מנגנון ההרצה שבתוך התהליך שמדבר עם ספקי המודלים — וClaude Code דרך claude -p. Cursor, Codex, Anthropic, OpenAI והשאר הם ספקים על המתאם המובנה, ולא CLIs נפרדים. ראו ניהול מתאמים ומודלים.

סביבת עבודה: הדייר העליון של הבידוד. מקבץ סוכנים, מאגרים, מרחבים, כרטיסים, זיכרון ופייפליינים. הבידוד מבני, לא הסכמי: לכל סביבת עבודה יש קובץ SQLite משלה (<dataDir>/<workspaceId>/workspace.db), כך שקריאה חוצת סביבות עבודה אינה מתקמפלת. כל נתיב באפליקציה מתחיל ב-/workspaces/:workspaceId — ראו את מפת הנתיבים.

מארח קוד: שירות אחסון קוד — GitHub, GitLab או Bitbucket Cloud. מארח הקוד הוא מאפיין של כל מאגר, הנקרא מה-remote ‏origin שלו בעת הרישום, והוא בוחר את מתאם ה-API ואת פרטי הגישה של אותו מאגר. סביבת עבודה אחת יכולה להחזיק מאגרים בכל השלושה; משטחים מצטברים (דואר הנכנס, תור בקשות המשיכה) מתפצלים על פני כל מארח קוד מיוצג וממזגים את התוצאות, ומבודדים כשלים כך שמארח קוד שאינו נגיש לעולם אינו מרוקן את האחרים. מארחי הקוד נבדלים במה שהם תומכים בו — ראו את טבלת היכולות בחיבור מארח קוד.

מאגר: מאגר Git הרשום בתוך סביבת עבודה אחת. תחום לסביבת עבודה — אותו צ׳קאאוט הרשום בשתי סביבות עבודה הוא שתי שורות בלתי תלויות עם שני מזהים; זהות המאגר בין סביבות עבודה היא לפי נתיב במערכת הקבצים, ולעולם לא לפי מזהה. הרישום דורש עץ עבודה של git שה-remote ‏origin שלו מצביע על מארח קוד נתמך. כל מאגר נושא את מארח הקוד שלו (github / gitlab / bitbucket), שבוחר את מתאם ה-API ואת פרטי הגישה שבשימוש עבורו.

מאגר מבודד: עץ עבודה תחום לסביבת עבודה של מאגר רשום. העתקה בעת כתיבה דרך rift בכל מקום שבו הנייטיב הזה נכלל; git worktree ב-Windows. מסופק לפי מרחב — כל שיחה במרחב הזה חולקת צ׳קאאוט אחד — כך שסוכנים לעולם אינם משנים את המקור.

מרחב: מיכל שיתוף פעולה תחום לסביבת עבודה, עם משתתפים אנושיים וסוכנים, Mode נשמר, סטטוס אספקה ו-SpaceKind (topic / agentPeer / system / pr / slack) שקובע כיצד הוא מחולק, מושתק, מסומן בתג ומנוקה באסוף זבל. הוא הבעלים של עצי העבודה המבודדים שהשיחות שלו חולקות (העתקה בעת כתיבה דרך rift; git worktree ב-Windows).

שיחה: זרם הודעות אחד בתוך מרחב, עם מזהה, היסטוריה והקשר הרצת סוכן משלו. השיחות במרחב שטוחות ושוות זו לזו — אין זרם ראשי או “מרכזי”. כל אחת נפתחת כלשונית עורך; מצב הקריאה של מרחב מצטבר על פני כולן.

שרשור: שיחה שה-anchorMessageId שלה מוגדר: מעוגנת להודעה אחת של שיחה אחות באותו מרחב, עם הקשר סוכן טרי שנזרע מאותה הודעת עוגן. רמה אחת בלבד — שרשורים לעולם אינם מעוגנים לשרשורים.

כרטיס: הצובר של יחידת העבודה. ניטרלי ביחס לספק: local כברירת מחדל, עם מתאמי סנכרון ל-Linear, GitHub Issues, Jira Cloud ו-ClickUp — אף ששום משטח בתוך האפליקציה אינו יוצר חיבור סנכרון. תומך בהיררכיה, בקישורים ובהאצלה. הקצאה לסוכן רושמת בעלות ואינה שולחת דבר; הקצאה לצוות היא החריג (TeamRoutingService שולח את המוביל).

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

AgentRole: תפקיד ספור (CEO, coder, reviewer, QA, designer, security, devops, PM, general). קובע פרסונה, גישה לזיכרון והיררכיה.

AgentSkills: קבוצה שאינה תלוית רישיות של מזהי מיומנויות שמזריקה הקשר רלוונטי להנחיות בזמן השליחה.

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

skills-lock.json: המניפסט לפי סביבת עבודה של המיומנויות המותקנות: לכל אחת מהן מאגר המקור שלה, נתיב במאגר, הקומיט שהיא מוצמדת אליו וגיבוב תוכן מגולגל. התקנות, עדכונים והסרות משאירים אותו מעודכן; verify_skills בודק אותו מול הדיסק.

שער הרצת הסוכן: נקודת קצה של loopback ב-cc_server שאוכפת את מדיניות הפעולות בתוך ארגז החול של הסוכן. כל דחיפה ל-GitHub מסוכן מנותבת לכאן, נבדקת מול הכלל דחיפה למאגר מרוחק ומועברת עם אסימון כתיבה שהסוכן לעולם אינו מחזיק; פקודות ה-Bash של Claude Code נבדקות דרך hook באותה נקודת קצה. ראו ארגז חול ואבטחה.

מצב: chat, plan, review או orchestrate. נשמר לפי מרחב, כך שסוכן אחד יכול להיות במצבים שונים במרחבים שונים; כל שיחה במרחב חולקת אותו. משער את הנחיית המערכת, את כללי הכתיבה בארגז החול ואת רשימת ההיתר של כלי MCP. תיבת הכתיבה מציעה רק chat, plan ו-orchestrate; ‏chat מסומן “סוכן”.

SandboxBackend: microvm (VM מבודד — הבקאנד היחיד עם גבול ליבה, שמוחל על מסופים אינטראקטיביים), native (Seatbelt ב-macOS, bubblewrap ב-Linux וב-WSL2) או none. נבדק פעם אחת באתחול; ‏native מוחל על שליחת סוכנים כשהוא זמין, ועוטף את ה-CLI של Claude Code ואת כלי ה-bash של מנגנון ההרצה. ל-Windows אין בקאנד מקורי, ול-Linux נדרשים bwrap ו-socat, כך שהרצות שם אינן עטופות; --sandbox off מוותר על כך במכוון.

תחנה: מכונה חד-פעמית שסוכן מפעיל בזמן אמת — דפדפן או שולחן עבודה של Linux מבודדים, אמולטור Android או סימולטור iOS המנוהלים במארח, או מסוף מבודד. נצפית בזמן אמת בערוץ משלה ברזולוציה מלאה, עם השתלטות שנאכפת בצד השרת. תחומה לשיחה, כך שהלשונית האנושית וקריאות ה-browser_use / computer_use / mobile_use / ios_use של הסוכן פונות למכונת ברירת מחדל אחת. ראו תחנות ומתחמים מבודדים.

מתחם מבודד: גבול הבידוד החזק יותר של תחנות מבוססות VM — גבול ליבה, דיסק שכבת-על חד-פעמי, שער רשת שדוחה כברירת מחדל ומתווך פרטי גישה. תחנות Android ו-iOS הן חד-פעמיות אך משתמשות ברשת מנוהלת-מארח ואינן טוענות לגבול הזה. הפעלת כל תחנה עוברת במחלקת מעקות הבטיחות enclosureControl.

RunCost: מונה אסימונים ועלויות (אסימוני קלט, אסימוני פלט, עלות משוערת בסנטים) להרצת סוכן בודדת.

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

SandboxPort: מנהל את מחזור החיים של ארגז החול (בדיקה, הפעלה, אירועים, exec, השמדה).

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

GitRepoInspectorPort: מחלץ מטא-דאטה (בעלים, מאגר, ענף) מנתיב של מאגר Git מקומי.

EmbeddingPort: מפיק וקטורי הטמעת טקסט בעלי נורמה 1 לחיפוש סמנטי.

NotificationPort: מציג התראות מקוריות של שולחן העבודה בכפוף לשער הקטגוריה והנתיב.

TicketProviderPort: גבול אגנוסטי לספק מול בקאנד כרטוס (יצירה, שליפה, רשימה, עדכון, מעבר סטטוס, הקצאה).

PipelineEnginePort: מתחיל הרצת פייפליין מתבנית, ומנתק את הקוראים מהמנוע הקונקרטי.

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

TicketWorkflowService: מנוע מחזור חיים של כרטיסים בדומיין טהור, עם נקודת חנק לשינויים בהתאמה אופטימית ואכיפת בידוד סביבות עבודה. גרף המעברים שהוא אוכף מחייב סוכנים ואוטומציה בלבד; שינויי ממשק שמניע אדם מעבירים force: true ועוקפים אותו. אין שולח כרטיסים עבור מוקצה שהוא סוכן — AgentDispatchService הוא הבעלים של השליחה, והקצאת כרטיס לסוכן אינה מתחילה הרצה. הקצאת כרטיס לצוות היא החריג (TeamRoutingService שולח את המוביל).

PipelineEngine: מתזמר את ביצוע ההרצות: מפעיל הרצות, מתזמן שלבים, שומר מצב, מטפל ב־router/join/continue-on-fail ומחדש הרצות בתעופה לאחר אתחול.

PipelineTriggerDispatcher: נרשם לאירועי תחום ומפעיל אוטומטית הרצות פייפליין תואמות עבור טריגרים מופעלים.

MemoryAccessPolicy: מפענח ואוכף הרשאות זיכרון של תפקיד הסוכן על דומיינים.

HarnessCostCalculator: מתמחר שימוש באסימונים של מנגנון ההרצה המובנה ל-RunCost מתוך הקטלוג models.dev. השליחה משמרת את המונה הזה על יומן ההרצה.

BudgetEnforcementService: מחשב הוצאה חודשית לפי סוכן וחסימה לפני שליחה (checkInvocationBlock). בחסימה הזו משתמשים רק מנגנוני התאמת המצב של השחזור (OrphanRunReaper, StrandedTicketReconciler), ולעולם לא שליחה רגילה של משתמש או סוכן.

BudgetGovernanceService: מעריך הוצאה חודשית לפי סוכן אחרי כל הרצה — סף רך רושם תקרית אזהרה; ניצול מלא רושם תקרית חמורה ומעביר את מחזור החיים של הסוכן ל-paused.

DomainEventBus: אפיק פרסום/מינוי שידורי בתהליך לתקשורת בין תכונות. האירועים טיפוסיים; המנויים צורכים זרמים של on<T>().

DomainEvent: ממשק בסיס. לכל אירוע יש occurredAt. קטגוריות עיקריות: סביבת עבודה/סוכן, PR/סקירה, הודעות, כרטוס, פייפליין, פגישות/לוח שנה, זהות, תחנות, ניטור.

פגישה: סשן פגישה שמוקלט ומתומלל מקומית. קולט אודיו של מיקרופון ושל המערכת, מתמלל על המכשיר עם מודל ASR נבחר (Parakeet TDT v3 כברירת מחדל; Parakeet TDT v2, Whisper large-v3-turbo ו-Whisper base.en הן חלופות), מפריד דוברים ומסכם להערות, פריטי משימה לביצוע והחלטות. מודל ה-ASR הנבחר מותקן בכפייה באתחול, ופעולות ההקלטה נדלקות לאחר הפעלה מחדש אחת. תחום לסביבת עבודה; נשאר על המכונה.

MeetingSegment: חלון אודיו מתומלל אחד, מתויג לפי דובר (me/them), עם תווית הפרדת דוברים והיסטים במילישניות.

MeetingActionItem / MeetingDecision: פלטים מובנים שחולצו על ידי פייפליין הסיכום ונשמרו כשורות נפרדות. פריטי משימה לביצוע יכולים להיות מקושרים לכרטיס.

CalendarEvent: ערך מסונכרן מ-Google Calendar, תחום לסביבת עבודה ולחשבון מחובר. נבדל מפגישה: אירוע הוא התחייבות מתוזמנת; פגישה היא סשן מוקלט. מקושר אחד-לאחד דרך MeetingCalendarLink.

CalendarAccount: חשבון Google מחובר, לפי סביבת עבודה ולפי כתובת דוא“ל. אסימוני רענון של OAuth נשמרים בצד השרת כמפתחות google_* ב-<dataDir>/secrets.json ולעולם אינם מגיעים ללקוח; זרימת קוד המכשיר מושלמת בשרת. דגל authExpiredAt מניע את באנר החיבור מחדש.

ארכיטקטורה נקייה: כלל תלויות: Presentation → Application/Providers → Domain ← Infrastructure. לדומיין אין ייבוא תשתית כלשהו.

יציאות ומתאמים: הדומיין מגדיר ממשקים מופשטים (יציאות); התשתית מספקת מימושים קונקרטיים (מתאמים). שורש ההרכבה מאגד אותם.

ליבה משותפת: יישויות, אובייקטי ערך, יציאות ושירותים תחת core/domain/ המשותפים ל-3 תכונות או יותר.

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

ריבוי משתתפים, זהות ומהירות

קטע בשם “ריבוי משתתפים, זהות ומהירות”

ישות ראשית: ערך אטום שמאחד אנשים וסוכנים להפשטת הפועל היחידה — UserPrincipal(userId) או AgentPrincipal(agentId). כל הודעה, כרטיס, סקירה, תוכנית ויומן הרצה מיוחסים דרך ישות ראשית.

משתמש: זהות אנושית, הנשמרת ב-global.db ולכן גלובלית בכל סביבות העבודה. הישות הראשית שיוצרת סביבת עבודה הופכת לבעלים שלה — נחתמת על Workspace.ownerUserId עם שורת חברות בתפקיד בעלים באותה פעולה. אחרים מצטרפים בהזמנה או ב-SSO.

WorkspaceMember / WorkspaceRole: שורת חברות שקושרת משתמש לסביבת עבודה בתפקיד (owner / admin / member / viewer / guest). החברות — ולא מפתח צימוד — היא גבול הגישה. הרשאות לפי מאגר מונעות מהחברות להעניק הרשאות עודפות על מארח הקוד.

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

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

חוגת האוטונומיה: בקרה לכל מרחב ולכל סוכן — propose-only / act-with-approval / act-freely — שממומשת כפרופיל בעל שם מעל מאגר מעקות הבטיחות של הפעולות.

ActionClass: קבוצה סגורה של 13 מחלקות אפקט (fileDelete, gitPush, prCreate, networkEgress, processSpawn, enclosureControl, …). כל כלי משנה מצב מצהיר על המחלקות שלו; מנוע מעקות הבטיחות מכריע allow / prompt / deny לכל טווח (מרחב > סוכן > סביבת עבודה > ערכת מצב > ברירת מחדל מובנית).

WriteLedger / מפתח אידמפוטנטיות: כל שינוי נושא מפתח אידמפוטנטיות שנוצר בצד הלקוח (UUIDv7, לפי פעולה לוגית). הפנקס התחום לסביבת עבודה מסלק כפילויות לפני שהמטפל רץ; הרצה חוזרת מחזירה את התוצאה המקורית הזהה בית-בבית. הופך חיבור מחדש וריבוי לקוחות לבטוחים מעצם המבנה.

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

Plan Studio: משטח התכנון האינטראקטיבי — תוכניות DAG טיפוסיות שניתן לערוך, עם עלות, זמן וסיכון לכל שלב, ואישור חלקי.

חישוב סקירה: חישוב סקירת PR בצד השרת (קבוצות נגזרות מגרף, תרשימים טיפוסיים, הבדלי תצוגה חזותיים, הבדלי חוזה API, שערים רב-ציריים) המוגש דרך review_studio.* ומקופל ללשונית הסקירה.

מרחב סקירה: מרחב הבסיס היחיד של PR (מצב review, סוג pr), שנוצר באופן אידמפוטנטי ומקושר ל-PR באמצעות ReviewSpaceAssociation. כל סוקר רושם בו את ממצאיו, וזה מה שהופך אותם ברי-השוואה; עץ העבודה המבודד שלו מחזיק את ה-PR בצ׳קאאוט שבראשו.

צומת סקירה: היחידה המובנית של ממצא בסקירת AI: סוג (bug, suggestion, recommendation, question, ticket), עדיפות P0–P3, שלשת טריאז׳ של קטגוריה/חומרה/מאמץ, עוגן לקובץ ולשורה, תיקון מוצע אופציונלי וציון ביטחון. נרשם עם add_review_node; ההכרעה מחושבת מצמתים, לא מפרוזה.

Consensus-ready: הסטטוס של צומת סקירה שאליו מגיעים רק כשסוקר עמית מאשר ממצא — סוכן אינו יכול לאשר ממצא של עצמו. כפתור Publish to GitHub בלשונית הסקירה שולח כל ממצא פתוח שנותר (selection: all_open); כלי ה-MCP ‏publish_review_to_github עדיין מגיע כברירת מחדל לממצאים שאושרו על ידי עמיתים בלבד.

רמת סקירה: מדיניות של סביבת עבודה (light, balanced, thorough) שקובעת אילו סוקרים מתפצלים (מהנדס בלבד; ‏+qa+architect; ‏+security+perf) והיכן ממצאים מתחת לסף מוצגים. לעולם אינה מוחקת ממצא.

ציר סקירה: אחד מחמישה מסלולי ניקוד לכל סקירה: correctness, security ו-testGap נגזרים מממצאי הסוקרים; visual ו-apiContract דטרמיניסטיים. צירים משעורים מתקפלים לתוך ההכרעה ויכולים רק להחמיר אותה — שער partial או unavailable מחזיק את ההכרעה במקום להעביר אותה.

הכרעת סקירה: ship, hold או block. כל ממצא P0 עם ביטחון ≥ 0.7 חוסם; כל P0 אחר או כל P1 מחזיק; אחרת ship. ציר משעור שנכשל כופה block ואי אפשר לגבור עליו בהצבעת ממצאים.

cc_worker: בינארי מבצע צי ללא ממשק, ב-Dart טהור. מצומד ל-cc_server, מצהיר על יכולות המארח שלו, מושך משימות מוחכרות, מבצע אותן ומזרים אירועי תהליך בחזרה. אינו מחזיק שום מצב עמיד — שרת סמכותי אחד, N גפיים טיפשות.

JobSpec: המפרט הטיפוסי של כל מה שאפשר להריץ (הרצת סוכן, שלב פייפליין, אינדקס קוד, רינדור גולדן, בנצ׳מרק, אצוות הערכה).

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

ארכיטקטורת לקוח דק: שום לקוח אינו פותח את מסד הנתונים; תהליך cc_server ללא ממשק הוא הבעלים של הנתונים ומגיש אותם דרך WebSocket RPC. כל לקוח (מחשב, ווב, טלפון) הוא מרנדר מעל אותו חיבור RPC אחד.

cc_server: בינארי השרת ללא ממשק (Dart טהור, בלי מנוע Flutter). הוא הבעלים של מסד הנתונים Drift/SQLite, מגיש repo-RPC דרך WebSocket ומריץ את שירותי הרקע (פייפליינים, MCP, מנגנוני התאמת מצב).

ServerConnectionMode: כיצד שולחן העבודה מגיע לשרת שלו — local (הפעלת cc_server על המכונה הזו, ברירת המחדל) או remote (חיוג לאחד במקום אחר). לקוח הווב הוא תמיד remote.

RemoteRpcClient: לקוח ה-JSON-RPC שאינו תלוי בתעבורה, שכל לקוח דק משתמש בו כדי לדבר עם השרת שלו — דרך WSS, loopback או הממסר המתווך.

תחימת סביבת עבודה לכל קריאה: השרת חסר מצב — אין כריכה של סביבת עבודה לפי סשן, כך שלקוחות מרובים על שרת אחד לעולם אינם חולקים “סביבת עבודה נוכחית”. כל repo/call ו-sub/subscribe תחום לסביבת עבודה חייב לשאת workspace_id בארגומנטים שלו; מזהה חסר או שאינו רשום נדחה לפני שכל מסד נתונים נפתח. לאחר מכן הגישה משערת לפי חברות בסביבת העבודה ולתפקיד, ולא לפי הסשן.

cc_remote: לקוח הדק של הטלפון — PWA של Flutter לווב ששולט מרחוק בצי דרך הממסר המתווך, עם מדיניות כלים שדוחה כברירת מחדל.

cc_signaling_server: broker לממסר WebSocket חסר מצב, שמארח חדרים המשוערים בהזמנה — ממסר טיפש שמעביר רק מסגרות חתומות מקצה לקצה, אינו מחזיק נתוני אפליקציה ולעולם אינו רואה את ה-PSK של הצימוד.