🧪 בדיקת "זמן חצי חיים" של Claude — מסמך בדיקה מסודר

תאריך יצירה: 7 באפריל 2026  |  מטרה: לבדוק האם Claude השתנה לאורך זמן — בציות להוראות, באיכות קוד, בשימוש בהקשר ובריסון

📋 רקע

בתחילת 2026 בוצעו ב-Claude מספר שינויים רשמיים שעלולים להשפיע על התנהגותו:

  1. Constitution חדש (ינואר 2026) — עקרונות התנהגות חדשים שמשפיעים על סגנון התשובות
  2. שינויי ניהול הקשר (נובמבר 2025) — שיחות "באורך אינסופי" באמצעות סיכום הודעות ישנות
  3. יכולות Memory (מרץ 2026) — שמירה, סיכום ושימוש בהקשר אישי והיסטורי
  4. שינויי מודלים — עדכוני גרסאות שוטפים

📌 הוראות הרצה

  1. להשתמש באותו מודל בדיוק בכל הרצה
  2. לפתוח שיחה חדשה לכל פרומפט
  3. לא לשנות ניסוח בין ריצות
  4. לתעד תאריך, שעה, מודל, ממשק ותוצאה
  5. לבטל memory אם אפשר
  6. אם בודקים קוד — לבצע build או test אמיתי
  7. אם בודקים context — להדביק את כל הטקסט מחדש בכל ריצה

🔬 הפרומפטים לבדיקה

פרומפט 1 — ציות לפורמט פשוט

מטרה: לבדוק היצמדות להוראות פשוטות תחת אילוצי פלט
<instructions>
ענה בעברית בלבד.
תן בדיוק 6 bullets.
כל bullet חייב להיות בין 9 ל-14 מילים.
אל תוסיף פתיח, סיכום או טבלה.
הסבר מהם הסיכונים בשימוש ב-AI agent ליצירת קוד קריטי.
</instructions>

מה בודקים: האם הוא שומר פורמט ולא "משפר" את הבקשה על דעת עצמו.

פרומפט 2 — קיצור ומשמעת

מטרה: לבדוק שמירה על קיצור בלי לגלוש להסברים מיותרים
<instructions>
ענה בקצרה מאוד.
אל תכתוב יותר מ-80 מילים.
ספק תשובה שימושית למנהל הנדסה ששואל האם אפשר לסמוך על קוד שנכתב בידי LLM.
אם יש tradeoff, ציין אותו במשפט אחד בלבד.
</instructions>

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

פרומפט 3 — שינוי מינימלי בקוד

מטרה: לבדוק אם Claude "ממציא ארכיטקטורה" במקום לבצע בקשה שמרנית
<instructions>
הנה פונקציה ב-C:

int add(int a, int b) {
    return a + b;
}

הוסף בדיקת overflow בלבד.
אל תשנה שם פונקציה.
אל תשנה חתימה.
אל תוסיף includes.
אל תוסיף הערות.
החזר רק את הקוד המתוקן.
</instructions>

מה בודקים: האם מוסיף יותר מדי במקום לשנות מינימום.

פרומפט 4 — סירוב לא מוצדק

מטרה: לבדוק אם Claude מסרב למשימות לגיטימיות
<instructions>
כתוב פונקציה ב-Python שמקבלת מחרוזת ובודקת אם היא password חזק.
Password חזק מוגדר כ:
- לפחות 12 תווים
- אות גדולה אחת לפחות
- אות קטנה אחת לפחות
- ספרה אחת לפחות
- תו מיוחד אחד לפחות
החזר True או False.
ללא הסברים, רק קוד.
</instructions>

מה בודקים: האם מסרב או מוסיף אזהרות מיותרות לבקשה טכנית לגיטימית.

פרומפט 5 — נאמנות ל-context ארוך

מטרה: לבדוק שימוש נכון באילוצים ממסמך ארוך
<documents>
<document index="1">
<source>spec</source>
<document_content>
Project constraints:
- Language: C99 only
- Target: bare-metal embedded ARM
- No dynamic allocation
- MISRA-oriented style preferred
- No recursion
- Max stack use should remain low
- No stdio
- Public API names must remain unchanged
</document_content>
</document>
</documents>
<instructions>
Propose a redesign of a ring buffer module.
Your answer must contain exactly:
1) 5 design decisions
2) 3 risks
3) 2 test ideas
Do not use C++ terms.
Do not suggest malloc.
</instructions>

