بسیاری از تیمهای فنی هنگام اجرای پایپلاینهای حجیم مانند خلاصهسازی هزاران سند، تولید گزارشهای دورهای یا برچسبگذاری دادهها، فراخوانیها را به همان شیوه تعاملی و همگام انجام میدهند. این کار هزینههای سرسامآوری به پروژه تحمیل میکند، در حالی که در اکثر این سناریوها کاربر نیازی به دریافت پاسخ لحظهای ندارد و تحویل کار تا چند ساعت بعد یا صبح روز بعد کاملاً پاسخگوی نیاز محصول است.
ارائهدهندگان بزرگ هوش مصنوعی مانند OpenAI، Anthropic و گوگل قابلیتی با عنوان Batch API عرضه کردهاند که در ازای زمان تحویل تا 24 ساعت، 50 درصد تخفیف روی توکنهای ورودی و خروجی ارائه میدهد. ترکیب این قابلیت با کش کردن پرامپت میتواند هزینهی اجرای پایپلاینهای سنگین را تا 90 درصد کاهش دهد و بخش عمدهای از بودجه سازمان را آزاد کند.
پرداخت ارزی برای تهیه اعتبار API شرکتهای خارجی مثل OpenAI و Anthropic از ایران با کارتهای بانکی ممکن نیست و چالشهای مالی خاص خود را دارد. از همین رو، مدیریت بهینه توکنها و استفاده از اهرمهایی چون Batch API و کشینگ برای تیمهای ایرانی اهمیتی دوچندان دارد تا با کمترین هزینه، بیشترین حجم پردازش را انجام دهند.
همهی ارائهدهندگان بزرگ، یک API دستهای (Batch API) ناهمگام با 50% تخفیف و زمان تحویل حدوداً 24 ساعته ارائه میدهند. OpenAI، Anthropic، Google و بیشتر پلتفرمهای استنتاج (سطح دستهای Fireworks، حالت دستهای Together) همین الگو را پیاده کردهاند. ترکیب پردازش دستهای با کش کردن پرامپت (prompt caching)، هزینهی پایپلاینهای شبانه را به حدود 10% هزینهی حالت همگامِ بدون کش میرساند. قاعده به شکلی بیرحمانه ساده است: اگر کاری تاخیرِ چندساعته را تاب میآورد، جایش در پردازش دستهای است. پایپلاینهای تولید محتوا، دستهبندی اسناد، استخراج داده، تولید گزارش، برچسبگذاری انبوه، تگگذاری کاتالوگ — هر وظیفهای که تاخیر 24 ساعته را تحمل میکند، تا وقتی به حالت دستهای منتقل نشود، به معنای دور ریختن پول است. الگوی محیط عملیاتی (پروداکشن) در سال 2026 این است که هر بار کاری (workload) جدید مدلهای زبانی را به سه مسیر هدایت کنیم: تعاملی (همگام همراه با کش)، نیمهتعاملی (صف ناهمگام همراه با طرح پشتیبان)، دستهای (شبانه، با تجمیع ورودیهای کششده). بیشترین هدررفت مربوط به بارهای کاریای است که تظاهر به تعاملی بودن میکنند، اما عملاً تاخیر چنددقیقهای را بهراحتی میپذیرند.
اهداف یادگیری
- نام بردن APIهای دستهای سه ارائهدهندهی بزرگ (OpenAI، Anthropic، Google) و تعهد مشترک آنها مبنی بر 50% تخفیف بههمراه زمان تحویل 24 ساعته.
- محاسبهی هزینهی تجمیع پردازش دستهای + ورودی کششده روی یک بار کاری شبانهی دستهبندی اسناد و مقایسهی آن با خط مبنای همگام و بدون کش.
- تریاژ بار کاری در یکی از مسیرهای تعاملی / نیمهتعاملی / دستهای و توجیه مسیر انتخابی.
- نام بردن دو تلهی رایج: تعاملی بودنِ ناقص (انتظار کاربر برای پاسخی سریعتر از 24 ساعت) و انحراف ساختار خروجی (متفاوت بودن قالب فایل دستهای در هر ارائهدهنده).
صورت مسئله
تیم شما مسئول یک پایپلاین شبانهی تولید گزارش است: 50000 سند، خلاصهسازی تکتک اسناد، خوشهبندی خلاصهها و نگارش یک گزارش مدیریتی. اجرای همگام این فرایند 4 ساعت طول میکشد و شبی 2000 دلار هزینه برمیدارد. در این میان دربارهی APIهای دستهای میشنوید.
حالت دستهای 50% تخفیف به همراه دارد. همچنین قابلیت کش کردن پرامپت را روی پرامپت سیستم (که بین همهی 50 هزار فراخوانی مشترک است) فعال میکنید. با ترکیب این دو، صورتحساب به 180 دلار در شب میرسد — یعنی حدود 9% خط مبنا. همان پایپلاین، تنها با سه تغییر در تنظیمات.
پردازش دستهای ارزانترین اهرم کاهش هزینه در جعبهابزار مدلهای زبانی است که هیچکس سراغش نمیرود. دلیل اصلی به ساختار سازمانی برمیگردد: تیمها فکر میکنند همهچیز باید «بلادرنگ» باشد، در حالی که تعهد سطح خدمات (SLA) در عمل «تا فردا صبح» است. این درس دربارهی این است که نگذارید 90% صورتحساب بیدلیل روی میز باقی بماند و بسوزد.
مفاهیم پایه
سه API دستهای مطرح
API دستهای OpenAI: بارگذاری فایل JSONL شامل فهرستی از درخواستها. تعهد تحویل 24 ساعته (که در عمل معمولاً حدود 2 تا 8 ساعت طول میکشد). 50% تخفیف روی توکنهای ورودی و خروجی. اندپوینت /v1/batches. ورودیهای واجد شرایط کش هم علاوهبر این، از تعرفهی ورودی کششده بهرهمند میشوند.
دستههای پیام Anthropic (Message Batches): بارگذاری فایل JSONL. زمان تحویل 24 ساعته. 50% تخفیف. پشتیبانی از cache_control — نوشتن در کش (cache write) بهصورت صریح تعیین میشود و خواندن از کش در طول پردازش دستهای بهطور خودکار صورت میگیرد.
پیشبینی دستهای Vertex AI گوگل: ورودی از طریق BigQuery یا GCS. تخفیف مشابه 50 درصدی برای Gemini. یکپارچهشده با پایپلاینهای Vertex.
مفهوم بنیادین: ناهمگام، نه کند
حالت دستهای یعنی «قول میدهم کار را ظرف 24 ساعت تحویل دهم» — نه اینکه «انجام این کار حتماً 24 ساعت طول میکشد». میانهی زمان پاسخ (P50) معمولاً بین 2 تا 6 ساعت است. ارائهدهنده، پردازش دستهای شما را در ساعات کممصرف و زمانی که ظرفیت GPUها آزاد است زمانبندی میکند.
تجمیع با کشگذاری
خلاصهسازی 50 هزار سند را با پرامپت سیستم یکسان 4K توکنی در نظر بگیرید:
- همگامِ بدون کش: 50000 × ($ورودی × 4000 + $خروجی × 200) با تعرفهی کامل.
- همگامِ دارای کش: پرامپت سیستم بعد از اولین نوشتن در کش ذخیره میشود؛ 49999 درخواست بعدی ورودی را 10 برابر ارزانتر دریافت میکنند.
- دستهای دارای کش: تمام مزایای بالا بهعلاوهی 50% تخفیف هم روی خواندن و هم روی نوشتن.
این ترکیب یعنی دستهای + کش = تقریباً 10% هزینهی حالت همگامِ بدون کش. هر بار کاری که شبانه اجرا میشود و پرامپت سیستم مشترک دارد، باید از این الگو استفاده کند.
تریاژ بار کاری
تعاملی (Interactive) — کاربر منتظر پاسخ میماند. زمان تا اولین توکن (TTFT) مهم است. فراخوانی همگام همراه با کش پرامپت. امکان پردازش دستهای وجود ندارد.
نیمهتعاملی (Semi-interactive) — کاربر وظیفهای ثبت میکند و چند دقیقه بعد برای دیدن نتیجه سر میزند. صف ناهمگام بههمراه طرح پشتیبان (fallback) برای برگشت به حالت همگام در صورت در دسترس نبودن حالت دستهای؛ مثل نمایهسازی RAG با حجم متوسط.
دستهای (Batch) — کاربر انتظار دارد نتایج را «تا فردا صبح» یا «تا آخر وقت کاری» تحویل بگیرد. پایپلاینهای محتوا، دستهبندی در مقیاس بزرگ، تحلیل آفلاین. همیشه دستهای و همیشه همراه با کش تجمیعی.
اشتباه رایج: دستهبندی همهچیز در حالت تعاملی فقط به این دلیل که پایپلاین در محیط عملیاتی کار میکند. محیط عملیاتی ارتباطی با مشخصات تاخیر ندارد — ملاک اصلی SLA است.
تلهی تعاملی بودنِ ناقص
برخی قابلیتها در ظاهر تعاملی به نظر میرسند اما تاخیر 5 تا 10 دقیقهای را تاب میآورند. مثلاً: گزارش شبانهی وضعیت سلامت مشتری که یک دکمهی «تازهسازی» دارد. کاربر روی تازهسازی کلیک میکند؛ 10 دقیقه صبر کردن برایش مشکلی ندارد. تیم این بخش را همگام پیاده میکند. در نتیجه 50 درخواست تازهسازی همزمان، 10 برابرِ حالتی هزینه میتراشد که پردازشها دستهای اجرا شوند و نتیجه با ایمیل ارسال شود.
سؤالی که باید پرسید این است: «24 ساعت زمان برای این کاربر چه مفهومی دارد؟» اگر پاسخ این است که «اصلاً متوجه نمیشود»، کار را دستهای اجرا کنید.
تلهی ساختار خروجی
قالب فایلهای دستهای در هر ارائهدهنده فرق دارد:
- در OpenAI: فایل JSONL، در هر خط یک درخواست.
- در Anthropic: فایل JSONL، در هر خط یک پیام؛ ساختار پاسخ درون همان تعبیه شده است.
- در Vertex: جدول BigQuery یا پیشوند GCS همراه با TFRecord.
نوشتن «یک کلاینت دستهای واحد» برای همهی ارائهدهندهها نیازمند کد تطبیقدهنده (adapter) مجزا برای هر کدام است. درگاههایی که پردازش دستهای چند ارائهدهنده را تبلیغ میکنند (مثل Portkey یا برخی سطوح LiteLLM) هم صرفاً پوستهای نازک روی همین قالب خام کشیدهاند.
اعدادی که باید به خاطر بسپارید
- تخفیف پردازش دستهای در همهی ارائهدهندهها: 50% ثابت روی ورودی + خروجی.
- تعهد زمانی (SLA): تضمین 24 ساعته، میانهی معمول (P50) بین 2 تا 6 ساعت.
- ترکیب دستهای + ورودی کششده: حدود 10% هزینهی حالت همگام بدون کش.
- قانون تریاژ بار کاری: اگر تاخیر 24 ساعته پذیرفتنی است، همیشه از پردازش دستهای استفاده کنید.
پیادهسازی عملی
اسکریپت code/main.py هزینهها را برای بار کاریِ 50 هزار سند در چهار حالت محاسبه میکند: همگام، همگام با کش، دستهای، و دستهای با کش؛ سپس میزان صرفهجویی را به دلار و درصد گزارش میدهد.
خروجی کار
این درس فایل outputs/skill-batch-triager.md را تولید میکند. این ابزار با دریافت ویژگیهای بار کاری، آن را در یکی از مسیرهای تعاملی / نیمهتعاملی / دستهای هدایت میکند و میزان صرفهجویی را تخمین میزند.
تمرینها
- اسکریپت
code/main.pyرا اجرا کنید. برای پایپلاینی شامل 100 هزار سند با پرامپت سیستم 3K توکنی و خروجی 500 توکنی، میزان صرفهجویی ترکیب کامل (دستهای + کش) را نسبت به خط مبنای همگام محاسبه کنید. - سه قابلیت را در محصولی واقعی که میشناسید انتخاب کنید. هر کدام را در یکی از مسیرهای تعاملی / نیمهتعاملی / دستهای قرار دهید.
- کاربری شکایت دارد که آماده شدن گزارش او 3 ساعت طول کشیده است. آیا این خطا در تریاژ دستهای بوده یا این وظیفه ذاتاً باید تعاملی میبود؟ معیار تصمیمگیری برای این سناریو را بنویسید.
- تعهد SLA خروجی API دستهای شما 24 ساعت است اما صدک نود و نهم (P99) به 20 ساعت میرسد. این موضوع را چگونه به کاربر اطلاع میدهید — رفتار سیستم پاییندستی در این حالتهای مرزی چه خواهد بود؟
- نقطهی سربهسر را حساب کنید: طول پیشوند مشترک باید چقدر باشد تا اجرای دستهای + کش، ارزانتر از اجرای شبانه روی GPU رزروشدهی اختصاصی خودتان تمام شود؟
اصطلاحات کلیدی
| اصطلاح | در گفتار عامیانه | معنای دقیق فنی |
|---|---|---|
| API دستهای (Batch API) | «تخفیف ناهمگام» | 50% تخفیف با زمان تحویل 24 ساعته |
| JSONL | «قالب پردازش دستهای» | هر خط یک درخواست JSON؛ استاندارد OpenAI و Anthropic |
| دستههای پیام (Message Batches) | «بچ Anthropic» | نام تجاری محصول API دستهای شرکت Anthropic |
| پیشبینی دستهای (Batch prediction) | «بچ Vertex» | محصول API دستهای پلتفرم Vertex AI |
| تعهد زمان تحویل (Turnaround SLA) | «قول 24 ساعته» | سقف تضمینشده، نه زمان معمول؛ زمان معمول 2 تا 6 ساعت است |
| تریاژ بار کاری (Workload triage) | «تصمیمگیری دربارهی تعاملی بودن» | تصمیمگیری برای مسیریابی بین حالتهای تعاملی / نیمهتعاملی / دستهای |
| ساختار خروجی (Output schema) | «قالب پاسخ» | چیدمان فایل JSONL مختص هر ارائهدهنده؛ مستقل و قابلانتقال نیست |
| تخفیف تجمیعی (Stacked discount) | «دستهای + کش» | کاهش هزینه به حدود 10% صورتحساب همگامِ بدون کش، در صورت اعمال همزمان هر دو |
برای مطالعهی بیشتر
- OpenAI Batch API — قالب JSONL و معناشناسی اندپوینت
/v1/batches. - Anthropic Message Batches — قالب پردازش دستهای و سازوکار تعامل با
cache_control. - Vertex AI Batch Prediction — جزئیات رفتار حالت دستهای Gemini.
- Finout — مقایسهی قیمتگذاری APIهای OpenAI و Anthropic در سال 2026
- Zen Van Riel — مقایسهی هزینههای API مدلهای زبانی در سال 2026
