למה Vision API משנה את הכלל ב-2026
בואו נדייק: לפני שנה, ניתוח תמונות בפרודקשן דרש מהנדס ML, training data, ותשתית מורכבת. היום, חברה שרוצה לזהות נזק בחבילות, לחלץ נתונים מחשבוניות, או לסווג תמונות מוצרים, שולחת קריאת API אחת לClaude ומקבלת JSON. עם השקת Opus 4.7 באפריל 2026, הדיוק הויזואלי קפץ מ-54.5% ל-98.5%, זה כבר לא "מספיק טוב לפיילוט", זה production-ready.
שיעור זה עוסק ב-Computer Vision בגישה מעשית: איך לשלוח תמונות לClaude, איך לבנות פרומפטים שמחזירים JSON ניתן לparsing, ואיך לתכנן pipeline שמתנהל בסקייל, מבלי לשרוף תקציב על tokens מיותרים.
הבסיס הטכני: base64 vs URL, ועלות אמיתית
שתי דרכים לשלוח תמונה לClaude:
- base64: מקודד את הקובץ הבינארי ישירות לbody של הבקשה. עובד תמיד, כולל תמונות פנימיות שאינן נגישות לציבור.
- URL: שולחים כתובת ציבורית ומאשרים לClaude לגשת אליה. נוסף בינואר 2026, מפשט workflows רבים.
עלות תמונה מחושבת לפי נוסחה פשוטה: width * height / 750 טוקנים. תמונה של 1000×1000 שווה ~1,334 טוקנים, שזה $0.004 ב-Sonnet 4.6. אלף חשבוניות ביום = $4. Opus 4.7 עולה יותר, ~$6.70 לאלף תמונות בגודל זה, אבל עם דיוק שמצדיק את הפרש המחיר כשנדרש OCR מדויק.
כלל עבודה: Sonnet 4.6 לרוב use cases. Opus 4.7 כשיש טקסט קטן, תרשימים טכניים, או כשדיוק קריטי.
פרומפט OCR לחשבוניות ישראליות
הדוגמה הבאה היא template עובד לחילוץ נתונים מחשבוניות עם מע"מ ישראלי:
אתה מומחה OCR לחשבוניות ישראליות.
נתח את התמונה וחלץ לJSON:
{
"supplier": {
"name": "שם הספק",
"vat_number": "מספר ח.פ / ע.מ"
},
"invoice": {
"number": "מספר חשבונית",
"date": "YYYY-MM-DD"
},
"totals": {
"subtotal": 0.0,
"vat_amount": 0.0,
"vat_rate": 18,
"total": 0.0
},
"currency": "ILS",
"confidence": "HIGH/MEDIUM/LOW"
}
אם שדה לא ברור, השתמש ב-null.
אל תמציא ערכים. אם לא בטוח, confidence: LOW.
שלושה עקרונות בפרומפט הזה: (1) JSON schema מוגדר מפורש, בלי schema, Claude יחזיר תיאור חופשי שלא ניתן לparse. (2) הוראה מפורשת לא להמציא, null עדיף על guess. (3) confidence field, מאפשר לpipeline לנתב מקרים ל-review ידני.
Pipeline לעיבוד מאסה, הקוד הבסיסי
הדפוס הבסיסי לעיבוד תמונה בודדת בPython:
import anthropic
import base64
def analyze_invoice(image_path: str) -> dict:
client = anthropic.Anthropic()
with open(image_path, "rb") as f:
image_data = base64.standard_b64encode(f.read()).decode("utf-8")
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": image_data
}
},
{
"type": "text",
"text": INVOICE_PROMPT # הפרומפט מלמעלה
}
]
}]
)
return message.content[0].text
לעיבוד של 1,000+ תמונות, Batch API של Anthropic מאפשר עיבוד אסינכרוני עם 50% חיסכון בעלות. שולחים את כל הבקשות בפעם אחת, מושכים תוצאות כשהעיבוד מסתיים. לפרטים: Batch Processing Docs.
Use Cases מהשוק הישראלי
| תחום | Use Case | מודל מומלץ |
|---|---|---|
| חשבונאות / FinTech | OCR חשבוניות, שיקים, דפי חשבון, ייצוא JSON לERP | Sonnet 4.6 |
| ביטוח | זיהוי נזק ברכבים מתמונות, חישוב תביעה אוטומטי | Opus 4.7 |
| נדל"ן | ניתוח תמונות דירות, זיהוי בעיות תחזוקה, הערכה ראשונית | Sonnet 4.6 |
| לוגיסטיקה | בדיקת חבילות פגועות, דיווח נזק אוטומטי בעברית | Sonnet 4.6 |
| Retail / E-commerce | QC תמונות מוצרים לפני העלאה לאתר, approval/reject | Sonnet 4.6 |
| מחקר ופארמה | קריאת תרשימים כימיים, מבני פרוטאין, תוצאות Lab | Opus 4.7 |
חברת לוגיסטיקה שמעבדת 3,000 תמונות של חבילות ביום יכולה לחסוך ~12 שעות עבודה ידנית, בעלות של פחות מ-15$ ליום ב-Sonnet 4.6.
שתי טעויות שעולות כסף
- שליחת תמונות full-resolution ללא downsampling: תמונה של 4000×3000 px שנצילם בסמארטפון שווה ~16,000 טוקנים. אחרי resize ל-1500×1125, 2,250 טוקנים. החיסכון: 86%, בלי שום השפעה על OCR. הוסיפו שלב resize לפני כל קריאת API.
- סמיכה על JSON ב-100% בלי validation: OCR מ-Claude מצוין, אבל תאריכים, מספרי ח.פ ומספרי חשבוניות דורשים regex validation. תמיד הוסיפו שכבת validation: מספר ח.פ = 9 ספרות, מע"מ = 18%, סכום > 0.
סיכום: מתי ואיך
- OCR + extraction: תמיד עם JSON schema בפרומפט + confidence field + validation בקוד
- בחירת מודל: Sonnet 4.6 לרוב המקרים. Opus 4.7 לתרשימים מורכבים, טקסט קטן, מסמכים טכניים
- חיסכון בעלות: Resize לפני שליחה, Batch API לכמויות גדולות, Files API לשימוש חוזר
- Production: הוסיפו confidence routing, validation layer, ו-fallback לבדיקה ידנית
