مایکروسافت اعلام کرد که Prompt Flow در Azure AI Foundry از تاریخ ۲۰ آوریل ۲۰۲۶ دریافت ویژگی‌های جدید را متوقف کرده و در ۲۰ آوریل ۲۰۲۷ بازنشسته (retired) خواهد شد. این شرکت از توسعه‌دهندگان می‌خواهد که حجم کاری (workloads) خود را به Microsoft Agent Framework منتقل کنند. این ضرب‌الاجل بسیار مهم است، زیرا تصاویر زمان اجرا (runtime images) که قدرت‌بخش Prompt Flow هستند، به‌زودی به‌روزرسانی‌های امنیتی را از دست خواهند داد و این موضوع باعث ایجاد مشکلات مربوط به انطباق (compliance) برای هر سازمانی می‌شود که همچنان از این سرویس استفاده می‌کند.

Prompt Flow در واقع ارکستراتور بصری Azure AI Foundry برای خطوط لوله (pipelines) مدل‌های زبانی بزرگ (LLM) بود. یک «flow» اساساً پوشه‌ای است که حاوی یک فایل flow.dag.yaml است که ورودی‌ها، خروجی‌ها و توالی گره‌ها (nodes) را توصیف می‌کند. ویرایشگر بصری به کاربران اجازه می‌داد اجزا را بکشند و رها کنند (drag and drop)، اما فایل YAML زیربنایی همان چیزی است که سیستم‌های کنترل نسخه (version-control) در واقع دنبال می‌کنند.

چرا این تغییر اهمیت دارد

  • ریسک انطباق (Compliance risk) – بدون به‌روزرسانی‌های امنیتی، هر آسیب‌پذیری کشف‌شده در تصاویر زمان اجرا، بدون وصله (unpatched) باقی می‌ماند. نهادهای نظارتی اغلب کدهای نگهداری‌نشده را «عدم انطباق» تلقی می‌کنند، به‌ویژه زمانی که آن کد با اطلاعات حساس (credentials) سروکار دارد.

مفاهیم اصلی که هنوز باید بدانید

حتی اگر قصد دارید Prompt Flow را کنار بگذارید، الگوهایی که این ابزار ترویج می‌کرد همچنان ارزشمند هستند. درک این الگوها انتقال به Agent Framework را تسهیل می‌کند.

  • تعریف مبتنی بر پوشه (Folder-based definition) – فایل YAML مربوط به flow، هر گره، نوع آن و قراردادهای داده‌ای (data contracts) آن را فهرست می‌کند. این فایل را تحت کنترل نسخه (source control) نگه دارید؛ این فایل تنها منبع حقیقت (single source of truth) است.
  • گره‌های Python برای کارهای قطعی (deterministic) – از مراحل Python برای تجزیه (parsing)، اعتبارسنجی یا هر منطقی که باید با ورودی یکسان، نتیجه یکسانی تولید کند، استفاده کنید. این کار فراخوانی‌های غیرقطعی (nondeterministic) LLM را ایزوله کرده و تست‌های مراحل بعدی را آسان‌تر می‌کند.
  • اشیاء اتصال (Connection objects) برای اطلاعات حساس – اطلاعات حساس (credentials) در یک فیلد اتصال مجزا قرار می‌گیرند، نه در کد. این طراحی به شما اجازه می‌دهد بدون تغییر در تعریف flow، کلیدهای محیط توسعه را با کلیدهای محیط عملیاتی (production) جایگزین کنید.
  • مجموعه داده‌های ارزیابی (Evaluation datasets) – قوی‌ترین ویژگی Prompt Flow، حلقه ارزیابی داخلی آن بود. یک فایل JSONL که ورودی‌های واقع‌گرایانه را با خروجی‌های مورد انتظار جفت می‌کند، در هر فریم‌ورکی قابل استفاده است؛ با آن به عنوان داده‌های تست قابل حمل برخورد کنید.
  • معیارهای سطح سیستم (System-level metrics) – اندازه‌گیری تنها خروجی یک گره واحد می‌تواند گمراه‌کننده باشد. بررسی‌های قطعی (مانند تطبیق regex) را با معیارهای سرتاسری (end-to-end) ترکیب کنید تا پسرفت‌ها (regressions) را که تنها پس از اجرای کل خط لوله ظاهر می‌شوند، شناسایی کنید.

نقشه راه مهاجرت

انتقال از Prompt Flow به Agent Framework یک عملیات «کلیک و تبدیل» ساده نیست؛ بلکه مستلزم بازنویسی معناشناسی (semantics) هر گره است.

  1. نگاشت گره‌های LLM – بلوک‌های بصری LLM را با فراخوانی‌های صریح API که در یک کلاس agent بسته‌بندی شده‌اند، جایگزین کنید. agent باید همان طرحواره ورودی (input schema) تعریف‌شده در YAML اصلی را بپذیرد.
  2. ترجمه گره‌های Python – کدهای Python را به توابع یا متدهای معمولی تبدیل کنید که ارکستراتور جدید بتواند آن‌ها را فراخوانی کند. هرگونه قرارداد قطعی که پیرامون آن‌ها ساخته‌اید را حفظ کنید.
  3. بازسازی اتصالات – تعاریف اتصال را از Prompt Flow استخراج کرده و آن‌ها را در مخزن اسرار (secret store) مربوط به Agent Framework وارد کنید. بررسی کنید که مقادیر مربوط به محیط‌های مختلف همچنان به درستی حل (resolve) می‌شوند.
  4. انتقال داده‌های ارزیابی – فایل JSONL موجود را به ابزار تست (test harness) فریم‌ورک جدید بدهید. محاسبات هرگونه معیار را برای مطابقت با قالب گزارش‌دهی Agent Framework تنظیم کنید.
  5. اعتبارسنجی سرتاسری (end-to-end) – کل خط لوله را روی نمونه‌ای از ترافیک واقعی اجرا کنید. خروجی‌های نهایی را با خط مبنای (baseline) اصلی Prompt Flow مقایسه کنید تا انحراف (drift) را شناسایی کنید.
  6. تکرار در ارکستراسیون – اگر گردش کار شما به تاب‌آوری در برابر بازراه‌اندازی فرآیندها نیاز دارد، به جای بازسازی یک flow بصری، Azure Durable Functions یا یک ارکستراتور بادوام (durable) دیگر را در نظر بگیرید.

آنچه باید در ادامه زیر نظر بگیرید

نکته کلیدی: با ضرب‌الاجل آوریل ۲۰۲۷ به عنوان یک توقف قطعی برخورد کنید. هرگونه پروژه جدید Prompt Flow را متوقف کنید، بخش‌های قابل استفاده مجدد — یعنی تعاریف YAML، منطق Python، تنظیمات اتصال و داده‌های ارزیابی — را استخراج کنید و تا زمانی که به‌روزرسانی‌های امنیتی همچنان ارائه می‌شوند، بازسازی آن‌ها را در Agent Framework شروع کنید. تلاش در زمان حال، از یک مهاجرت عجولانه و پرخطر در آینده جلوگیری می‌کند.

منبع: https://dev.to/multigrid/building-a-prompt-flow-in-azure-ai-foundry-2bbn