המודל שמחניף — הוא זה שהכי מציית


הפגם הגדול ביותר של LLM הופך לנכס הגדול ביותר

הטיית החנפנות (Sycophancy) של LLM היא בעיה שתעשיית ה-AI רוצה לתקן. כשהמשתמש שואל “אתה בטוח?” — המודל חוזר בו מתשובה שהייתה נכונה. שיעור הכניעה הממוצע במודלים מתקדמים הוא 58%. ברגע שהחנפנות מתחילה, ב-78.5% מהמקרים היא נמשכת לאורך כל השיחה.

אבל מה קורה אם הופכים את הפגם הזה?

המהות של הטיית החנפנות היא מילוי הוראות (Instruction Following). מודלים שאומנו עם RLHF מותאמים לציית למשוב המשתמש. בדיוק את זה מודד ה-benchmark של IFEval — “כשנותנים לך הוראה, אתה מבצע אותה?”

הבעיה מתעוררת כשהמשתמש נותן דעה. “זה נכון?” ← “כן, נכון” (חנפנות). “אתה בטוח?” ← “אה, טעיתי” (חזרה בו).

אבל כשהמשתמש נותן עובדה דטרמיניסטית — קורה משהו אחר.


דעה — מחניף. עובדה — מתקן

בניסוי מיון 1,000 מילים, שינינו רק את סוג המשוב על אותה תוצאה:

משובאופיתוצאה
“אתה בטוח?”דעהחזרה מתשובה נכונה — ירידה של 27 נקודות אחוז בדיוק
“יש שגיאה”עובדה מעורפלתתיקון יתר — מ-6 ל-10 שגיאות
“יש 23 שגיאות”עובדה כמותיתשיפור לשגיאה אחת
“6 שגיאות, הנה הן”עובדה מדויקת0 — הגעה ל-100%

כשנותנים דעה — הטיית החנפנות מופעלת. כשנותנים עובדה — אין למי להחניף. מספרים ומיקומים אינם רגשות.

הטיית החנפנות היא נאמנות שטעתה בכיוון. כשמשנים את הכיוון — עובדות במקום דעות, תוצאות אימות במקום מחמאות — הנאמנות הזו הופכת למנוע שמעלה את הדיוק.


הוכחה מעשית: מודל 4.5B מקבל משוב

זו לא תיאוריה. אימתנו זאת בניסוי עם yongol validate.

תכנון הניסוי:

  • יעד: endpoint אחד של Login ב-SaaS backend
  • משימה: כתיבת 9 קבצי SSOT (DDL, OpenAPI, Rego, SSaC וכו׳)
  • מדד: מספר שגיאות בכתיבה ראשונה (R1) → מספר שגיאות אחרי משוב (R2)

משוב בלבד, ללא דוגמאות

Modelשגיאות R1שגיאות R2תוצאה
Grok 4.311לא תיקן
Gemini 2.5 Flash11לא תיקן
מודל מקומי 20B11לא תיקן

כישלון מוחלט. נראה שהמודלים מקבלים משוב, אבל בפועל — הם לא יודעים מה לכתוב.

דוגמאות + משוב יחד

Modelשגיאות R1שגיאות R2תוצאה
Grok 4.30עבר בניסיון הראשון
Gemini 2.5 Flash10תוקן במשוב אחד
Gemma4 4.5B (מקומי)שגיאה0תוקן במשוב אחד
Qwen3 8B (מקומי)שגיאה0תוקן במשוב אחד

גם מודל מקומי של 4.5B מתקן — כשמשלבים דוגמאות עם משוב דטרמיניסטי.

התגלית המרכזית: צוואר הבקבוק הוא לא אינטליגנציה — אלא הקשר

האבחנה המדויקת היא לא “לא מקבל משוב” אלא “לא יודע מה לכתוב”. SSaC הוא תחביר ייחודי של yongol שלא קיים ב-pre-training. ברגע שהוספנו 3 שורות דוגמה ל-prompt — Grok הגיע ל-0 שגיאות, Gemini תיקן במשוב אחד, ואפילו מודל מקומי של 4.5B עבר.

