כלים במקביל: כל התוצאות בהודעה אחת, אחרת זה נגמר

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

קריאה מקבילה לכלים פועלת כברירת מחדל. הודעת עוזר אחת יכולה להכיל כמה בקשות כלי, ואתם אמורים להריץ אותן במקביל.

מה שקורה אחר כך הוא המקום שנשבר.

ההודעה האחת

כל התוצאות חוזרות בהודעת משתמש אחת. לא אחת לכל תוצאה.

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

זו תקלה שקשה לאבחן כי היא נראית כמו התנהגות של המודל.

כלי שנכשל

מחזירים תוצאה עם סימון שגיאה וטקסט שמסביר. לא משמיטים.

תוצאה חסרה משאירה בקשת כלי בלי מענה, וזה מצב לא חוקי בהיסטוריה. בנוסף המודל לא יודע שהכלי נכשל, אז הוא ממשיך כאילו הצליח.

איך מכבים את זה

לכל ערך של בחירת הכלי אפשר לצרף השבתה של קריאה מקבילה, ואז המודל יקרא לכלי אחד לכל היותר בכל תור.

מתי זה נכון: כשהכלים משנים מצב משותף, כשסדר הביצוע משנה, או כשהתשתית שלכם לא מריצה במקביל ממילא והמקביליות רק מסבכת את הקוד.

ארבע דרכים לבחור

בחירה אוטומטית היא ברירת המחדל: המודל מחליט. "כלשהו" מחייב אותו לקרוא לכלי כלשהו. "כלי" מחייב כלי מסוים בשמו. "כלום" אוסר עליו לקרוא לכלים בכלל.

הכפייה שימושית פחות ממה שנדמה. כשהמודל לא קורא לכלי שרציתם, לרוב התיאור הוא הבעיה, לא החופש שנתתם לו.

ועוד פרט על תוצאות גדולות

בסוכנים מנוהלים, פלט כלי שעובר מאה אלף תווים מועבר אוטומטית לקובץ בארגז החול. המודל מקבל תצוגה מקוצרת ואת הנתיב, וקורא את השאר אם הוא צריך. הסף נמדד בתווים, לא בטוקנים.

מקורות

  1. Tool use overview · Anthropic · 24 ביוני 2026