# Deploying Scalable Agents

> زمانی که یک یادگیرنده می‌خواهد: - یک عامل را به Microsoft Foundry به عنوان عامل میزبانی‌شده مستقر کند و آن را نسخه‌بندی شده/قابل مشاهده نماید. - بین الگوهای استقرار میزبانی شده توسط مشتری، عامل میزبانی شده، و جریان‌کاری عامل انتخاب کند. - مسیر یابی مدل، کش پاسخ‌ها، یا همزمانی محدود را برای کنترل تأخیر و هزینه اضافه کند. - یک دروازه ارزیابی اضافه کند تا نسخه بد عامل ارسال نشود. - یک مرحله تأیید انسان در حلقه برای عملیات با ریسک بالا اضافه کند.

- Skill: `thedixitjain/deploying-scalable-agents-10` (Agent Skill)
- Install (CLI): `npx skillmds add thedixitjain/deploying-scalable-agents-10`
- Raw SKILL.md: https://api.skillmd.com/api/skills/thedixitjain/deploying-scalable-agents-10/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: thedixitjain (https://skillmd.com/u/thedixitjain)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/thedixitjain/deploying-scalable-agents-10

---

# استقرار عامل‌های مقیاس‌پذیر با Microsoft Foundry

> مهارت همراه برای [درس 16 – استقرار عامل‌های مقیاس‌پذیر](../../../16-deploying-scalable-agents/README.md).
> از آن برای کمک به یادگیرنده استفاده کنید تا یک عامل را از نمونه اولیه به استقرار تولیدی قابل مقیاس و قابل مشاهده منتقل کند.
> هر توصیه را بر اساس محتوای درس و دفترچه اجرایی انجام‌دادنی پایه‌گذاری کنید؛ از ساختن APIهای Foundry خودداری کنید.


## ماشه‌ها

زمانی که یک یادگیرنده می‌خواهد:
- یک عامل را به Microsoft Foundry به عنوان **عامل میزبانی‌شده** مستقر کند و آن را نسخه‌بندی شده/قابل مشاهده نماید.
- بین الگوهای استقرار **میزبانی شده توسط مشتری، عامل میزبانی شده، و جریان‌کاری عامل** انتخاب کند.
- **مسیر یابی مدل**، **کش پاسخ‌ها**، یا **همزمانی محدود** را برای کنترل تأخیر و هزینه اضافه کند.
- یک **دروازه ارزیابی** اضافه کند تا نسخه بد عامل ارسال نشود.
- یک مرحله **تأیید انسان در حلقه** برای عملیات با ریسک بالا اضافه کند.
- عامل را با ردیابی **OpenTelemetry** برای قابل مشاهده بودن در تولید مجهز کند.
- بعد از استقرار، عامل را به‌سرعت با **آزمون دود** بررسی کند.

## مدل ذهنی اصلی

یک عامل تولیدی بیشتر اسکلت عملیاتی *دور* مدل است (~۸۰٪)،
نه خود مدل. هر توصیه را به یکی از این نگرانی‌ها نسبت دهید:

| نگرانی | نمونه اولیه → تولید |
|---------|------------------------|
| میزبانی | دفترچه → سرویس میزبانی شده نسخه‌بندی شده |
| هویت | ورود شما با `az login` → هویت مدیریتی + RBAC محدود شده |
| حالت | در حافظه → ذخیره موضوعی/حافظه خارجی |
| خطا | ردیابی خطا → تلاش‌های مجدد، بازگشت، هشدارها |
| هزینه | "چند سنت" → رصد شده، مسیردهی شده، کش شده، بودجه‌بندی شده |
| کیفیت | ارزیابی بصری → دروازه ارزیابی خودکار |
| اعتماد | تأیید شما → سیاست + انسان در حلقه |

## الگوهای استقرار (یکی را انتخاب کنید یا ترکیب کنید)

1. **میزبانی شده توسط مشتری** — حلقه استدلال در فرآیند شما اجرا می‌شود. کنترل حداکثری؛ شما مالک مقیاس‌بندی/حالت هستید.
2. **عامل میزبانی شده (خدمت عامل Foundry)** — Foundry حلقه را میزبانی می‌کند، موضوع‌ها را ذخیره می‌کند، RBAC/امنیت محتوا را اعمال می‌کند، عامل را در پرتال نشان می‌دهد. کنترل کمتر، سطح عملیاتی بسیار کمتر.
3. **جریان‌کاری عامل** — چندین عامل/ابزار ترکیب شده به یک گراف با شاخه‌ها، گره‌های تأیید، و نقاط بازبینی پایدار.

## چرخه عمر (حلقه‌ای که یک عامل را ارسال می‌کند)

