Microsoft Semantic Kernel and AutoGen: Open Source Frameworks for AI Solutions
Published Feb 08 2024 12:00 AM 13.4K Views
Microsoft

Microsoft Semantic Kernel (SK) and Microsoft AutoGen are both open sources  framework developed by Microsoft, but they serve different scenarios

 

Microsoft Semantic Kernel (SK) is a framework for using and managing a single Large Language Model (LLM). It enables developers to create powerful AI solutions for various domains such as copilot, RAG. vision, speech, language, decision, knowledge and search. Semantic Kernel is built on the Copilot application. It benefits from rich Connectors, which can work with different enterprise application scenarios, and has strong capabilities of orchestrating tasks based on individuals. It can also customize different plugins (embedded components/Prompt/custom extension methods) to fulfill the relevant application scenarios of the enterprise. Semantic Kernel has cross-platform capabilities and supports multiple programming languages, such as C #, Java, and Python. It is more suitable for traditional engineering projects to access LLMs and build Copilot applications.

 

LeeStott_0-1707312219269.png

What is Microsoft AutoGen

Microsoft AutoGen uses AI Agents that can work together with other AI Agents based on tasks to do smart tasks through dialogue between agents. Unlike the usual Copilot application, more AI Agents are involved, and people only need simple intervention to finish the related work. AutoGen has the features of AI Agents, such as powerful memory abilities, task coordination abilities, and rich tool chains. It now supports Python and .NET, and has AutogenStudio to do the work of low-code configuration of AI Agents within a UI experience.

 

 Semantic Kernel vs AutoGen

 

LeeStott_1-1707312219277.png

 

AutoGen can implement different forms of AI Agents, including single AI agent, multi-AI agents, and hybrid AI agent

LeeStott_2-1707312219286.png

 

 

Single AI Agent

Work completed in specific task scenarios, such as the agent workspace under GitHub Copilot Chat, is an example of completing specific programming tasks based on user needs. Based on the capabilities of LLMs, a single agent can perform different actions based on tasks, such as requirements analysis, project reading, code generation, etc. It can also be used in smart homes and autonomous driving.

 

Multi-AI agents

This is the work of mutual interaction between AI agents. For example, the above-mentioned Semantic Kernel agent implementation is an example. The AI agent generated by the script interacts with your AI agent that executes the script. Multi-agent application scenarios are very helpful in highly collaborative work, such as software industry development, intelligent production, enterprise management, etc.

 

Hybrid AI Agent

This is human-computer interaction, making decisions in the same environment. For example, smart medical care, smart cities and other professional fields can use hybrid intelligence to complete complex professional work.

At present, the application of intelligent agents is still very preliminary. Many enterprises and individual developers are in the exploratory stage. Taking the first step is very critical. I hope you can try it more. I also hope that everyone can use Azure OpenAI Service to build more agent applications.

 

Semantic Kernel and AutoGen are both Microsoft technologies, but they serve different purposes and are used in different ways. Semantic Kernel is an open-source Software Development Kit (SDK) that allows developers to build AI agents that can call existing code.
It's designed to work with models from various AI providers like OpenAI, Azure OpenAI, and Hugging Face. By integrating your existing C#, Python, and Java code with these models, you can create agents that answer questions and automate processes.

 

Semantic Kernel is at the heart of the agent stack, enabling AI orchestration by combining AI models and plugins to create new experiences for users. It's particularly useful for automating business processes and making AI agents more productive by calling existing code.

 

Semantic Kernel, which is more focused on Copilot applications. It is characterized by task orchestration and division of steps for a single individual.

 

Autogen was born to serve AI Agents. In addition to arranging tasks for a single individual, it can also complete task division for multiple agents. Autogen is a Multi Agent conversation framework. It simplifies the creation, orchestration and automation of conversational applications where LLMs, tools and humans collaborate through diverse communication patterns to perform complex tasks. Agents can be structured statically or dynamically to support applications where the topology of agents adapts to the conversation. Microsoft AutoGen is designed for integrating and controlling multiple LLMs. It’s a research project that shows the potential of using multiple agents together. AutoGen allows for the creation of diverse teams of agents, each with their own specialized skills or goals. These agents can chat with each other, facilitating greater diversity in opinion and outcomes.

LeeStott_3-1707312219299.png

 

 

While AutoGen and Semantic Kernel have some overlap in features, they are not exactly the same. AutoGen is not a superset of Semantic Kernel , and it does not delegate to Semantic Kernel for using individual LLMs. However, they can be used together in certain scenarios. For example, agents within AutoGen can retrieve information, create content, and complete tasks using plugins provided by Semantic Kernel.


The two are compatible with each other because AI agents have three characteristics: task, memory, and tools. These can be provided by Semantic Kernel.

 

In summary

Both Semantic Kernel and AutoGen offer unique capabilities for working with LLMs, and the choice between them depends on the specific requirements of your project. Semantic Kernel is about creating single AI agents and equipping them with the tools to do tasks, while AutoGen is about managing complicated workflows that involve multiple agents, each with different skills and functions. Both technologies can work together; for example, you can use Semantic Kernel to give tools (via plugins) to agents made in AutoGen. This lets AutoGen agents access real-time information and communicate more efficiently.


Resources 
Microsoft AutoGen
Semantic Kernel: Integrate cutting-edge LLM technology quickly and easily into your apps (github.com...
This is a Semantic Kernel's book for beginners (github.com)

 

Co-Authors
Version history
Last update:
‎Feb 12 2024 09:23 AM
Updated by: