בחירה בין סוכן יחיד לבין נחיל של מספר סוכנים עבור תהליך עבודה מורכב.
התחל עם סוכן יחיד + כלים. פצל למספר סוכנים רק כאשר גבולות המשימה ברורים, חלונות ההקשר עולים על גדותיהם, או כאשר נדרשות רמות מודל שונות עבור כל תת-משימה.
למה: ריבוי סוכנים מוסיף חביון, שטח שגיאה ועלויות תזמור. רוב עומסי העבודה בסביבת ייצור מצליחים עם סוכן אחד מצויד היטב.
הסוכן חייב להסיק מסקנות מתצפיות לפני שפועל שוב.
הטמע לולאת ReAct (Reason + Act): המודל מייצר מחשבה, בוחר כלי, מקבל את התוצאה, וחוזר על הפעולה עד שמתקיים תנאי עצירה.
למה: ReAct הופך את ההיגיון הביניים לגלוי, משפר את יכולת הניפוי ומאפשר לך לבדוק את רצף המחשבה.
הסוכן צריך ליצור אינטראקציה עם מערכות חיצוניות (APIs, מסדי נתונים, מערכות קבצים).
הגדר כלים באמצעות ה-tool_use API. המודל פולט בלוק tool_use; הקוד שלך מבצע אותו ומחזיר tool_result. המודל ממשיך לאחר מכן.
הטמע exponential backoff עם jitter. עבור 429 (מגבלת קצב), כבד את כותרת ה-retry-after. עבור 529 (עמוס מדי), המתן זמן רב יותר. לעולם אל תנסה שוב שגיאות מסוג 400 באופן עיוור.
מדידת האם מערכת סוכנים משתפרת בפועל לאורך זמן.
בנה חבילת הערכה: הגדר צמדי קלט-פלט, הרץ את הסוכן, קבל ניקוד עבור הפלטים (התאמה מדויקת, LLM-כשופט, בדיקה אנושית). עקוב אחר אחוז המעבר לכל גרסה.
למה: ללא הערכות, שינויים בפרומפטים הם ניחוש. זיהוי רגרסיה דורש ניקוד אוטומטי וניתן לשחזור.
הסוכן מייצר פלט באיכות נמוכה בניסיון הראשון.
הוסף שלב רפלקציה: לאחר יצירת תשובה, בקש מהמודל לבקר את הפלט שלו ולתקן. השתמש בתור הודעה נפרד או בחשיבה מורחבת.
תהליך עבודה של סוכן מבצע פעולות בלתי הפיכות (מחיקת משאבים, שליחת מיילים).
הכנס נקודת בדיקה לפני פעולות הרסניות. הצג את הפעולה המתוכננת למשתמש, המתן לאישור, ולאחר מכן בצע. רשום את ההחלטה לביקורת.
תצורת Claude Code ותהליכי עבודה
מספר קבצי CLAUDE.md ב-monorepo; לא ברור איזה מהם קודם.
שלוש רמות: ~/.claude/CLAUDE.md (משתמש), CLAUDE.md בשורש הפרויקט (פרויקט), CLAUDE.md בתיקיית העבודה (workspace). כולם מתמזגים; ה-workspace דורס את הגדרות הפרויקט שדורסות את הגדרות המשתמש.
הצוות רוצה פרומפטים לשימוש חוזר שמופעלים כ- /my-command.
צור קובץ .claude/commands/<name>.md המכיל את תבנית הפרומפט. הפעל באמצעות /<name>. השתמש ב-$ARGUMENTS עבור קלט משתמש. פקודות בטווח הפרויקט נמצאות במאגר.
Claude Code מבקש אישור על כל פקודת shell; מאט את האיטרציה.
השתמש בתבניות רשימת היתרים (allowlist) ב-settings.json תחת permissions.allow. שלושה מצבים: ברירת מחדל (בקשה לכל אחד), allowlist (אישור אוטומטי של תבניות תואמות), ו-yolo (אישור אוטומטי של הכל - לא מומלץ לייצור).
Claude Code עובד על ענף פיצ'ר בזמן שאתה מפתח על main.
השתמש ב-git worktrees. Claude Code פועל בספריית ה-worktree; ה-checkout הראשי שלך נשאר ללא נגיעה. מונע התנגשויות אינדקס ודילוגי stash.
Claude Code מייצר שינויים אך אתה רוצה קומיטים אטומיים נקיים.
Claude Code עוקב אחר שינויי קבצים ויכול ליצור קומיטים עם הודעות. סקור את ה-diff לפני הקומיט. העדף את ה-staging של קבצים ספציפיים על פני git add -A כדי למנוע דליפת סודות.
שימוש ב-Claude Code מתוך VS Code או JetBrains.
התקן את הרחבת Claude Code. היא משלבת את ה-CLI כפאנל בתוך ה-IDE, משתפת את אותם CLAUDE.md, hooks והגדרות. סשנים מבוססי טרמינל וסשנים מבוססי IDE ניתנים להחלפה.
פרומפט ארוך עם מספר חלקים; המודל מבלבל הוראות עם נתונים.
עטוף חלקים בתגי XML: <instructions>, <context>, <examples>. Claude אומן לכבד גבולות XML כמפרידים מבניים.
הגדרת התנהגות מתמשכת בכל התורות (טון, אילוצים, פרסונה).
הצב הוראות קבועות ב-system prompt. שמור עליו תמציתי: תפקיד, אילוצים, פורמט פלט. הודעות משתמש נושאות הקשר לכל תור; המערכת נושאת כללים רוחביים לסשן.
כפה על המודל להתחיל את תגובתו עם קידומת ספציפית (לדוגמה, סוגר פתיחה של JSON).
הוסף הודעת עוזר חלקית בסוף מערך ההודעות. Claude ממשיך מהיכן שהפסקת. שימושי לאכיפת פורמט פלט.
פורמט פלט המודל אינו עקבי למרות הוראות מפורטות.
הוסף 2-3 דוגמאות בשיטת "few-shot" כצמדי תורות משתמש/עוזר לפני השאילתה האמיתית. דוגמאות מקבעות פורמט, טון וסגנון חשיבה בצורה אמינה יותר מהוראות פרוזאיות.
המודל מדלג על שלבי חשיבה בבעיות לוגיקה מרובות שלבים.
בקש באמצעות "חשוב צעד אחר צעד" או השתמש בחשיבה מורחבת. לייצור, השתמש בחשיבה מורחבת (budget_tokens) במקום לבקש שרשרת מחשבה גלויה כדי לשמור על פלט נקי.
temperature=0 עבור משימות דטרמיניסטיות (סיווג, חילוץ). temperature=0.5-0.7 עבור כתיבה יצירתית. temperature=1.0 עבור מגוון מקסימלי. הערה: חשיבה מורחבת דורשת temperature=1.
דרוש פלט JSON תקף מובטח מהמודל.
הגדר כלי עם סכימת ה-JSON הרצויה כ-input_schema. הגדר tool_choice לכפות את השימוש בכלי זה. המודל מחזיר JSON מובנה בבלוק ה-tool_use, מאומת מול הסכימה.
אפליקציה מול משתמש זקוקה לזמן נמוך עד לטוקן הראשון.
השתמש ב-stream=true ב-Messages API. עבד אירועים שנשלחו מהשרת באופן מצטבר: content_block_start, content_block_delta, message_stop. הצג טוקנים ככל שהם מגיעים.
עיבוד אלפי פרומפטים כאשר חביון אינו קריטי.
השתמש ב-Message Batches API. שלח עד 100 אלף בקשות לכל אצווה. התוצאות מגיעות תוך 24 שעות בהפחתת עלויות של 50%. בדוק (Poll) או השתמש ב-webhook להשלמה.
העבר תמונות כבלוקי תוכן base64 (type: image) או עמודי PDF (type: document) בהודעת המשתמש. Claude מעבד עד 20 מגה-בייט לבקשה. העדף קובצי PDF מקוריים על פני צילומי מסך עבור מסמכים עתירי טקסט.
Opus: היכולת הגבוהה ביותר, חשיבה מורכבת, משימות סוכנים. Sonnet: ביצועים/עלות מאוזנים, שימוש כללי בייצור. Haiku: המהיר והזול ביותר, סיווג, ניתוב, חילוץ פשוט.
קריאות חוזרות חולקות את אותו prompt מערכת ארוך; רוצים להפחית עלויות.
סמן תוכן הניתן לשמירה במטמון עם cache_control: { type: "ephemeral" }. קידומות נשמרות לשימוש חוזר בין קריאות למשך עד 5 דקות (הארכה אוטומטית בעת שימוש). עלות כתיבה גבוהה ב-25%; עלות קריאה נמוכה ב-90%.
שלח הודעת משתמש עם role: "user" ובלוק תוכן tool_result. כלול את ה-tool_use_id לתיאום. החזר נתונים כטקסט או תוכן מובנה; שמור על גודל המטען (payloads) מתחת ל-100 אלף טוקנים.
שלושה תפקידים: Host (אפליקציה כמו Claude Code), Client (מטפל בפרוטוקול לכל שרת), Server (חושף כלים/משאבים/פרומפטים). לקוחות מקיימים חיבורי 1:1 עם שרתים.
Resources: נתונים לקריאה בלבד (קבצים, שורות DB) שהלקוח מושך. Tools: פעולות שהמודל מפעיל (כתיבה, חישוב, שאילתה). Prompts: תבניות פרומפטים לשימוש חוזר שהמשתמש בוחר. Tools נשלטים על ידי המודל; resources נשלטים על ידי היישום.
הסוכן חייב ליצור אינטראקציה עם יישום GUI (לחיצה, הקלדה, צילומי מסך).
אפשר שימוש בכלי "שימוש במחשב": computer_20250124 (צילום מסך + עכבר + מקלדת), text_editor_20250124, bash_20250124. המודל מקבל צילומי מסך ופולט פעולות מבוססות קואורדינטות.
המודל חייב תמיד לקרוא לכלי ספציפי במקום להגיב עם טקסט.
הגדר tool_choice ל- { type: "tool", name: "my_tool" }. המודל נאלץ לקרוא לכלי זה. השתמש ב-type: "any" כדי לדרוש קריאת כלי כלשהי, או ב-type: "auto" (ברירת מחדל) כדי לתת למודל להחליט.
מודלי Claude תומכים ב-200 אלף טוקנים. עקוב אחר השימוש באמצעות response.usage. כשמתקרבים למגבלה, סכם תורות ישנות יותר או קצר אותן. לעולם אל תשמיט הודעות בשקט.
הצב את המסמך מוקדם בפרומפט (לאחר system). שים שאלות אחרונות. השתמש ב-prompt caching כדי להימנע משליחה חוזרת במעקבים. עבור משימות מרובות מסמכים, השתמש ב-RAG לבחירת חלקי תוכן רלוונטיים.
בסיס הידע גדול מדי מכדי להיכנס להקשר; המודל זקוק לגישה בזמן השאילתה.
הטמע וקטורים אינדקס למסמכים ב-vector store. בזמן השאילתה, אחזר את k-החלקים המובילים, הזרק אותם להודעת המשתמש. צטט מסמכי מקור בפלט לצורך מעקב.
המודל מצהיר בביטחון על עובדות שגויות.
בסס תגובות על ההקשר שסופק (RAG). הנחה את המודל לומר "אני לא יודע" כאשר העדות אינה מספקת. השתמש בציטוטים. אמת טענות עובדתיות מול מסמכי מקור באופן תכנותי.
היישום מקבל תגובות 429 (הגבלת קצב) או 529 (עמוס מדי).
429: הגעת למגבלת הקצב של השכבה שלך. המתן ונסה שוב; כבד את כותרת retry-after. 529: Anthropic API עמוס מדי. המתן זמן רב יותר. שניהם ארעיים. לעולם אל תנסה שוב 400 או 401.
הוצאות ה-API החודשיות גבוהות מהצפוי.
השתמש ב-prompt caching עבור קידומות חוזרות (הנחה של 90% בקריאה). נתב משימות פשוטות ל-Haiku. השתמש ב-Batch API עבור עומסי עבודה אסינכרוניים (הנחה של 50%). עקוב אחר שימוש בטוקנים לכל נקודת קצה. קצר הקשר מיותר.
כל תגובת Messages API כוללת usage.input_tokens, usage.output_tokens, ו-(אם נשמר במטמון) usage.cache_read_input_tokens. רשום אותם לכל קריאה, צבר לפי נקודת קצה, הגדר התראות תקציב.