ترى Uno Platform أن أكبر مشكلة في استخدام وكلاء الذكاء الاصطناعي لبناء تطبيقات .NET متعددة المنصات لا تتمثل في كتابة الشيفرة، بل في معرفة ما إذا كانت الشيفرة تعمل كما ينبغي بعد تشغيل التطبيق. فقد ينتج الوكيل صفحة إعدادات قابلة للترجمة والبناء، لكنها قد تحتوي أخطاء في التخطيط أو السلوك لا تظهر إلا داخل التطبيق الفعلي.
لمعالجة هذه الفجوة، بنت Uno Platform خادمين بلغة C# باستخدام حزمة MCP C# SDK الرسمية التي تطورها Microsoft بالتعاون مع المجتمع. يركز الخادم الأول على توفير المعرفة والوثائق، بينما يربط الثاني الوكيل بتطبيق يعمل فعلياً، بحيث يستطيع الوكيل تشغيله وفحصه والتفاعل معه.
خادمان بمهمتين ودورتين زمنيتين مختلفتين
القرار الأساسي في تصميم Uno Platform كان الفصل بين مشكلة “ما الذي ينبغي أن يكون صحيحاً؟” ومشكلة “ما الذي يحدث الآن؟”. فخادم الوثائق يتعامل مع معلومات تتغير عند إصدار تحديثات للمنصة أو تعديل صفحاتها، في حين يتعامل خادم التطبيق مع حالة جلسة تشغيل محددة تتغير أثناء تشغيل التطبيق.
خادم الوثائق مستضاف بصورة عامة على العنوان mcp.platform.uno/v1، ويعمل عبر HTTP وبلا حالة. ويوفر أدوات للبحث في الوثائق الرسمية وجلب صفحات كاملة بصيغة Markdown، إلى جانب تهيئة قواعد العمل مع تطبيق قيد التشغيل وقواعد استخدام واجهات Uno Platform الشائعة. كما يتضمن موجهين هما /new لإنشاء تطبيق وفق أفضل الممارسات الحالية، و/init لتهيئة محادثة مرتبطة بقاعدة شيفرة قائمة.
وتكمن فائدة استضافة هذا الخادم، وفق التجربة المنشورة، في أن تحديث صفحة وثائق واحدة ينعكس على الوكلاء في المرة التالية التي يستدعون فيها الخادم، بدلاً من تضمين الإرشادات داخل حزمة NuGet تحتاج إلى إصدار جديد.
أما خادم التطبيق فيعمل كأداة .NET عبر stdio على جهاز المطور، ويربط الوكيل بخدمة Uno DevServer. وهو خادم ذو حالة مخصص لجلسة واحدة. يستطيع تشغيل التطبيق في وضع التصحيح مع تفعيل Hot Reload، والتقاط لقطة شاشة، واستخراج نسخة XML من شجرة العناصر المرئية، ثم تنفيذ النقر والضغط على المفاتيح وإدخال النص واستدعاء إجراءات عناصر الأتمتة.
التحقق من الواجهة يتطلب أكثر من لقطة شاشة
تعتبر Uno Platform أن أداة شجرة العناصر المرئية هي الجزء الأهم في دورة التحقق. فلقطة الشاشة تساعد الوكيل على اكتشاف أن شيئاً ما يبدو خاطئاً، بينما تكشف شجرة العناصر العنصر المتسبب في المشكلة وخصائصه. وبصياغة عملية: البكسلات مناسبة للاكتشاف، والبنية مناسبة للتشخيص، ويحتاج الوكيل إلى الاثنين معاً.
وتوصي المنصة باستخدام uno_app_element_peer_action بدلاً من النقر بالإحداثيات عبر uno_app_pointer_click متى كان ذلك ممكناً، لأن النقر بالإحداثيات يتأثر باختلاف أحجام النوافذ وكثافة البكسلات، في حين ترتبط إجراءات الأتمتة بالعناصر نفسها. وقد وضعت هذه التوصية داخل وصف الأداة، لا في وثيقة منفصلة قد لا يحمّلها الوكيل، لأن وصف الأداة يؤثر مباشرة في قرار الاختيار.
بهذه الأدوات، يمكن للوكيل تعديل الواجهة، ثم إعادة تحميل التطبيق، والتقاط الشاشة، وقراءة الشجرة المرئية، وتنفيذ مسار تفاعلي، وتحديد ما إذا كانت النتيجة تطابق المطلوب قبل تسليم التغيير. وتشبه Uno Platform هذا النهج بأدوات Playwright الخاصة بتطبيقات الويب، مع توجيهه إلى تطبيقات .NET الأصلية التي تعمل على Windows وmacOS وLinux وiOS وAndroid وWebAssembly.
تكلفة الأدوات جزء من تصميم السياق
تلفت التجربة الانتباه إلى قيد عملي غالباً ما يغيب عن النقاش حول MCP: تعريفات الأدوات تستهلك من نافذة سياق النموذج قبل طرح أي سؤال. وذكرت Uno Platform أن خادم الوثائق يستهلك نحو 6.4 آلاف رمز، بينما يستهلك خادم التطبيق نحو 1.5 ألف رمز. وللمقارنة، يستهلك خادم GitHub MCP المدمج في الجلسة نفسها نحو 5.2 آلاف رمز.
لذلك لا تُعد أوصاف الأدوات مجرد توثيق تقني؛ فهي، بحسب المادة، نوع من التوجيه أو المطالبة التي تؤثر في اختيار الوكيل للأداة. ومن هنا تأتي أهمية جعل الاسم والوصف ومخطط الإدخال مختصرة وعالية الإشارة، مع تضمين التفضيلات التشغيلية المهمة في المكان الذي يقرأه النموذج عند اتخاذ القرار.
ما الذي يتغير عملياً للمطورين؟
لا تكتفي Uno Platform بتوفير أدوات منفردة، بل تضيف ما تسميه Skills، وهي إجراءات منظمة تحدد متى تُستخدم الأدوات وبأي ترتيب وما الذي يعنيه اكتمال المهمة. وتشمل المكتبة سيناريوهات مثل MVUX والحالة ومصادر البيانات والتنقل والتنسيق وعناصر Uno Toolkit والاختبار، مع Skill باسم uno-testing-ui لأتمتة اختبار الواجهة عبر خادم التطبيق.
وتجمع هذه البنية بين وثائق محدثة، وتطبيق حي يمكن فحصه، وإجراءات مسبقة لسير العمل. وتقول المنصة إن هذه المكونات تدعم Uno Platform Studio 3.0، الذي ينشئ تطبيق .NET متعدد المنصات بالكامل داخل المتصفح. ويعتمد ذلك على Microsoft Agent Framework للتخطيط والتنفيذ، وعلى مساحة عمل Roslyn للترجمة وتحميل التجميعات وحل تغييرات NuGet وإعادة تحميل النتيجة في التطبيق الجاري.
القراءة التحريرية من certi.news: القيمة الفعلية في هذه التجربة ليست إضافة وكيل آخر لكتابة الشيفرة، بل نقل الوكيل من دور مولد نصوص إلى طرف يستطيع الاستعلام عن مصدر معرفة محدث واختبار ناتجه أمام تطبيق حقيقي. كما يقدم فصل الخادمين قاعدة تصميم قابلة للتطبيق على مشاريع MCP الأخرى: افصل المعرفة طويلة الأجل عن حالة التشغيل، واختر HTTP أو stdio بناءً على بنية النشر لا على تفضيل شكلي.
مع ذلك، لا تثبت المادة أن هذا الأسلوب يلغي الحاجة إلى المراجعة البشرية أو يضمن صحة التطبيق في كل الحالات. فهي تعرض تجربة Uno Platform وأدواتها، ولا تقدم نتائج قياس مستقلة لمعدلات اكتشاف الأخطاء أو جودة الشيفرة. كما أن كلفة تعريف الأدوات، واعتماد خادم التطبيق على Uno DevServer وجلسة محلية، تظل قيوداً عملية ينبغي للفرق تقييمها قبل تبني النموذج.
كيف أعددنا هذا الخبر؟
اعتمد الخبر على المصدر الأصلي الموضح أعلاه. قد نستخدم أدوات آلية للمساعدة في الاستخراج والتصنيف والصياغة،
لكن النشر يخضع لقواعد تمنع المحتوى المكرر والقصير أو الروتيني منخفض القيمة.
اقرأ سياستنا التحريرية.