أعلن فريق .NET في Microsoft، بالتعاون مع CopilotKit، عن حزمة SDK رسمية لـ .NET لبروتوكول AG-UI، وهو معيار يحدد طريقة تواصل وكلاء الذكاء الاصطناعي مع التطبيقات والواجهات الموجهة للمستخدم. نُشرت الحزمة في مستودع AG-UI إلى جانب حزم TypeScript وPython، وهي متاحة عبر NuGet بترخيص MIT.
التغيير العملي هو أن أي خدمة .NET يمكنها الآن التحدث مباشرة عبر AG-UI، من دون الاعتماد على تنفيذ خاص بإطار وكلاء محدد. كما أصبح دعم AG-UI في Microsoft Agent Framework، المعروف اختصاراً بـ MAF، مبنياً على حزم SDK الجديدة.
ما الذي تضيفه الحزمة؟
يهدف AG-UI إلى معالجة مشكلة شائعة في تطبيقات الوكلاء طويلة التشغيل. فالوكلاء قد يرسلون الرموز تدريجياً، ويستدعوا أدوات، ويفوضوا مهاماً إلى وكلاء فرعيين، أو يغيروا حالة التطبيق أثناء تنفيذ الطلب. ومن دون بروتوكول مشترك، تضطر الواجهات الأمامية إلى فهم صيغ أحداث مختلفة لكل إطار عمل أو خدمة.
يحول البروتوكول هذه التفاعلات إلى أحداث مكتوبة، من بينها RUN_STARTED وTEXT_MESSAGE_CONTENT وSTATE_DELTA وRUN_FINISHED. وتقرر الجهة العميلة كيفية عرضها، سواء في تطبيق ويب أو طرفية أو تطبيق محمول أو منصات محادثة مثل Slack وTeams.
دعم الخادم والعميل
تتضمن الحزمة مسارين متكاملين. يحول AGUI.Server الوكيل إلى نقطة نهاية متوافقة مع AG-UI، بينما يتيح AGUI.Client لتطبيق .NET الاتصال بأي وكيل يدعم البروتوكول. ويستند التكامل إلى IChatClient، وهي طبقة التجريد الخاصة بالمحادثة ضمن Microsoft.Extensions.AI.
في جانب الخادم، تفكك الدالة ToChatRequestContext طلب AG-UI الوارد إلى الرسائل والخيارات التي يتوقعها العميل، ثم تحول AsAGUIEventStreamAsync تدفق الاستجابة إلى أحداث البروتوكول. ويتولى هذا التحويل أيضاً إنشاء أحداث بدء التشغيل وإنهائه، وإغلاق كتل النص أو الاستدلال المفتوحة قبل الانتقال إلى رسالة أو استدعاء أداة آخر.
أما مستخدمو Microsoft Agent Framework فيمكنهم الاعتماد على تكامل ASP.NET Core الذي يوفر الدالتين AddAGUIServer() وMapAGUIServer() لتقليل كود إعداد نقطة النهاية.
مكونات SDK والتوافق
تتكون الحزمة من خمسة مكونات منشورة عبر NuGet:
- AGUI.Abstractions: نماذج البروتوكول الخاصة بالأحداث والرسائل والأدوات والحالة والمقاطعات.
- AGUI.Formatting: تنسيق البيانات على السلك، مع دعم Server-Sent Events افتراضياً.
- AGUI.Protobuf: دعم اختياري لـ Protobuf يغطي مجموعة فرعية من أنواع الأحداث.
- AGUI.Client: استهلاك تدفقات AG-UI.
- AGUI.Server: إنتاج تدفقات AG-UI.
يبقى SSE هو التنسيق الافتراضي ويدعم جميع أنواع الأحداث المذكورة في SDK، بينما يقتصر دعم Protobuf على مجموعة فرعية.
ما الذي يتغير لمستخدمي Agent Framework؟
لا يتغير نموذج البرمجة الأساسي للمستخدمين الحاليين، كما يبقى تنسيق الأحداث متوافقاً، ما يعني أن الواجهات الأمامية الحالية يمكنها مواصلة العمل مع خادم تمت ترقيته. لكن بعض أسماء الواجهات تغيرت؛ إذ حل AddAGUIServer() وMapAGUIServer() محل AddAGUI() وMapAGUI()، وانتقلت المساحات والأصناف إلى حزم AGUI.Client وAGUI.Server وAGUI.Abstractions.
يدعم العميل استهلاك AG-UI من .NET Framework 4.7.2 وما بعده، بينما يتطلب عرض نقطة النهاية إصداراً حالياً من .NET.
لماذا يهم هذا الإعلان؟
يمنح الإصدار خدمات .NET مساراً موحداً للتعامل مع واجهات متعددة من دون إعادة بناء طبقة تدفق الأحداث لكل تطبيق. كما يسمح بتبادل الأدوار بين مكونات مكتوبة بـ C# وPython وTypeScript، مع إبقاء طبقة التكامل قائمة على IChatClient. وتزداد قيمة ذلك للمؤسسات التي تريد توصيل وكيل واحد بواجهات ويب أو تطبيقات داخلية أو قنوات محادثة مختلفة.
مع ذلك، لا يلغي SDK الحاجة إلى بناء الخادم أو اختيار طريقة عرض الأحداث؛ فهو يتولى البروتوكول، بينما تبقى بنية الويب ونقطة النهاية مسؤولية التطبيق. كما أن دعم Protobuf ليس شاملاً لكل الأحداث، ولذلك يظل SSE الخيار الكامل الافتراضي.
كيف أعددنا هذا الخبر؟
اعتمد الخبر على المصدر الأصلي الموضح أعلاه. قد نستخدم أدوات آلية للمساعدة في الاستخراج والتصنيف والصياغة،
لكن النشر يخضع لقواعد تمنع المحتوى المكرر والقصير أو الروتيني منخفض القيمة.
اقرأ سياستنا التحريرية.