דילוג לתוכן הראשי

קלוד קוד מנסח לבד את גבול האמון של מצב אוטומטי: מה לבדוק לפני שמאשרים

מאת ירון דויטשר עודכן לאחרונה:

מי שקרא כאן על גבול האמון של מצב אוטומטי מכיר את הבעיה: המסווג סומך כברירת מחדל רק על תיקיית העבודה ועל ה-remotes שלה, וכל השאר, מארגון ה-GitHub של החברה ועד שרת ה-CI, נחשב יעד חיצוני. הפתרון הוא לכתוב לו בלוק ‎autoMode.environment‎, בפרוזה, בקובץ ההגדרות האישי.

רוב האנשים לא כותבים אותו. לכן קלוד קוד מציע לכתוב אותו בשבילכם:

/auto-mode-setup

הפקודה סורקת את הפרויקט ואת הסשנים האחרונים שלכם בו, ומנסחת טיוטה של רשומות ‎environment‎, ולפעמים גם של כללים. מאשרים, והיא נכתבת ל-~/.claude/settings.json. בגרסה 2.1.304, מ-19 באוקטובר, הפקודה הגיעה לסביבות שלא היו לה קודם: לפי יומן השינויים, Bedrock, Vertex, Foundry, שער היישומים של קלוד וסשנים שהטלמטריה בהם כבויה.

מה היא קוראת

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

  • הפרויקט עצמו: CLAUDE.md, ה-README, קובצי התצורה וה-remotes של git
  • ההגדרות שלכם: בלוק ‎autoMode‎ הקיים וכללי ‎permissions.allow‎
  • הסשנים האחרונים בפרויקט: השרתים, ה-buckets ושמות הפקודות מתוך הפקודות שקלוד הריץ. לא את ההודעות שלכם

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

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

מה היא משנה בקובץ

הטיוטה מתקבלת או נזרקת כיחידה אחת. אין אישור שורה-שורה, ולכן תיקונים נעשים אחר כך, ידנית, בקובץ ההגדרות. אם כבר יש בקובץ רשומות ‎autoMode‎, הפקודה שואלת בהתחלה אם להוסיף לרשימת ‎environment‎ או להחליף אותה, ובשני המקרים שומרת את הכללים שכתבתם.

שני פרטים יפתיעו את מי שכתב את הבלוק בעצמו לפי ההמלצות:

  • ‎environment‎ נכתב בלי ‎“$defaults”‎. זה מכוון: הטיוטה כבר פורשת במפורש את הרשומות המובנות שהיא לא שינתה. ברשימות ‎allow‎, ‎soft_deny‎ ו-‎hard_deny‎ שהיא מוסיפה להן, היא דווקא כן מכניסה את ‎“$defaults”‎, כדי שהכללים המובנים יישארו בתוקף
  • היא מציעה לנקות כללי היתר. אחרי השמירה מגיעה הצעה למחוק מ-‎permissions.allow‎ כללים שמצב אוטומטי מתעלם מהם ממילא, כמו ‎Bash(*)‎, וכללים שמאשרים אוטומטית פקודות הרסניות. כדאי לקבל אותה, אחרי שמסתכלים מה בדיוק נמחק

ואחרי כל זה, אותה בדיקה כמו תמיד:

claude auto-mode config

מתי היא מציעה את עצמה, ואיך מכבים

אחרי שמצב אוטומטי חסם כמה פעולות, ועדיין אין לכם אף רשומת ‎environment‎, מופיע בסוף התור דיאלוג בשם “Teach auto mode about your environment?” שמציע להריץ את הפקודה. הבחירה Don’t show again מעלימה את ההצעה ומשאירה את הפקודה זמינה. מי שרוצה לכבות את שתיהן מוסיף לקובץ ההגדרות האישי:

{
  "skillOverrides": {
    "auto-mode-setup": "off"
  }
}

שימו לב: זו פקודה מובנית ולא סקיל מצורף, ולכן ‎disableBundledSkills‎ לא מכבה אותה.

מי יכול להריץ אותה

לפי התיעוד, הפקודה דורשת מסלול Pro, ‏Max או Team וגרסה 2.1.228 ומעלה (בווינדוס מקורי 2.1.233). היא לא רצה בסשן ענן, ולא בסשן שכיבו בו את משיכת דגלי הפיצ’רים. יומן השינויים של 2.1.304 מרחיב את הזמינות לספקי הענן ולשער היישומים, ועמוד התיעוד עוד מתאר, נכון ל-20 באוקטובר, רק את דרישת המסלול. מי שעובד דרך אחד מהם ונתקל בסירוב, כדאי שיבדוק קודם את הגרסה.

שורה תחתונה

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

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

הניוזלטר: מה חדש בקלוד, בעברית ובחינם

בלי ספאם, אפשר להסיר את ההרשמה בכל רגע. מדיניות פרטיות

מעדיפים ללמוד את זה בקורס או בסדנה?

רוצים שאנחנו נבנה לכם עוזר AI או אוטומציה בקלוד?