הרקע: פורטל חדשות שעורך שלו לא ישן
שלומי אונליין הוא פורטל חדשות מקומי שאני מפעיל עבור שלומי והגליל המערבי. הבעיה הקלאסית: אתר חדשות צריך תוכן חדש כל יום — וכתיבת כתבות לוקחת זמן שאין לי.
השאלה ששאלתי את עצמי: האם ניתן לבנות pipeline שמשך חדשות ממקורות מהימנים, מעבד אותן, כותב כתבה עיתונאית ראויה בעברית, ומפרסם לאתר — בלי שאני אגע בזה?
התשובה, אחרי 3 חודשים של בנייה ובדיקות: כן. עם מגבלות חשובות שנגיע אליהן.
הארכיטקטורה — Pipeline מקצה לקצה
הנה ה-pipeline המלא, מ-trigger ועד פרסום:
שלב 1 — איסוף מקורות (RSS + Scraping)
n8n רץ כל 15 דקות ובודק רשימה של 40+ מקורות RSS — עיריות, עיתונים אזוריים, פיקוד עורף, משטרה, ועדי שכונה. כל פריט חדש שלא עובד עדיין נשמר ב-queue.
לא כל אתר ממשלתי מציע RSS תקני. עבור עיריות שאין להן RSS, בנינו n8n HTTP Request node שמבצע scraping על עמוד החדשות ומזהה פריטים חדשים לפי timestamp.
שלב 2 — עיבוד ומיון ב-LangChain
LangChain מקבל את כל הפריטים החדשים ועושה שני דברים:
- רלוונטיות: האם הכתבה רלוונטית לתושבי שלומי? (גיאוגרפיה, נושא)
- כפילויות: האם כבר כתבנו על אירוע זה? (Embedding similarity)
שלב 3 — כתיבת הכתבה עם Claude API
זה החלק שלקח הכי הרבה זמן לכוון נכון. ה-prompt שפיתחנו:
// system prompt "אתה עורך דסק חדשות בכיר של shlomi.online. כתוב כתבה עיתונאית מקצועית בעברית תקנית. כללים: - כותרת: 70 תווים מקסימום, דרמטית ומושכת - ריד: שורה אחת, תמצית הסיפור - גוף: 3-5 פסקאות, עובדות בלבד - אל תמציא עובדות שלא קיימות במקור - התאם לקהל: תושבי שלומי והגליל המערבי - SEO: כלול מילות מפתח טבעיות"
Claude לא ממציא עובדות — אבל לפעמים מרחיב מעבר למקור. הוספנו validation שבודק שכל טענה בכתבה מופיעה במקור המקורי. כתבות שנכשלות ב-validation נשלחות לבדיקה ידנית.
שלב 4 — פרסום אוטומטי ב-WordPress
n8n שולח לוורדפרס דרך REST API — כותרת, תוכן, קטגוריה, תגיות, ותמונה ראשית (שנוצרת ב-DALL-E או נלקחת ממאגר תמונות חופשיות). הכתבה עולה כ-Draft אם Confidence Score נמוך, או כ-Published אם גבוה.
שלב 5 — הפצה ב-WhatsApp
כל כתבה שמפורסמת → הודעת WhatsApp אוטומטית לקבוצות הקהילה עם כותרת + תקציר + קישור. זה הגדיל את הטראפיק ב-340% לעומת פרסום ללא WhatsApp.
הטכנולוגיות בפירוט
n8n — לב המערכת
n8n רץ על n8n.bdnhost.net (Hostinger VPS + Nginx + PM2). בחרנו ב-n8n על פני Make/Zapier כי: צריך לכתוב קוד JavaScript מותאם לחלק מה-logic, כמות ה-executions היומית עלתה מהר על מכסת Make, ו-n8n מנוהל אצלנו = אין תלות בצד שלישי.
Claude API — כותב הכתבות
ניסינו מספר מודלים: GPT-4o, Gemini Pro, ו-Claude Sonnet 3.5. Claude נבחר בגלל שלושה יתרונות:
- עברית טבעית יותר — פחות תרגומי, יותר עיתונאי
- פחות "hallucinations" עובדתיות בהשוואה ל-GPT-4o
- instruction-following עקבי — מכבד את כללי ה-prompt
LangChain — שכבת ה-Logic
משתמשים ב-LangChain בעיקר לניהול ה-context window ולחישוב similarity embeddings (OpenAI text-embedding-3-small) שמזהה כפילויות בין כתבות.
לקחים מהשטח — מה לא עובד
AI לא מחליף עורך אנושי — הוא מחליף את הזמן שלו. כ-15% מהכתבות עדיין מגיעות לבדיקה ידנית. ה-ROI הוא לא "אפס עבודה" אלא "80% פחות עבודה".
מה נכשל בתחילת הדרך:
- Over-confidence בתוצאות AI — בשבוע הראשון פרסמנו כל כתבה אוטומטית. תוך יומיים הייתה כתבה עם עובדה שגויה. עברנו למערכת Confidence Score.
- Rate Limiting של WordPress API — 20 כתבות בדקה גרמו ל-WordPress להחסום את ה-IP. הוספנו delay של 3 שניות בין פרסומים.
- כפילויות לא מזוהות — שתי מקורות שמדווחות על אותו אירוע = שתי כתבות. Embeddings פתרו את רוב הבעיה (לא את כולה).
- Hebrew RTL ב-API Response — Claude לפעמים מחזיר markdown עם LTR elements. הוספנו sanitization ל-HTML לפני פרסום.
תוצאות — 3 חודשים בייצור
הפורטל עלה מ-3 כתבות לשבוע ל-20 כתבות ביום. הקהל הגדיל את הזמן ממוצע בדף ב-28% — מה שמצביע שהתוכן האוטומטי נקרא, לא רק נגלל.
האם זה ניתן לשכפול?
כן — וזה בדיוק מה שאנחנו מציעים. ה-pipeline הזה ניתן לשכפול לכל עיר בישראל שרוצה פורטל חדשות מקומי. עיריות, מועצות אזוריות, ארגוני קהילה — כולם צריכים פלטפורמת תוכן שמעדכנת את התושבים.
רוצה AI News Desk לעיר שלך?
השיטה מוכחת ב-Shlomi Online. ניתן לשכפל לכל יישוב בישראל תוך שבועות — n8n, Claude API, WordPress. נדבר?
📞 דבר עם יעקב ←