stage: spec
cycle: v2
product: prism-site
component: article-engine
status: draft — ממתין לגייטים של בן (ראה QUESTIONS-FOR-BEN.md)
owner: נועה (content_writer)
date: 2026-07-21
depends_on:
- research/v2-competitors.md (v2, 2026-07-21)
- vision/vision-draft.md — סעיף "Multilingual AI publication and organic property engine"
- decisions/p6-20260716.yaml — product_direction_addendum
absorbs:
- products/ai-implementation-seo/architecture/architecture.md — לולאת end-to-end + חוזי מצב
- products/ai-implementation-seo/vision/vision.md — מודל hub/spokes
scope: spec בלבד. אין כאן קוד ואין כאן החלטות מימוש.
שתי הכרעות של בן באותו יום. השנייה גוברת.
הכרעה 1: "PRISM AI היא חברה שמטמיעה AI בארגונים ובחברות. ויש לה בלוג מטורף בנושא AI."
הכרעה 2 — התקפה: *"לא יש לנו לקוחות, אפרט המשך. בינתיים… כרגע להתמקד
בבלוג וב־GEO SEO שלנו ואתר אמאלה ואבאלה."*
| המנוע | ✅ במיקוד המלא. הוא כרגע כמעט כל המוצר |
| מסלול ההטמעה | ⏸ קפוא · ממתין לפירוט. לא בוטל |
| לקוחות | אין. אפס קייסים, אפס לוגואים, אפס רמיזה |
| חדש ודחוף | §12 — מדידת ה־GEO שלנו. ההוכחה היחידה שתהיה לנו |
האירוניה שכדאי לשים לב אליה: הצמצום הזה הפך את המסמך הזה
מ"מפרט של ערוץ" למפרט של המוצר עצמו. הבלוג הוא לא יותר תמיכה במכירה —
הוא מה שאנחנו בונים.
| חלק | מצב |
|---|---|
| §2 אילוץ הנפח · §5 תפקידים · §6 HE/EN · §7 קצב · §8 כנות | ✅ עומדים ללא שינוי. מנגנון, לא מיצוב |
| §3 מקורות נושאים | 🔧 תיקון בסעיף 0ב — שלישייה חדשה |
| §4 מחקר SEO+GEO | ✅ עומד. משתנה על מה מחקר מילות המפתח נעשה |
§9 הערכת ai-implementation-seo | 🔴 שגוי. ראה 0ג |
| §11 שאלות חסומות | 🔧 Q1 נענתה ע"י בן; Q4 בטלה; Q7 חדשה |
הבלוג משרת עכשיו מטרה עסקית: למשוך ארגונים ששוקלים להטמיע AI.
| # | מקור | דוגמה |
|---|---|---|
| 1 | הוכחה פנימית (עכשיו המקור הראשי) | איך אנחנו מנהלים גייטים אנושיים על AI · מה קרה כששלב סומן ✅ בלי תוצר |
| 2 | הבעיה של הקורא | "למה פיילוטים נתקעים" · "מי אחראי כשסוכן טועה" · "shadow AI בארגון" |
| 3 | פער GEO | שאלה מהפאנל (§12) שיש לנו עליה כתבה — ובכל זאת לא צוטטנו |
מה שלא משתנה: evidence_ref חובה. נושא בלי ראיה לא נכנס לתור —
וזה קריטי יותר עכשיו: אנחנו מוכרים ממשל, אז בלוג עם טענה לא מאומתת
הוא סתירה עצמית שהורגת את המכירה.
ai-implementation-seo§9 למטה כותב שה־vision וה־brand שם "בנויים על מיצוב שבן לא בחר",
ושה־Scan הוא "מוצר אחר לגמרי". זה שגוי.
שם התיקייה הוא מילולית "הטמעת AI" — בדיוק החברה שבן הגדיר.
ה־Scan הוא כנראה "הטפסים" שבן הזכיר.
הטבלה המתוקנת נמצאת ב־pipeline.md תחת "תיקון עצמי".
§9 למטה נשאר לתיעוד הטעות — אל תעבדי לפיו.
בן הגדיר את המוצר: "פרויקט יפה שיכתוב באופן קבוע לאתר שלנו כתבות, יהיה SEO, GEO."
מה קיים בפועל היום (נבדק ב־implementation/src/, 2026-07-21):
עמוד בית אחד, blog/index, ו־שתי כתבות — כל אחת ב־EN וב־HE.
זהו. src/data/blog.ts הוא מערך ידני.
מה לא קיים: תזמון · תור נושאים · מחקר מילות מפתח · לולאת GEO · מדידה · רענון.
כלומר: המנוע מעולם לא נבנה. לא כשל — פשוט לא נוסה.
המסמך הזה מגדיר אותו. הוא לא בונה אותו.
צינור שממיר הוכחה שקיימת אצלנו לכתבה מאומתת ודו־לשונית,
בקצב שאפשר לעמוד בו, כשכל טענה בה ניתנת למעקב עד מקור.
מה הוא לא: לא מחולל־נפח. §2 מסביר למה זו לא אדיקות אלא הישרדות.
(נשלף 2026-07-21) — scaled content abuse:
"Using generative AI tools or other similar tools to generate many pages
without adding value for users"
נגזרת קשיחה: המנוע לא יכיל יכולת ייצור־בנפח.
אין "צור 50 כתבות". אין תבניות programmatic. אין דף־לכל־מילת־מפתח.
זה לא סייג — זה מגביל את הארכיטקטורה. מנוע שיודע לייצר 50 כתבות
ייצר 50 כתבות ביום שנלחץ. היכולת לא תיבנה.
שלושה מקורות, בסדר עדיפות. תור אחד: content/queue.yaml.
| # | מקור | מה זה | למה ראשון |
|---|---|---|---|
| 1 | הוכחה פנימית | decision-ledger · pipeline rewinds · receipts · lessons | זה קרה. יש ראיה. אף מתחרה לא יכול לכתוב את זה |
| 2 | ביקוש מאומת | אשכול שנמדד ב־Search Console / כלי מילות מפתח | ביקוש אמיתי, לא ניחוש |
| 3 | פער GEO | שאלה שה־AI עונה עליה בלי לצטט אותנו | נגזר מלולאת §7 |
חוק התור: נושא בלי ראיה מזוהה בשם לא נכנס לתור.
"נראה לי שכדאי לכתוב על X" — נדחה. הראיה היא תנאי כניסה, לא תנאי פרסום.
- id: q-0001
topic_he: "…"
topic_en: "…"
source_type: internal_proof | verified_demand | geo_gap
evidence_ref: "נתיב בריפו או URL — חובה"
cluster: "אשכול הנושא שאליו זה שייך"
locales: [he, en]
status: queued | researching | drafting | review | published | rejected
evidence_ref ריק = הפריט לא תקין. זה נאכף בבנייה, לא בעין.
שלב אחד, שני פלטים. לא שני תהליכים.
לפי מחקר Semrush
(10M+ מילות מפתח), הכוונה המסחרית ב־AI Overviews עלתה מ־8.15% ל־18.57%.
אנחנו מסמנים כוונה כדי לדעת מה אנחנו מכסים — לא כדי לרדוף אחריה.
נגזר מ־Aggarwal et al., KDD 2024 — שיטות GEO
מעלות נראות בתשובות מחוללות עד 40%, והיעילות תלוית־דומיין.
לכן זו רשימת בדיקה, לא נוסחה:
| בדיקה | דרישה |
|---|---|
| תשובה ישירה | פסקה ראשונה עונה על השאילתה במלואה, בלי הקדמה |
| סטטיסטיקות | כל מספר עם מקור בשם (השיטה שהמאמר מזהה כמועילה) |
| ציטוט מקורות | קישורים יוצאים למקור ראשוני, לא לסיכום |
| מבנה | כותרות שהן שאלות; טבלה אחת לפחות כשיש השוואה |
| ישות | "PRISM" מופיע בהקשר עובדתי, לא רק ככותרת |
| schema | Article + Author + datePublished/dateModified |
אסור: להתייחס לרשימה הזו כמובטחת. המאמר עצמו אומר שהיעילות משתנה בין תחומים.
המנוע מיישם ומודד — לא מבטיח.
llmstxt.org — הצעה של Jeremy Howard (3.9.2024),
לא תקן מאומץ לפי הדף עצמו.
החלטה טכנית שלי: מיישמים — עלות אפס, סיכון אפס.
לא מפרסמים את זה כתאימות לתקן. אין תקן.
ארבעה תפקידים. לא ארבעה בני אדם — ארבעה תפקידים מובחנים, שמותר לאותו סוכן
למלא כמה מהם, חוץ מזוג אחד (§5א).
| תפקיד | מי | מה עושה | מה אסור לו |
|---|---|---|---|
| מזין | כל עובד PRISM | מגיש נושא + evidence_ref | לא מכריע כניסה לתור |
| כותב | נועה | מחקר §4 + טיוטה בשתי השפות | לא מאשר את עצמו |
| בודק־עובדות | לא הכותב | מאמת כל טענה מול המקור | לא משכתב סגנון |
| מפרסם | הבנייה | מריץ שערים ומעלה | לא מוותר על שער |
הכותב אינו בודק־העובדות של הכתבה שכתב.
זו נגזרת ישירה מחוקת PRISM — אין אישור עצמי.
אין לזה עקיפה, אין "כתבה קטנה", אין "דחוף".
בן הוא מנהל קריאייטיב, לא עורך לשוני. הוא לא מאשר כתבות.
הוא נכנס בשלושה מקרים בלבד:
editorial-voice.md. אחריו לא שואלים שוב.כתבה רגילה שעברה את השערים — מתפרסמת בלי בן. אחרת אין מנוע, יש תור אישורים.
decisions/p6-20260716.yaml קבע: initial_locales: [he, en],
locale_expansion: evidence_gated.
vision-draft.md קבע: "not blind machine translations".
שתי השפות נכתבות במקור. אף אחת אינה תרגום של השנייה.
זה כבר הנוהג בפועל — שתי הכתבות מ־18.7 נכתבו כך.
המנוע הופך את זה לכלל.
| היבט | כלל |
|---|---|
| טענות | זהות בשתי השפות. תוכן שונה — עובדות זהות |
| דוגמאות | מותר שיהיו שונות ומותאמות־שוק |
| slug | לוקאלי בכל שפה. לא תעתיק |
| קישור | hreflang הדדי + canonical לכל לוקאל |
| מקורות | אותה רשימה. מקור בעברית לא "נעלם" באנגלית |
| שפה שלישית | חסום עד ראיית ביקוש — לפי ה־P6 |
מקרה קצה: נושא שרלוונטי רק לשוק אחד — מותר לפרסם בשפה אחת,
בתנאי שזה מסומן במפורש בפריט התור. לא בשתיקה.
כתבה אחת מאומתת לשבוע, בשתי השפות.
הקצב הוא תקרה, לא מכסה.
שבוע בלי כתבה שעברה את השערים = שבוע בלי כתבה.
אין "משהו כדי לעמוד בקצב". זה הכלל שמונע מהמנוע להירקב.
הקצב נבדק מחדש אחרי 8 שבועות מול מדידה — לא מול תחושה. (זו שאלה לבן, §Q3.)
לפי מחקר Semrush, שיעור ה־AI Overviews ירד מ־24.61% ל־15.69%
תוך ארבעה חודשים. הקרקע זזה.
לכן: בדיקת רענון רבעונית לכל כתבה. dateModified מתעדכן רק בשינוי אמיתי.
זה הסעיף שבגללו המוצר שונה מ־9 המתחרים ב־research/v2-competitors.md.
כולם מבטיחים ציטוט. אף אחד לא מציג מה מאומת.
אצלנו זו לא הבטחה — זו בנייה שנכשלת.
implementation/scripts/check-honesty.mjs רץ ב־npm run verify.
הקבלה מ־16.7: "Honesty check OK (1 file scanned, zero unsourced claims)".
המנוע לא ממציא מנגנון — הוא מרחיב מנגנון שעובד.
כל טענה בכתבה חייבת ליפול באחת. אין חמישית.
| דרגה | משמעות | דרישה |
|---|---|---|
verified | מקור ראשוני נשלף | URL + תאריך שליפה |
attributed | מישהו אחר טוען | "לפי X" + קישור. לא בקול שלנו |
internal | קרה אצלנו | נתיב בריפו |
unconfirmed | לא אומת | מסומן גלוי בכתבה |
unconfirmed בגוף הכתבה מסומן חזותית, לא רק ב־frontmatterבן: "קייסים להמחשה כרגע. לאט לאט אני אתן יותר מידע. כרגע זה מוק דאטה."
ההיתר הוא להמציא תוכן להמחשה. הוא אינו היתר להסתיר שהוא כזה.
זה נשמע כמו ניואנס והוא כל ההבדל: קייס מסומן הוא כנות, קייס לא מסומן הוא זיוף.
| ✅ מותר | 🔴 אסור |
|---|---|
| קייס להמחשה, מסומן גלוי | קייס שנראה אמיתי |
| מספרים בתוך בלוק מסומן | מספר שמוצג כתוצאה שהושגה |
| לקוח־דוגמה בשם בדוי | שם לקוח אמיתי בלי רשות |
| — | לוגו של חברה שלא עבדנו איתה |
<section data-mock="case-study"> <!-- שכבה 1: למכונה -->
<p class="mock-badge">דוגמה להמחשה — מוק דאטה</p> <!-- שכבה 2: לקורא -->
…
</section>
שכבה 2 היא העיקר. מי שנוחת על הדף חייב לדעת בלי לחפש.
סימון ב־frontmatter או בהערת קוד אינו מספיק — הקורא לא רואה אותם.
אותו חוזה דו־שכבתי חל על דרגות הטענה של §8ב, לא רק על מוק:
<div data-claim="unconfirmed">unconfirmed<br>טרם נמדד</div>
שני באגים בשער עצמו נמצאו ב־21.7 כשהרצתי אותו על המוקאפים שלנו:
unconfirmed — גם כשהיא שימשה כתוויתהנכונה. כלומר: מי שתייג בכנות נכשל, ומי שהשמיט את התווית עבר.
זה בדיוק הפוך מהכוונה, והיה דוחף להסתיר תוויות.
רק כדי לספק לינטר. הדרישה היא שהקורא יראה את הדרגה, לא שהדף יהיה אנגלי.
תוקן: CLAIM_TIERS עם מילים נרדפות בעברית (אומת · מיוחס · מוצהר · טרם).
הלקח: שער שלא הרצתי על התוכן האמיתי שלי הוא שער שלא בדקתי.
שני הבאגים היו נשארים בפנים עד שכותב אמיתי היה נתקל בהם — ואז הוא היה
לומד להסתיר תוויות כדי שהבנייה תעבור.
check-honesty.mjs, מורחב 21.7הבדיקה לא רק מתעדת את הכלל, היא מפילה את הבנייה:
| מקרה | תוצאה |
|---|---|
בלוק data-mock בלי תווית גלויה | 🔴 נכשל |
| תווית רק ב־attribute ולא כטקסט | 🔴 נכשל |
מספר/אחוז/$ מחוץ לבלוק מסומן | 🔴 נכשל |
| מספר בתוך בלוק מסומן ומתויג | ✅ עובר |
נבדק ב־8 מקרי בוחן לפני שנכנס — כולל החמישה שנועדו להיכשל.
בדיקה שלא ראיתי אותה נכשלת היא בדיקה שאני לא יודעת שעובדת.
זה בדיוק העיקרון של כשל־הבנייה בעמוד השלבים: אם הדף עלול להטעות — הבנייה נופלת.
אותו חוק, משטח אחר.
בן אמר "לאט לאט אני אתן יותר מידע". לכן המבנה תוכנן כך שהחלפת מוק
בנתונים אמיתיים היא החלפת שדות, לא כתיבה מחדש:
data-mock + התווית. זהוdata-mock="case-study" הוא גם המפה: grep data-mock מחזיר בדיוקאת רשימת מה שצריך להתחלף ביום שיגיעו נתונים
מתקנים גלוי. לא מוחקים בשקט.
הערת תיקון מתוארכת בגוף הכתבה + dateModified.
מה שהמנוע כותב על עצמו חייב להיות אמיתי כמו מה שהוא כותב על אחרים.
🔴 הסעיף הזה שגוי. נכתב לפני ההגדרה מחדש של בן. ראה §0ג.
ההערכה המתוקנת ב־pipeline.md. משאירה כאן כתיעוד של הטעות, לא כהנחיה.
התיקייה נספגה בהכרעת בן (28 קבצים, מעולם לא בגיט).
| נספג | מקור | למה |
|---|---|---|
| ✅ לולאת end-to-end | architecture/architecture.md | intake→map→draft→review→publish→feedback→refresh — עדיין נכון |
| ✅ מכונת מצבים | שם | Working → Approved → Published + provenance + rollback |
| ✅ חוזי HE/EN | שם | canonical · hreflang · semantic parity |
| ✅ שערי הערכה | שם | claims/thin/duplication — כאן §8ג |
| ✅ hub + spokes | vision/vision.md | אשכולות נושא — כאן §4א |
| ⚠️ בחלקו: סולם הצעות | שם | רלוונטי רק אם מוכרים שירות — לא הוכרע (§Q1) |
| ❌ לא נספג: "Business Opportunity Scan" | brand/ round-2 | מוצר אחר לגמרי. לא מנוע כתבות |
| ❌ לא נספג: מוקאפים round 1+2 | mockups/ | מיצוב אחר, MOCKUP_ONLY_STUB. חומר טעם, לא בסיס |
| ❌ לא נספג: בידוד רב־דיירי | architecture/ | הניח לקוחות. יש לנו אתר אחד |
| ❌ לא נספג: tasks.json | tasks/ | תלוי במיצוב הישן |
הערכה כנה: התיקייה שווה בעיקר בזכות מסמך הארכיטקטורה —
מכונת המצבים וחוזי ה־HE/EN חוסכים עבודה אמיתית.
ה־vision וה־brand בנויים על מיצוב שבן לא בחר. המוקאפים מתים.
מעודכן 21.7 — מיקוד מצומצם:
| # | מה | מצב |
|---|---|---|
| Q1 | מה החברה מוכרת | ✅ נענתה — ואז צומצמה 21.7. כרגע: בלוג + GEO שלנו + אתר צנוע |
| Q2 | קול עריכתי | ✅ אושר — "יומן בנייה" |
| Q3 | קצב | ✅ אושר — שבועי כתקרה |
| Q4 | תקפות ה־Vision | ✅ בטלה. בן החזיר את החזון אחורה |
| Q5 | Brand + Logo | ✅ אושר — Glass Box נשאר, לוגו כשלב נפרד |
| Q7 | "והטפסים שונים" | ⏸ נדחתה עם מסלול ההטמעה |
אין כרגע שאלה חסומה. מפורט ב־QUESTIONS-FOR-BEN.md.
מה לא חסום (הכרעתי, מתועד): מבנה התור · שערי הבנייה · מכונת המצבים ·
פורמט הבדיקות · llms.txt · כל §12. אלה עניינים טכניים.
אין לנו לקוחות. מוצהר ומוסכם.
ולכן: ה־GEO/SEO שלנו על עצמנו הוא ההוכחה היחידה שתהיה לנו.
אם נראה שאנחנו מצוטטים ב־ChatGPT/Perplexity — זה הקייס.
מכאן: המדידה אינה דוח חודשי. היא הנכס. היא נבנית מהיום הראשון,
לפני שנכתבת כתבה נוספת — אחרת אין קו בסיס ואין מה להשוות אליו.
מודדים לפני שמפרסמים.
היום באוויר שתי כתבות בלבד. זה מצב נדיר וחד־פעמי: קו בסיס כמעט נקי.
ברגע שנפרסם עוד — הוא אבד לתמיד ולא נוכל לשחזר אותו.
לכן ההרצה הראשונה של §12ג קודמת לכתבה השלישית. בלי יוצא מן הכלל.
מנועי AI לא נותנים לנו דוח. אין Search Console ל־ChatGPT.
כל מה שנמדוד הוא דגימה, לא ספירה. זה נרשם בכל פלט.
| שכבה | מה מודדים | מה זה מוכיח | מגבלה |
|---|---|---|---|
| 1 · ציטוט | פאנל שאלות מורץ מול המנועים | האם אנחנו בתשובה | דגימה. תשובות לא דטרמיניסטיות |
| 2 · סריקה | לוגים של GPTBot · PerplexityBot · ClaudeBot · Google-Extended | שנקלטנו | קליטה ≠ ציטוט |
| 3 · הפניה | referrer מ־chatgpt.com · perplexity.ai · claude.ai · gemini | שמישהו הגיע | מחסיר בהרבה — ראה למטה |
| 4 · חיפוש | Search Console | אורגני קלאסי | לא מפריד AI Overviews |
⚠️ שכבה 3 מחסירה באופן שיטתי. לפי Ahrefs,
משתמשי AI-search לוחצים על לינקים 75% פחות.
כלומר: אפס הפניות אינו אפס ציטוטים. לכן שכבה 1 היא העיקרית, לא שכבה 3.
קובץ קבוע: measurement/prompt-panel.yaml. 20–30 שאלות, נעולות.
שינוי הפאנל = שבירת הסדרה, ולכן מתועד בנפרד ולא נעשה בשקט.
שלושה סוגים:
| סוג | דוגמה | מה בודק |
|---|---|---|
| מותג | "מה זה PRISM AI?" | האם המנוע מכיר אותנו בכלל |
| נושא | "איך מנהלים גייטים אנושיים על סוכני AI?" | האם אנחנו עולים בלי שנקראנו בשם |
| בקרה | שאלה שאין לנו עליה תוכן | תופס false positive |
שאלות הבקרה חובה. בלעדיהן אי אפשר לדעת אם עלייה היא בזכות הכתבות
או בזכות שהמנוע פשוט נעשה נדיב יותר.
מנועים: ChatGPT · Perplexity · Claude · Gemini. בעברית ובאנגלית —
זו שאלה פתוחה אמיתית האם עברית מתנהגת אחרת, ואין לי עליה תשובה.
תדירות: דו־שבועית. ידנית זה בסדר — 30 שאלות × 4 מנועים × 2 שפות
זו עבודה של שעה. אוטומציה היא אופטימיזציה, לא תנאי.
מה נרשם בכל הרצה:
run_id: 2026-07-2X
engine: chatgpt | perplexity | claude | gemini
locale: he | en
prompt_id: p-001
cited_prism: true | false
citation_url: "…" # אם צוטטנו
competitors_cited: […] # מי כן צוטט במקומנו ← הכי מלמד
raw_response_ref: "…" # טקסט מלא נשמר. בלי זה אי אפשר לבדוק אותנו
competitors_cited הוא השדה הכי שימושי בכל המסמך. הוא הופך "לא צוטטנו"
מכישלון סתום לנתון: מי כן, ולמה הוא.
| מדד | הגדרה | למה |
|---|---|---|
| שיעור ציטוט | % מהשאלות שבהן צוטטנו, לפי מנוע ולפי שפה | המדד הראשי |
| כיסוי | כמה מהשאלות מכוסות ע"י כתבה קיימת | מזין את התור (§3, מקור 3) |
| פער | שאלות שיש לנו עליהן כתבה ובכל זאת לא צוטטנו | הכי מלמד. יש תוכן ולא נבחר — למה |
מה שאנחנו לא מודדים: דירוג, "share of voice", ציון נראות מורכב.
אין לנו דאטה שתומכת בהם, וכלים שמוכרים אותם עולים מ־$99/חודש
(Profound). מדד שאי אפשר לגזור מהגלם — לא קיים.
מפרסמים את המספרים שלנו. גם כשהם רעים. במיוחד כשהם רעים.
זה מתחבר ישירות לקול "יומן בנייה" שאושר.
מ־research/v2-competitors.md: 9 מתחרים מבטיחים ציטוט; אף אחד לא מראה
את המספרים שלו. "שיעור הציטוט שלנו החודש: 2 מתוך 30, וזה מה שניסינו" —
זה תוכן שאף אחד מהם לא יכול לכתוב.
וזה גם המבחן של §8 על עצמנו. אם נטייח מדידה גרועה, בדיקת הכנות
שלנו היא תפאורה.
כשצריך המחשה — מסמנים דוגמה להמחשה בגוף הטקסט. לא משאירים לפרשנות.
| # | מה | תלוי ב־ |
|---|---|---|
| 1 | measurement/prompt-panel.yaml — 30 שאלות נעולות | — |
| 2 | הרצת קו בסיס ידנית | 1 · לפני הכתבה הבאה |
| 3 | measurement/runs/ — הרצות גולמיות בגיט | 2 |
| 4 | ניתוח לוגי בוטים | גישה ללוגים |
| 5 | דוח דו־שבועי גלוי | 3 |
| 6 | אוטומציה | אחרי שהידני יציב |
1 ו־2 הם החסם היחיד שדוחק. כל השאר יכול לחכות.