מתנה מהרילס · בדקתי לכם סקילים 5
כשקלוד אומר סיימתי, בקשו לראות
חצי שנה שאני עובד עם קלוד קוד, עם סוכנים, ובכל שלב בדרך הכל נראה בנוי פנטסטי. ואז יש משימות שהוא אומר עליהן סיימתי כשהוא לא סיים, ותהליכים שאמורים לרוץ מעצמם ובפועל לא רצו. הסקיל שבעמוד הזה הוא הסקיל הכי משעמם שיש, והוא חוסך טונות של כאבי ראש: הוא לא מרשה לו להצהיר בלי להראות.
אין מה להוריד מכאן. החבילה היא פרויקט חופשי של מישהו אחר, ואני מקשר אליה ולא מפיץ אותה.
כלי של צד שלישי, על אחריות המשתמש
רוצים שהמערכת תבדוק את עצמה בלי שתזכירו לה? ככה זה נראה בליווי
בדקתי לכם סקילים, כדי שאתם לא תצטרכו
הכל בנוי פנטסטי, עד שבודקים
זאת לא תקלה נדירה. זה הדפוס הקבוע שחזר אצלי בכל שלב, גם בהתחלה, גם באמצע וגם בסוף.
מה שנאמר לי
סיימתי. הגרסה עלתה, התהליך רץ, הקובץ מעודכן.
משפט אחד, שנשמע כמו סוף.מה שהיה באמת
לפעמים זה היה מדויק. ולפעמים התהליך לא רץ, או שמשהו לא נכתב כמו שצריך, או שהבדיקה בכלל לא עברה. את זה גיליתי אחר כך, ובדרך כלל כשכבר נבנה עוד משהו מעל.
ובגלל זה אני כל הזמן עושה אודיטים.ההבדל בין השניים הוא לא כוונה רעה ולא באג. מודל שמנסח תשובה טוב בלנסח, ולכן הצהרה על סיום יוצאת ממנו חלקה בדיוק כמו תשובה נכונה. מה שחסר שם הוא רגע אחד של עצירה.
סקיל אחד, חוק אחד
הוא נקרא verification-before-completion, והוא יושב בתוך חבילת סקילים בשם Superpowers. מהרגע שהוא מותקן, קלוד לא יכול להגיד סיימתי בלי לעשות פעולה שמוודאת את עצמו.
החוק
אין הצהרה על סיום בלי ראיה טרייה מהריצה הזאת.
לא ריצה מלפני רגע, לא פלט מלפני התיקון, ולא היגיון שאומר שזה אמור לעבוד. הסקיל מתרגם את זה לשער שעובר לפני כל הצהרה, וזה כל מה שיש בו.
- מה מוכיח את זה השאלה הראשונה היא לא האם זה עובד, אלא איזו פקודה או בדיקה תראה שזה עובד. אם אין כזאת, אין מה לטעון.
- להריץ עכשיו את הבדיקה המלאה, בריצה טרייה. ריצה מלפני עשר דקות, לפני התיקון האחרון, לא נחשבת.
- לקרוא את הפלט לא את השורה האחרונה. קוד היציאה, מספר הכשלים, ומה באמת נכתב. כאן נופלות רוב ההצהרות.
- להשוות לטענה האם הפלט אומר את מה שאתם עומדים להגיד. אם לא, הטענה משתנה, לא הפלט.
- ורק אז לדבר ההצהרה יוצאת ביחד עם הראיה. סיימתי בלי הוכחה הוא בדיוק מה שהסקיל הזה בא למנוע.
מה שהוא לא עושה: הוא לא בודק בשבילכם שהתוצאה נכונה מבחינת תוכן, הוא לא יודע מה חשוב לעסק שלכם, והוא לא מחליף אותכם בקריאה של מה שחזר. הוא רק מונע את המשפט הקצר שמסתיר את כל אלה.
זה לא יעבוד כל עוד לא תעצרו אותו ותכריחו אותו להראות
זאת השורה שסיימתי בה את הסרטון, והיא נכונה גם עם הסקיל מותקן. סקיל הוא טקסט שמטה את ההתנהגות, הוא לא מתג. ברגע שאתם מקבלים סיימתי בלי פלט, ההרגל הישן חוזר.
אז יש לי ניסוח קבוע שאני מדביק ברגע הזה, וגם מי שלא מתקין שום דבר יכול לקחת אותו ולהשתמש בו כמו שהוא. הוא עובד בכל כלי שמדבר איתכם בטקסט, לא רק בקלוד קוד.
טיפ אחד מהשטח: הדרישה הזאת מרגיזה בפעם הראשונה וחוסכת זמן מהשנייה. ברוב המקרים שבהם ביקשתי את הפלט, הפלט עצמו גילה את התקלה לפני שאני הייתי צריך לחפש אותה.
גילוי נאות, ורק אחר כך הפקודה
זה לא סקיל שלי, וזאת גם לא חבילה קטנה. שווה לדעת מה נכנס לפני שמריצים שורה.
- Claude Codeהסקיל רץ בתוכו. המנוי נרכש בנפרד מ-Anthropic ולא דרכי.
- חבילה, לא קובץverification-before-completion הוא סקיל אחד בתוך Superpowers, שהיא חבילה שלמה. ההתקנה מביאה את כל מה שיש בה, לא רק אותו.
- רישיון MITכך רשום במאגר ביום שבדקתי. הקרדיט והקוד הם של היוצר, ואין ביני לבינו שום קשר.
- עדכונים זורמים פנימהזאת חבילה בתחזוקה שוטפת, ולכן מה שיורד אליכם מחר הוא לא בדיוק מה שבדקתי אתמול.
חבילה של מישהו אחר, ולכן כלל אחד קודם לכל: לפני שהיא נכנסת למחשב, כדאי להעביר אותה בדיקה. בנוי בשביל זה בודק הסקילים, חלק 3 של הסדרה, והוא גם מסביר למה ההרשאות של סקיל הן ההרשאות שלכם. חבילה מתעדכנת, ולכן הקריאה היא לא פעולה חד פעמית.
-
מתקינים מהמרקטפלייס הרשמי
שורה אחת מתוך שיחה בקלוד קוד. זה המקור שהפרויקט עצמו מפנה אליו, ואפשר לראות את הערך שלו בעמוד החבילה במרקטפלייס של Anthropic.
# החבילה מהמרקטפלייס הרשמי של Anthropic, מתוך שיחה בקלוד קוד /plugin install superpowers@claude-plugins-officialהחבילה מביאה איתה עוד סקילים מלבד זה שאני מדבר עליו, והם עוסקים בתכנון, בביצוע, בדיבוג ובסיום של עבודה על קוד. אם זה לא העולם שלכם, זה בסדר: הם לא מפריעים, והם גם לא בשבילכם.
-
קוראים את הסקיל לפני שסומכים עליו
פותחים את תיקיית הסקיל במאגר וקוראים אותה. זה טקסט בשפה פשוטה, וזה לוקח דקה. מה שמחפשים: האם הוא מבקש מקלוד לפנות לאינטרנט, לגעת בקבצים או במפתחות, או להתעלם מהוראות קודמות. את רשימת הבדיקה המלאה אפשר לקחת מחלק 3.
-
ואז דורשים את ההוכחה, בכל פעם
הסקיל מטה את ההתנהגות, ואתם סוגרים את הפינה. בכל סיימתי שמגיע בלי פלט, מדביקים את הניסוח שלמעלה. אחרי שבוע זה כבר קורה מעצמו, ואת רוב הפעמים לא תצטרכו.
הקרדיט שלו, הקוד שלו, הרישיון שלו. אני רק מפנה.
שאלות שחוזרות על עצמן
זה סקיל שלך?+
לא. Superpowers הוא פרויקט של obra ב-GitHub, והסקיל שאני מדבר עליו, verification-before-completion, הוא אחד הסקילים שבתוכו. לא שיניתי אותו, לא ארזתי אותו מחדש, ולא מפיץ אותו מכאן. אני גם לא מתחזק אותו, ולכן מה שיורד אליכם הוא מה שכתוב במאגר באותו יום.
אני לא מתכנת. זה רלוונטי לי?+
החבילה הזאת נכתבה לעבודה על קוד, וזה כן השימוש העיקרי שלה. אבל ההרגל עצמו הוא לא תכנותי: קלוד שמסדר לכם קבצים, שולח מייל, בונה טבלה או מריץ תהליך יכול בדיוק באותה מידה להגיד שהוא גמר בלי שהתוצאה קיימת. הנוסח שבעמוד הזה עובד על כל אלה, גם בלי להתקין כלום.
למה אתם קוראים לזה הסקיל הכי משעמם?+
כי הוא לא עושה שום דבר חדש. הוא רק לא מרשה להצהיר בלי להראות. זה לא מרשים בהדגמה, וזה מה שחסך לי את רוב התיקונים החוזרים. סקיל שמוסיף יכולת הוא כיף. סקיל שמונע תיקון הוא כסף.
אז למה אתה בכל זאת עושה אודיטים?+
כי בדיקה בתוך השיחה בודקת את מה שהשיחה הזאת עשתה. אודיט בודק את מה שאף אחד לא ביקש לבדוק: תהליך שאמור לרוץ מעצמו ולא רץ, קובץ שאמור להתעדכן ונשאר מאתמול. הסקיל מצמצם את הפערים האלה, הוא לא מבטל את הצורך להסתכל מלמעלה.
בטוח להתקין חבילה של מישהו אחר?+
זאת השאלה שחלק 3 של הסדרה עוסק בה, ושווה לעבור עליו לפני ההתקנה. חבילה היא מקרה כבד יותר מקובץ טקסט אחד: יש בה סקילים רבים, הוקים וסקריפטים, והיא מתעדכנת. הכלל אצלי פשוט: קוראים לפני, ואחרי עדכון קוראים את ההפרש.
מה אם אני רק רוצה את הסקיל האחד הזה?+
אפשר לפתוח את התיקייה שלו במאגר, לקרוא אותה, ולהחזיק אצלכם רק אותה. זה מה שעשיתי בהתחלה. היתרון הוא שאתם יודעים בדיוק מה נכנס, והחיסרון הוא שאתם מחוץ לעדכונים ושאר הסקילים של החבילה לא אצלכם. אני מקשר לתיקייה למטה, ולא מעתיק אותה לכאן.
סקיל אחד מונע הצהרה. מערכת מסודרת מונעת את התקלה עצמה.
שווה לומר את זה בפירוש: הסקיל הזה הוא הרגל, לא ביטוח. הוא עוצר משפט אחד. הוא לא יודע מה חשוב אצלכם, לא זוכר מה כבר נשבר פעם, ולא שם לב לתהליך שהיה אמור לרוץ בלילה ולא רץ.
אצלי התקלות החוזרות לא נבעו מזה שקלוד לא יודע לבדוק. הן נבעו מזה שאף אחד לא הגדיר מה נחשב גמור. ברגע שהוגדר מה נחשב גמור, ובמה מודדים את זה, הבדיקה הפכה לחלק מהעבודה ולא לרגע של חשדנות.
זה ההבדל בין כלי שמחכה שתפעילו אותו לבין מערכת שעובדת איתכם, וזה מה שאנחנו בונים בליווי. לא לומדים לבנות סקיל, אלא לחיות עם כלי שמריץ את העבודה.
חמישה מפגשים לייב, על העבודה האמיתית שלך.