ما هو سيمانتيك كيرنل؟ SDK مايكروسوفت لتنسيق الذكاء الاصطناعي

ما هو Semantic Kernel؟ حزمة تطوير برمجيات مفتوحة المصدر من Microsoft لتنسيق الذكاء الاصطناعي في C# و Python و Java، مزودة بنواة ومكونات إضافية، وتدعم استيراد OpenAPI إلى مكونات إضافية.

Ashley Goolam

Ashley Goolam

26 يونيو 2026

ما هو سيمانتيك كيرنل؟ SDK مايكروسوفت لتنسيق الذكاء الاصطناعي

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

إذا كنت تبني برامج على حزمة Microsoft وترغب في إضافة الذكاء الاصطناعي دون الحاجة إلى ربط خدمة Python جانبيًا، فإن Semantic Kernel هو حزمة SDK التي بنتها Microsoft من أجلك. إنها حزمة مفتوحة المصدر تربط تعليماتك البرمجية وواجهات برمجة التطبيقات (APIs) الموجودة لديك بنماذج اللغة الكبيرة، وتعمل بلغات C# و Python و Java. يشرح هذا الدليل ماهيتها، وكيف يتناسب Kernel والمكونات الإضافية (plugins) معًا، وكيف يدعم مواصفات OpenAPI لتحويل أي واجهة برمجة تطبيقات REST إلى شيء يمكن للنموذج استدعاؤه.

button

ما هو Semantic Kernel في الواقع

Semantic Kernel (SK) هي حزمة تطوير خفيفة الوزن ومفتوحة المصدر من Microsoft لبناء وكلاء الذكاء الاصطناعي ودمج النماذج في قاعدة تعليماتك البرمجية. تصفها Microsoft بأنها برمجيات وسيطة: فهي تقع بين تطبيقك والنموذج، وتترجم طلبات النموذج إلى استدعاءات وظائف حقيقية، وتشغلها، وتعيد النتائج. تكتب تعليمات برمجية عادية. النموذج يقرر متى يستدعيها.

ثلاثة أشياء تجعل SK يبرز من بين مجموعة مكتبات الوكلاء:

أولاً، إنه متعدد اللغات حقًا. يشحن SK حزم SDK رسمية لـ C#/.NET و Python و Java، مع التزامات بالاستقرار لإصدار 1.0 فما فوق عبر اللغات الثلاث. معظم أطر عمل الوكلاء تركز على Python أولاً وتتعامل مع اللغات الأخرى كفكرة لاحقة. إذا كان الواجهة الخلفية (backend) لديك هي .NET، فإن SK هو أحد الخيارات الناضجة القليلة التي تبدو أصلية.

ثانياً، إنه مستقل عن النموذج. يتصل SK بـ OpenAI و Azure OpenAI ومقدمي الخدمات الآخرين من خلال مجموعة من الموصلات. عندما ترغب في تبديل النماذج، تقوم بتغيير التكوين، وليس تطبيقك بأكمله.

ثالثاً، تم بناؤه مع وضع اهتمامات المؤسسات في الاعتبار. القياس عن بعد (Telemetry) والخطافات (hooks) والفلاتر (filters) هي من الدرجة الأولى، لذا يمكنك تسجيل وتدقيق واعتراض ما يفعله الذكاء الاصطناعي. هذا التركيز هو السبب وراء اعتماد Microsoft وعدد من فرق Fortune 500 له.

النواة (kernel) والمكونات الإضافية (plugins) والدوال (functions)

الكائن الأساسي هو النواة (kernel). فكر فيه كحاوية حقن التبعية للذكاء الاصطناعي. تقوم بتسجيل موصلات النموذج والمكونات الإضافية الخاصة بك على النواة، ثم تطلب منها تشغيل الأشياء. تتولى النواة مهمة التنسيق: الأمر (prompt)، استدعاء النموذج، استدعاء الدالة، النتيجة، التكرار.

المكون الإضافي (plugin) هو مجموعة مسماة من الدوال التي تعرضها للنموذج. الدالة (function) هي قدرة واحدة يمكن للنموذج استدعائها. تأتي الدوال في نوعين:

إليك شكل ذلك في C#. تقوم ببناء نواة (kernel)، وتسجيل نموذج محادثة (chat model)، وإضافة مكون إضافي (plugin)، وتسمح للنموذج باستدعاء الدوال عندما يحتاجها.

var builder = Kernel.CreateBuilder();
builder.AddOpenAIChatCompletion("gpt-4o", apiKey);
builder.Plugins.AddFromType<LightsPlugin>("Lights");
Kernel kernel = builder.Build();

// The model can now invoke LightsPlugin functions during a chat
var result = await kernel.InvokePromptAsync("Turn the kitchen light blue");