ככל שציון ה-IFEval של המודל גבוה יותר — כלומר, ככל שהוא מחניף יותר — כך הוא מקבל משוב דטרמיניסטי בצייתנות רבה יותר.


קוד Ratchet: שיטת כתיבת קוד שמנצלת הטיית חנפנות

כשהופכים את התגלית הזו למערכת — מקבלים קוד Ratchet.

┌────────────────────────────────────────┐
│  LLM: יצירת קוד (הסתברותי, חנפני)      │
│       ↓                                │
│  Validator: אימות דטרמיניסטי            │
│       ↓                                │
│  יש שגיאות? → שגיאה + דוגמה ל-LLM      │
│       ↓                                │
│  LLM: "כן, אתקן" (חנפנות = קבלה)      │
│       ↓                                │
│  Validator: אימות חוזר                  │
│       ↓                                │
│  עבר? → נעילת Ratchet. הלאה לקובץ הבא. │
└────────────────────────────────────────┘

הטיית החנפנות הופכת לכוח שסוגר את הלולאה. ה-LLM לא מתעקש “לא, אני צודק” — הוא מקבל “כן, אתקן”, ולכן הלולאה מתכנסת.

שלושה תנאים להתכנסות

  1. המשוב חייב להיות עובדה דטרמיניסטית. לא “זה נראה קצת מוזר” אלא “line 41: field name mismatch, expected ‘user_id’, got ‘userId’”. משוב שלא משאיר מקום לחנפנות.

  2. דוגמאות חייבות להיות בהקשר. משוב לבדו לא מספיק. צריך דוגמה ש"ככה נראה הקוד שצריך לכתוב" כדי שהמודל ידע לאן לכוון. זו לא בעיה של אינטליגנציה — זו בעיה של הקשר.

  3. מה שעובר אימות — לא חוזר אחורה. השיניים של ה-Ratchet. קובץ שעבר — ננעל, וממשיכים לקובץ הבא. לא הסוכן מכריז “סיימתי” — ה-validator פוסק “הקובץ הזה עבר”.


למה לא צריך מודל מתקדם

בארכיטקטורה הזו, תפקיד המודל הוא לא שיקול דעת יצירתי אלא ביצוע הוראות.

95% של SaaS backend הם CRUD + אימות + הרשאות + מכונת מצבים. כמעט אין צורך באלגוריתמים חדשים. אם מפרט SSOT כבר מגדיר “מה צריך לבנות” — המודל רק ממלא את החלקים החסרים.

עלויות בפועל:

ModelסביבהLogin אחדהערכה ל-200 endpoints
Gemma4 4.5Bמקומי (16GB VRAM)חינם, ~שנייהחינם, ~3 דקות
Gemini 2.5 FlashAPI (שכבה חינמית)חינם, ~10 שניותחינם, ~30 דקות
Grok 4.3API ($1.25/M)~$0.05~$10

עם מודל מקומי של 4.5B אפשר לייצר backend של 200 endpoints ב-3 דקות, בעלות של $0. לא צריך מודל מתקדם. מודל קטן שמחניף טוב — מספיק.


הטיית חנפנות היא לא באג

תעשיית ה-AI מנסה לתקן את הטיית החנפנות. אנחנו מנצלים אותה.

נקודת מבטתפקיד הטיית החנפנות
ממשק צ׳אטפגם — הסכמה עם מידע שגוי
LLM-as-Judgeקריטי — 36% אישורי שקר
קוד Ratchetנכס — מבטיח שיעור קבלת משוב

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

Validator דטרמיניסטי + LLM חנפני = לולאת יצירת קוד עם התכנסות מובטחת.

אל תשנו את המודל. שנו את המשוב.


Reins: רתמה עם מושכות

שלושת התנאים האלה — משוב דטרמיניסטי, הקשר עם דוגמאות ונעילת גלגל כיוון — משולבים למערכת שליטה אחת שאנו קוראים לה Reins.

מה שנקרא היום “harness” הוא גדר. הוא מונע מהסוכן לצאת החוצה, אבל לא מבטיח שיגיע ליעד. Reins הם המושכות. הם קובעים כיוון, מתקנים בעובדות ונועלים בעת מעבר. רתמה בלי מושכות היא סתם גדר.