מ-Workflow ל-Agent — מה השתנה ב-2026
בפרק 13 בנית אוטומציה ב-n8n או ב-Claude Code. היא עבדה בצורה לינארית: "כשמגיע ליד חדש → שלח אותו ל-Claude עם פרומפט מוגדר → קבל ניקוד → עדכן שדה ב-CRM → שלח התראה אם ניקוד גבוה". הצעדים ידועים מראש, הסדר קבוע, התוצאה צפויה. זה workflow דטרמיניסטי, והוא מצוין לתהליכים חוזרים ופשוטים שבהם אתה בדיוק יודע מה צריך לקרות ומתי. 80% ממשימות השיווק נופלות בקטגוריה הזו, ו-n8n הוא הכלי הנכון עבורן.
אבל בואו נסתכל על משימה אחרת. נניח שאתה רוצה לבקש: "סקור את 5 המתחרים העיקריים שלנו, מצא על מה הם מדברים החודש, זהה פערים בתוכן שלהם, וכתוב לי דוח עם המלצות". במבט ראשון זה נשמע כמו עוד workflow. אבל תחשוב על זה שנייה: מי הם "5 המתחרים העיקריים"? איך מוצאים "על מה הם מדברים"? איזה נושאים ייחשבו "פערים"? מה המלצה טובה? ברגע שאתה מנסה לתכנת את זה כ-workflow קלאסי, אתה מגלה שאתה חייב לתכנן מראש מאות החלטות: אילו אתרים לסרוק, איך לחלץ נושאים, איך להשוות מוחשי, איך לנסח המלצות. זה ימים של עבודה ועדיין לא גמיש — כל שינוי במתחרים דורש קוד חדש.
Agent אוטונומי פותר את זה אחרת לגמרי. אתה לא מתכנת את הצעדים — אתה נותן מטרה ("סקור מתחרים של [מותג] וכתוב דוח") + כלים ("אתה יכול להשתמש ב-WebSearch, WebFetch, ו-Write") + גבולות ("עד 20 הרצות tool, אסור לכתוב מחוץ לתיקייה X, אסור להשתמש בכלים אחרים") — וה-LLM מתכנן את הצעדים בעצמו. הוא מחליט: "קודם אחפש את המתחרים של המותג ב-Google", "עכשיו אקרא את הדף הראשון של כל אחד", "אני רואה שכולם מדברים על X ועל Y, חסר נושא Z", "אכתוב דוח Markdown".
ההבדל הזה — בין לתכנת כל צעד ל-"להסביר מטרה ולתת כלים" — הוא המהפכה של 2024-2026. Anthropic שחררה את Claude Agent SDK בספטמבר 2025 (שנקרא קודם "Claude Code SDK" והותאם אחרי שהיא הצליחה מאוד ב-development workflows). OpenAI שחררה את Agents SDK במרץ 2025 אחרי תקופת ניסיון עם Swarm. LangChain הוציאה את LangGraph 1.0 באוקטובר 2025 אחרי שנה של בטא. גם גוגל, Meta ואמזון מציעות SDKs משלהן ב-2026. כולם מתכנסים לאותו מודל בסיסי: LLM בלולאה + tools + memory. זה הסטנדרט. אם אתה לא מכיר אותו, אתה פוספסת את הגל השני של המהפכה — הגל שבו AI עובר מ"כלי עזר" ל"עובד אמיתי".
ארבעת המרכיבים של Agent
כל Agent בנוי מ-4 מרכיבים. אם חסר אחד — זה לא Agent, זה בוט רגיל:
| מרכיב | מה זה | דוגמה ב-Research Agent |
|---|---|---|
| Goal / System Prompt | מה ה-Agent מנסה להשיג | "סרוק את המתחרים של [מותג], מצא 3 נושאים בולטים שהם מדברים עליהם, והחזר דוח Markdown" |
| Tools | פעולות שה-Agent יכול לבצע | web_search, fetch_url, save_file |
| Loop | החזרת ה-Agent לעצמו עד סיום | LLM מחליט: לחפש עוד? לקרוא עמוד? לכתוב דוח? |
| Memory / Context | מה ה-Agent זוכר בין צעדים | רשימת אתרים שסרקו, ציטוטים, הערות ביניים |
קח את האוטומציה מפרק 13. בדף נייר או בקובץ, ענה על 2 שאלות בלבד: (א) מה הצעדים הקבועים מראש שלה? (ב) אם היית חייב להוסיף "החלטה אוטומטית" באחד הצעדים — איפה זה היה? הנקודה הזו היא בדיוק המקום שבו workflow נשבר ו-Agent מתחיל להיות הפתרון הנכון.
השתמש ב-Workflow (פרק 13) אם:
- הצעדים ידועים מראש ולא משתנים
- אתה רוצה תוצאה צפויה ב-100% מהמקרים
- הקלט סטנדרטי (למשל: תמיד טופס ליד חדש)
- אתה רוצה לחסוך בעלויות LLM (workflow טיפוסי = קריאה אחת, Agent = 5-20 קריאות)
השתמש ב-Agent (פרק 14) אם:
- הצעדים תלויים במה שיתגלה באמצע (מחקר, חקירה, בדיקה)
- הקלט פתוח או מעורפל ("תמצא משהו מעניין על X")
- המשימה דורשת שיפוט, לא רק ביצוע
- אתה מוכן לשלם 5-10 סנט למשימה תמורת חיסכון של שעה
אם אתה עדיין לא בטוח: התחל ב-workflow. אם הוא נשבר 3 פעמים בשבוע — זה סימן שצריך Agent.
המון שיווקאים שומעים "Agent" ומתרגשים. הם בונים Agent מורכב ל-"שלח מייל כשיש ליד חדש" — שזה 3 דקות עבודה ב-n8n. התוצאה: עלות פי 20, תחזוקה פי 10, ונקודות כשל חדשות. כלל אצבע: אם אתה יכול לצייר flowchart מלא של המשימה בלי "אם הגיב X אז תחקור לעומק" — תבנה workflow, לא Agent.
3 ה-SDKs של 2026 — Claude, OpenAI, LangGraph
ב-2026 יש שלושה SDK שאתה באמת צריך להכיר. כל אחד עושה את אותו הדבר ברמת הפרינציפ — מריץ LLM בלולאה עם tools — אבל כל אחד עם פילוסופיה שונה:
| SDK | יצרן | שפות | חוזקה עיקרית | מתאים ל |
|---|---|---|---|---|
| Claude Agent SDK | Anthropic | Python, TypeScript | Tool use מובנה, MCP native, context management אוטומטי, מצוין בעברית | Content, Research, Code agents. ברירת מחדל מומלצת למשווקים ב-2026 |
| OpenAI Agents SDK | OpenAI | Python, JavaScript | Handoffs בין agents, Guardrails, מודל voice, DALL-E מובנה | צוותי multi-agent, משימות קוליות, יצירת תמונות |
| LangGraph | LangChain | Python, JavaScript | Graph state machines, Human-in-the-loop, Time-travel debugging | workflows מורכבים עם cycles, approval steps, או רצף ארוך של צעדים |
Claude Agent SDK — הבחירה הראשית שלנו
הספרייה הזו יצאה בספטמבר 2025 (Anthropic שחררה אותה מחדש כ-"Claude Agent SDK" — קודם היא נקראה Claude Code SDK). היא בנויה סביב 4 רעיונות פשוטים: (1) אתה מגדיר system_prompt שמסביר מה ה-Agent אמור לעשות, (2) אתה נותן לו allowed_tools — רשימה מוגבלת של כלים שהוא רשאי להפעיל, (3) אתה קובע permission_mode שקובע אם ה-SDK שואל אותך לפני כל פעולה או מריץ אוטונומית, (4) אתה קורא ל-query() וקורא את הפלט. זה הכל. הספרייה מטפלת מאחורי הקלעים בלולאה של ה-Agent, בניהול ה-context, ב-tool calling ובכל מה שהופך את הבנייה מסיוט של מאות שורות לקובץ של 30-100 שורות.
היתרונות למשווקים ישראלים: ראשית, היא עובדת מעולה בעברית — Claude Sonnet 4.6 הוא המודל הכי טוב בשפה העברית ב-2026, מבין ניואנסים תרבותיים, מבדיל בין טון פורמלי לסלנג, ויודע לכתוב כמו ישראלי אמיתי ולא כמו תרגום מאנגלית. שנית, המחיר הוגן — $3 ל-input tokens ו-$15 ל-output למיליון tokens במודל Sonnet, ויש גם Haiku הזול יותר למשימות פשוטות ב-$1/$5. שלישית, MCP כבר מובנה בספרייה ללא צורך בהתקנות נוספות. רביעית — והחשוב ביותר לצוות שיווקי — היא תומכת native ב-file tools (Read/Write/Edit) שמאפשרים ל-Agent לקרוא brand guidelines, לעדכן לוחות תוכן, ולשמור דוחות בלי להתחבר ל-API חיצוני. אם אתה מתחיל היום — תתחיל פה. 80% מהמשווקים יגמרו פה וגם לא יצטרכו שום דבר אחר.
דגשים נוספים שכדאי להכיר: הספרייה תומכת ב-subagents — אתה יכול להפעיל Claude אחד "ראשי" שמעביר משימות משנה ל-Claude "משני" עם system prompt שונה (כמו להיות מנהל שמעסיק עצמאיים). בנוסף, יש תמיכה ב-memory בצורה של קבצי markdown שה-Agent קורא אוטומטית בכל ריצה (למשל CLAUDE.md עם brand guidelines), כך שאתה לא צריך לשלוח את אותו הטקסט בכל קריאה. זה חוסך tokens וכסף. לבסוף, הספרייה כוללת streaming — אתה רואה את ה-Agent חושב בזמן אמת, לא חיכיון ארוך ואז "הפתעה". לפי התיעוד הרשמי, זמן ההתחלה לפרויקט הראשון הוא פחות מ-15 דקות.
OpenAI Agents SDK — כשצריך handoffs או voice
OpenAI שחררה את ה-SDK הזה במרץ 2025 והוא החליף את Swarm — פרויקט ניסיוני שהיה להם קודם. החוזקה המובהקת של OpenAI Agents SDK היא handoffs — הרעיון שבו Agent אחד מעביר משימה ל-Agent שני בצורה נקייה, עם העברת קונטקסט אוטומטית. דמיין שירות לקוחות: Agent כללי שעונה על שאלות פשוטות, ומעביר ל-Agent "טכני" שאלות על התקנה, ול-Agent "חיוב" שאלות כספיות. OpenAI עושה את זה עם 3 שורות קוד. בנוסף, ל-SDK יש Guardrails — שכבה שבודקת בקלט ובפלט האם יש תוכן לא רצוי (PII, תוכן לא ראוי, prompt injection attempts) וחוסמת אוטומטית. זו שכבת בטיחות חזקה למי שבונה לקהל הרחב.
יתרון גדול נוסף: OpenAI מציעה מודלי voice ב-API — gpt-4o-realtime — כך שאתה יכול לבנות Agent קולי שעונה לטלפון, מבין דיבור בזמן אמת, ומגיב קולי. זה הכלי האולטימטיבי לשירות לקוחות בעברית דרך טלפון (אם כי איכות ההבנה העברית הקולית עדיין פחות טובה מאנגלית, הפער מצטמצם בכל חודש). גם DALL-E מובנה ב-SDK, כך שאתה יכול להפעיל Agent שמייצר תמונות לפוסטים ב-Instagram כחלק מאותה ריצה.
חסרונות: פחות טובה בעברית כתובה מ-Claude (במיוחד לסגנונות שיווקיים ישראליים אותנטיים), יקרה יותר ל-tokens דומים במודלים המובילים, ועד לאחרונה לא תמכה native ב-MCP — יש adapters אבל החוויה פחות חלקה. אם המשימה שלך דורשת צוות של 3-4 Agents מומחים שצריכים להעביר ביניהם, או אם אתה בונה voice agent — זו הבחירה. אחרת, תישאר עם Claude.
LangGraph — כשהמשימה היא state machine
LangGraph היא גישה אחרת לחלוטין. בעוד Claude ו-OpenAI חושבות על Agent כ"לולאה של LLM עם tools", LangGraph חושבת עליו כ-graph: אוסף של nodes (שלבים) ו-edges (מעברים ביניהם). אתה מצייר את המבנה בקוד — למשל extract_data → analyze → draft → review → publish — ו-LangGraph מריץ אותו. כל node הוא פונקציה Python. כל edge יכול להיות מותנה ("אם state.confidence > 0.8 → publish, אחרת → review"). התוצאה: שליטה מוחלטת על הזרימה, ב-trade-off של קוד קצת יותר ארוך.
החוזקה האמיתית של LangGraph — הסיבה שבגללה היא קיימת — היא human-in-the-loop. אתה יכול לעצור את ה-Agent באמצע ריצה (interrupt), להציג state למשתמש, לחכות לאישור/עריכה, ולהמשיך. זה הכלי הכי חזק ב-2026 לכל workflow שדורש "AI מכין את העבודה, אדם מאשר". דוגמאות: מייל שיוצא ללקוח חשוב, פוסט סושיאל שמפרסם מטעם המותג, החלטה על הוצאה מעל סכום מסוים. בלי human-in-the-loop, אתה בונה Agent מסוכן. עם human-in-the-loop, אתה בונה כלי עזר שמכפיל את התפוקה שלך.
יתרון גדול נוסף: time-travel debugging. LangGraph שומר את כל ה-state בכל צעד (אם אתה מחבר checkpointer). אם משהו נשבר — אתה יכול לחזור אחורה לצעד 3, לשנות פרמטר, ולהפעיל מחדש מהנקודה הזו במקום להריץ הכל מהתחלה. זה חוסך זמן ו-tokens במיוחד ב-debugging של Agents מורכבים. LangGraph 1.0 יצאה באוקטובר 2025 ומאז היא התבגרה משמעותית. ה-SDK תומך גם ב-LangSmith — פלטפורמה של LangChain ל-observability של Agents שנותנת trace מפורט של כל קריאה.
- Agent יחיד שעושה מחקר/כתיבה/ניתוח בעברית → Claude Agent SDK
- 2-4 Agents שעובדים ברצף עם handoffs → OpenAI Agents SDK
- workflow עם approval steps ו-rollback → LangGraph
- Voice agent (צ'אטבוט קולי) → OpenAI Agents SDK (תמיכה native)
- בניית MCP server לחשיפה ללקוחות → Claude Agent SDK (native MCP)
- לא יודע לבחור → התחל ב-Claude Agent SDK. 80% מהמשימות השיווקיות נגמרות שם
פתח את המסמך שבו אתה מתעד את הטכנולוגיה שלך (או צור אחד חדש: tech-stack-2026.md). הוסף 3 שורות:
- SDK ראשי: Claude Agent SDK (כל משימה חדשה מתחילה פה אלא אם יש סיבה מובהקת אחרת)
- SDK שני: OpenAI Agents SDK (רק ל-handoffs מורכבים או voice)
- SDK שלישי: LangGraph (רק ל-human-in-the-loop workflows)
זו "ברירת המחדל" שלך. בפעם הבאה שיש לך משימה — אל תבזבז זמן בהתלבטות.
MCP — הפרוטוקול שהפך הכל לסטנדרט
בלי להבין מה זה MCP (Model Context Protocol) — לא תבין למה בניית Agents בשנת 2026 קלה פי 10 מ-2023. MCP הוא פרוטוקול פתוח שאנתרופיק פרסמה בנובמבר 2024, ובמהלך 2025 הוא הפך ל"USB-C של AI" — הסטנדרט שכולם משתמשים בו. לפני MCP, בכל פעם שרצית לחבר כלי חיצוני ל-LLM היית כותב קוד custom: פונקציה Python שמתחברת ל-API, פורמטר שמחזיר את הנתונים בצורה שה-LLM יבין, error handling, retry logic, ועוד. בכל פעם מחדש. אם עברת מ-OpenAI ל-Claude — היית צריך לכתוב הכל שוב. MCP פתר את זה: כתוב MCP server פעם אחת, והוא עובד עם כל LLM שתומך ב-MCP (Claude, GPT, Gemini, ועוד). זה כמו שברגע שיש USB-C, כל מטען עובד עם כל מכשיר. לפני זה, כל יצרן היה עושה חיבור משלו.
עד סוף 2025, כל ה-LLMs המרכזיים אימצו MCP. OpenAI הוסיפה תמיכה native ב-GPT-5 ואילך, Google הוסיפה בגרסת Gemini 2.5, ו-Anthropic שם זה כבר מ-Claude 3.5 Sonnet. זה אומר שאם אתה בונה MCP server היום, הוא יעבוד לנצח, בכל פלטפורמה, בלי לשנות שורה. זה ההבטחה — והיא מתגשמת בפועל.
מה MCP נותן לך בפועל
- Tools: פונקציות שה-Agent יכול להפעיל (web_search, send_email, query_db)
- Resources: מסמכים/קבצים שה-Agent יכול לקרוא (PDF, דוחות, brand guidelines)
- Prompts: תבניות פרומפטים שנטענות דינמית
MCP servers מוכנים שכל משווק צריך להכיר
| MCP Server | מה הוא נותן | שימוש שיווקי |
|---|---|---|
mcp-server-filesystem | קריאה וכתיבה של קבצים | שמירת דוחות, טעינת brand guidelines |
mcp-server-fetch | קריאת דפי אינטרנט | מחקר מתחרים, סריקת בלוגים |
mcp-server-brave-search | חיפוש Brave עם API key | מחקר שוק, trend monitoring |
mcp-server-github | קריאת repos, issues, PRs | לא רלוונטי לרוב המשווקים |
mcp-server-slack | שליחת הודעות Slack | Alerts, notifications, דוחות יומיים |
mcp-server-postgres | שאילתות SQL | קריאת CRM, Analytics DB |
mcp-server-google-drive | Google Docs, Sheets | קריאת/עריכת לוחות תוכן |
רשימה מלאה נמצאת ב-github.com/modelcontextprotocol/servers. ב-2026 יש מעל 500 MCP servers פומביים. רובם open source וחינמיים לשימוש — אתה רק משלם על API keys של השירותים עצמם (אם יש).
פתח את github.com/modelcontextprotocol/servers בדפדפן. גלול ב-README ובחר 3 servers שמעניינים אותך. הוסף אותם לקובץ mcp-wishlist.md עם שורה אחת על כל אחד: "למה אני רוצה אותו". זו רשימת המשימות שלך לחודש הבא — כל שבוע תחבר אחד ל-Agent שלך.
הבניה הראשונה — Research Agent ב-80 שורות
הגענו לחלק הכייפי. נבנה Research Agent עובד שמקבל שם מותג, סורק 5 מתחרים ישראליים, ומחזיר דוח Markdown. נעשה זאת עם Claude Agent SDK + MCP fetch tool. עלות משוערת לריצה: $0.05-0.15 (5-15 אגורות ₪).
לפני שניגש לקוד — רגע של הכנה מנטלית. זה יהיה הקובץ הראשון שאתה באמת בונה בפרק הזה, והוא יהיה ה-baseline שלך לעוד חודשים קדימה. הקפד לעשות את זה בסביבה נקייה, בלי קבצים אחרים שמסיחים, בלי browser tabs מיותרים. 30-45 דקות של ריכוז ישלמו לך את עצמם באלפי שעות של יכולת.
שלב 1 — התקנה
פתח terminal (על macOS/Linux: Terminal. על Windows: PowerShell או WSL). צור תיקיה חדשה, והתקן את ה-SDK. הקפד ליצור virtual environment כדי שהתלויות של הפרויקט הזה לא יתנגשו עם פרויקטים אחרים שלך. ב-macOS/Linux/WSL:
mkdir marketing-agents
cd marketing-agents
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install claude-agent-sdk anthropic
אם התקבלה שגיאה "command not found" — אין לך Python מותקן, חזור לדרישות קדם והתקן מ-python.org.
מה עשית כאן: venv הוא סביבה מבודדת של Python — כל package שתתקין יישמר רק בתיקייה הזו ולא ישפיע על פרויקטים אחרים. זה best practice קריטי, אל תדלג עליו. pip install claude-agent-sdk anthropic מוריד את שתי הספריות: ה-SDK עצמו וה-client הבסיסי של Anthropic (שה-SDK משתמש בו מאחורי הקלעים).
שלב 2 — הגדרת API key
היכנס ל-console.anthropic.com, התחבר, ולחץ על API Keys ואז Create Key. תן לו שם שתזכור (למשל "marketing-agents-dev"). העתק את הערך שמופיע — הוא נראה כמו sk-ant-api03-... ואורכו כ-100 תווים. שמור אותו מיד במקום בטוח כי לא תוכל לראות אותו שוב (רק ליצור חדש ולמחוק את הקודם). אני ממליץ על password manager, לא על קובץ טקסט. ב-terminal:
export ANTHROPIC_API_KEY="sk-ant-api03-..."
# Windows PowerShell:
# $env:ANTHROPIC_API_KEY="sk-ant-api03-..."
אל תשים אף פעם את ה-API key בתוך קובץ Python שאתה דוחף ל-GitHub. זו הסיבה מספר 1 לדליפות. השתמש ב-environment variable או בקובץ .env עם python-dotenv, והוסף את .env ל-.gitignore. דליפת API key יכולה לעלות מאות דולרים תוך שעות (בוטים סורקים את GitHub 24/7).
הערה חשובה: export מגדיר את המשתנה רק לחלון ה-terminal הנוכחי. אם תסגור ותפתח חדש — הוא יעלם. כדי לשמור אותו קבוע, הוסף את השורה ל-~/.bashrc או ~/.zshrc (לפי ה-shell שלך). ב-Windows, ב-PowerShell, השתמש ב-[System.Environment]::SetEnvironmentVariable("ANTHROPIC_API_KEY", "sk-ant-...", "User") לשמירה קבועה.
שלב 3 — הקוד
צור קובץ חדש בשם research_agent.py בתיקיית הפרויקט שלך והעתק את הקוד הבא. כל שורה מוסברת בתגובה, ואני מציע שתקרא את ההערות לפני ההרצה — זה הבסיס להבנת כל ה-Agents שתבנה בעתיד:
# research_agent.py — Competitor Research Agent
# Built with Claude Agent SDK + MCP fetch tool
import asyncio
import os
from claude_agent_sdk import query, ClaudeAgentOptions
# --- 1. Define the Agent's role and constraints ---
SYSTEM_PROMPT = """
You are a Competitive Research Agent for Israeli marketing teams.
Your job: given a brand name, research 5 competitors in the same niche,
identify what topics they are talking about THIS MONTH, and produce a
Markdown report in HEBREW.
Rules:
- Search the web using the fetch tool
- Read at least 2 pages per competitor
- For each competitor: name, URL, main topics (3 bullets), tone
- End with: "Content Gap Analysis" — 3 topics they ALL miss
- Cite sources with full URLs
- Write the final report in Hebrew, technical terms in English
- Do NOT invent data. If you cannot find something, say so explicitly
"""
# --- 2. Configure the Agent ---
options = ClaudeAgentOptions(
system_prompt=SYSTEM_PROMPT,
model="claude-sonnet-4-6",
allowed_tools=["WebFetch", "WebSearch", "Write"],
permission_mode="acceptEdits", # auto-approve file writes
max_turns=20, # safety cap — stop after 20 loop iterations
)
# --- 3. Main function ---
async def research_competitors(brand_name: str) -> str:
task = f"""
Research the top 5 Israeli competitors of {brand_name}.
Focus on content published in the last 30 days.
Save the final report to competitors-report.md.
"""
result_text = ""
async for message in query(prompt=task, options=options):
if hasattr(message, "content"):
for block in message.content:
if hasattr(block, "text"):
print(block.text)
result_text += block.text
return result_text
# --- 4. Run it ---
if __name__ == "__main__":
brand = input("Enter brand name: ")
report = asyncio.run(research_competitors(brand))
print("\n--- DONE ---")
print(f"Report saved to: competitors-report.md")
שלב 4 — הרצה
ב-terminal (עם ה-venv פעיל):
python research_agent.py
הזן שם מותג (למשל: "Wolt Israel" או שם החברה שלך). תראה את ה-Agent עובד — הוא יקרא לכלי WebSearch, יקבל תוצאות, יקרא דפים עם WebFetch, יסכם, וישמור competitors-report.md. הרצה טיפוסית: 30-90 שניות, עלות $0.05-0.15.
ה-SDK עושה בשבילך 5 דברים שבלעדיו היית צריך לכתוב מאות שורות: (1) הוא מנהל את ה-agentic loop אוטומטית — אין צורך לכתוב while, (2) הוא מטפל ב-tool calls ובתוצאותיהן, (3) הוא מנהל את ה-context window — אם השיחה ארוכה מדי הוא דוחס אוטומטית, (4) הוא אוכף permission_mode ו-max_turns, (5) הוא מזרים את התוצאות (streaming) כך שאתה רואה בזמן אמת.
- הרצה ראשונה (5 דק'): הרץ את
research_agent.pyעם שם המותג שלך. קרא אתcompetitors-report.md. שים לב: אילו מתחרים הוא מצא? האם הם הנכונים? - הרצה שנייה עם ניואנס (5 דק'): ערוך את ה-
taskכך שיתמקד רק בתוכן שיווקי (בלוגים, פוסטים) ולא בדפי מוצר. הרץ שוב והשווה. - הרצה שלישית — fail case (5 דק'): הכנס שם מותג מעורפל או שאינו קיים ("Moadon HaShachar"). איך ה-Agent מתמודד? האם הוא ממציא? אם כן — החמר את ה-
SYSTEM_PROMPTב: "If you cannot find verified information about the brand, STOP and say so — do not invent competitors" - הוספת Slack alert (5 דק'): הוסף בסוף הקוד: אם הדוח כתוב → שלח התראה ב-Slack (או הדפס לקובץ log). בגרסאות הבאות תחבר ל-mcp-server-slack
- תיעוד (5 דק'): כתוב ב-
research-agent-log.md: מה עבד, מה לא עבד, מה צריך להוסיף בפעם הבאה. שמור את הלוג הזה — הוא האוצר שלך
תוצר: research_agent.py עובד + competitors-report.md אמיתי על המותג שלך + research-agent-log.md עם הלקחים.
ה-SDK מאפשר מצב bypassPermissions שבו ה-Agent יכול לכתוב לכל קובץ ולהריץ כל פקודה — בלי לשאול. זה חזק, וזה גם מסוכן. בפרודקשן תמיד השתמש ב-acceptEdits שמאשר עריכות אבל חוסם פקודות shell, ותמיד תגדיר allowed_tools מפורש כך שה-Agent לא יוכל לקרוא לכלי שלא תכננת. אם אתה חייב bypassPermissions, הגדר גם cwd לתיקייה sandbox ייעודית.
בניית MCP Tool משלך — Web Search ישראלי
ה-Agent שלך עובד, אבל הכלי WebSearch שלו הוא generic. בואו נבנה MCP tool משלנו — Israeli Search — שמחפש ספציפית במקורות ישראליים (Ynet, Globes, Calcalist, TheMarker). זה הדגמה איך מרחיבים Agent עם כלי custom.
הרעיון של MCP tool
MCP tool בצורתו הפשוטה ביותר הוא פונקציה Python עם decorator. ה-SDK מסריק פונקציות שסומנו ב-@tool, מזהה את ה-docstring וה-type hints, וממיר אותן ל-schema שה-LLM יודע להפעיל. ברגע שה-LLM רואה את הכלי ברשימת ה-tools שלו, הוא יכול לקרוא לו בדיוק כמו לכל כלי built-in — עם הפרמטרים הנכונים, לקבל את התשובה, ולהמשיך בלולאה. הקסם הגדול הוא שאתה לא כותב את ה-parsing של קריאות הכלי או את ההחזרה של תוצאות — ה-SDK עושה את זה.
יש שני סוגי MCP servers: (א) in-process — פונקציות Python שרצות באותו תהליך כמו ה-Agent, כמו בדוגמה שלנו. מהיר, פשוט, אבל ספציפי לשפה. (ב) stdio servers — תוכנית חיצונית שמתקשרת עם ה-Agent דרך stdin/stdout. יכולה להיות כתובה בכל שפה, רצה ב-process נפרד, אפשר לשתף בין פרויקטים. זה המודל של רוב ה-MCP servers הפומביים ב-GitHub. להתחלה — in-process מספיק, ורק כשתרצה לחשוף את הכלי ליוזרים אחרים או לפרויקטים אחרים תעבור ל-stdio.
הקוד — israeli_search.py
# israeli_search.py — Custom MCP tool for Israeli media search
from claude_agent_sdk import tool, create_sdk_mcp_server
import httpx
ISRAELI_DOMAINS = [
"ynet.co.il", "globes.co.il", "calcalist.co.il",
"themarker.com", "mako.co.il", "geektime.co.il"
]
@tool(
name="israeli_search",
description="Search only within trusted Israeli news and tech media. "
"Use this instead of generic WebSearch when the topic is "
"specific to the Israeli market.",
input_schema={"query": str, "max_results": int}
)
async def israeli_search(args):
q = args["query"]
max_n = args.get("max_results", 5)
site_filter = " OR ".join(f"site:{d}" for d in ISRAELI_DOMAINS)
full_query = f"{q} ({site_filter})"
# Call your search API of choice here (Brave, SerpAPI, etc.)
# For demo: return a stub
return {
"content": [{
"type": "text",
"text": f"Search query executed: {full_query}\n"
f"(Connect real search API for live results)"
}]
}
# Expose as MCP server
israeli_mcp = create_sdk_mcp_server(
name="israeli-search-server",
version="1.0.0",
tools=[israeli_search]
)
חיבור ל-Research Agent
עכשיו ערוך את research_agent.py והוסף:
from israeli_search import israeli_mcp
options = ClaudeAgentOptions(
system_prompt=SYSTEM_PROMPT,
model="claude-sonnet-4-6",
allowed_tools=[
"WebFetch", "WebSearch", "Write",
"mcp__israeli-search-server__israeli_search" # new tool
],
mcp_servers={"israeli-search-server": israeli_mcp},
permission_mode="acceptEdits",
max_turns=20,
)
עדכן את ה-SYSTEM_PROMPT להורות ל-Agent: "For Israeli market queries, prefer israeli_search over WebSearch". הרץ שוב. עכשיו יש לך Agent עם כלי custom שאתה בנית.
אל תממש עדיין את ה-search API האמיתי (זה תרגיל לפרק הבא). במקום זאת, ערוך את israeli_search.py והחלף את ה-stub בקוד שמחזיר 3 כותרות מובילות ידניות שאתה מכיר מהתחום שלך. הרץ את ה-Agent ותראה אותו משתמש בכלי. זה הצעד הראשון ל-tool custom — ההוכחה שהחיבור עובד.
Content Scheduler Agent — תכנון שבוע של פוסטים
Agent שני בפרק. המטרה שלו: לקבל נושא שבועי וקהל יעד מוגדר, ולהחזיר לוח זמנים של 7 ימים עם פוסטים מותאמים לכל פלטפורמה (LinkedIn, Instagram, Facebook). כל פוסט עם טקסט בעברית שמותאם לטון של הפלטפורמה, רשימת hashtag-ים רלוונטיים, והצעת תמונה שתשלים את המסר. זה אחד מה-use cases הכי שימושיים למשווקים — כי תכנון תוכן שבועי לוקח בדרך כלל חצי יום עבודה, וה-Agent יכול להקטין את זה ל-20 דקות של אישורים.
למה לא לעשות את זה עם workflow רגיל של n8n או Zapier? אפשר, אבל חסר משהו מהותי: התאמה בין-פלטפורמית. פוסט טוב ב-LinkedIn הוא לא אותו פוסט ב-Instagram. LinkedIn אוהב מקצועיות ותובנות, Instagram אוהב תמציתיות ויזואליות, Facebook אוהב סטוריטלינג ורגש. Agent חכם צריך "להבין" את הנושא ואז לנסח גרסאות שונות — לא רק לקצר טקסט. זו משימה של שיפוט, לא של תהליך מוגדר, ולכן Agent עושה זאת טוב יותר מ-workflow.
מבנה ה-Agent
כאן נשתמש ב-LangGraph במקום ב-Claude Agent SDK — כי יש לנו workflow עם human-in-the-loop: אחרי שה-Agent מייצר טיוטה, אתה רוצה לאשר/לערוך לפני שהוא עובר ל-generator של hashtag-ים. LangGraph עושה את זה טבעי.
# content_scheduler.py — LangGraph content planner with approval
from langgraph.graph import StateGraph, END
from langgraph.checkpoint.memory import MemorySaver
from langchain_anthropic import ChatAnthropic
from typing import TypedDict, List
class ContentState(TypedDict):
topic: str
audience: str
drafts: List[dict]
approved: bool
final_schedule: List[dict]
llm = ChatAnthropic(model="claude-sonnet-4-6")
def draft_posts(state: ContentState):
prompt = f"""
Topic: {state['topic']}
Audience: {state['audience']}
Create 7 social media posts (one per day) for LinkedIn + Instagram + Facebook.
Each post: platform, day, text (Hebrew), hashtags, image_prompt.
Return as JSON array.
"""
response = llm.invoke(prompt)
# parse JSON from response (simplified)
state["drafts"] = parse_json(response.content)
return state
def human_review(state: ContentState):
# LangGraph interrupt for human approval
print("Drafts ready for review:")
for d in state["drafts"]:
print(d)
approval = input("Approve all? (y/n): ")
state["approved"] = (approval.lower() == "y")
return state
def finalize(state: ContentState):
if state["approved"]:
state["final_schedule"] = state["drafts"]
return state
# Build the graph
workflow = StateGraph(ContentState)
workflow.add_node("draft", draft_posts)
workflow.add_node("review", human_review)
workflow.add_node("finalize", finalize)
workflow.set_entry_point("draft")
workflow.add_edge("draft", "review")
workflow.add_edge("review", "finalize")
workflow.add_edge("finalize", END)
app = workflow.compile(checkpointer=MemorySaver())
# Run it
initial = {
"topic": "השקת גרסה חדשה של המוצר",
"audience": "מנהלי שיווק בחברות B2B ישראליות",
"drafts": [], "approved": False, "final_schedule": []
}
result = app.invoke(initial, config={"configurable": {"thread_id": "1"}})
print(result["final_schedule"])
שים לב ל-checkpointer=MemorySaver(). זה אומר ש-LangGraph שומר את ה-state של כל ריצה — אתה יכול לחזור אחורה, לשנות צעד, ולהמשיך מאמצע. בפרודקשן תשתמש ב-PostgresSaver במקום MemorySaver כך שה-state נשמר בין session-ים. היכולת של "time-travel debugging" היא הסיבה העיקרית לבחור LangGraph למשימות ארוכות.
אל תריץ את הקוד הזה כמו שהוא (הוא דורש pip install langgraph langchain-anthropic). במקום זאת, קרא את הגרף ורשום על דף: איפה אתה היית רוצה עוד interrupt? למשל: בין "draft" ל-"review" נוסיף "enrich_with_data" שמטעין KPIs של הקמפיין הקודם כדי שה-AI יידע מה עבד. זה תרגיל חשיבה. בפרק 15 תבנה את זה בפועל.
- התקנה (5 דק'):
pip install langgraph langchain-anthropic - שכפול הקוד (3 דק'): צור
content_scheduler.pyוהעתק את הקוד מלמעלה. תקן import-ים אם צריך - התאמה למותג שלך (5 דק'): ערוך את
initialעם נושא אמיתי לשבוע הבא שלך והקהל שלך - הרצה ראשונה (5 דק'): הרץ. בסמל האישור תקבל את ה-drafts. קרא. האם הם שימושיים?
- הוספת קריטריון (5 דק'): ערוך את ה-prompt ב-
draft_postsוהוסף: "Each post must include a specific, measurable CTA". הרץ שוב והשווה - שמירה לדיסק (2 דק'): הוסף בסוף
finalizeשורה שכותבת אתfinal_scheduleלקובץweekly-schedule.json
תוצר: content_scheduler.py שעובד + weekly-schedule.json עם 21 פוסטים אמיתיים (7 ימים × 3 פלטפורמות) שאושרו ידנית על ידיך. זה התוצר שתשתמש בו השבוע הבא.
Customer-Success Agent — קריאת טיקטים ותגובות
Agent שלישי ומשימה שלישית. הפעם נשתמש ב-Claude Agent SDK (כי זה Agent יחיד, לא צוות) עם זיכרון ארוך-טווח. המטרה: לקרוא את כל הטיקטים של השבוע (מ-CSV, מ-Intercom, או מ-Zendesk), לזהות דפוסים, ולנסח תגובות בסגנון המותג שלך. מה שמייחד את ה-Agent הזה ביחס לשני הראשונים: הוא עובד על טקסט אנושי לא מובנה. לקוחות כותבים ביד, לפעמים עם שגיאות כתיב, לפעמים עם אימוג'ים, לפעמים בתסכול. ה-Agent צריך להבין את הכוונה, לא רק את המילים.
שלושה כללים חשובים ליישום Customer-Success Agent: (1) Draft-only בחודש הראשון — אל תעז להפעיל auto-send עד שראית לפחות 100 תגובות ידנית ואישרת שהן טובות. (2) Brand tone קריטי — ה-Agent הזה מדבר בשמך. אם הטון לא נכון, לקוחות ירגישו. הקדש זמן לכתיבת BRAND_TONE מדויק. (3) Escalation חובה — קבע רף ברור: תלונות קשות, בקשות החזר מעל סכום מסוים, שמות של לקוחות VIP — כל אלה תמיד עוברים לאדם. אל תנסה לחסוך בזה.
קוד בסיסי
# customer_agent.py — Customer-Success Agent with memory
import asyncio, csv
from claude_agent_sdk import query, ClaudeAgentOptions
BRAND_TONE = """
Brand: [YourBrand]
Tone: warm, direct, Israeli. No corporate-speak.
Use "את/אתה" (not "כבוד הלקוח").
Apologize sincerely when we're at fault. Never defensive.
Always offer a concrete next step.
Max 4 lines per response.
"""
SYSTEM_PROMPT = f"""
You are the Customer-Success Agent for [YourBrand].
Read incoming support tickets and draft response suggestions.
{BRAND_TONE}
For each ticket: (1) classify urgency (high/medium/low),
(2) identify category, (3) draft a response in Hebrew,
(4) flag if escalation to human is needed.
Output: JSON array with fields ticket_id, urgency, category, draft, escalate.
"""
options = ClaudeAgentOptions(
system_prompt=SYSTEM_PROMPT,
model="claude-sonnet-4-6",
allowed_tools=["Read", "Write"],
permission_mode="acceptEdits",
max_turns=15,
)
async def process_tickets(csv_path: str):
# load tickets
with open(csv_path) as f:
tickets = list(csv.DictReader(f))
task = f"Here are {len(tickets)} tickets: {tickets}\n\nProcess them per the rules."
async for msg in query(prompt=task, options=options):
if hasattr(msg, "content"):
for b in msg.content:
if hasattr(b, "text"):
print(b.text)
if __name__ == "__main__":
asyncio.run(process_tickets("tickets.csv"))
קובץ tickets.csv לדוגמה
ticket_id,customer_name,subject,body
T1001,דנה לוי,"בעיה בחיוב","חויבתי פעמיים החודש, תוכלו לבדוק?"
T1002,יוסי כהן,"תודה","רק רציתי להגיד שהמוצר מעולה"
T1003,מיכל שטרן,"המוצר לא עובד","קניתי לפני שבוע וזה לא מתחבר לוויפי"
שים לב שה-Agent מטייט תגובה אבל לא שולח אותה. הוא מחזיר JSON שאת/ה או נציג אנושי בודק/ת לפני שליחה. זה המודל הנכון לתחילת דרך. אחרי חודשיים של בדיקה — אתה יכול להפעיל auto-send על טיקטים low-urgency שהסיווג שלהם היה צודק ב-95% מהמקרים. לעולם לא על high-urgency.
אל תפעיל את ה-Agent במוד "שולח בעצמו" בשבוע הראשון. LLMs בסביבה חדשה טועים 5-15% מהמקרים — ובסיווג לקוי זה הורס מערכת יחסים עם לקוח בשנייה. תמיד התחל במצב draft-only. בדוק 100 טיקטים ידנית. אם הדיוק מעל 95% — עבור ל-auto-send רק על low-urgency. high-urgency תמיד אנושי.
- צור tickets.csv (5 דק'): הכנס 10 טיקטים אמיתיים מהמערכת שלך (ערוך שמות וסכומים לפרטיות)
- ערוך BRAND_TONE (3 דק'): התאם את הטון לחלוטין למותג שלך. אם יש לך brand guidelines — העתק משם
- הרצה ראשונה (4 דק'): הרץ והסתכל על ה-drafts
- דירוג ידני (5 דק'): לכל טיוטה רשום ציון 1-5 לפי: האם הטון נכון? האם הצעד המעשי טוב? האם הייתי שולח/ת כפי שהוא?
- תיקון הפרומפט (3 דק'): קח את 3 המקרים עם הציון הנמוך וחדש את ה-SYSTEM_PROMPT עם כלל ספציפי שמתקן אותם
תוצר: customer_agent.py מותאם לטון שלך + טבלת ציונים עם 10 טיקטים + גרסה 2 של הפרומפט שממקסמת את הציונים. שמור את התיעוד ב-customer-agent-tuning.md.
בטיחות, הרשאות ועלויות — לפני שמריצים לבד
Agent שרץ ללא גבולות הוא סכנה. לא בגלל ש-Claude זדוני — אלא כי LLMs טועים, ו-Agent שיכול לכתוב קבצים + לגשת לאינטרנט + לקרוא ל-APIs יכול לבצע טעות יקרה במהירות. הפרק הזה הוא רשימת ההגנות שאתה חייב להגדיר לפני שאתה משאיר Agent לרוץ בלילה.
שכבות בטיחות של Claude Agent SDK
| שכבה | מה היא חוסמת | כיצד מגדירים |
|---|---|---|
| allowed_tools | אילו tools ה-Agent יכול להפעיל | רשימה מפורשת, תמיד. לעולם אל תשאיר ריק |
| permission_mode | האם SDK שואל לפני כל פעולה | default (שואל) / acceptEdits (מאשר עריכות) / bypassPermissions (מסוכן) |
| max_turns | מגביל מספר איטרציות בלולאה | 10-20 לרוב המשימות. מונע לולאה אינסופית |
| cwd | תיקיית העבודה — ה-Agent לא יוצא ממנה | תיקיה ייעודית sandbox |
| Spending limits (Console) | מגביל חיוב חודשי | console.anthropic.com → Usage → Limits. תמיד קבע CAP |
חישוב עלות חודשית — דוגמה
עלות בסיסית של Claude Sonnet 4.6 (נכון לתחילת 2026): $3 / 1M input tokens, $15 / 1M output tokens. כל ריצת Agent טיפוסית משתמשת ב:
- Input: ~5,000-15,000 tokens (system prompt + context + tool results)
- Output: ~2,000-5,000 tokens (reasoning + final answer)
- עלות בודדת: ~$0.05-0.12
Research Agent (5 פעמים בשבוע): 20 ריצות × $0.08 = $1.60/חודש
Content Scheduler (פעם בשבוע): 4 ריצות × $0.15 = $0.60/חודש
Customer-Success (500 טיקטים/חודש): 500 × $0.02 = $10/חודש
סה"כ צוות שלושה Agents: כ-$12-15/חודש (45-55 ש"ח)
בהשוואה: שעת עבודה של משווק ישראלי = 150-300 ש"ח. כל Agent חוסך שעתיים שבועיות = 1,200-2,400 ש"ח/חודש. ROI של פי 20-40.
Agent בלולאה אינסופית, או Agent שסרק 200 URLs בטעות, יכול לשרוף $50-100 בלילה אחד. לפני שאתה מפעיל כל Agent ב-cron או ב-scheduler, היכנס ל-Anthropic Console → Usage → Monthly Spending Limit והגדר תקרה נוקשה (למשל $30). אפילו אם אתה חושב שתוציא $5. זו רשת הביטחון שלך.
היכנס עכשיו ל-console.anthropic.com → Settings → Usage Limits. קבע Monthly Spending Limit של $30 (או סכום נוח לך). לחץ Save. זה צעד של 30 שניות שחוסך כאב ראש ענקי. אחרי הגדרה — רשום בקובץ שלך: "Spending cap set to $30/month, reviewed [תאריך]".
ערוך את research_agent.py שלך. ודא שכל שלושת המשתנים האלה מוגדרים: allowed_tools=[...] (לא ריק), max_turns=20 (לא גבוה יותר), permission_mode="acceptEdits" (לא bypassPermissions). שמור. זה ה-minimum viable safety.
Multi-agent orchestration — מתי להוסיף Agent שני
אחרי שבנית Agent אחד ונוח לך איתו — השלב הבא הוא צוות. המלצה פרקטית: אל תעבור ל-multi-agent עד שיש לך Agent אחד שעובד שבועיים רצוף בלי התערבות. זו לא המלצה שרירותית — זו תוצאה של ניסיון. משווקים שממהרים לבנות "צוות של 5 Agents" ביום הראשון מגלים שהם לא יכולים לאבחן מי מהם שגה כשיש בעיה, ושהעלות מטפסת פי 5 במקום פי 1.5. התחל באחד, תבין את הבעיות שלו, תקן אותן, ורק אז הוסף שני.
דפוסים לצוותי Agents שכדאי להכיר: (1) Pipeline — Agent A → B → C, כל אחד עושה צעד ומעביר. פשוט ואמין. (2) Hub and spoke — Orchestrator מרכזי שמחלק משימות ל-Agents מומחים ומאחד תוצאות. זו הגישה של Claude Agent SDK עם Task tool. (3) Peer review — Agent A כותב, Agent B בודק, Agent C מאשר. מצוין לאיכות אבל יקר. (4) Hierarchical — Manager Agent מתכנן, ו-Worker Agents מבצעים. הכי חזק אבל דורש LangGraph.
ל-OpenAI Agents SDK יש מודל "handoffs" שעושה את זה נקי — Agent אחד מעביר את העבודה לשני כשהוא רואה שהמשימה מחוץ לתחומו. LangGraph עושה את זה עם nodes מפורשים. Claude Agent SDK עושה את זה עם subagents (Task tool) — ה-Agent הראשי יכול להפעיל subagent עם system prompt שונה ולקבל תוצאה מרוכזת.
Observability — איך רואים מה ה-Agent באמת עושה
Agent שרץ ב-production הוא black box אלא אם אתה מוסיף שכבת observability. שלוש אפשרויות ב-2026:
- LangSmith (LangChain) — הכלי הבשל ביותר. מראה traces מלאים של כל קריאה, tokens, latency, ותוצאות של כל tool call. $39/חודש לתוכנית Team. עובד גם עם Claude Agent SDK וגם עם LangGraph
- Anthropic Console Traces — בנוי ל-Claude Agent SDK. חינמי, מספיק להתחלה. חסר features מתקדמים
- OpenTelemetry + Honeycomb — למי שרוצה לבנות מערכת monitoring מאוחדת עם שאר התשתית. מורכב יותר אבל הכי גמיש
המלצה למשווקים: התחל עם Anthropic Console Traces (חינם), ואחרי חודש-חודשיים כשיש לך נפח אמיתי, שדרג ל-LangSmith. אל תחכה עם זה עד שיש בעיה — בלי traces, אבחון בעיה ב-Agent לוקח שעות במקום דקות.
היכנס ל-console.anthropic.com ובחר בתפריט "Traces" (או "Logs" לפי הגרסה). ודא שההרצה שהרצת של Research Agent מופיעה שם. אם לא — ה-tracing לא מופעל, והיא תהיה מושבתת לגבי כל debugging עתידי. זו ה-safety net שלך.
מקרי בוחן מייצגים — איך Agents משמשים בתעשייה
הדוגמאות הבאות הן מורכבות מ-use cases שכיחים בתעשייה ב-2026. פרטים מספריים מייצגים ממוצע של דיווחי משתמשים ויכולים להשתנות משמעותית לפי היקף, שוק, ואיכות היישום.
דוגמה 1 — סטארטאפ B2B SaaS ישראלי: צוות שיווק של 3 אנשים הפעיל Research Agent שבועי שסורק 10 מתחרים. לפני ה-Agent, זה היה לוקח 4-6 שעות של עובד ידני בשבוע. אחרי — 20 דקות בחינת דוח. חיסכון: כ-20 שעות לחודש = 3,000-6,000 ש"ח. עלות ה-Agent: $8-12/חודש. ROI: פי 40.
דוגמה 2 — חנות אונליין לתחום ה-beauty: הפעילו Customer-Success Agent שעונה ל-60% מהטיקטים ב-draft mode. נציגים אנושיים מאשרים ושולחים. זמן תגובה ממוצע ירד מ-4 שעות ל-22 דקות. שביעות רצון לקוחות עלתה ב-18%. עלות: ~$40/חודש ל-2,000 טיקטים. חיסכון מוערך: 1.5 משרת נציג חלקית.
דוגמה 3 — סוכנות שיווק דיגיטלית: בנתה Content Scheduler Agent שמכין 5 לוחות שבועיים מקבילים עבור 5 לקוחות שונים. כל Agent עם brand guidelines נפרד. העלות הכוללת: $25/חודש. החיסכון: Content Manager עבר מ-80% זמן על תכנון ל-80% על אסטרטגיה, והסוכנות יכולה עכשיו לנהל 7 לקוחות במקום 5 עם אותו מספר אנשים.
דוגמה 4 — יבואן מוצרי טכנולוגיה: בנה Pipeline Agent שלוקח RSS feeds של יצרני מותגים בחו"ל, מתרגם עדכונים לעברית, ומפרסם ב-LinkedIn של החברה. אוטונומי לחלוטין (עם spending cap של $20). התוצאה: 40 פוסטים חודשיים בלי מגע יד אדם. Engagement ממוצע דומה לפוסטים ידניים.
מה הדוגמאות מלמדות: (א) ROI מטורף כמעט תמיד, במיוחד על משימות שהיו לוקחות שעות אנושיות. (ב) מתחילים עם draft mode, לא auto-send. (ג) spending cap חיוני. (ד) תחזוקה שבועית קצרה אבל חובה.
שגרת עבודה ו-Work Routine
Agent שלא מתוחזק הופך לזבל תוך חודש. ה-SDKs מתפתחים, המודלים משתפרים, וה-prompts שעבדו באוגוסט לא בהכרח עובדים בנובמבר. להלן שגרת עבודה שמחזיקה צוות Agents בחיים:
יומי (1-3 משימות, 10-15 דקות)
- בוקר — בדיקת logs (5 דק'): עבור על
research-agent-log.mdו-customer-agent-log.md. יש שגיאות? יש אזהרות? - בדיקת spending (2 דק'):
console.anthropic.com— כמה הוצאת אתמול? האם בתוואי החודשי? - אישור tickets ב-drafts (5-10 דק'): עבור על ה-drafts של Customer-Success Agent, תקן/אשר, שלח
שבועי (3-5 משימות, 60-90 דקות)
- הרצת Research Agent (15 דק'): סריקת מתחרים שבועית. קרא את הדוח, דלה תובנות ליומן
- הרצת Content Scheduler (20 דק'): ייצר את לוח השבוע, אשר, שמור ב-Buffer/Hootsuite
- בדיקת דיוק (15 דק'): דגום 10 טיוטות של Customer Agent. מה אחוז הדיוק? השתפר או ירד?
- עדכון prompts (15 דק'): אם הדיוק ירד — תקן את ה-SYSTEM_PROMPT
- סקירת יוטפוט (15 דק'): עבור על הלוג של כל ה-Agents. יש patterns חוזרים? יש כלי חדש שצריך להוסיף?
חודשי (2-4 משימות, 2-3 שעות)
- עדכון SDK (30 דק'):
pip install -U claude-agent-sdk langgraph. קרא changelog. האם יש breaking changes? - Cost review (30 דק'): חישוב עלות חודשי מדויק. האם ב-ROI? האם צריך לשנות מודל (Sonnet → Haiku לחסכון)?
- Agent חדש (60-90 דק'): הוסף Agent חדש אחד. לא יותר. תן לו שבוע של בדיקה לפני הוספת הבא
- Prompt Library update (30 דק'): שמור גרסאות של ה-prompts הטובים ביותר ב-
prompts/. גיט
פתח את Google Calendar. הוסף שני אירועים חוזרים: (1) "Agent daily check — 5 דקות" בכל יום ב-09:00, (2) "Agent weekly review — 60 דקות" בכל יום ראשון ב-10:00. קבע תזכורות. ללא שגרה — כל הפרק הזה הופך לתיאוריה תוך שבועיים.
סיכום וצ'קליסט
בנית מערכת אמיתית של Agents שיווקיים. לא "בוטים" — Agents שמחליטים, משתמשים בכלים, זוכרים, ומחזירים תוצרים. הגעת לרמה שרוב המשווקים בישראל עוד לא הגיעו אליה. עובדה זו לבדה היא יתרון תחרותי משמעותי — אתה עכשיו יכול לעשות ביום מה שלצוות הצמוד אליך ייקח שבוע. הפרק הבא יארגן הכל לתוכנית פעולה של 90 יום — מתי להפעיל מה, באיזה סדר, ועם אילו מדדים כך שתוכל להציג את ההשפעה של Agents להנהלה בצורה מקצועית.
שלוש טעויות שראיתי שיווקאים עושים אחרי פרק כזה
טעות #1 — "אני אבנה 10 Agents השבוע": התלהבות טבעית אחרי שרואים את הראשון עובד, אבל קטסטרופלית לתחזוקה. בחודש הראשון תבנה Agent אחד ותפעיל אותו. בחודש השני תוסיף Agent שני רק אחרי שהראשון רץ שבועיים בלי התערבות. בחודש השלישי — שלישי. זה הקצב הבריא. שיווקאים שממהרים יותר מזה מגיעים לנקודה שבה אף Agent לא עובד טוב כי אין זמן לתחזק את כולם.
טעות #2 — "LLMs יחליפו את האינטואיציה שלי": LLMs יודעים לעבד כמויות עצומות של מידע ולזהות דפוסים, אבל אין להם גישה להקשר העסקי הפנימי שלך — למה הלקוח הזה מיוחד, מה ההבטחה האמיתית של המותג, מה המדיניות ברגעי משבר. ה-Agent צריך להיות מגביר של השיפוט שלך, לא תחליף. תמיד השאר נקודות של שיפוט אנושי, במיוחד במצבים חדשים או רגישים.
טעות #3 — "חסכתי שעות, אבל איך אני מוכיח את זה?": בלי מדידה, החיסכון לא קיים בעיני ההנהלה. מה-הרגע הראשון — מדוד 3 מטריקות: (א) שעות אנושיות שחסכת לכל Agent לשבוע, (ב) עלות Agent לחודש בשקלים, (ג) יחס ROI (חיסכון בש"ח ÷ עלות בש"ח). רשום את זה בגיליון, הצג להנהלה כל חודש. זו הדרך היחידה לקבל אישור לפרויקטים גדולים יותר.
הדבר האחרון שאני רוצה להגיד: Agents הם לא מטרה — הם כלי. המטרה היא שיווק טוב יותר: מסרים מדויקים יותר לקהלים רלוונטיים יותר בזמנים נכונים יותר. אם Agent עוזר לך להגיע לשם — מעולה. אם Agent הופך למטרה בפני עצמה ואתה מוצא את עצמך מתחזק טכנולוגיה במקום ליצור ערך ללקוחות — עצור, קח צעד אחורה, ותשאל את עצמך מה באמת מזיז את המחט. Agents הם מכפיל כוח. מי שידע להשתמש בהם נכון — מכפיל תוצאות. מי שיתפתה בצד הטכנולוגי לבד — מבזבז זמן.
הרץ את ה-Research Agent על המותג שלך. זה הכל. לא להסתבך עם LangGraph, לא להוסיף עוד tool, לא לבנות multi-agent. רק לקחת את 80 השורות של research_agent.py, להכניס את ה-API key, ולהריץ פעם אחת עם שם המותג שלך. זה לוקח 30 דקות כולל התקנה. כשתקבל את הדוח — תבין למה כל השאר שווה את המאמץ.
- למה Agent שונה מ-workflow? (רמז: דינמיות, החלטה, לולאה)
- מהם 4 המרכיבים של כל Agent? (רמז: Goal, Tools, Loop, Memory)
- מתי תבחר Claude Agent SDK ומתי LangGraph? (רמז: single agent vs human-in-the-loop workflow)
- מה זה MCP ולמה הוא חשוב? (רמז: USB-C, standard, tools ו-resources)
- מה 3 שכבות הבטיחות החיוניות ב-Claude Agent SDK? (רמז: allowed_tools, permission_mode, max_turns)
- כמה עולה להפעיל Research Agent פעם בשבוע? (רמז: $0.05-0.15 לריצה)
- למה אל תפעיל Customer-Success Agent במוד auto-send מיום 1? (רמז: דיוק 85-95%, נזק ליחסי לקוחות)
אם ענית על 5 מתוך 7 — עברת. אם על 7 מתוך 7 — תעביר את הפרק הזה לחבר.
הפרק הזה סימן את המעבר שלך מ"משתמש ב-AI" ל-"בונה עם AI". התחלנו בהבנה למה Agents שונים מ-workflows — הם דינמיים, מחליטים בלולאה, משתמשים בכלים, וזוכרים מצב. סקרנו את שלושת ה-SDKs המרכזיים של 2026: Claude Agent SDK (הבחירה הראשית למשווקים — native MCP, עברית מצוינת, תמחור הוגן), OpenAI Agents SDK (handoffs ומודל voice), ו-LangGraph (workflows עם human-in-the-loop ו-time-travel debugging).
הלב של הפרק היה בנייה בפועל. דפלויית Research Agent של 80 שורות שסורק מתחרים ומייצר דוח. הוספת MCP tool custom בשם israeli_search לחיפוש ממוקד. בנית שלד ל-Content Scheduler Agent עם LangGraph שכולל נקודת אישור אנושית. ודיברנו על Customer-Success Agent עם זיכרון טון מותג וטיוטות שמוחזרות לבדיקה אנושית.
הסיום חשוב במיוחד: בטיחות ועלויות. ה-SDK נותן לך שלוש שכבות הגנה — allowed_tools, permission_mode, max_turns — ועוד שכבה חיצונית ב-Anthropic Console: spending limits. בלי אלה, Agent אוטונומי הוא סכנה פיננסית. עם אלה, הוא מכפיל כוח של פי 20-40 ROI. קבענו גם שגרת עבודה יומית (logs, spending, tickets), שבועית (הרצות, דיוק, עדכוני prompt), וחודשית (SDK update, cost review, Agent חדש).
בפרק הבא (15): האריזה הסופית. נבנה Playbook של 90 יום שמשלב את כל מה שלמדת — אוטומציות דטרמיניסטיות מפרק 13 + Agents מפרק 14 + כל הכלים מהפרקים הקודמים — לתוכנית פעולה סדורה: מה להתקין בשבוע 1, מה למדוד בחודש 2, ואיך להציג תוצאות להנהלה בחודש 3. זמן משוער: 45-60 דקות קריאה, אבל 90 ימי יישום.
- ☐ התקנתי Python 3.10+ ויצרתי venv ל-
marketing-agents - ☐ יצרתי API key ב-Anthropic Console והגדרתי
ANTHROPIC_API_KEY - ☐ הגדרתי Monthly Spending Limit של $30 (או סכום אחר) ב-Console
- ☐ התקנתי
claude-agent-sdkו-anthropic - ☐ כתבתי ושמרתי
research_agent.pyעם כל שכבות הבטיחות (allowed_tools, permission_mode, max_turns) - ☐ הרצתי את Research Agent לפחות פעם אחת עם המותג שלי וקראתי את
competitors-report.md - ☐ בניתי MCP tool אחד לפחות (
israeli_search.pyאו שלי) וחיברתי ל-Agent - ☐ יצרתי שלד ל-Content Scheduler Agent עם LangGraph (גם אם עוד לא הרצתי)
- ☐ יצרתי שלד ל-Customer-Success Agent עם BRAND_TONE משלי
- ☐ תיעדתי את המסגרת: Claude Agent SDK vs OpenAI vs LangGraph ב-
tech-stack-2026.md - ☐ חישבתי עלות חודשית צפויה של הצוות
- ☐ הוספתי ל-Google Calendar שני אירועים חוזרים: daily check + weekly review
- ☐ שמרתי לוג של כל הרצה ב-
research-agent-log.md