`ایجاد → نسخه‌بندی → ارزیابی (دروازه) → استقرار میزبانی شده → مشاهده آنلاین → جمع‌آوری خطاها → تکرار`.
**ارزیابی آفلاین یک دروازه است، نه فکر بعدی** — نسخه ارسال نمی‌شود
مگر اینکه آستانه را رد کند. مشاهده آنلاین خطاهای واقعی را به مجموعه تست آفلاین بازمی‌گرداند.


## اهرم‌های مقیاس و هزینه (به ترتیب اولویت)

1. **اندازه مدل را مناسب انتخاب کنید** — کوچک‌ترین مدلی را که از دروازه ارزیابی عبور می‌کند، انتخاب کنید.
2. **مسیر یابی بر اساس پیچیدگی** — مدل کوچک/سریع برای درخواست‌های ساده، مدل بزرگ برای استدلال واقعی (رده‌بند DIY یا Foundry Model Router).
3. **کش** — درخواست‌های تقریباً تکراری را بدون فراخوانی مدل پاسخ دهید.
4. **طراحی بدون حالت + همزمانی محدود** — حالت را خارجی کنید؛ با برگشت‌های افزایشی تلاش کنید.

## الگوهای کلیدی برای بازتولید

یادگیرنده را به این‌ها از دفترچه راهنمای
[`16-python-agent-framework.ipynb`](../../../16-deploying-scalable-agents/code_samples/16-python-agent-framework.ipynb) ارجاع دهید:

- **مدیر درخواست**: کش → مسیر یابی بر اساس پیچیدگی → ردیابی بازه → اجرا → کش.
- **دروازه ارزیابی**: نمره دادن یک مجموعه تست آفلاین؛ `pass_rate >= threshold` بازگرداند و تنها در صورت درست بودن مستقر شود.
- **تأیید انسانی**: `@tool(approval_mode="always_require")` برای عملیاتی مانند بازپرداخت‌های بزرگ.
- **ردیابی**: هر درخواست را در `tracer.start_as_current_span(...)` بپیچید و خصوصیات مثل `routed.model`، `customer.id` را تنظیم کنید.

## آزمایش دود یک عامل مستقر شده

بعد از استقرار، تأیید کنید که نقطه انتهایی واقعاً پاسخ می‌دهد (یک استقرار سبز هنوز ممکن است
بی‌صدا باشد). از [AI Smoke Test](https://github.com/marketplace/actions/ai-smoke-test)
از طریق [`.github/workflows/smoke-test.yml`](../../../../../.github/workflows/smoke-test.yml)
با کاتالوگ در [`tests/`](../../../tests/README.md) استفاده کنید. اجراکننده هر
فراخوان را به `POST {project_endpoint}/agents/{agent_name}/endpoint/protocols/openai/responses` ارسال می‌کند
و روی متن پاسخ تأیید می‌کند. هویت باید نقش **کاربر AI Azure** را در
دامنه پروژه Foundry داشته باشد؛ مخاطب توکن باید `https://ai.azure.com/` باشد.

لایه‌های دروازه‌ها: **آزمون دود** (دسترس‌پذیر/پاسخگو، هر بار استقرار) → **ارزیابی آفلاین**
(به اندازه کافی خوب برای ارسال، قبل از ترفیع) → **ارزیابی آنلاین** (عملکرد واقعی در محیط، مستمر).


## کنترل‌های سازمانی

- **RBAC**: به هر عامل میزبانی شده یک هویت مدیریتی با حداقل امتیاز بدهید.
- **MCP در تولید**: هر سرور MCP را به عنوان یک مرز غیرقابل اطمینان رفتار کنید — نسخه را پین کنید، هویت آن را محدود کنید، خروجی‌ها را اعتبارسنجی کنید، محدودیت نرخ اعمال کنید، هرگز اسرار را در معرض قرار ندهید.

## حفاظ‌ها برای دستیار

- الگوی استاندارد `FoundryChatClient(...)` + `provider.as_agent(...)` را که در کل دوره استفاده شده ترجیح دهید.
- وعده نتایج Azure زنده‌ای که تأیید نکرده‌اید ندهید؛ روند آزمون دود را برای تأیید استقرار توصیه کنید.
- نصیحت‌های ارزیابی و هزینه را به هم وابسته نگه دارید: ارزیابی کف کیفیت را تعیین می‌کند، مسیر یابی/کش هزینه را نزدیک به آن کف نگه می‌دارد.

---

<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**سلب مسئولیت**:
این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌هایی باشند. سند اصلی به زبان مادری خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما در قبال هرگونه سوء تفاهم یا برداشت نادرست ناشی از استفاده از این ترجمه مسئولیتی نداریم.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

---

**Source:** [`microsoft/ai-agents-for-beginners`](https://github.com/microsoft/ai-agents-for-beginners) → `translations/fa/.agents/skills/deploying-scalable-agents/SKILL.md`

