Extending Semantic Kernel with Agentic AI Workflows: New Patterns for Chat Automation
Jose Luis Latorre
Developer Community Lead & Software Architect at Swiss Life AG | LinkedIn Learning Instructor | Microsoft AI MVP | K6 Champion| Speaker
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
2. New Workflow Implementations
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
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.
ISV Technical Excellence and Partnership | Microsoft
2 个月Amazing work Jose, hope you get to demo it at one of the APAC SK office hours ;)!
Founder of SmythOS.com | AI Multi-Agent Orchestration ??
2 个月Innovative approach. Pushing limits excites open-source exploration.
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)