النقاط الرئيسية
- رخصة MIT — مجانية بالكامل للاستخدام والتعديل والاستضافة الذاتية، دون حدود استخدام على الـ SDK نفسه
- طوّرتها Microsoft، وصدرت كمصدر مفتوح لأول مرة في مارس 2023 — أولًا بلغة C#/.NET، ثم أُضيفت Python وJava كحزم SDK كاملة وليست إضافة لاحقة
- تجاوز مستودع microsoft/semantic-kernel على GitHub 28,000 نجمة
- المفاهيم الأساسية: الـKernel (المنسّق المركزي)، الإضافات Plugins (دوال وقوالب تعليمات يمكن للنموذج استدعاءها)، والمخططات Planners (استُبدلت اليوم في الغالب باستدعاء الدوال الأصلي من نماذج اللغة)
- وصل Microsoft Agent Framework (MAF) إلى الإتاحة العامة في 2 أبريل 2026، موحّدًا Semantic Kernel وAutoGen في منصة واحدة مدعومة — الخليفة الذي أعلنته Microsoft لكليهما
- منذ إصدار MAF، أصبح Semantic Kernel في وضع الصيانة: إصلاحات أخطاء حرجة وتصحيحات أمان فقط، والدعم مُلتزَم به حتى 2027 على الأقل
- الـ SDK مجاني؛ وتنشأ التكاليف من واجهة برمجة النموذج التي تتصل بها (Azure OpenAI أو OpenAI وغيرها)، ومن استضافة Azure إن نشرت تطبيقك هناك
📍 في جملة واحدة
Semantic Kernel هو SDK مجاني ومفتوح المصدر برخصة MIT من Microsoft لبناء تطبيقات LLM بحزم SDK أصلية بلغات C#/.NET وPython وJava، وهو الآن في وضع الصيانة بينما توجّه Microsoft التطوير الجديد نحو خليفته، Microsoft Agent Framework.
💬 بعبارات بسيطة
يوفّر Semantic Kernel لمطوري .NET وPython وJava نفس اللبنات — 'kernel' يستضيف خدمات الذكاء الاصطناعي، و'إضافات' (plugins) يمكن للنموذج استدعاءها، ومنطق تخطيط يقرر أي إضافة يجب تشغيلها — لكن Microsoft توصي الآن ببدء مشاريع الوكلاء الجديدة على Microsoft Agent Framework.
📌ملاحظة: Semantic Kernel مكتبة تكتب الكود مقابلها، وليس تطبيقًا يُنزَّل — لا توجد واجهة رسومية لتثبيتها. وضع الصيانة لا يعني التخلي عن المشروع: تواصل Microsoft تقديم إصلاحات الأخطاء وتصحيحات الأمان للنشرات الإنتاجية الحالية؛ وكل ما تغيّر هو أن الميزات الجديدة تذهب الآن إلى Microsoft Agent Framework.
من طوّر Semantic Kernel، وماذا يحدث له الآن؟
أطلقت Microsoft Semantic Kernel كـ SDK مفتوح المصدر في مارس 2023، وأصبح Microsoft Agent Framework منذ ذلك الحين خليفته الذي أعلنته الشركة. جمع Semantic Kernel بين نماذج اللغة الكبيرة وكود التطبيقات التقليدي عبر تجريد 'kernel'، وصدر بموجب رخصة MIT المرنة. وخلافًا لمعظم أطر الوكلاء التي تستهدف Python أولًا ثم تضيف لغات أخرى لاحقًا، أُطلق Semantic Kernel وC#/.NET هي اللغة الأساسية، ثم أُضيفت Python وJava كحزم SDK كاملة وليست منافذ لاحقة.
روّج Semantic Kernel لمصطلحي 'الإضافة' (plugin) و'المخطِّط' (planner) اللذين تبنّتهما الصناعة لاحقًا بأسماء مختلفة. الإضافات هي دوال أصلية أو قوالب تعليمات يمكن للنموذج اكتشافها واستدعاؤها؛ أما المخططات فكانت تقرر أي إضافة يجب استدعاؤها وبأي ترتيب. استُبدلت المخططات المخصصة المبكرة — SequentialPlanner وActionPlanner وStepwisePlanner — إلى حد كبير بعد أن أضافت مزوّدات النماذج استدعاء الدوال الأصلي، الذي يستخدمه Semantic Kernel الآن افتراضيًا عبر إعداد FunctionChoiceBehavior.
في عام 2026، أعادت Microsoft تموضع Semantic Kernel ضمن تقارب أوسع. وصل Microsoft Agent Framework (MAF) إلى الإتاحة العامة في 2 أبريل 2026، موحّدًا الأسس المؤسسية لـSemantic Kernel — الـKernel والإضافات والمرشحات والقابلية للمراقبة — مع نموذج التنسيق متعدد الوكلاء في AutoGen ضمن منصة واحدة مدعومة. ومنذ ذلك الحين، أصبح مستودع microsoft/semantic-kernel في وضع الصيانة: تقدّم Microsoft إصلاحات أخطاء حرجة وتصحيحات أمان، والدعم مُلتزَم به حتى 2027 على الأقل، بينما يتّجه الاستثمار في الميزات الجديدة إلى Agent Framework.
الإصدار الأول
- التاريخ:
- 2023-03
- ماذا يعني ذلك:
- تصدر Microsoft Semantic Kernel كـ SDK مفتوح المصدر برخصة MIT، أولًا بلغة C#/.NET
حزم SDK لـPython وJava
- التاريخ:
- 2023
- ماذا يعني ذلك:
- تتبع منافذ Python وJava كحزم SDK كاملة، ما يجعل Semantic Kernel من أطر الوكلاء القليلة متعددة اللغات
استبدال المخططات
- التاريخ:
- مستمر
- ماذا يعني ذلك:
- تُستبدَل فئات المخططات المخصصة المبكرة باستدعاء الدوال الأصلي من نماذج اللغة كآلية تخطيط افتراضية
معاينة Microsoft Agent Framework
- التاريخ:
- 2025-10
- ماذا يعني ذلك:
- تعرض Microsoft معاينة Agent Framework، خليفتها المُعلَنة التي تجمع Semantic Kernel وAutoGen
إتاحة Microsoft Agent Framework
- التاريخ:
- 2026-04-02
- ماذا يعني ذلك:
- يصل MAF إلى الإتاحة العامة، وتضعه Microsoft كخليفة لكل من Semantic Kernel وAutoGen
وضع صيانة Semantic Kernel
- التاريخ:
- 2026-04
- ماذا يعني ذلك:
- ينتقل microsoft/semantic-kernel إلى تقديم إصلاحات أخطاء حرجة وتصحيحات أمان فقط، والدعم مُلتزَم به حتى 2027 على الأقل
📌ملاحظة: لا تتغيّر رخصة MIT بسبب هذا الانتقال — تبقى نشرات Semantic Kernel الحالية مجانية للتشغيل والتعديل والاستضافة الذاتية إلى أجل غير مسمى. ما يتغيّر هو أين تستثمر Microsoft في تطوير الميزات الجديدة، وهو الآن Microsoft Agent Framework.
ما هو Semantic Kernel؟
Semantic Kernel هو SDK مفتوح المصدر (رخصة MIT، github.com/microsoft/semantic-kernel) لدمج نماذج اللغة الكبيرة في التطبيقات، متاح كحزم SDK أصلية بلغات C#/.NET وPython وJava. يحتفظ التجريد المركزي فيه، الـKernel، باتصالات خدمات الذكاء الاصطناعي والإضافات والذاكرة، وينسّق الاستدعاءات بينها.
- الـKernel: الكائن المركزي الذي يحتفظ بخدمات الذكاء الاصطناعي المسجَّلة (إكمال المحادثة، embeddings) والإضافات والإعدادات — يبني كل تطبيق Semantic Kernel واحدًا منها
- الإضافات Plugins: دوال كود أصلية أو قوالب تعليمات، موسومة ببيانات وصفية (
@kernel_functionفي Python، `[KernelFunction]` في C#)، يمكن للنموذج اكتشافها واستدعاؤها — ما يعادل "tools" في أطر أخرى - المخططات Planners: منطق يقرر أي إضافات يجب استدعاؤها لتلبية طلب ما؛ يعتمد الافتراضي الحديث على استدعاء الدوال الأصلي من مزوّد النموذج (
FunctionChoiceBehavior.Auto()) بدلًا من فئات المخططات المخصصة القديمة - موصلات مخازن المتجهات (الذاكرة): واجهات موحّدة لتخزين واسترجاع embeddings عبر قواعد بيانات المتجهات المدعومة، تُستخدم في التوليد المعزز بالاسترجاع
- إطار العمليات Process Framework: تجريد لسير العمل مبني فوق الـKernel لعمليات الأعمال الأطول ومتعددة الخطوات
- مكوّنات المؤسسات: مرشحات مدمجة، وآليات للمراقبة والقياس عن بُعد، وتسجيل منظّم مصمَّم لنشرات Azure الإنتاجية
import asyncio
from semantic_kernel import Kernel
from semantic_kernel.connectors.ai.open_ai import AzureChatCompletion
from semantic_kernel.connectors.ai.function_choice_behavior import FunctionChoiceBehavior
from semantic_kernel.contents.chat_history import ChatHistory
from semantic_kernel.functions import kernel_function
class LightsPlugin:
@kernel_function(description="Turns a light on or off")
def change_state(self, is_on: bool) -> str:
return f"Light is now {'on' if is_on else 'off'}"
async def main():
kernel = Kernel()
kernel.add_service(AzureChatCompletion(deployment_name="gpt-4o-mini", api_key="...", base_url="..."))
kernel.add_plugin(LightsPlugin(), plugin_name="Lights")
history = ChatHistory()
history.add_user_message("Turn on the light")
chat = kernel.get_service(type=AzureChatCompletion)
result = await chat.get_chat_message_contents(
chat_history=history,
settings=AzureChatCompletion.get_prompt_execution_settings_class()(
function_choice_behavior=FunctionChoiceBehavior.Auto()
),
kernel=kernel,
)
print(result[0])
asyncio.run(main())كم تكلفة Semantic Kernel؟
الـ SDK الخاص بـSemantic Kernel مجاني تمامًا — لا تفرض Microsoft أي رسوم على هذا الإطار، ولا توجد فئة مدفوعة من Semantic Kernel. تنشأ التكاليف الحقيقية من نموذج اللغة الكبير الذي تستدعيه، ومن البنية التحتية التي تُشغّل تطبيقك إذا نشرته على Azure.
- Semantic Kernel (الـ SDK): مجاني إلى الأبد، برخصة MIT، سواء استضافة ذاتية أو سحابية، دون حدود استخدام على الإطار
- تكاليف واجهة برمجة النموذج: دفع حسب الاستخدام لأي مزوّد LLM تتصل به (Azure OpenAI Service وOpenAI وغيرهما) — لا يستضيف Semantic Kernel الوصول إلى النماذج ولا يعيد بيعه
- تكاليف استضافة Azure (اختيارية): النشر على Azure App Service أو Azure Functions أو Azure Kubernetes Service يتحمّل أسعار الحوسبة القياسية في Azure — لا يفرض Semantic Kernel استخدام Azure، لكن أمثلة Microsoft الخاصة ومكوّنات المؤسسات تفترضه افتراضيًا
- تكاليف قواعد بيانات المتجهات (اختيارية): توصيل Azure AI Search أو مخزن متجهات آخر للذاكرة/RAG له تسعيره الخاص المنفصل
- الدعم: نافذة الصيانة التي التزمت بها Microsoft (إصلاحات أخطاء حرجة وتصحيحات أمان) لنشرات Semantic Kernel الحالية تمتد حتى 2027 على الأقل، دون تكلفة إضافية بخلاف اتفاقياتك الحالية مع Microsoft أو Azure
البند | السعر | الأنسب لـ |
|---|---|---|
| SDK الخاص بـSemantic Kernel | مجاني (رخصة MIT) | الجميع — بلا تكلفة أبدًا |
| استخدام واجهة برمجة النموذج | دفع حسب الاستخدام لكل مزوّد | أي نموذج LLM تتصل به |
| استضافة Azure (اختيارية) | أسعار Azure القياسية | الفرق التي تنشر على Azure |
| مخزن المتجهات (اختياري) | يختلف حسب المزوّد | حالات استخدام RAG / الذاكرة |
تم التحقق مقابل الوثائق الرسمية لـSemantic Kernel ومستودع GitHub اعتبارًا من سبتمبر 2026 — تُحدَّد أسعار واجهة برمجة النموذج واستضافة Azure بشكل مستقل من قِبل تلك الخدمات وتتغيّر بمرور الوقت، لذا راجع صفحات التسعير الحالية قبل وضع الميزانية.
كيف تثبّت Semantic Kernel وتبدأ استخدامه؟
يتطلب تثبيت Semantic Kernel أمرًا واحدًا من مدير الحزم بأي من لغاته الثلاث المدعومة — دون الحاجة إلى حساب أو مفتاح ترخيص للـ SDK نفسه.
- 1ثبّت الـ SDK للغتك:
dotnet add package Microsoft.SemanticKernel(لـ.NET)، أوpip install semantic-kernel(لـPython)، أو أضف تبعيةcom.microsoft.semantic-kernel(لـJava). - 2اضبط بيانات اعتماد مزوّد النموذج كمتغيرات بيئة أو إعدادات — لا يوفّر Semantic Kernel الوصول إلى النماذج بنفسه؛ اتصل بـAzure OpenAI أو OpenAI أو أي موصل آخر مدعوم.
- 3أنشئ
Kernel، وأضف خدمة ذكاء اصطناعي (مثلAddAzureOpenAIChatCompletionفي .NET أوAzureChatCompletionفي Python)، وسجّل الإضافات التي يجب أن يستطيع النموذج استدعاءها. - 4فعِّل استدعاء الدوال التلقائي (
FunctionChoiceBehavior.Auto()) حتى يتمكن النموذج من استدعاء الإضافات المسجَّلة مباشرة، دون كتابة مخطِّط مخصص. - 5بالنسبة لمشروع جديد تمامًا، قيّم ما إذا كان يجب البدء مباشرة على Microsoft Agent Framework — الخليفة الذي أعلنته Microsoft، والمتاح عمومًا منذ أبريل 2026 — بدلًا من البناء على SDK أصبح الآن في وضع الصيانة.
- 6اقرأ الوثائق الرسمية لـSemantic Kernel ومستودع GitHub للحصول على مرجع الواجهة البرمجية الحالي وأدلة الترحيل.
هل أحتاج إلى Azure لاستخدام Semantic Kernel؟
لا. يتصل Semantic Kernel افتراضيًا بـAzure OpenAI Service في معظم أمثلة Microsoft، لكنه يدعم أيضًا OpenAI مباشرة ومزوّدين آخرين عبر موصلات. Azure ليس شرطًا صارمًا لتشغيل الـ SDK نفسه.
هل يجب أن أبدأ مشروعًا جديدًا على Semantic Kernel أم Microsoft Agent Framework؟
توجّه إرشادات Microsoft نفسها المشاريع الجديدة نحو Microsoft Agent Framework، الخليفة المتاح عمومًا منذ 2 أبريل 2026. يبقى Semantic Kernel مناسبًا بشكل أساسي للفرق التي لديها بالفعل نشر إنتاجي قائم.
لمن يناسب Semantic Kernel؟
يناسب Semantic Kernel الفرق التي استثمرت فيه بالفعل، أو الفرق التي لديها حزمة تقنية .NET/Azure قائمة وتقدّر حزم SDK الأصلية متعددة اللغات أكثر من أكبر مجتمع ممكن. إنه خيار أضعف لمن يبدأ من الصفر تمامًا في 2026.
متى لا يجب استخدام Semantic Kernel؟
تجنّب Semantic Kernel لمشروع جديد تمامًا في 2026 ما لم يكن لديك سبب محدد لتجنّب Microsoft Agent Framework. بعض الحالات الملموسة التي تكون فيها أداة أخرى هي الخيار الأفضل.
- البدء من الصفر في 2026 دون استثمار قائم في Semantic Kernel — انتقل مباشرة إلى Microsoft Agent Framework، الخليفة المتاح عمومًا من Microsoft نفسها، بدلًا من البناء على SDK في وضع الصيانة
- فريق خارج نظام .NET/Azure سيستفيد من مجتمع وبرامج تعليمية وكتالوج تكاملات أكبر حول LangChain أو LlamaIndex
- مشروع يحتاج تحديدًا إلى أنماط محادثة متعددة الوكلاء على طراز AutoGen/AG2 — وكلاء مسمّون يتناقشون أو يتفاوضون في دردشة جماعية — بدلًا من kernel واحد يستدعي إضافات
- سكربت خفيف أو نموذج أولي حيث يكون الاستدعاء المباشر لواجهة برمجة مزوّد النموذج أبسط من اعتماد تجريد Kernel/الإضافة/المخطِّط
- استخدم Semantic Kernel بدلًا من التبديل في منتصف المشروع فقط عندما يكون لديك بالفعل نشر إنتاجي عامل وتغطي نافذة الدعم المُلتزَم بها جدولك الزمني
Semantic Kernel مقابل البدائل
ينافس Semantic Kernel أطرًا أخرى لبناء تطبيقات LLM والوكلاء — وفي خارطة طريق Microsoft نفسها، يتقارب الآن مع أحدها.
الأداة | الواجهة | الرخصة | الجهة الداعمة | الأنسب لـ |
|---|---|---|---|---|
| Semantic Kernel | كود C# / Python / Java | MIT | Microsoft (وضع الصيانة) | تطبيقات مؤسسات .NET/Azure القائمة |
| Microsoft Agent Framework | كود C# / Python | MIT | Microsoft | مشاريع الوكلاء الجديدة ضمن نظام Microsoft |
| LangChain | كود Python / JS | MIT | LangChain Inc. (بتمويل رأس مال مخاطر) | تطبيقات LLM ووكلاء عامة الغرض |
| LlamaIndex | كود Python / TS | MIT | LlamaIndex Inc. (بتمويل رأس مال مخاطر) | الفهرسة والاسترجاع القائمين على RAG |
| CrewAI | كود Python | MIT | CrewAI Inc. (بتمويل رأس مال مخاطر) | فرق وكلاء متعددة قائمة على الأدوار |
| AutoGen | كود Python | MIT / CC-BY | Microsoft Research (وضع الصيانة) | أنماط المحادثة متعددة الوكلاء |
| LangGraph | كود Python / JS | MIT | LangChain Inc. | وكلاء ذوو حالة قائمون على الرسوم البيانية |
أخطاء شائعة عند تقييم Semantic Kernel
تنشأ هذه الأخطاء من سوء فهم معنى "وضع الصيانة"، أو من الخلط بين Semantic Kernel وخليفته.
الأسئلة الشائعة
هل Semantic Kernel مجاني الاستخدام؟
نعم. Semantic Kernel مفتوح المصدر بموجب رخصة MIT ومجاني لأي استخدام، بما في ذلك المنتجات التجارية، دون حدود استخدام على الـ SDK نفسه.
من طوّر Semantic Kernel؟
طوّرت Microsoft Semantic Kernel وأطلقته كـ SDK مفتوح المصدر في مارس 2023.
هل تم التخلي عن Semantic Kernel؟
لا — إنه في وضع الصيانة، وليس متروكًا. تواصل Microsoft تقديم إصلاحات أخطاء حرجة وتصحيحات أمان لـSemantic Kernel، مع دعم مُلتزَم به حتى 2027 على الأقل، لكن تطوير الميزات الجديدة يذهب الآن إلى Microsoft Agent Framework.
ما هو Microsoft Agent Framework، وكيف يرتبط بـSemantic Kernel؟
Microsoft Agent Framework (MAF) هو الخليفة الذي أعلنته Microsoft لكل من Semantic Kernel وAutoGen، ويجمع الأسس المؤسسية لـSemantic Kernel مع نموذج التنسيق متعدد الوكلاء في AutoGen ضمن منصة واحدة مدعومة. وصل إلى الإتاحة العامة في 2 أبريل 2026.
هل يجب أن أستخدم Semantic Kernel أم Microsoft Agent Framework لمشروع جديد؟
توجّه وثائق Microsoft نفسها المشاريع الجديدة نحو Microsoft Agent Framework. يبقى Semantic Kernel خيارًا معقولًا بشكل أساسي للفرق التي لديها بالفعل نشر إنتاجي وتريد إبقاءه يعمل خلال نافذة الدعم المُلتزَم بها.
ما لغات البرمجة التي يدعمها Semantic Kernel؟
C#/.NET وPython وJava، جميعها كحزم SDK أصلية — أُطلق Semantic Kernel بلغة C#/.NET أولًا، ثم أُضيفت Python وJava كحزم SDK كاملة وليست منافذ لاحقة.
ما هي "الإضافة" (plugin) في Semantic Kernel؟
الإضافة هي دالة كود أصلية أو قالب تعليمات، موسومة ببيانات وصفية يمكن للـKernel قراءتها، يمكن للنموذج اكتشافها واستدعاءها — ما يعادل "tools" في أطر وكلاء أخرى.
هل يتطلب تشغيل Semantic Kernel استخدام Azure؟
لا. يدعم Semantic Kernel OpenAI مباشرة وموصلات نماذج أخرى بجانب Azure OpenAI Service. Azure شائع في أمثلة Microsoft الخاصة ومكوّنات المؤسسات، لكنه ليس شرطًا صارمًا في الـ SDK.
كم عدد نجوم GitHub التي حصل عليها Semantic Kernel؟
تجاوز مستودع microsoft/semantic-kernel 28,000 نجمة على GitHub.
هل Semantic Kernel أفضل من LangChain؟
لا يُعد أي منهما أفضل بشكل مطلق — فكلاهما يناسب مواقف مختلفة. يوفّر Semantic Kernel حزم SDK أصلية متعددة اللغات (C#/.NET وPython وJava) ومكوّنات مؤسسات موجّهة نحو Azure، لكنه في وضع الصيانة؛ بينما LangChain يعطي الأولوية لـPython/JavaScript، مع مجتمع أكبر وتطوير نشط.