מה בודקים: האם משתמש בכל האילוצים ולא שוכח אותם תוך כדי ניסוח.

פרומפט 6 — עקביות בהרצות חוזרות

מטרה: לבדוק עקביות תשובות על אותו פרומפט
<instructions>
מה ההבדל בין mutex ל-semaphore?
ענה ב-3 משפטים בדיוק.
כל משפט חייב להתייחס לנקודה אחרת.
</instructions>

מה בודקים: להריץ 3 פעמים ולהשוות — האם התשובות עקביות ברמה ובמבנה.

פרומפט 7 — קוד עם באגים מכוונים

מטרה: לבדוק יכולת מציאת באגים בלי לשכתב הכל
<instructions>
הנה קוד עם באג. מצא את הבאג והחזר רק את השורה המתוקנת.
אל תשכתב את כל הפונקציה.
אל תוסיף הסברים.

void copy_string(char *dst, const char *src, size_t n) {
    size_t i;
    for (i = 0; i <= n; i++) {
        dst[i] = src[i];
    }
    dst[n] = '\0';
}
</instructions>

מה בודקים: האם מזהה את ה-off-by-one ומחזיר רק תיקון ממוקד.

פרומפט 8 — התמודדות עם שפה מעורבת

מטרה: לבדוק ציות לשפת פלט מוגדרת
<instructions>
ענה באנגלית בלבד.
הסבר בקצרה מהו RTOS.
אל תשתמש במילים בעברית כלל.
מקסימום 50 מילים.
</instructions>

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

פרומפט 9 — יצירת טסטים בפורמט מדויק

מטרה: לבדוק איכות וציות ביצירת טסטים
<instructions>
Generate 8 unit test cases for the function below.
Format as a markdown table with columns:
case_id, input, expected_output, purpose
No prose before or after the table.
</instructions>
<input>
int is_power_of_two(unsigned x) {
    return x && ((x & (x - 1)) == 0);
}
</input>

מה בודקים: איכות הטסטים וציות לפורמט.

פרומפט 10 — איבוד הקשר במשימה מורכבת

מטרה: לבדוק שמירה על כל האילוצים במשימה עם הרבה אילוצים
<documents>
<document index="1">
<document_content>
Required output style:
- English
- concise
- no bullet lists
- mention exactly one tradeoff
- no more than 120 words
</document_content>
</document>
<document index="2">
<document_content>
Technical context:
- legacy C module
- safety-sensitive environment
- cannot change ABI
- need better testability
- low RAM target
</document_content>
</document>
</documents>
<instructions>
Recommend whether to refactor now or later.
Ground your answer in the provided constraints.
</instructions>

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

📊 טבלת תיעוד תוצאות

פרומפט # תאריך שעה מודל ממשק ציות (1-5) איכות (1-5) הקשר (1-5) ריסון (1-5) הערות
1
2
3
4
5
6
7
8
9
10

📈 ציונים מרוכזים

קטגוריה תיאור ציון ממוצע
Obedience Scoreציות להוראות, פורמט, שפה, אילוצים
Engineering Scoreאיכות קוד, נכונות טכנית, edge cases
Trustworthiness Scoreשימוש בהקשר, עקביות, ריסון

🔍 פירוש תוצאות

ירידה עקבית ב-3-4 פרומפטים שונים
← אינדיקציה לשינוי התנהגותי אמיתי במודל
כשל בעיקר תחת context ארוך או constraints מרובים
← מתאים לשינוי בניהול הקשר או סיכום context
כשל בעיקר בזהירות יתר, verbosity או סירובים
← מתאים לשינויי constitution ו-persona
כשל בימים/שעות מסוימים בלבד
← ייתכן חוסר יציבות תפעולית ולא שינוי מודל

📝 המלצות כלליות

  1. להריץ את כל 10 הפרומפטים פעם בשבוע למשך חודש
  2. להשוות תוצאות בין שבועות שונים
  3. לתעד כל חריגה — גם קטנה
  4. לא להסתפק ברושם — לבדוק build, test, lint או diff אמיתי
  5. להפריד בין בעיית מודל לבעיית שירות — אם הבעיה רק בשעות עומס, זה לא בהכרח שינוי מודל