מה זה Claude Code, ובמה הוא שונה
Claude Code הוא סוכן קידוד שפועל בטרמינל ובתוך מאגר הקוד שלכם. בניגוד לצ׳אט שאליו מדביקים קטע קוד ומקבלים תשובה, הוא יכול לקרוא קבצים, להריץ פקודות ובדיקות, לערוך קבצים ולהכין Commit. הוא אינו מוגבל להצעת קוד, אלא מבצע משימה בתוך הפרויקט בהתאם להרשאות שקיבל.
ההבדל משנה את שיטת העבודה. בצ׳אט אתם בוחרים את ההקשר, מעתיקים אותו ומיישמים את התשובה. בעבודה עם סוכן אתם מגדירים מטרה וגבולות, והוא אוסף את ההקשר הדרוש ומבצע את השינוי. האחריות לבדוק את התוצאה נשארת שלכם.
| צ׳אט עם קוד | סוכן קידוד | |
|---|---|---|
| מי אוסף את ההקשר | אתם, ידנית | הסוכן, לבד |
| מי מריץ בדיקות | אתם | הסוכן, ואפשר לדרוש זאת |
| יחידת העבודה | קטע קוד | משימה בריפו |
| הסיכון העיקרי | תשובה כללית מדי | שינוי רחב מדי בלי בקרה |
| מה שמייצר איכות | פרומפט טוב | הקשר טוב וברור מה נחשב הצלחה |
המשאב האמיתי הוא ההקשר, לא המודל
השאלה החשובה בעבודה עם סוכן איננה רק איזה מודל מופעל, אלא איזה מידע זמין לו ברגע ההחלטה. קבצים שנקראו, פלט של פקודות, הודעות שגיאה והשיחה הקודמת תופסים מקום בחלון ההקשר. מידע עודף או לא רלוונטי מקשה על הסוכן לזהות את הפרטים הדרושים למשימה.
- משימה אחת בכל פעם. שיחה שגלשה בין כמה נושאים מקשה על הסוכן להבחין איזו מטרה עדיין בתוקף. עדיף להפריד משימות שאינן תלויות זו בזו.
- הפניה לקובץ עדיפה על הדבקה. אמרו לו איפה להסתכל במקום להדביק מאות שורות. הוא יקרא רק את מה שצריך.
- מצמצמים פלט ארוך. הרצת בדיקות שמייצרת אלפי שורות תופסת את רוב ההקשר. סננו, או בקשו רק את הכישלונות.
- מתחילים מחדש כשצריך. כאשר הסוכן חוזר על הנחות שכבר אינן נכונות, כדאי לפתוח שיחה חדשה עם מטרה והקשר נקיים.
כיצד משתמשים נכון בקובץ CLAUDE.md
CLAUDE.md הוא קובץ הוראות ש-Claude Code טוען כחלק מהיכרותו עם הפרויקט. הוא מתאים לפקודות הרצה, למוסכמות קוד ולמלכודות שחוזרות על עצמן. במקום להסביר בכל משימה כיצד מריצים את הבדיקות, מתעדים את הפקודה פעם אחת ושומרים אותה לצד הקוד.
# הפרויקט
אפליקציית Next.js עם TypeScript ב-strict mode.
## פקודות
- פיתוח: `npm run dev`
- בדיקות: `npm run test` (חייב לעבור לפני commit)
- טיפוסים: `npm run typecheck`
## מוסכמות
- Server Components כברירת מחדל. Client רק כשצריך אינטראקטיביות.
- אין `any`. אם אין ברירה, להוסיף הערה שמסבירה למה.
- כל תיקון באג מגיע עם טסט שנכשל לפניו.
## מלכודות
- `src/legacy/` לא מכוסה בבדיקות. לא לגעת בלי לשאול.- מה כן שם. פקודות הרצה, מוסכמות קוד, מבנה תיקיות, מלכודות ידועות, ומה אסור לגעת בו.
- מה לא שם. תיעוד ארוך של הארכיטקטורה. הקובץ נטען בכל שיחה, ולכן כל שורה בו עולה בהקשר.
- עדכון תוך כדי. כשאתם מתקנים לסוכן אותה טעות פעם שנייה, זה סימן שחסרה שורה בקובץ.
לולאת העבודה מחקירה ועד אימות
משימה גדולה ומעורפלת מעודדת שינוי רחב שקשה לבדוק. תהליך מסודר מפריד בין חקירה, תכנון, בנייה ואימות, ומאפשר לעצור כאשר ההבנה או התוצאה אינן תואמות את המטרה.
- חקירה. מבקשים מהסוכן לקרוא את הקוד הרלוונטי ולהסביר את ההתנהגות הקיימת לפני עריכה. הסבר שגוי בשלב הזה מצביע על פער בהקשר לפני שנוצר שינוי בקוד.
- תכנון. מבקשים תוכנית לפני קוד. מצב התכנון מאפשר לסוכן לחקור את הפרויקט ולהציג מה הוא מציע לשנות לפני שהוא מקבל הרשאת עריכה.
- בנייה. מבצעים שינוי ממוקד שאפשר לבדוק ולהסביר. משימות רחבות מחלקים ליחידות בעלות תוצאה ברורה.
- אימות. מריצים את הבדיקות המתאימות ובודקים את ההתנהגות בסביבה שבה המשתמש יפגוש אותה. סקירת קוד בלבד אינה מוכיחה שהשינוי עובד.
כשמתחילים לעבוד ברצינות
- Plan Mode. מצב שבו הסוכן חוקר ומתכנן בלי לערוך קבצים. הוא מתאים לשינוי שדורש הבנת תלות בין כמה חלקים בפרויקט.
- סוכני משנה. משימות חיפוש רחבות אפשר להוציא לסוכן נפרד, שיחזיר מסקנה במקום להציף את ההקשר הראשי בעשרות קבצים.
- פקודות מותאמות. תהליך שחוזר על עצמו, כמו סבב ביקורת קוד או תהליך שחרור גרסה, אפשר לשמור כפקודה במקום לנסח אותו כל פעם מחדש.
- MCP. פרוטוקול שמחבר את הסוכן למקורות חיצוניים: מסד נתונים, מערכת ניהול משימות, שירות ענן. כך הוא עובד מול המצב האמיתי ולא מול ניחוש.
- Hooks. הרצה אוטומטית של פעולה בנקודה מוגדרת, למשל בדיקת עיצוב קוד לאחר עריכה. Hook מתאים לכל כלל שצריך לאכוף באופן עקבי.
- Git worktrees. כדי להריץ כמה משימות במקביל בלי שיתנגשו על אותם קבצים.
שש טעויות שגורמות לרוב התסכול
- לבקש הכול בבת אחת. ״תבנה לי מערכת ניהול לקוחות״ יפיק ערימת קוד שאף אחד לא יתחזק. פרקו למשימות שאפשר לבדוק.
- לא לתת לו להריץ כלום. סוכן שלא מריץ בדיקות מנחש אם הקוד עובד, ואתם מנחשים יחד איתו.
- לאשר Diff בלי לקרוא. האחריות על הקוד נשארת שלכם. שינוי שלא הבנתם הוא חוב שייגבה בהמשך.
- להמשיך שיחה שאיבדה מיקוד. אחרי עשרה תיקונים כושלים, שיחה חדשה עם הקשר נקי כמעט תמיד מהירה יותר.
- לתאר את הפתרון במקום את הבעיה. כשאומרים לו בדיוק איזה קוד לכתוב, מקבלים בדיוק את זה, כולל הטעות שבהנחה שלכם.
- לערבב הכול בקומיט אחד. רפקטור, שדרוג גרסה ופיצ׳ר חדש יחד הופכים כל בעיה עתידית לחקירה ארוכה.
מתי לא להשתמש בזה
סוכן קידוד אינו הבחירה המתאימה לכל שינוי. במצבים הבאים זמן ההסבר והבדיקה עשוי להיות ארוך יותר מביצוע ישיר, או שהסיכון גבוה מכדי להסתמך על שינוי שאי אפשר לאמת.
- שינוי של שורה אחת שאתם כבר יודעים. מהר יותר לכתוב אותו מאשר להסביר מה צריך.
- החלטות ארכיטקטורה עם השלכות ארוכות טווח. הוא כלי מצוין לחקור אפשרויות, אבל ההחלטה והאחריות עליה הן שלכם.
- קוד רגיש בלי יכולת לאמת. תשלומים, הרשאות, מחיקת נתונים. בלי בדיקות אמיתיות זה סיכון, לא חיסכון.
- קודבייס שאתם בכלל לא מכירים ואין בו בדיקות. בלי היכרות עם הקוד ובלי בדיקות, לא תוכלו לזהות מתי התשובה שגויה או להעריך את הסיכון בשינוי.
שאלות נפוצות
- צריך לדעת לתכנת כדי להשתמש ב-Claude Code?
- אפשר לבנות פרויקטים קטנים גם בלי רקע עמוק, אך תחזוקת מערכת לאורך זמן דורשת הבנה של הקוד ושל הבדיקות. בלי היכולת לזהות שינוי בעייתי, קשה לדעת מתי הסוכן טעה ומה צריך לתקן.
- מה ההבדל בין Claude Code לבין השלמה אוטומטית בעורך?
- השלמה אוטומטית מציעה את השורה הבאה בתוך הקובץ הפתוח. Claude Code מקבל משימה, קורא בעצמו את הקבצים הרלוונטיים, מריץ פקודות ובדיקות, ומבצע שינוי שלם על פני כמה קבצים.
- האם הוא יכול לשבור לי את הפרויקט?
- הוא מבקש אישור לפעולות שמשנות דברים, ואפשר להגביל אותו. ההגנה הטובה ביותר היא עבודה בענף נפרד, קומיטים קטנים ומצב תקין ידוע לחזור אליו.
- כמה זה עולה בפועל?
- העלות תלויה בתוכנית השימוש, במודל ובהיקף העבודה. שיחה ממוקדת מפחיתה בדרך כלל את כמות ההקשר והפעולות המיותרות, אך כדאי לבדוק את התמחור העדכני בחשבון שבו משתמשים.
- עברית עובדת טוב?
- אפשר לנסח משימות ולנהל ביקורת קוד בעברית, תוך שימוש במונחים טכניים באנגלית כאשר הם מדויקים יותר. לפני שמאמצים את התהליך, כדאי לבדוק אותו על הקוד, המונחים והמסמכים של הצוות שלכם.