عندما يعود النموذج وترى النواة أنه يريد استدعاء change_light_state، تقوم النواة بتشغيل تعليماتك البرمجية، وتلتقط النتيجة، وتعيدها إلى النموذج. هذه الحلقة هي قلب SK.

نمط OpenAPI إلى المكون الإضافي (plugin)

هذه هي الميزة الأكثر جدارة بالمعرفة، وهي الجسر الأوضح لخدماتك الحالية. يمكن لـ SK استيراد مواصفات OpenAPI وتحويل كل عملية إلى دالة قابلة للاستدعاء تلقائيًا. لا تكتب تعليمات برمجية للغلاف. توجه SK إلى مواصفة (spec)، ويصبح كل مسار/عملية دالة يمكن للنموذج استدعاءها.

في C#، الاستدعاء هو ImportPluginFromOpenApiAsync. في Python، هو add_plugin_from_openapi. لدى Java مستورد مكافئ. إليك إصدار C# الذي يحمل مواصفة من عنوان URL:

await kernel.ImportPluginFromOpenApiAsync(
    pluginName: "lights",
    uri: new Uri("https://example.com/v1/swagger.json"),
    executionParameters: new OpenApiFunctionExecutionParameters()
    {
        EnablePayloadNamespacing = true
    }
);

تحت الغطاء، تقوم SK بتحليل المواصفة، وتستخرج الاسم والوصف والنوع والمخطط لكل معلمة، وتمرر هذه البيانات الوصفية إلى النموذج. يقوم النموذج بالاستدلال حول العملية التي يجب استدعاؤها والوسائط التي يجب تمريرها. ثم تقوم SK ببناء طلب HTTP، وتطبيق معاودة الاتصال للمصادقة (authentication callback) الخاصة بك، وإرساله، وقراءة الاستجابة. يدعم SK إصدارات OpenAPI 2.0 و 3.0، ويخفض مواصفات 3.1 إلى 3.0 حيثما أمكن.

المشكلة هي أن المواصفات المكتوبة للبشر ليست واضحة دائمًا للنموذج. توصي Microsoft نفسها بإضافة معرفات عمليات وصفية (descriptive operation IDs)، وكتابة أوصاف مفيدة للمعلمات، والحفاظ على عدد نقاط النهاية منخفضًا، وتفضيل التعدادات (enums) والمعلمات المكتوبة (typed parameters) على السلاسل النصية غير المقيدة (loose strings). تحدد جودة مواصفاتك بشكل مباشر مدى جودة استدعاء الوكيل لواجهة برمجة التطبيقات الخاصة بك. وهذا يجعل المواصفات نفسها شيئًا يستحق التصميم والاختبار بعناية، وليس فكرة لاحقة.

الوكلاء والتخطيط

بدأ SK بمخططين صريحين يقومون بتحليل الهدف إلى خطوات. وقد تحول الإطار منذ ذلك الحين نحو استدعاء الدوال، حيث يقرر النموذج نفسه الدوال التي يجب استدعاؤها وبأي ترتيب، وهو ما يعد أكثر موثوقية مع النماذج الحديثة. علاوة على ذلك، أضاف SK طبقة Agent Framework لبناء الوكلاء وأنماط الوكلاء المتعددين، مع حالة تعتمد على الجلسة، وحلقات الوكلاء، ودعم بروتوكول سياق النموذج (Model Context Protocol - MCP) لربط الأدوات الخارجية.

إذا كنت تقارن بين الأساليب، فإليك كيف يتوافق SK مع حزم SDK للوكلاء الأخرى التي تمت تغطيتها في هذه المدونة.

الإطار اللغات الأساسية نموذج التنسيق الأكثر ملاءمة لـ
Semantic Kernel C#/.NET, Python, Java استدعاء الدوال + الوكلاء فرق .NET والمؤسسات
LangGraph Python, JS رسم بياني للحالة صريح تدفقات وكلاء معقدة ومتشعبة
Google ADK Python نموذج وكيل + أداة Google Cloud و Gemini stacks
OpenAI Agents SDK Python, JS الوكلاء + التسليم تطبيقات OpenAI المحورية

لا شيء من هذه أفضل بشكل مطلق. يعتمد الاختيار الصحيح على لغتك، ومزود النموذج الخاص بك، ومقدار التحكم الصريح في التنفيذ الذي تريده.

أين يتناسب Semantic Kernel مع Microsoft Agent Framework

هذا الجزء يتغير بسرعة، لذا إليك الحالة الحقيقية للأمور. قدمت Microsoft إطار عمل وكيل Microsoft (Microsoft Agent Framework - MAF)، وتصفه الوثائق بأنه الخلف المباشر لكل من Semantic Kernel و AutoGen، وبناه نفس الفرق. يجمع MAF بين تجريدات وكلاء AutoGen وميزات المؤسسات في SK ويضيف سير عمل قائم على الرسوم البيانية لتنسيق الوكلاء المتعددين.

