# רשימות ואצוות

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

Source: https://nodaro.ai/he/docs/concepts/lists-and-batching

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

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

- רשימה → יצירת תמונה (פרומפט)
- יצירת תמונה → בחירת המיטב (מועמדים)
- בחירת המיטב → יצירת וידאו (פריים פתיחה)

**מצב החיבור** קובע אם רשימה מעובדת פריט אחר פריט או כולה בבת אחת. חיבור במצב **כל אחד** מריץ את הרכיב הבא פעם אחת לכל פריט. חיבור במצב **חבילה** מעביר את כל הרשימה בהרצה אחת. הדף [רכיבים וחיבורים](https://nodaro.ai/docs/concepts/nodes-and-connections#connection-modes) מסביר את כל המצבים.

## מאיפה מגיעות רשימות
| מקור | מה מקבלים ממנו |
| --- | --- |
| [רשימה](https://nodaro.ai/docs/nodes/automate/list) | פריטים שאתם מקלידים, מדביקים או מעלים, אחד בכל שורה. הרשימה יכולה להתרחב לטבלה עם כמה עמודות, לכל אחת סוג משלה. הרכיב חינמי. |
| [פיצול טקסט](https://nodaro.ai/docs/nodes/automate/split-text) | טקסט אחד שנחתך לפריטים בכל ירידת שורה, בכל פסיק או במפריד שאתם בוחרים. הרכיב חינמי. |
| [יצירת טקסט - כל LLM](https://nodaro.ai/docs/nodes/automate/prompt) | הפלט **פריטים** מפצל את התשובה של המודל בכל מקום שמופיע בה `===NEXT===`, וכך תשובה אחת יכולה להפוך להרבה פרומפטים. |
| רכיב עם כמה תוצאות | רכיב שהרצתם כמה פעמים, למשל עם **חזרה**, שומר כמה גרסאות שחיבור יכול להעביר כרשימה. |
| [איסוף](https://nodaro.ai/docs/nodes/automate/collect) | התוצאות של כמה רכיבים נפרדים, מקובצות לרשימה אחת לכל סוג מדיה. הרכיב חינמי. |

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

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

**תגים מציגים את האצווה.** לפני הרצה, הכותרת של רכיב שעומד להתפצל מציגה את מספר ההרצות, כגון `x5`. בזמן ההרצה היא מציגה את ההתקדמות, כגון `3/5`, ופס **מעבד את הרשימה…**, שבסוף ההרצה כתוב בו **הושלם**.

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

**הכל או כלום.** רכיב [קליפ UGC](https://nodaro.ai/docs/nodes/video/ugc-clip) הוא החריג: כשאחד מהפריטים שלו נכשל, הרכיב כולו נכשל. חיבור **חבילה** אחריו לעולם לא מקבל רשימה חלקית, ולכן לעולם לא נוצר סרטון מאוחד שחסר בו קליפ.

**פלט אחד יכול להתפצל.** יש רכיבים שמתפצלים מפלט אחד בלבד. הפלט **קליפים** של רכיב [קליפי UGC](https://nodaro.ai/docs/nodes/video/ugc-clips) מריץ את הרכיב הבא פעם אחת לכל קליפ, ואילו שאר הפלטים שלו מעבירים ערך אחד. רכיב [פיצול למקטעים](https://nodaro.ai/docs/nodes/video/split-into-chunks) הוא מקור נוסף לרשימות: הפלטים שלו מריצים את הרכיב הבא פעם אחת לכל חלק.

## טבלאות: כמה ערכים לכל הרצה
רכיב [רשימה](https://nodaro.ai/docs/nodes/automate/list) מתחיל כעמודת טקסט אחת. כשהרצה אחת צריכה יותר מערך אחד, למשל פרומפט ותמונת ייחוס, הרשימה הופכת לטבלה.

1. חברו רכיב לקלט **+** בפינה השמאלית התחתונה של הרשימה. מופיעה עמודה חדשה.
2. קבעו את הסוג של כל עמודה: טקסט, תמונה, וידאו, אודיו או JSON. לכל עמודה יש קלט משלה ופלט משלה.
3. חברו את הפלט של כל עמודה לקלט של הרכיב שצריך אותו, למשל את עמודת הפרומפט לקלט **פרומפט** ואת עמודת התמונה לקלט **ייחוסים**.

כך השורות מתאימות זו לזו:

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

על הקנבס, רכיב רשימה מציג סיכום מקוצר, כגון ״4 שורות × 2 עמודות״, או את הטבלה או הגלריה המלאה. כפתור קטן מתחת לרכיב מחליף בין שתי התצוגות. טבלה עם תמונות, סרטונים או אודיו נפתחת בתצוגת הגלריה כברירת מחדל.

## התכנסות: מהרבה תוצאות לאחת
| מה רוצים | במה להשתמש |
| --- | --- |
| לשלב את כל הפריטים בהרצה אחת, כגון קליפים לסרטון אחד | חיבור **חבילה** לרכיב שמשלב, כגון [שילוב סרטונים](https://nodaro.ai/docs/nodes/video/combine-videos), [מיקס אודיו](https://nodaro.ai/docs/nodes/audio/mix-audio) או [שילוב אודיו](https://nodaro.ai/docs/nodes/audio/combine-audio) |
| לשמור פריט אחד, כגון הראשון או האחרון | חיבור **פריט**, או רכיב [בורר](https://nodaro.ai/docs/nodes/automate/selector) |
| לתת לשופט AI לבחור את התוצאה הטובה ביותר | רכיב [בחירת המיטב](https://nodaro.ai/docs/nodes/automate/choose-best) עם האפשרות **ה-AI בוחר את הטוב ביותר** |
| לאחד טקסטים, לספור תוצאות או לשמור את התשובה הנפוצה ביותר | רכיב [בחירת המיטב](https://nodaro.ai/docs/nodes/automate/choose-best) עם אפשרות חינמית |
| לקבץ את התוצאות של כמה רכיבים שונים | רכיב [איסוף](https://nodaro.ai/docs/nodes/automate/collect) |

### בחירת המיטב
רכיב [בחירת המיטב](https://nodaro.ai/docs/nodes/automate/choose-best) הופך רשימת מועמדים לתוצאה אחת. בחרו מה הוא עושה תחת **מה לעשות עם המועמדים**:

| אפשרות | מה היא מחזירה | קרדיטים |
| --- | --- | --- |
| **ה-AI בוחר את הטוב ביותר** | המועמד ששופט AI קובע שהוא הטוב ביותר לפי הקריטריונים שלכם, עם נימוק במשפט אחד | הטוקנים שהשופט השתמש בהם, לפי התעריף של מודל השופט |
| **איחוד לטקסט אחד** | כל המועמדים בטקסט אחד, עם מפריד שאתם בוחרים | חינם |
| **הראשון שיש בו תוכן** | המועמד הראשון שלא ריק | חינם |
| **ספירה** | כמה מועמדים הגיעו | חינם |
| **התשובה הנפוצה ביותר** | המועמד שמופיע הכי הרבה פעמים. בתיקו, הראשון מנצח. | חינם |
| **מיזוג אובייקטי JSON** | אובייקט JSON אחד, במיזוג **עמוק (כולל אובייקטים מקוננים)** או **שטחי (רמה עליונה בלבד)** | חינם |

באפשרות **ה-AI בוחר את הטוב ביותר**, הגדירו שלושה דברים:

- **מודל AI**: השופט. ברירת המחדל היא Claude Sonnet 5.5. הקריאה של השופט מחויבת לפי הטוקנים שהיא השתמשה בהם, בתעריף של המודל; ראו את הסעיף [איך מחויבות קריאות LLM](https://nodaro.ai/docs/concepts/credits#llm-calls) בדף קרדיטים.
- **שיפוט לפי**: איך נראית תוצאה מנצחת, למשל ״העטיפה שתופסת את העין ביותר לפיד עריכתי כהה, קריאה כתמונה ממוזערת״.
- **המועמדים הם**: **טקסטים** או **תמונות**. בחרו באפשרות **תמונות** כשהמועמדים הם תמונות, כי באפשרות **טקסטים** השופט משווה רק את הקישורים של התמונות.

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

**מועמדים ריקים לא נלקחים בחשבון.** פריט שנכשל משאיר מועמד ריק, ורכיב בחירת המיטב מסיר קודם כל את המועמדים הריקים. לכן האפשרות **ספירה** סופרת רק את הפריטים שהצליחו. כשכל המועמדים ריקים, האפשרות **איחוד לטקסט אחד** מחזירה טקסט ריק והאפשרות **ספירה** מחזירה `0`. שאר האפשרויות נכשלות, והרכיבים שאחרי רכיב בחירת המיטב לא רצים.

### איסוף
רכיב [איסוף](https://nodaro.ai/docs/nodes/automate/collect) מקבץ תוצאות ממספר בלתי מוגבל של רכיבים לארבע רשימות, אחת לכל סוג: טקסט, תמונה, וידאו ואודיו. ארבעת הפלטים שלו תמיד קיימים, ולכן אפשר לחבר את הרכיבים הבאים עוד לפני שמשהו רץ. גררו את השורות בחלונית ההגדרות שלו כדי לשנות את סדר הפריטים. רכיב איסוף לא עולה כלום.

חברו רכיב איסוף לרכיב [בחירת המיטב](https://nodaro.ai/docs/nodes/automate/choose-best) כדי להשוות תוצאות שהגיעו מרכיבים שונים, למשל שלוש עטיפות ששלושה מודלים שונים יצרו.

### בורר
רכיב [בורר](https://nodaro.ai/docs/nodes/automate/selector) בוחר פריטים מרשימה ויש לו שני פלטים: **נבחרים**, הפריטים שהוא בחר, ו**נותרים**, כל שאר הפריטים. השתמשו בו במקום חיבור **פריט** או חיבור טווח כשכמה רכיבים צריכים את אותה בחירה, או כשאתם צריכים מצב שאין לחיבורים.

| מצב | מה הוא בוחר |
| --- | --- |
| **פריט (אינדקס יחיד)** | פריט אחד, כגון `3`, `last` או `last-1` |
| **טווח (מ/עד/צעד)** | טווח של פריטים, כגון הפריטים 2–4 |
| **רשימה (ביטוי עם פסיקים)** | הפריטים שביטוי מציין, כגון `1, 3, 5..last` |
| **אקראי (עם זרע)** | מדגם אקראי. אותו זרע נותן תמיד את אותה בחירה. |
| **מודולו (מחזור לפי אינדקס)** | הפריט במיקום שחוזר במחזוריות לאורך הרשימה |
| **תנאי (סינון)** | הפריטים שהשדה שלהם עונה על תנאי, כגון ציון מעל 15 |
| **מפתח בשם (חיפוש)** | הפריט שלשדה שלו יש ערך נתון, כגון הפריט ששמו "hero" |

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

## כלי רשימה נוספים
במשפחה **רשימות ואצוות** בתפריט **הוספת רכיב** יש גם [סינון רשימה](https://nodaro.ai/docs/nodes/automate/filter-list), לשמירת הפריטים שעונים על תנאים, [מיון רשימה](https://nodaro.ai/docs/nodes/automate/sort-list), [הסרת כפילויות](https://nodaro.ai/docs/nodes/automate/remove-duplicates) ו[מיזוג רשימות](https://nodaro.ai/docs/nodes/automate/merge-lists), לחיבור שתי רשימות זו אחרי זו או פריט אחר פריט. כל ארבעתם לא עולים כלום.

## טיפים
- **רעיון אחד לכל פריט.** כל פריט צריך להיות פרומפט או ערך שלם שעומד בפני עצמו.
- **בדקו עם רשימה קצרה.** הריצו קודם רשימה של שניים או שלושה פריטים, בדקו את התוצאות, ואז הוסיפו את השאר.
- **חלקו אצוות גדולות.** רשימה גדולה מאוד יוצרת הרצה ארוכה אחת. קל יותר לבדוק כמה רשימות קטנות יותר.
- **סגרו כל פיצול.** כשאצווה צריכה להסתיים בתוצאה אחת, סיימו אותה ברכיב בחירת המיטב, בחיבור **חבילה** או בחיבור **פריט**.
- **השתמשו במשתנים בפריטים.** פריטים יכולים להכיל [משתני פרומפט](https://nodaro.ai/docs/concepts/prompt-variables), כגון `{Style}`, כדי שבכל ההרצות יופיע אותו ניסוח.

## שאלות נפוצות

### איך יוצרים עשר תמונות מעשרה פרומפטים?

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

### כמה קרדיטים עולה אצווה?

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

### מה קורה כשפריט אחד באצווה נכשל?

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

### איך שומרים רק את התוצאה הטובה ביותר של אצווה?

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

### מה ההבדל בין איסוף לבחירת המיטב?

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