AI Agents, בניית סוכנים אוטונומיים עם Claude

📚 נושאים מתקדמים ⏱️ 16 דק׳ 🎓 מתקדם ✓ חינם לגמרי
AI Agents, בניית סוכנים אוטונומיים עם Claude

🛠️ שיעור למתקדמים, דורש ידע ב-Python ו-API. אם אתה מתחיל, דלג ועבור ל-lesson 30b לסיום הקורס.

💡 בשיעור הקודם, שיעור 28: Claude Code + MCP, כלי הפיתוח של העתיד, בנית MCP server שנותן ל-Claude גישה לכלים חיצוניים דרך פרוטוקול אחיד. עכשיו נצעד הלאה: Agent הוא Claude שמחליט בעצמו מתי לקרוא לכלים ואיך, בלולאה, עד שהמשימה הושגת.

Chatbot מחכה לשאלה. Agent פועל עד שהמשימה הושגת.

הרגע שבו ChatGPT ו-Claude הפכו מכלי שיחה לכלי עבודה אמיתי, הוא הרגע שבו הופיעו AI Agents. ב-2026, חברות כמו Notion, Rakuten ו-Asana כבר משלבות agents על בסיס Claude ב-production שלהן. ואנטרופיק עצמה הכריזה בינואר 2026 שרוב הקוד שלה נכתב על-ידי Claude Code, agent פיתוח אוטונומי.

מה שמבדיל agent מ-chatbot: לולאה. Agent מקבל מטרה, חושב, בוחר כלי, מפעיל אותו, בוחן את התוצאה, ומחליט מה הצעד הבא, שוב ושוב, עד שהמשימה הושלמה.

שלושת רכיבי הליבה של כל Agent

כל agent, בין אם פשוט ובין אם מורכב, בנוי מאותם שלושה רכיבים:

כאשר Anthropic חוקרת שימוש אמיתי, הם מוצאים שמשתמשים מנוסים (750+ sessions) נותנים ל-agent auto-approve ביותר מ-40% מהסשנים, בעוד משתמשים חדשים רק ב-20%. המשמעות: ככל שמכירים את ה-agent, סומכים עליו יותר.

הלולאה הבסיסית, קוד שרץ בפועל

זה ה-agent loop הבסיסי ב-Python. שבעה צעדים שכל agent בעולם מבצע:

import anthropic, json

client = anthropic.Anthropic()

tools = [
  {
    "name": "read_file",
    "description": "Read a file's contents",
    "input_schema": {
      "type": "object",
      "properties": {"path": {"type": "string"}},
      "required": ["path"]
    }
  },
  {
    "name": "run_command",
    "description": "Run a shell command",
    "input_schema": {
      "type": "object",
      "properties": {"cmd": {"type": "string"}},
      "required": ["cmd"]
    }
  }
]

def run_agent(goal, max_turns=10):
  messages = [{"role": "user", "content": goal}]
  system = "You are an autonomous agent. Use tools to complete the goal step by step."

  for turn in range(max_turns):
    resp = client.messages.create(
      model="claude-opus-4-7-20260416",
      max_tokens=4096,
      system=system,
      tools=tools,
      messages=messages,
    )

    # אם Claude סיים, מחזיר תשובה סופית
    if resp.stop_reason == "end_turn":
      return next(b.text for b in resp.content if b.type == "text")

    # מעבד tool calls ומחזיר תוצאות
    messages.append({"role": "assistant", "content": resp.content})
    results = []
    for block in resp.content:
      if block.type == "tool_use":
        print(f"[Tool] {block.name}: {block.input}")
        result = execute_tool(block.name, block.input)  # ← המימוש שלך
        results.append({"type": "tool_result", "tool_use_id": block.id, "content": str(result)})
    messages.append({"role": "user", "content": results})

  return "Agent הגיע למגבלת הסיבובים"

print(run_agent("Read requirements.txt and check if all packages are installed"))

ארכיטקטורת Agents, ארבעה דפוסים מוכחים

דפוס מבנה דוגמה ישראלית
Single Loop agent אחד עם כלים, לולאה ישירה agent שסורק מועמדים ב-LinkedIn לסטארטאפ ת"א
Orchestrator-Worker agent ראשי מפצל לתת-agents מקביליים אגף HR שמריץ בדיקת רקע, ניתוח CV, ו-scheduling במקביל
Pipeline שרשרת, כל agent מעביר תוצאה לבא Pipeline שיווק: מחקר → כתיבה → עריכה → פרסום
Evaluator-Optimizer agent מייצר, agent שני מעריך ומחזיר feedback agent שכותב הצעות מחיר, agent שמדרג אותן לפי win rate

Claude Managed Agents, מה השתנה באפריל 2026

ב-8 לאפריל 2026 Anthropic השיקה Claude Managed Agents, שירות שמחסל את הצורך לכתוב agent loop בעצמך. במקום לנהל containers, sandboxing, ו-state, אתה מגדיר את ה-agent ו-Anthropic מריצה אותו בתשתית שלה.

מתי לא להשתמש ב-Managed Agents? כשאתה צריך שליטה מלאה על הלוגיקה, כלים מותאמים אישית, או כשה-$0.08/שעה יוצר עלות גבוהה מדי בנפח גדול.

בטיחות ושליטה, חמישה כללי ברזל

Anthropic מציינת שהאוטונומיות שהופכת agents לשימושיים יוצרת גם סיכונים חדשים. שני הכשלים הנפוצים שאנחנו רואים בקהילה:

  1. חוסר קריטריוני הצלחה: agent לא יודע מתי לעצור. הוא ממשיך לרוץ, צובר עלויות, ולפעמים מבצע פעולות מיותרות. פתרון: הגדר stop condition ברורה ב-system prompt.
  2. שגיאות מסתכמות (error propagation): אם agent אחד מייצר output שגוי ואחרים בונים עליו, הטעות מסלימה לפני שמישהו שם לב. פתרון: validation בין שלבים בכל Pipeline.

חמשת כללי הברזל לכל agent בפרודקשן:

def safe_tool(name, input_data, dangerous=["run_command", "delete_file", "send_email"]):
  # לוג כל קריאה
  log({"tool": name, "input": input_data, "ts": now()})

  # אישור אנושי לפעולות רגישות
  if name in dangerous:
    print(f"Agent רוצה לבצע: {name}({input_data})")
    if input("אשר? (y/n): ").lower() != "y":
      return "Action denied by user"

  return execute_tool(name, input_data)
הkeychain מחכה לשאלה
שגיאות מסתכמות, output שגוי של agent אחד מסלים לפני שמישהו שם לב
Claude לא תומך ב-multi-agent
עלות API גבוהה מדי

השיעור הבא: שליטה ב-Claude API, Streaming, Tool Use ו-Prompt Caching

Agents הם השכבה העליונה, השכבה התחתונה היא ה-API עצמו. בשיעור הסיום תשלוט בשלוש טכניקות ה-production שהופכות דמו למוצר אמיתי: Streaming שמעביר תשובות מילה-מילה, Prompt Caching שחוסך עד 90% מעלויות ה-input, ו-Tool Use שמחבר את כל החלקים לכלי עבודה שלם.

⏱️ 50 דקות · 🎯 FastAPI endpoint עם SSE streaming, prompt caching ו-tool use loop עובד

רוצה ללמוד עם מעקב התקדמות, קוויזים ותעודה?

כל 130 השיעורים פתוחים בחינם, כולל נגן אינטראקטיבי, שמירת התקדמות ותעודה דיגיטלית בסיום.