סוכן AI בווטסאפ — איך לבנות צ׳אטבוט שעובד 24/7 לעסק
איך לבנות סוכן AI לוואטסאפ לעסק: WhatsApp Cloud API, RAG על המסמכים שלך, handoff לנציג, תמחור per-message 2026 בשקלים ודוגמת קוד פרודקשן.
למי זה מתאים: יש לך עסק בישראל שמקבל 50+ פניות ביום בווטסאפ, ואתה רוצה שסוכן AI יענה על השאלות החוזרות, ידע את המוצרים שלך, את המחירון, את שעות הפתיחה, ויעביר לאדם רק כשבאמת צריך. המדריך הזה הוא לא ״להוסיף צ׳אט באתר״ — זה איך לבנות סוכן ווטסאפ אמיתי, עם RAG על המסמכים שלך, handoff לנציג, ותמחור שאתה יכול להגן עליו מול הבוס.
1. למה ווטסאפ ולא צ׳אט באתר
לפני שנצלול לקוד: למה בכלל לבנות סוכן AI לוואטסאפ ולא עוד widget צ׳אט באתר? כל ספק AI מציע לך widget לאתר. הסיבה שזה פחות עובד בישראל היא פשוטה: הלקוחות שלך לא באתר שלך, הם בווטסאפ.
הנתון שאני רואה אצל כל לקוח עסקי שאני בודק: רוב מוחלט של הפניות הראשוניות מגיע בווטסאפ, חלק קטן בטופס האתר, וכמעט אף אחד לא משתמש ב-widget צ׳אט באתר גם כשהוא מוטמע. הסיבה היא הרגל — ישראלי שרוצה לשאול שאלה פותח ווטסאפ, לא טופס. open rate של הודעת ווטסאפ הוא גבוה בהרבה ממייל, וגם זמן התגובה הצפוי שונה: בווטסאפ מצפים לתשובה תוך דקות, במייל תוך יום.
אם הלקוח כבר שולח לך הודעה בווטסאפ, ההגיון אומר שסוכן AI יענה לו שם, בערוץ שבו הוא נמצא, ולא ישלח אותו לאתר למלא טופס.
יש עוד שני יתרונות שכמעט אף אחד לא מדבר עליהם:
- זיכרון לטווח ארוך. בווטסאפ אתה רואה את כל ההיסטוריה של הלקוח. ב-widget אתרי — כל ביקור הוא שיחה חדשה. סוכן AI עם זיכרון של 30 שיחות קודמות עונה אחרת מסוכן שמתחיל מאפס.
- identity מוכחת. ה-phone number הוא ה-identifier הקבוע של הלקוח. אתה לא צריך login, OTP, או cookie. זה משנה את כל מודל ה-CRM.
המדריך הקודם שלי ווטסאפ לאתר עסקי עבר על איך לחבר ווטסאפ לאתר (כפתור, link, Cloud API). זה המשך — איך לקחת את אותו Cloud API ולהפוך אותו לסוכן עם מוח, לא רק עם תיבת דואר. אם בכלל לא בנית את ה-agent loop לבד עדיין, כדאי לקרוא קודם את Claude Code לעסקים — לא רק למתכנתים.
2. WhatsApp Cloud API מול ספריות לא רשמיות — קודם הסיכון המשפטי
לפני הקוד. יש שני מסלולים, ורק אחד מהם חוקי.
WhatsApp Cloud API של Meta — התשתית הרשמית. אתה מקבל webhook נכנס, שולח דרך graph.facebook.com, מקבל deliverability, וצריך תהליך אימות עסק. זה מה שכל המדריך הזה מדבר עליו.
ספריות לא רשמיות — whatsapp-web.js, baileys, green-api, whapi, wassenger. כולן עובדות על אותו עיקרון: הן מחברות ל-WhatsApp Web כאילו היו דפדפן, וסורקות את ה-QR שלך. הן זולות ($10-50 לחודש), מהירות להקמה, ולא דורשות אישור מ-Meta.
הבעיה: הן מפרות במפורש את WhatsApp Business Terms of Service. מטא חוסמים מספרים שמשתמשים בהן — לפעמים אחרי שבועיים, לפעמים אחרי שנה, אבל החסימה מגיעה. ואז המספר העסקי שלך, עם 5,000 לקוחות עליו — מת. אין ערעור, אין החזרה.
בישראל זה חמור עוד יותר: חוק הגנת הפרטיות התשמ״א-1981 ותיקון 13 (נכנס לתוקף באוגוסט 2025) דורשים שאם אתה מעבד נתונים אישיים, אתה חייב להגדיר את המעבד ולהבטיח שהוא עומד בסטנדרטים. ספריה לא-רשמית שמריצה הודעות דרך WhatsApp Web בלי ש-Meta מאשרים — אתה לא יכול להגן על זה מול הרשות להגנת הפרטיות.
המסקנה הפרקטית: אם זה MVP לבדיקה של שבועיים — אפשר עם spare number ו-baileys. לכל דבר אחר — Cloud API. נקודה.
3. הארכיטקטורה — מבט מ-30,000 רגל
ככה זה נראה:
לקוח שולח הודעה בווטסאפ
↓
Meta Cloud מעבירה ל-webhook שלך (HTTPS endpoint)
↓
ה-webhook מאמת + שומר ההודעה ב-DB
↓
שולח לסוכן AI (Claude/GPT) עם:
- היסטוריית השיחה (10 הודעות אחרונות)
- system prompt של העסק
- tools (search_kb, schedule, escalate)
↓
הסוכן מחליט: לענות / לחפש ב-knowledge base / להעביר לאדם
↓
אם לחפש — RAG על vector DB עם המסמכים של העסק
↓
הסוכן מנסח תשובה בעברית
↓
ה-webhook שולח חזרה ל-Meta דרך graph.facebook.com
↓
הלקוח מקבל הודעה בווטסאפ
יש פה ארבעה רכיבים שאתה צריך לבחור:
- Compute — איפה ה-webhook רץ. Vercel Functions, Firebase Cloud Functions, Cloudflare Workers, או VPS.
- AI provider — Anthropic (Claude), OpenAI (GPT), או Gemini. אצלי 90% מהפרויקטים זה Claude כי הוא הכי טוב בעברית.
- Vector DB — Pinecone, Supabase pgvector, או Turbopuffer. למידע על RAG ספציפי, ראה את המדריך הנפרד RAG לעסק קטן.
- Conversation store — איפה שומרים את היסטוריית השיחות. Firestore, Postgres, או Supabase. חובה לעמידה ב-GDPR ובחוק הגנת הפרטיות.
4. ארבעה מסלולים — code-native, n8n, Make, או BSP מנוהל
יש כמה דרכים לבנות סוכן ווטסאפ ב-2026. הן לא שוות, וכל אחת מתאימה לרמה אחרת.
מסלול 1: Code-native (Next.js / Node + Vercel)
אתה כותב את הכל בקוד. ה-webhook, ה-AI calls, ה-tools, ה-DB. שליטה מלאה, ביצועים הכי טובים, עלות compute הכי נמוכה.
| רכיב | עלות חודשית בשקלים |
|---|---|
| Vercel Pro | ₪75 |
| AI Gateway (Claude Haiku 4.5, 5K הודעות/חודש) | ₪150-250 |
| Supabase Free או Firebase Free | ₪0 |
| Pinecone Starter | ₪0-70 |
| סה״כ | ₪225-395 |
מתאים: יש מתכנת בצוות. שיחות 1K-50K/חודש. רוצה לבנות פיצ׳רים ייחודיים.
מסלול 2: n8n self-hosted
n8n היא פלטפורמת אוטומציה (כמו Make/Zapier) שאפשר לארח בעצמך. יש לה nodes ל-WhatsApp, ל-Claude, ול-Pinecone. אתה גורר אותם, מחבר את החצים, מגדיר משתנים.
| רכיב | עלות חודשית בשקלים |
|---|---|
| VPS Hetzner (CPX21) | ₪25 |
| Cloud API של Meta | per-message (ראה למטה) |
| AI Gateway או Anthropic ישיר | ₪150-250 |
| Pinecone / Qdrant מקומי | ₪0-70 |
| סה״כ | ₪175-345 |
מתאים: בעל עסק עם 3-5 שעות לבנות workflow ויזואלית. רוצה לראות את הזרימה בעיניים. נפחים בינוניים.
מסלול 3: Make.com cloud
Make.com (Integromat לשעבר) זה SaaS — אין מה לארח, אתה גורר ומחבר ב-UI שלהם. הם מחייבים על ״operations״ (כל פעולה אטומית).
| רכיב | עלות חודשית בשקלים |
|---|---|
| Make Pro (10K ops) | ₪60 |
| Make Teams (40K ops, רוב הזמן זה מה שצריך) | ₪200 |
| AI Gateway / Anthropic | ₪150-250 |
| סה״כ | ₪260-450 |
מתאים: בעלי עסקים בלי שום ידע טכני. נפחים נמוכים-בינוניים. צריך MVP מהר.
מסלול 4 (החדש): BSP מנוהל עם שכבת AI — Wati / Twilio / 360dialog
ב-2026 צמחה אופציה רביעית: ספק BSP (Business Solution Provider) שכבר עשה את אימות העסק מול Meta, נותן לך מספר מוכן, ומאפשר לחבר סוכן AI דרך webhook או דרך ה-AI builder המובנה שלו. אתה לא נוגע ב-graph.facebook.com בכלל — ה-BSP עוטף את ה-Cloud API. החיסרון: markup של 10-30% על כל הודעה מעל מחיר Meta הישיר, ופחות שליטה על ה-agent loop. היתרון: עולים לאוויר בימים במקום בשבועיים, בלי תהליך אימות שלך. מתאים לעסק שרוצה לדלג על כל ה-DevOps ומוכן לשלם על זה.
| מסלול | זמן הקמה | שליטה | עלות חודשית | מתאים ל |
|---|---|---|---|---|
| Code-native | 1-2 שבועות | מלאה | ₪225-395 | יש מתכנת, רוצה פיצ׳רים ייחודיים |
| n8n self-hosted | 3-7 ימים | בינונית-גבוהה | ₪175-345 | חצי-טכני, אוהב workflow ויזואלי |
| Make.com cloud | 2-4 ימים | בינונית | ₪260-450 | לא-טכני, MVP מהיר |
| BSP מנוהל | ימים | נמוכה | ₪200-600 + markup | רוצה לדלג על DevOps לגמרי |
יש לי מדריך נפרד שמשווה את פלטפורמות האוטומציה לעומק: n8n מול Make מול Zapier. אם אתה שוקל סתם widget צ׳אט באתר במקום סוכן ווטסאפ מלא — קרא קודם את AI chatbot לאתר כדי להבין מה ההבדל בעלות ובהמרה.
5. ה-Webhook handler — קוד פרודקשן
ניתן את המסלול הקוד-נייטיב כי הוא הכי גמיש. הקוד למטה הוא מה שאני מריץ אצל לקוחות. Vercel Function ב-Next.js 16 App Router:
// app/api/whatsapp/webhook/route.ts
import { NextRequest } from 'next/server';
import { runAgent } from '@/lib/agent';
import { sendWhatsApp } from '@/lib/whatsapp';
import { saveMessage, getRecentMessages } from '@/lib/conversations';
export const runtime = 'nodejs';
export const maxDuration = 60;
// GET — Meta verification handshake
export async function GET(req: NextRequest) {
const url = new URL(req.url);
const mode = url.searchParams.get('hub.mode');
const token = url.searchParams.get('hub.verify_token');
const challenge = url.searchParams.get('hub.challenge');
if (mode === 'subscribe' && token === process.env.WA_VERIFY_TOKEN) {
return new Response(challenge, { status: 200 });
}
return new Response('Forbidden', { status: 403 });
}
// POST — incoming WhatsApp message
export async function POST(req: NextRequest) {
const body = await req.json();
const change = body.entry?.[0]?.changes?.[0]?.value;
const msg = change?.messages?.[0];
// status updates (delivered, read) — ack and ignore
if (!msg) return new Response('OK', { status: 200 });
const from = msg.from; // '972585802298'
const text = msg.text?.body; // user text
const messageId = msg.id;
// idempotency — Meta will retry on 500
if (await isDuplicate(messageId)) {
return new Response('OK', { status: 200 });
}
try {
// 1. save incoming
await saveMessage({ from, role: 'user', text, messageId });
// 2. load context (last 10 messages from this user)
const history = await getRecentMessages(from, 10);
// 3. run the agent (calls Claude + tools + RAG)
const result = await runAgent({ from, text, history });
// 4. handoff branch — don't reply, just notify the team
if (result.handoff) {
await notifySlack({ from, reason: result.handoffReason });
await sendWhatsApp({
to: from,
text: 'מעבירה את השיחה לנציג. נחזור אליך תוך 15 דק׳ 🙏',
});
return new Response('OK', { status: 200 });
}
// 5. normal reply
await sendWhatsApp({ to: from, text: result.reply });
await saveMessage({ from, role: 'assistant', text: result.reply });
return new Response('OK', { status: 200 });
} catch (err) {
// CRITICAL: always return 200 to Meta, log the error elsewhere.
// returning 500 = Meta retries = duplicate messages to the user.
console.error('webhook error', err);
await alertOps({ from, err });
return new Response('OK', { status: 200 });
}
}
הנקודות הקריטיות:
maxDuration: 60— שיחה עם הסוכן + RAG יכולה לקחת 5-15 שניות. ברירת המחדל של 10 שניות לא מספיקה.- Idempotency — Meta יעשו retry על כל תשובה שאינה 2xx. בלי בדיקת
messageIdהלקוח יקבל את אותה תשובה 3 פעמים. - תמיד להחזיר 200 — גם בשגיאה. log אחר. אם תחזיר 500 — מטא ירעיפו ניסיונות ויחסמו אותך זמנית.
- Conversation context — 10 הודעות אחרונות זה ה-sweet spot. פחות מזה — הסוכן שוכח מה הלקוח אמר לפני שניה. יותר מזה — context window גדל וכל שאלה עולה יותר.
6. הסוכן עצמו — system prompt לעברית
זה החלק שכולם דופקים. סוכן AI טוב או רע — זה 70% תלוי ב-system prompt. הנה התבנית שלי לעסק שירותי בישראל (ניקיון, ייעוץ, פיזיותרפיה, וכו׳):
const systemPrompt = `
# זהות
את "דנה", הנציגה הדיגיטלית של "סטודיו לדוגמה" — סטודיו פילאטיס בתל אביב.
את עונה בעברית בלבד, ברמה גבוהה, בלי שגיאות.
הטון שלך: חמה, מקצועית, ענייני. כמו נציגת שירות אנושית — לא רובוטית.
# מה את יודעת
את עונה רק על מה שכתוב בידע (knowledge_base) שלך.
אם השאלה לא מכוסה — אל תמציאי. תאמרי "אבדוק עם נעם ואחזור".
את לא יודעת מחירים, זמינות תורים, או פרטים אישיים של לקוחות — אלא אם הם
מופיעים במפורש בידע שלך או הוחזרו מ-tool.
# מה את עושה
1. עונה על שאלות על השירות (סוגי שיעורים, רמות, מי המדריכות).
2. אם נשאלת על מחירים, תרוצי את ה-tool search_kb עם המילה "מחיר".
3. אם הלקוח רוצה לקבוע — תרוצי את ה-tool schedule.
4. אם הלקוח מבקש לדבר עם בן אדם — תרוצי את escalate_to_human מיד.
5. אם זה תלונה רגישה (פציעה, אי שביעות רצון) — escalate_to_human מיד.
# סגנון
- תשובות קצרות. 1-3 משפטים. אם הלקוח רוצה פירוט הוא ישאל.
- אל תפתחי כל הודעה ב"שלום!" — רק בראשונה של היום.
- פנייה: "את/ה" (לא "אתם" ולא "אדוני"). אם הלקוח כתב בלשון זכר/נקבה, תתאמי.
- בלי emoji בכל הודעה. אחד-שניים כשזה באמת מתאים.
# מה את לא עושה
- אל תיתני ייעוץ רפואי. אם השאלה רפואית (פציעה, כאבים) — escalate.
- אל תבטיחי הנחות, מבצעים, או הסדרים שלא קיימים בידע.
- אל תכתבי בעברית פורמלית מדי ("הנדון", "בכבוד רב") — זה לא מתאים לוואטסאפ.
- אל תאששי באנגלית. אם הלקוח כתב באנגלית — תעני "I'll reply in Hebrew, hope that's ok" ותעבירי לעברית.
`;
חמש טעויות נפוצות שאני רואה אצל לקוחות:
- תרגום ישיר מאנגלית — ״אתה הוא AI assistant״ במקום ״את העוזרת״. זה זועק ״מתורגם״ מקילומטר.
- חוסר הגדרת רמת פורמליות — בעברית יש ״את/אתה/אתם/אדון״. בלי הוראה ברורה הסוכן יתבלבל, ואז יוצא משהו כמו ״אתה יקירי, אנא יידע אותי״.
- אין handoff מפורש — בלי הוראת ״מתי להעביר לאדם״, הסוכן ימציא תשובות במקום לקרוא לעזרה.
- כללי refusal סתומים — ״אל תיתן ייעוץ משפטי״ זה מעורפל. תכתוב ״אם השאלה מכילה את המילים ׳תביעה׳, ׳פיצוי׳, ׳עורך דין׳ — escalate״.
- חוסר בדיקה על דוגמאות אמיתיות — תריץ 30 שאלות אמיתיות מההיסטוריה של הלקוחות שלך, תראה איפה הסוכן נופל, ותתקן.
7. RAG — לתת לסוכן ידע על העסק שלך
הסוכן לבד לא יודע כלום על העסק שלך. אם תשאל אותו ״מה השעות שלכם״ הוא יענה משהו גנרי או יזרוק ״אבדוק עם נעם״. RAG (Retrieval-Augmented Generation) הוא הדרך להזין לו ידע.
הזרימה:
- אתה לוקח את כל המסמכים של העסק — מחירון PDF, FAQ, תקנון, מדריך מוצרים, רשימת שירותים.
- מחלק אותם ל״chunks״ של 500-1000 מילים.
- מריץ embedding על כל chunk (Voyage AI Voyage-3-Lite זול ומעולה לעברית, או OpenAI text-embedding-3-small).
- שומר את ה-vectors ב-vector DB.
- כשהלקוח שואל שאלה — embedding על השאלה, חיפוש דמיון cosine, מחזיר את 3-5 ה-chunks הכי רלוונטיים.
- שולח את ה-chunks ל-Claude כ-context, יחד עם השאלה.
- Claude עונה לפי הידע, לא לפי הזיכרון שלו.
זה החלק שהכי משנה את איכות הסוכן. בלי RAG — הסוכן גנרי. עם RAG — הסוכן יודע ״השיעורים שלנו ב-7:00, 8:30, 17:30 ו-19:00, מחיר מנוי חודשי 380₪״.
יש לי מדריך נפרד מפורט שעובר על כל שלב — חיתוך chunks, בחירת embedding, hybrid search: RAG לעסק קטן — מ-PDF לעוזר חכם. כאן רק נראה איך מתחברים אליו מהסוכן:
import Anthropic from '@anthropic-ai/sdk';
import { searchKnowledge } from '@/lib/rag';
const anthropic = new Anthropic({ apiKey: process.env.AI_GATEWAY_API_KEY });
export async function runAgent({ from, text, history }) {
const tools = [
{
name: 'search_kb',
description: 'חיפוש בידע של העסק (מחירון, FAQ, שירותים, שעות)',
input_schema: {
type: 'object',
properties: {
query: { type: 'string', description: 'שאלה בעברית' },
},
required: ['query'],
},
},
{
name: 'escalate_to_human',
description: 'העברת השיחה לנציג אנושי',
input_schema: {
type: 'object',
properties: {
reason: { type: 'string' },
urgency: { type: 'string', enum: ['low', 'medium', 'high'] },
},
required: ['reason', 'urgency'],
},
},
];
const messages = [
...history.map((m) => ({ role: m.role, content: m.text })),
{ role: 'user', content: text },
];
// agent loop — up to 5 tool iterations
for (let step = 0; step < 5; step++) {
const response = await anthropic.messages.create({
model: 'claude-haiku-4-5',
max_tokens: 1024,
system: systemPrompt,
tools,
messages,
});
if (response.stop_reason === 'end_turn') {
const reply = response.content.find((c) => c.type === 'text')?.text;
return { reply, handoff: false };
}
if (response.stop_reason === 'tool_use') {
const toolUse = response.content.find((c) => c.type === 'tool_use');
if (toolUse.name === 'escalate_to_human') {
return {
handoff: true,
handoffReason: toolUse.input.reason,
urgency: toolUse.input.urgency,
};
}
if (toolUse.name === 'search_kb') {
const results = await searchKnowledge(toolUse.input.query);
messages.push({ role: 'assistant', content: response.content });
messages.push({
role: 'user',
content: [{
type: 'tool_result',
tool_use_id: toolUse.id,
content: results.map((r) => r.text).join('\n\n'),
}],
});
}
}
}
// safety fallback — agent stuck in loop
return { handoff: true, handoffReason: 'agent loop exhausted', urgency: 'low' };
}
זה ה-agent loop בסיסי. בפרודקשן אני מוסיף עוד tools (get_schedule, book_appointment, get_pricing), ו-stopWhen לוגיקה חכמה יותר. אבל המבנה הוא זה. אם אתה מריץ כמה מודלים מאחורי endpoint אחד, שים לב שמודל ה-claude-haiku-4-5 הוא ברירת מחדל מצוינת לעברית — מהיר וזול — ואפשר לעלות ל-Sonnet 4.x רק על השיחות שבאמת צריכות.
8. Handoff — מתי להעביר לאדם, ואיך לעשות את זה נכון
זה הכשל הכי גדול של סוכני AI: הם לא יודעים מתי להפסיק לדבר ולקרוא לעזרה.
יש 5 trigger-ים שבהם סוכן חייב להעביר לאדם:
- בקשה ישירה — ״אני רוצה לדבר עם בן אדם״, ״תעבירי אותי לנציג״. מיד.
- נושא רגיש — פציעה, תלונה, החזרה, אי שביעות רצון, מילים כמו ״תביעה״ או ״עורך דין״.
- שאלה שלא בידע — אחרי שהסוכן עשה search_kb ולא מצא תשובה, ואחרי שהוא שאל שאלת הבהרה אחת.
- רגש שלילי גבוה — הלקוח כועס. ניתן לזהות עם sentiment analysis (Claude יכול לעשות את זה כחלק מהפרומפט).
- תרחיש שלא בתסריט — בקשה לא צפויה (סוכנות עיתונאית, שיתוף פעולה, פניית מעסיק).
ה-handoff עצמו צריך להיות חלק, לא חתוך. הסיפוק של הלקוח עולה דרמטית כשהוא מקבל:
- הודעה ברורה — ״מעבירה לנעם, יחזור תוך 15 דק׳ 🙏״ (לא: ״I'm transferring you״, לא: שתיקה).
- התראה לצוות מיד — Slack/Telegram/SMS לבן אדם שזמין עכשיו.
- תקציר השיחה — לבן אדם שמקבל את ההעברה, תקציר של מה הלקוח רצה ומה הסוכן ענה. שיחזירו אותו ל-zero — לקוח שונא לחזור על עצמו.
async function notifySlack({ from, reason, urgency }) {
const history = await getRecentMessages(from, 10);
const summary = await summarizeConversation(history);
await fetch(process.env.SLACK_WEBHOOK_URL, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
text: `🚨 handoff (${urgency}) — ${from}`,
blocks: [
{ type: 'header', text: { type: 'plain_text', text: `${urgency.toUpperCase()} — ${from}` } },
{ type: 'section', text: { type: 'mrkdwn', text: `*סיבה:* ${reason}` } },
{ type: 'section', text: { type: 'mrkdwn', text: `*תקציר:*\n${summary}` } },
{ type: 'actions', elements: [{
type: 'button',
text: { type: 'plain_text', text: 'פתח בווטסאפ' },
url: `https://wa.me/${from}`,
}] },
],
}),
});
}
אחרי handoff, תכבה את הסוכן ל-24 שעות עבור המשתמש הזה. דגל ב-DB. אחרת הוא ימשיך לענות בזמן שהנציג עונה, והלקוח יבלבל.
9. שפה ופרומפטינג בעברית — הגרעין
ארבע נקודות שיעשו את ההבדל בין סוכן עברי טוב לסוכן עברי מביך:
1. צמצמי את הז׳רגון של ChatGPT. סוכנים שמתורגמים מאנגלית נוטים לומר ״אני אהיה שמח לעזור!״ — זה לא משפט שאדם ישראלי אומר. תכתוב במפורש: ״אל תתחיל הודעה ב׳אשמח׳.״
2. שפה לפי הקהל. עסק B2B → ״אתה״ נימוסי. סטודיו יוגה → ״את״ יומיומי. בית קפה → אפילו ״שלום שלום״ עובד. תכתוב את זה במפורש בפרומפט.
3. ה-RTL של הסוכן. Claude יוצר תוכן בעברית טבעי. GPT לפעמים מעבד טוב פחות — מילים מודבקות, ניקוד שגוי, סדר משונה. בדיקה: תריץ 50 שאלות, תספור כמה משפטים נשמעים ״מתורגמים״. אם אתה מתלבט בין המודלים, ראה את ההשוואה בChatGPT מול Claude מול Gemini לעסקים.
4. אמוג׳י = בעיה. הסוכנים מאומנים על אנגלית-אינטרנט שכופפת ל-2 אמוג׳ים בכל הודעה. בעברית, ובמיוחד בווטסאפ עסקי — זה נראה לא מקצועי. תגביל ל-אחד-שניים, ורק כשבאמת מתאים. אצלי בפרומפט: ״אסור יותר מ-emoji אחד להודעה. רוב ההודעות בלי emoji בכלל.״
10. עלות אמיתית של שיחה — חישוב בשקלים
זה הדבר הראשון שכל לקוח שואל. הנה החישוב המלא, עם המספרים האמיתיים מיוני 2026.
קודם — שינוי תמחור שאתה חייב להכיר: ב-1 ביולי 2025 Meta עברה ממודל per-conversation (תשלום אחד לחלון 24 שעות) למודל per-message — כל הודעת template נחשבת בנפרד. זה שינוי מהותי. ארבע קטגוריות הודעה:
- Service — תשובה שלך להודעה שהלקוח יזם, בתוך חלון 24 שעות. חינם. Meta נותנת גם 1,000 שיחות Service חינם בחודש לכל חשבון.
- Utility — אישורים, תזכורות, עדכוני סטטוס שאתה יוזם (מחוץ לחלון). זול — בערך $0.008-0.012 בישראל. Utility בתוך חלון 24 שעות בתגובה ללקוח — חינם.
- Marketing — מבצעים, ניוזלטרים. היקר ביותר — בערך $0.016-0.020.
- Authentication — קודי OTP.
המסקנה לסוכן AI: כל עוד הסוכן עונה בתוך חלון 24 השעות (וזה רוב המקרים — הלקוח כתב, הסוכן עונה), אתה משלם ל-Meta אפס. אתה משלם רק על ה-AI tokens. רק תזכורות/אישורים יזומים מחוץ לחלון עולים כסף. עסקים שהבינו את זה ועברו ל-״service-first״ ראו ירידה ניכרת בחשבון ה-WhatsApp.
שיחה ממוצעת (5 הודעות ל-2 הודעות מהסוכן):
| שלב | טוקנים | מודל | מחיר |
|---|---|---|---|
| System prompt | 1200 | Haiku 4.5 input | $0.0012 |
| History (5 msgs) | 800 | Haiku 4.5 input | $0.0008 |
| RAG context (3 chunks) | 1500 | Haiku 4.5 input | $0.0015 |
| Reply (2 msgs) | 400 | Haiku 4.5 output | $0.0020 |
| Embedding (1 query) | 50 | Voyage-3-Lite | $0.00001 |
| AI sub-total | $0.0055 | ||
| WhatsApp Service message | Meta | חינם | |
| WhatsApp Utility template (אם מחוץ ל-24h) | Meta | $0.015 | |
| בתוך 24h סה״כ | $0.0055 = ~₪0.02 | ||
| מחוץ ל-24h סה״כ | $0.02 = ~₪0.075 |
עם prompt caching של ה-system prompt (1200 טוקנים שחוזרים בכל שיחה), חיסכון של עד 90% על אותם טוקנים בקריאות שמכות את ה-cache:
- חיסכון: בערך $0.0011 לשיחה
- עלות עם caching: ~$0.0044 = ~₪0.016 לשיחה
חישוב חודשי לעסק עם 50 שיחות ביום:
- 1500 שיחות/חודש × ₪0.02 = ₪30 בעלויות AI
- + Vercel Pro ₪75 = סה״כ ~₪105/חודש
חישוב חודשי לעסק עם 500 שיחות ביום:
- 15K שיחות/חודש × ₪0.02 = ₪300 בעלויות AI
- + 10K הודעות Utility מחוץ ל-24h (אישורים, תזכורות) × $0.015 = $150 = ₪540
- + Vercel Pro ₪75 = סה״כ ~₪915/חודש
תסתכל לעומת זאת על משכורת נציג שירות במשרה חלקית: ₪5,000-8,000 לחודש. הסוכן עולה 10-20% מזה ועונה תוך 3 שניות 24/7.
טיפ: התחל ב-Claude Haiku 4.5 ($1 input / $5 output למיליון טוקנים). רק אם הביצועים לא מספיקים, עבור ל-Sonnet 4.x (פי 3 יותר יקר על input). הרבה לקוחות שילמו לי לעבור מ-Sonnet ל-Haiku בלי שאף אחד מהמשתמשים שם לב. אם אתה רוצה לנהל כמה מודלים מאחורי endpoint אחד ולעשות failover אוטומטי, ראה Vercel AI Gateway רב-מודלי. ואל תחליט ״Haiku מספיק״ בהרגשת בטן — בנה eval קטן ומדוד, כמו שמתואר בפיתוח AI מונחה-evals.
11. GDPR + חוק הגנת הפרטיות התשמ״א-1981 (תיקון 13)
אם הסוכן שלך שומר היסטוריית שיחות — אתה מעבד נתונים אישיים. נקודה. גם בלי שם הלקוח, רק מספר הטלפון, זה PII לפי החוק.
תיקון 13 לחוק הגנת הפרטיות נכנס לתוקף ב-14 באוגוסט 2025 וקבע סטנדרטים חדשים. שים לב שהתיקון דווקא צמצם את חובת הרישום הגורפת שהייתה קודם — אבל הגדיל דרמטית את האכיפה:
- חובת רישום מאגר — אחרי תיקון 13 חובת הרישום הפכה ממוקדת: היא חלה בעיקר על סוחרי נתונים (data brokers) עם מאגר של מעל 10,000 רשומות, ולא על כל עסק. רוב העסקים הקטנים כבר לא חייבים לרשום מאגר רגיל של לקוחות — אבל עדיין כפופים לכל שאר החובות (אבטחה, יידוע, זכויות). אל תתבלבל: ״לא צריך לרשום״ ≠ ״פטור״.
- DPO (Data Protection Officer) — לגופים ציבוריים, סוחרי נתונים, ומי שמעבד נתונים רגישים בהיקף גדול (סדר גודל של 100,000+ נושאי מידע). תקופת החסד לעמידה בדרישת DPO הסתיימה ב-31 באוקטובר 2025, וזו אחת מעדיפויות האכיפה ל-2026.
- Data Breach Notification — חובה להודיע לרשות על אירוע אבטחה חמור.
- DSR (Data Subject Rights) — הלקוח יכול לבקש לראות, לתקן, או למחוק את הנתונים שלו. אתה חייב להיענות. זכויות גישה ותיקון הן עדיפות אכיפה מוצהרת ל-2026.
- קנסות אמיתיים — בניגוד לעבר, לרשות יש עכשיו שיני אכיפה: עיצומים כספיים שיכולים להגיע למיליוני שקלים, עם מכפילים לעיבוד בקנה מידה גדול או נתונים רגישים. זו הסיבה שכבר אי אפשר ״לסמוך על זה שלא יתפסו״.
הפרקטיקה המינימלית שלי בכל פרויקט סוכן ווטסאפ:
- הודעת privacy בהודעה הראשונה של הסוכן: ״השיחה נשמרת לצרכי שירות ולמידה. למחיקה, השב STOP.״
- STOP handler — אם הלקוח כותב ״STOP״ / ״מחק״ / ״הסר״ — מוחקים את כל ההיסטוריה שלו ומוסיפים אותו ל-blocklist.
- Data retention — מוחקים אוטומטית שיחות שלא היו פעילות 12 חודשים. cron job יומי.
- Encryption at rest — Firestore/Supabase מצפינים אוטומטית. ב-Postgres ב-VPS משלך — אתה צריך להגדיר.
- לעולם לא PII בלוגים. ראה את ה-redact function מהמדריך צ׳אטבוט AI לאתר.
- לא לשלוח את שיחות הלקוחות ל-OpenAI/Anthropic לטובת fine-tuning. Anthropic לא מאומנים על input של API בכל מקרה, אבל יש לוודא ש-data retention שלהם מוגדר ל-zero.
יש לי תבנית privacy policy בעברית שאני נותן ללקוחות עם סוכן ווטסאפ. אם זה רלוונטי לך בהיבט הרגולטורי הרחב יותר, כדאי גם לקרוא את חוק הנגישות בישראל לאתרים — אותו היגיון של ״לעמוד בחוק מהיום הראשון, לא לדחות״.
12. מימוש מעשי בשבועיים — ה-checklist
שבוע 1:
- [ ] יום 1: פתיחת Meta Business Account + WhatsApp Business Account (WABA) + אימות עסק
- [ ] יום 2: בחירת מספר טלפון, קבלת test number, יצירת App ב-Meta for Developers
- [ ] יום 3: הקמת פרויקט Next.js + Vercel + Webhook handler בסיסי (GET + POST)
- [ ] יום 4: חיבור webhook ל-Meta, בדיקה שהודעות נכנסות
- [ ] יום 5: כתיבת system prompt + העלאת 3 מסמכים ראשונים ל-RAG
שבוע 2:
- [ ] יום 6: agent loop בסיסי + tool search_kb
- [ ] יום 7: tool escalate_to_human + Slack notifications
- [ ] יום 8: בדיקה עם 30 שאלות מההיסטוריה של הלקוח
- [ ] יום 9: שיפור פרומפט + הוספת tools נוספים (schedule, get_pricing)
- [ ] יום 10: bulk upload של כל המסמכים ל-RAG (50-200 chunks בדרך כלל)
- [ ] יום 11: privacy policy + STOP handler + audit logging
- [ ] יום 12: בדיקה עם 5 לקוחות אמיתיים (beta)
- [ ] יום 13: תיקונים + tuning של פרומפט
- [ ] יום 14: go live + monitoring dashboard
זמן עבודה כולל: 40-60 שעות לפרויקט סטנדרטי. עלות שעת מתכנת ישראלי טוב: ₪250-450. סה״כ מימוש: ₪10K-25K, פלוס ₪150-500/חודש operating cost.
13. שגיאות שכבר עליתי עליהן בשבילך
א׳ — Meta מחזירה 401 על קריאה ל-graph.facebook.com. סיבה: השתמשת ב-Phone Number ולא ב-Phone Number ID. ה-ID הוא מספרי בן 15 ספרות, לא הטלפון. שונים לחלוטין.
ב׳ — הסוכן עונה אותו דבר 3 פעמים. סיבה: לא טיפלת ב-idempotency. Meta עושים retry על כל תשובה שאינה 200. תוסיף בדיקה של messageId ב-DB.
ג׳ — שגיאה 131047 — re-engagement message. סיבה: ניסית לשלוח טקסט חופשי מחוץ לחלון 24 השעות. הפתרון: או template message מאושר, או חכה שהלקוח יכתוב אליך.
ד׳ — RAG מחזיר תוצאות לא רלוונטיות. סיבה: chunks גדולים מדי (3000+ טוקנים) או embedding לא מותאם לעברית. פתרון: chunks של 500-1000 טוקנים + Voyage-3-Lite במקום OpenAI ada.
ה׳ — הסוכן ממציא מחירים. סיבה: ה-system prompt לא ברור. תוסיף: ״אל תיתני מחיר אלא אם הוא מופיע בתוצאת ה-search_kb. אם לא מצאת — תאמרי ׳אבדוק עם נעם׳.״
ו׳ — Vercel function timeout אחרי 10 שניות. סיבה: ברירת מחדל קצרה מדי לסוכן עם RAG. תוסיף export const maxDuration = 60;.
ז׳ — Webhook לא מקבל הודעות אחרי שעבר זמן. סיבה: ה-token ב-Meta פג תוקף. השתמש ב-System User token (קבוע), לא ב-temporary token.
14. סיכום — מה לעשות עכשיו
אם הגעת עד לפה, יש לך את כל מה שצריך כדי להחליט אם זה מתאים לעסק שלך.
הסדר הנכון:
- תבדוק את הנפח שלך. אם פחות מ-30 שיחות ביום — האוטומציה לא תחזיר את העלות. שלב 2 של המדריך ווטסאפ לאתר עסקי (כפתור מצף + WhatsApp Business App) יעבוד טוב יותר.
- תבדוק את ההיסטוריה. עבור על 100 שיחות אחרונות. כמה אחוז הן שאלות חוזרות (שעות, מחיר, איך מגיעים)? אם זה מעל 60% — הסוכן יחסוך לך 60% מהזמן מהיום הראשון.
- תתחיל מ-MVP צר. רק 3 use cases: שעות, מחירים, קביעת תור. handoff על כל דבר אחר. תרחיב אחרי שבוע של ראיית נתונים אמיתיים.
- תעקוב אחרי handoff rate. מטרה: 30-50% הראשון, יורד ל-15-25% אחרי חודש tuning. אם אתה גבוה מ-50% אחרי חודש — הסוכן לא מועיל, יש משהו שבור בפרומפט או ב-RAG.
- תמדוד zero satisfaction. שלח לאחר השיחה: ״האם הסוכן עזר לך? (כן / לא / רוצה לדבר עם בן אדם)״. אם פחות מ-70% עונים כן — חזור ל-tuning.
הסוכן בווטסאפ הוא לא תחליף לאדם — הוא Tier 1 שמשחרר את האנשים שלך לדברים חשובים יותר. אם תבנה אותו נכון, הוא יחסוך לך 30-50% משעות שירות הלקוחות מהחודש הראשון.
רוצה לדבר על איך זה ייראה אצלך? צור קשר ב-/contact — אני בונה סוכני AI בווטסאפ ללקוחות בישראל, מהאיפיון ועד פריסה ו-handoff training לצוות שלך.
שאלות נפוצות
כמה עולה לבנות סוכן AI לוואטסאפ לעסק בישראל?
המימוש החד-פעמי לפרויקט סטנדרטי הוא ₪10,000-25,000 (40-60 שעות עבודה), וההפעלה החודשית ₪150-915 תלוי בנפח. עסק עם 50 שיחות ביום משלם בערך ₪105 לחודש כולל הכל. ברוב המקרים הסוכן עונה בתוך חלון 24 השעות, כך שעלות ההודעות מול Meta היא אפס — אתה משלם בעיקר על ה-AI tokens.
האם מותר להשתמש ב-whatsapp-web.js או Baileys לעסק?
לא לטווח ארוך. הספריות הלא-רשמיות מפרות במפורש את תנאי השימוש של WhatsApp, ו-Meta חוסמת מספרים שמשתמשים בהן — לפעמים אחרי שבועיים, לפעמים אחרי שנה, בלי אפשרות ערעור. לכל דבר מעבר ל-MVP של שבועיים, השתמש ב-WhatsApp Cloud API הרשמי. בישראל זה מתחזק גם בגלל תיקון 13 לחוק הגנת הפרטיות.
Claude או GPT לסוכן ווטסאפ בעברית?
ב-90% מהפרויקטים שלי אני בוחר ב-Claude כי הוא מייצר עברית טבעית יותר — פחות מילים מודבקות, פחות תחושת ״מתורגם״. התחל מ-Claude Haiku 4.5 (הזול ביותר) ועלה ל-Sonnet 4.x רק אם eval מראה שצריך. אל תחליט לפי הרגשה — מדוד על 30-50 שאלות אמיתיות מההיסטוריה שלך.
כמה זמן לוקח להקים סוכן ווטסאפ?
במסלול code-native — שבועיים (ראה ה-checklist בסעיף 12). במסלול n8n או Make — 2-7 ימים. דרך BSP מנוהל כמו Wati או 360dialog אפשר לעלות לאוויר תוך ימים בודדים, כי הם כבר עשו את אימות העסק מול Meta. רוב הזמן בכל מסלול הולך לא לקוד אלא ל-tuning של ה-system prompt ושל ה-RAG.
מה זה RAG ולמה הסוכן צריך אותו?
RAG (Retrieval-Augmented Generation) הוא הדרך להזין לסוכן את הידע הספציפי של העסק — מחירון, שעות, FAQ, תקנון — בלי ש״ימציא״ תשובות. בלי RAG הסוכן גנרי ועונה ניחושים; עם RAG הוא יודע ״מנוי חודשי 380₪, שיעורים ב-7:00 ו-19:00״. המדריך RAG לעסק קטן מפרט את כל התהליך.
איך מוודאים שהסוכן עומד בחוק הגנת הפרטיות?
מינימום: הודעת privacy בהודעה הראשונה, STOP handler שמוחק את כל ההיסטוריה לפי בקשה, מחיקה אוטומטית של שיחות לא-פעילות אחרי 12 חודשים, אפס PII בלוגים, ו-data retention מאופס מול ספק ה-AI. אחרי תיקון 13 (אוגוסט 2025) האכיפה אמיתית — עיצומים יכולים להגיע למיליוני שקלים, אז זה לא משהו לדחות.
האם הסוכן יכול לקבוע תורים ולחבר ליומן?
כן — זה tool נוסף ב-agent loop. אתה מגדיר tool בשם book_appointment שמקבל תאריך ושעה, ובתוכו קורא ל-API של מערכת היומן שלך (Google Calendar, Calendly, או מערכת זימון תורים ייעודית). הסוכן בודק זמינות דרך get_schedule, מציע ללקוח slots פנויים, ומאשר. הכלל החשוב: כל פעולה שמשנה state (קביעת תור, ביטול) צריכה לכתוב ל-DB שלך מיד, לא להישען רק על הזיכרון של השיחה.
לסיכום
סוכן AI לוואטסאפ הוא לא תחליף לאדם — הוא שכבת Tier 1 שעונה תוך שניות 24/7 על השאלות החוזרות ומשחררת את הצוות שלך. אם הנפח שלך מעל 30 שיחות ביום ומעל 60% מהן שאלות חוזרות, סוכן שנבנה נכון יחסוך לך 30-50% משעות שירות הלקוחות כבר מהחודש הראשון. הכלל המנחה: Cloud API רשמי בלבד, Claude Haiku 4.5 כברירת מחדל, RAG על המסמכים האמיתיים, handoff חלק עם תקציר שיחה, ועמידה בתיקון 13 מהיום הראשון. תתחיל מ-MVP צר של 3 use cases, תמדוד handoff rate ו-zero satisfaction, ותרחיב לפי נתונים אמיתיים.
מקורות
- WhatsApp Cloud API — Meta for Developers
- WhatsApp Business Platform Policy
- Anthropic Claude API — Tool Use
- Voyage AI — Embeddings for Multilingual Text
- חוק הגנת הפרטיות התשמ״א-1981
- תיקון 13 לחוק הגנת הפרטיות — הרשות להגנת הפרטיות
- Pricing on the WhatsApp Business Platform (per-message, 2026)
- Anthropic Claude API — Pricing
- n8n WhatsApp Node Documentation
- Vercel Functions — maxDuration
- Pinecone — Vector Database Quickstart