ما يعنيه ذلك في الممارسة العملية:

لذا تعامل مع SK كخيار قوي ومُثبت في الإنتاج ولا يزال يتم صيانته، مع العلم أن أحدث الاستثمارات تذهب إلى MAF. إذا كنت تقرر اليوم وتعليماتك البرمجية موجودة بالفعل في SK، فلا داعي للذعر. إذا كنت تبدأ من جديد وتريد أحدث الاتجاهات، فاقرأ وثائق MAF قبل الالتزام.

متى تستخدم Semantic Kernel

اطلب SK عندما:

ابحث في مكان آخر عندما يكون فريقك يعتمد على Python فقط وتريد أحدث ميزات الوكلاء المتعددين على الإطلاق، وفي هذه الحالة قد يكون MAF أو مكتبة تركز على الرسوم البيانية أكثر ملاءمة لك.

اختبار واجهات برمجة التطبيقات خلف وكيل Semantic Kernel الخاص بك

هنا تكمن أهمية أدوات API، وهنا تتناسب Apidog بسلاسة. لا يقوم SK ببناء أو استبدال واجهات برمجة التطبيقات الخاصة بك. بل يستدعيها. يعتمد وكيل SK على نوعين من نقاط النهاية: نقطة نهاية LLM التي يتحدث إليها، وواجهات برمجة تطبيقات REST التي تستوردها كمكونات إضافية لـ OpenAPI. يجب أن تكون كلاهما صحيحة وموصوفة جيدًا وموثوقة، وإلا فإن الوكيل سيقوم باستدعاءات خاطئة.

بعض المهام العملية:

هذا عمل API عادي، يتم إنجازه قبل الوكيل وحوله، وليس بدلاً منه. إذا كنت تريد شرحًا أعمق، فإن اختبار استدعاءات أداة الوكيل باستخدام Apidog يغطي أدوات الاختبار بالتفصيل.

الأسئلة المتكررة

هل Semantic Kernel مجاني ومفتوح المصدر؟

نعم. Semantic Kernel مفتوح المصدر ومنشور بواسطة Microsoft على GitHub بموجب ترخيص متساهل، مع حزم SDK لـ C#/.NET و Python و Java. تدفع مقابل استخدام النموذج (OpenAI و Azure OpenAI وما إلى ذلك)، وليس مقابل SK نفسه.

ما اللغات التي يدعمها Semantic Kernel؟

C#/.NET و Python و Java، وجميعها تلتزم باستقرار الإصدار 1.0 فما فوق. حزمة SDK لـ C# هي الأكثر نضجًا، ولكن حزم SDK لـ Python و Java تغطي النواة الأساسية والمكونات الإضافية وميزات استيراد OpenAPI.

كيف يستخدم Semantic Kernel مواصفات OpenAPI؟

تستورد مواصفة باستخدام ImportPluginFromOpenApiAsync (C#) أو add_plugin_from_openapi (Python). يقوم SK بتحليل المواصفة، ويحول كل عملية إلى دالة قابلة للاستدعاء ببياناتها الوصفية للمعلمات، ويسمح للنموذج باستدعاء تلك العمليات. نظرًا لأن النموذج يعتمد على أوصافك، فمن المفيد التحقق من صحة المواصفة أولاً. يمكنك القيام بذلك، واختبار نقاط النهاية المباشرة، باستخدام Apidog.

هل يجب أن أستخدم Semantic Kernel أم Microsoft Agent Framework؟

إذا كان لديك بالفعل تطبيق SK، فاستمر في استخدامه؛ فهو مدعوم ومستقر. بالنسبة للمشاريع الجديدة، تضع Microsoft إطار عمل الوكيل (Agent Framework) كخليفة وتوفر دليل ترحيل. تحقق من وثائق MAF الحالية قبل البدء من جديد، لأن هذا المجال يتغير بسرعة. لاختبار واجهات برمجة التطبيقات التي يستدعيها أي منهما، انظر كيفية اختبار واجهة برمجة تطبيقات ChatGPT باستخدام Apidog.

خلاصة

يوفر Semantic Kernel لفرق حزمة Microsoft طريقة نظيفة لتنسيق الذكاء الاصطناعي: نواة تربط النماذج ببرنامجك، ومكونات إضافية ووظائف يمكن للنموذج استدعاؤها، ومسار استيراد OpenAPI الذي يكشف واجهات برمجة تطبيقات REST الحالية كأدوات للوكيل. إنه مستقر ومُثبت في الإنتاج، مع اتجاه Agent Framework الآن نحو أحدث التطورات. أيهما تختار، يجب أن تظل واجهات برمجة التطبيقات الأساسية قوية. لتصميم ومحاكاة واختبار المواصفات ونقاط النهاية التي يعتمد عليها وكيلك، قم بتنزيل Apidog وبناء العقد قبل أن يستدعيه الوكيل.

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات