Extending Semantic Kernel with Agentic AI Workflows: New Patterns for Chat Automation

Extending Semantic Kernel with Agentic AI Workflows: New Patterns for Chat Automation

In the rapidly evolving world of AI, agentic AI workflows are becoming the backbone of automation and advanced conversational systems. Inspired by AutoGen and AutoGen.NET , I embarked the last weeks on a journey to extend Microsoft’s Semantic Kernel and implement some more advanced chat workflows. Whether it’s two agents collaborating or a sequence of agents interacting, the power of Agentic AI is becoming clearer – and faster.

I’m thrilled to announce the launch of the SemanticKernelAgenticChatWorkflowsExtension GitHub Repository , where you can explore and contribute to new agentic AI patterns for Semantic Kernel.



The Motivation

With Semantic Kernel, the ability to create multi-agent chats is already exciting, but there are some limitations. The core system lacked extensibility in areas that would allow for complex workflows, such as chaining multiple agents together or designing agent interactions outside the traditional group chat model.

As a result, I set out to expand the framework by introducing custom agent workflows like two-agent chats, sequential agent workflows, and more complex multi-agent setups. These implementations open up new doors for AI agent collaboration, bringing a more powerful toolkit for developers.



The Challenge: Extending the Unextendable

While Semantic Kernel offers great potential for AI-powered workflows, I quickly encountered some roadblocks. Core classes like AgentGroupChat are sealed and lack proper interfaces, preventing developers from easily extending them. This rigidity limits the customization and creativity that AI workflows often require.

I raised an issue and submitted a pull request to help push Semantic Kernel in a more open and flexible direction. But I didn’t stop there—I created an extension library that adds missing functionality and support for customized agent chat workflows.



What Does the Extension Do?

The SemanticKernelAgenticChatWorkflowsExtension repository introduces several key extensions and patterns:

1. Interface Support and Extensibility

  • IAgentGroupChat and IAgentChat interfaces: Essential for creating custom chat workflows.
  • AgentGroupChatExt: A wrapper for the existing AgentGroupChat class, making it easier to inject any custom implementations.
  • BaseAgentGroupChat: A base class for building custom workflows like two-agent or multi-agent systems.

2. New Workflow Implementations

  • Sequential Agent Chat Workflow: A chat that progresses through agents in sequence.
  • Two-Agent Chat Workflow: A fast and efficient chat workflow between two agents, perfect for task delegation.
  • Sequential Two-Agent Chat Workflow: A combination of multiple two-agent chats arranged sequentially.

The workflows are designed to be efficient and fast, bypassing the standard group chat mechanisms, which often introduce latency. They also integrate seamlessly into various use cases like code crafting, where agents work collaboratively to improve or generate high-quality code.



The App: A WPF Interface for Experimenting with Chat Workflows

To bring these concepts to life, I built a WPF application that allows users to experiment with different agent chat workflows through an intuitive user interface. The starting point of the base application came from John Maeda ’s Cozy AI Kitchen series and Marco Casalaina Marco’s work, which laid a solid foundation for multi-agent chat systems.

I modified extensively and made the app more extensible, so you can load different chat workflows, still has room for improvement but did not want to invest an excessive amount of time to this and focus on the Semantic Kernel side.

Also I recommend to follow them both :)



What the App Offers

  • Dynamic Workflow Selection: You can dynamically switch between different chat workflows, such as the Code Crafter, Two-Agent Chat, Sequential Chat, or the more complex Sequential Two-Agent Chat Workflow.
  • Real-Time Workflow Management: The UI lets you track the dialogue between AI agents and interact with them, making it easier to understand how agents collaborate.
  • Plug-and-Play Workflows: With the ability to plug in new workflows on the fly, the app serves as a sandbox for experimenting with Agentic AI systems.

The application makes it easier to play around with multi-agent interactions and provides a window into how AI agents can collaborate to achieve more complex outcomes.


A Nod to the Originals

The origins of this application can be traced back to Marco Casalaina’s example exhibited in John Maeda’s Cozy AI Kitchen series. While the base concepts were there, I extended the application to allow dynamic workflow integration and made UI improvements to suit the new chat models I was building.



Key Takeaways for Developers

1. It Works—And It Works Fast

The implemented workflows—such as the two-agent chat, sequential chat, and sequence of two-agent chats—function effectively and handle complex conversational patterns with ease. These workflows are not bound by the traditional limitations of group chat, resulting in faster and more scalable systems. IE, every time that an agent replies, the "chat group manager" is not asked "who goes next" - that makes no sense.

2. Advocacy for Interface Support in Semantic Kernel

One of the main issues with extending Semantic Kernel is the lack of interfaces for key classes. I encourage the community to rally behind these suggestions and contribute to making Semantic Kernel more flexible. Interfaces and extensibility should be at the core of any developer-friendly platform, enabling the creation of innovative and dynamic solutions.

Again support this by supporting, reviewing and improving the issue and PR (pull request) .



A Call to Action: Join the Conversation

I encourage everyone to check out the SemanticKernelAgenticChatWorkflowsExtension on GitHub and experiment with these new workflows. Whether you're building multi-agent systems, automating tasks, or crafting better code, these tools can take your AI projects to the next level.

And for those passionate about AI, please support the call for more extensibility in Semantic Kernel. As we look to the future of AI, open, flexible, and extendable frameworks are key to unlocking the next wave of innovation.

I'd love some help to implement the Middleware pattern which is a fantastic thing on the AutoGen.NET implementation - see here:


Together, we can create the tools that power the future of agentic AI.

Vic P.

ISV Technical Excellence and Partnership | Microsoft

2 个月

Amazing work Jose, hope you get to demo it at one of the APAC SK office hours ;)!

Alexander De Ridder

Founder of SmythOS.com | AI Multi-Agent Orchestration ??

2 个月

Innovative approach. Pushing limits excites open-source exploration.

回复
Jordi Gonzalez Segura

CEO/CIO greenYng & Co-founder at greenYng & greenYng energY. #YoutúYou #YoudecideYourwasteisVALUE #YoudecideYourwasteisENERGY

2 个月

Excellent work!!! I am convinced that SK and Autogen.Net will end up being one and the same. Within the Microsoft ecosystem, I still don't understand, Copilot gave me some good reasons, why SignalR was not chosen in Autogen.Net for the communications between agents, maybe because of some limitation, cost... but I think it would be interesting to explore it? At greenYng the idea that our multirole ecosystem of mobile applications can have our own multirole agent in each application and collaborate with each other fascinates us and we believe that the best way to put it into practice is with Semantic Kernel and Autogen.NET and of course for us today Phi (which we hope continues to evolve)

要查看或添加评论,请登录

社区洞察

其他会员也浏览了