TGViewer
Software Philosophy Software Philosophy @softwarephilosophy · 3.48K subscribers
Post #2387 1.39K
ما اخیراً سیستم‌های AI خودمون رو به MAF منتقل کردیم و واقعاً فوق‌العاده بوده!



این جمله واسه من نیست. کامنت @CrystaCode تویOn .NET Live بود :) البته من ترجمش رو گذاشتم اینجا...

در این ویدیو Daniel Costea، در مورد ساختار Middleware ها در Microsoft Agentic Framework صحبت می‌کند.

او Middlewareها را به سه نوع تقسیم می‌کند و با مدل ذهنی prepare → handle → invoke توضیح می‌دهد؛ مدلی که برای هر کسی که قبلاً با Middleware در ASP.NET Core کار کرده، کاملاً آشناست:

اولین مورد Shared Function Middleware نزدیک‌ترین لایه به Request است. این Middleware از یک pipeline استفاده می‌کند و می‌تواند پیام‌های ورودی را بررسی و فیلتر کند، اما Response را نمی‌بیند.
به همین دلیل جای مناسبی برای Guardrailهای ورودی محسوب می‌شود؛ مثلاً حذف اطلاعات شخصی (PII) یا آدرس ایمیل قبل از اینکه اصلاً به مدل ارسال شوند.


دومین Response Middleware یک قدم فراتر می‌رود. در حالی که همچنان مثل یک pipeline عمل می‌کند، می‌تواند Response کامل را هم ببیند و حتی تغییرش دهد.
اینجا جایی است که می‌شود مشکلاتی مثل مصرف بیش‌ازحد Token را تشخیص داد و قبل از اینکه یک Call هزینه غیرضروری ایجاد کند، جلوی ادامه آن را گرفت. مثلا میشه Token Usage را هم بررسی و ذخیره کرد.

و در آخر Function Calling Middleware هم Tool Callها را با دسترسی کامل به Conversation History بررسی می‌کند.
در نتیجه، قبل از اجرای یک Tool می‌تواند یک Invocation پرریسک را Block کند، محدود کند یا حتی تغییر دهد. در Demo همین قابلیت باعث شد Agent مربوط به یک ماشین رباتیک، مستقیم با دنده عقب به دیوار برخورد نکند!

هرکدام از این Middlewareها می‌توانند در دو لایه مختلف اجرا شوند:
در ChatClient که Identity ندارد و می‌تواند بین چند Agent به اشتراک گذاشته شود و Agent که Session و Identity خود را دارد.

در مجموع یعنی ۶ نقطه مختلف برای Hook کردن Middleware.
ترتیب Middlewareها هم اهمیت زیادی دارد. اگر ترتیب درست نباشد، ممکن است یک Middleware بیشتر از چیزی که انتظار دارید اجرا شود.

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

#حامد_حاجیلو (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

______
YouTube On .NET Live - Demystifying Microsoft Agent Framework Middleware In this session we'll walk through how Daniel Costea uses ChatClient and Agent middleware to turn plain .NET AI agents into production‑ready systems with observability, safety, and cost control. Starting from an agent that talks directly to an LLM, he walks…
  • ❤ 7
  • 👍 1
  • 🔥 1
More from @softwarephilosophy
  1. Sep 27, 2026نگو JEV بگو System One! دنیل کانمن (Daniel Kahneman) توی کتاب معروفش «تفکر، سریع و کند» (T…
  2. Sep 23, 2026بازنویسی کل GitHub Copilot Runtime با Rust 🔶 حدود ۱۲۰،۰۰۰ دلار هزینه توکن و سه هفته وقت ی…
  3. Sep 15, 2026ورک‌شاپ «AI Agents in C# (MAF)» در این ورک‌شاپ به بررسی امکانات جدید برنامه‌نویسی با کتابخ…
  4. Sep 12, 2026کد مدریت شده (Managed Code) در دات‌نت یعنی چی؟ ▫️به زبان ساده: کد مدریت شده (Managed Code)…
  5. Sep 5, 2026آشنایی با Attributeها در سی‌شارپ در سی شارپ، Attributeها برای اضافه کردن metadata یا اطلاع…
  6. Aug 25, 2026اگر در دات نت Agent، MCP Server یا ابزارهای مبتنی بر هوش مصنوعی توسعه میدهی، این پروژه میت…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →