בניית מודולי AI לחדר חדשות ב-PHP

רוב האנשים חושבים ש-AI בחדר חדשות פירושו תיבת צ'אט אחת גדולה. זו טעות. המודל הזה מוביל לתכונות שאנשים משתמשים בהן פעם אחת ואז מתעלמים מהן.

לחדר חדשות יש עשרות צרכים קטנים וספציפיים. אתם צריכים אפשרויות לכותרות. אתם צריכים תיאורים קצרים (blurbs) לרשתות חברתיות. אתם צריכים כותרות SEO. אתם צריכים תיוג ישויות (entity tagging). כל משימה היא קטנה אך יש לה כללים משלה.

לאחר עבודה עם 200 אתרי חדשות, מצאתי את הדרך הנכונה לבנות זאת. אל תבנו "תכונת AI" אחת. בנו רישום (registry) של תהליכי עבודה (workflows) קטנים ומתמחים.

הנה איך עושים זאת ב-PHP:

  • השתמשו במשימות (tasks), לא ב-prompts. משימה היא יחידה בעלת שם עם חוזה קבוע. היא יודעת מה היא צריכה ומה היא מחזירה.
  • בצעו וולידציה (validation) לפלט בתוך המשימה. מודלים מחזירים לעיתים קרובות טקסט כשאתם רוצים JSON. אם המשימה מאמתת את הפלט שלה בעצמה, תוכלו לנסות שוב או להיכשל בצורה מסודרת מבלי לשבור את העורך שלכם.
  • השתמשו בנתב (router) מבוסס שכבות (tiers). הריצו משימות פשוטות על מודלים זולים. הריצו משימות משפטיות או משימות סיכון על מודלים פרימיום.
  • בצעו caching לפי משימה וקלט. אם עורך לוחץ על כפתור פעמיים על אותו מאמר, אתם לא אמורים לשלם על קריאת AI שנייה. caching הוא כלי הבקרה הטוב ביותר שלכם על העלויות.
  • שמרו את הכללים בקוד ואת ה"טעם" ב-prompts. אל תבקשו ממודל לבדוק אם כותרת היא מתחת ל-70 תווים. השתמשו ב-PHP בשביל זה. השתמשו במודל כדי להחליט אם הכותרת טובה. הקוד מטפל בכללים. המודלים מטפלים בשיקול דעת.

קבצו את המשימות שלכם כדי לשמור על סדר:

• כותרות: כותרות SEO, תיאורים קצרים לרשתות חברתיות, התראות פוש (push notifications). • מבנה: סיכומים, נקודות מפתח, הצעות ל"קרא עוד". • סיווג: הצעות לקטגוריות, חילוץ תגיות. • מדיה: טקסט אלטרנטיבי (alt text), כיתובים (captions), רמזי חיתוך (crop hints). • איכות: בדיקות טון, סימון סיכונים, מסנני קללות.

המטרה היא אמינות תפעולית. אם ספק AI קורס במהלך יום חדשות עמוס, אתם צריכים לשנות קובץ הגדרות (config), לא לכתוב מחדש את הקוד שלכם.

שני כללים אחרונים להצלחה:

  1. הצעות הן טיוטות. לעולם אל תתנו ל-AI לכתוב ישירות לשדה שפורסם. אדם חייב תמיד לעבור על הפלט ולאשר אותו.
  2. עבדו ברקע. אם משימה לוקחת יותר משנייה אחת, הריצו אותה כמשימה אסינכרונית (async job). אל תגרמו לעורכים שלכם לחכות למסך טעינה.

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

מקור: https://dev.to/mahmut_gndzalp_c736ac4b/building-newsroom-ai-modules-in-php-50-specialized-workflows-2co1