איך בניתי שער בקרת איכות (QC) כדי להסתיר סימני אוטומציה
אוטומציה חושפת את עצמה בדרכים שאינכם מצפים להן.
הפעלתי תהליך (pipeline) תוכן אוטומטי עבור Bluesky. פוסט אחד פורסם ובו הוזכר "the content pipeline". בבלוג טכני, זה בסדר. בפיד של רשת חברתית, זה סימן אזהרה. זה אומר לקוראים שהם מדברים עם בוט.
בניתי סקריפט לבקרת איכות כדי לעצור את זה. הוא פועל כשער בין שלב היצירה לבין שלב הפרסום.
תהליך העבודה החדש נראה כך:
bluesky-qc.mjs → (PASS) bluesky-post-queue.mjs → Bluesky API
הסקריפט משתמש בארבעה שערים כדי לבדוק כל פריט:
שער 1: סינון ביטויים אני משתמש ברשימת regex כדי לתפוס מילים שמרמזות על אוטומציה. הוא חוסם מונחים כמו "AI-generated", "cron", "content pipeline" או "batch test". אם פוסט נשמע כמו דוח מפתחים, הוא נכשל.
שער 2: בדיקות רעננות אני בודק שני סוגים של תוכן מיושן: • ניסוח מיושן: הוא תופס מילים כמו "today" או "just launched" שמאבדות את משמעותן אם הפרסום מתעכב. • חותמות זמן מיושנות: אם פריט ישן מ-14 ימים, הוא נדחה.
שער 3: חיזוי מעורבות (Engagement) הסקריפט בוחן את 300 הפוסטים האחרונים שלי. הוא חוזה האם ההאשטאגים בפוסט חדש יניבו ביצועים טובים. כרגע, זה רק מתעד אזהרה, אך בקרוב אהפוך את זה לכשל מוחלט (hard fail).
שער 4: מעבר איכות (מתוכנן) אני מתכוון להוסיף שכבה אחרונה המשתמשת בפרוטוקול איכות כדי לתפוס שגיאות עדינות.
כל כישלון נרשם בלוג דחיות. אני עובר על הלוג הזה פעם בשבוע. זה עוזר לי לתקן את הפרומפטים (prompts) שלי. אם השער ממשיך לתפוס את הביטוי "content pipeline", אני יודע שאני צריך לשנות את האופן שבו ה-AI כותב.
למה להשתמש בשער במקום פשוט ב-prompts טובים יותר? פרומפטים הם הסתברותיים. הם עלולים להיכשל. שער הוא דטרמיניסטי. הוא פועל לפי כללים קשיחים.
שימוש בשתי השכבות הוא הדרך הבטוחה ביותר לשמור על טון אנושי.
