As I think you all have noticed, we are in the middle of a revolution in the IT world where artificial intelligence (AI) is emerging more and more in every sector and in the coming years AI will guide the technological choices of many companies.
The AI landscape had (and is having) lots of transformation in the last years (or waves). We moved from predictive AI (machine learning, forecast trends, data-driven decisions) to generative AI (generate and understand contents, human interactions) and now to agentic AI, where an AI system can autonomously execute tasks for us and interact with other AI agents.
How many times in the last few months have you heard the word “agent”? I think a lot, expecially on every Microsoft-related conference.
An AI agent is a software program that can interact with its environment, collect data, and use that data to perform tasks autonomously to meet predetermined goals. Humans set the goals, but the AI agent independently chooses the best actions to achieve those goals. For example, a contact center AI agent might resolve customer queries by asking questions, looking up information, and providing solutions. If it cannot resolve the query, it will pass it on to a human
AI agents are rational and make decisions based on their perceptions and data to produce optimal results. They can sense their environment through physical or software interfaces, analyze the data, and make informed decisions.
In business applications, AI agents can improve productivity by automating repetitive tasks, reducing costs by minimizing process inefficiencies, and enhancing customer experiences through personalized interactions.
And here comes the concept of Agentic AI…
Agentic AI refers to a new class of artificial intelligence systems designed to act with autonomy, making decisions and taking actions without direct human intervention. These systems are capable of processing vast amounts of data, reasoning, and adapting to real-time changes in their environment. The evolution from traditional AI to agentic AI signifies a leap forward in how systems can handle complex tasks, such as reasoning, planning, and learning from experience – much like a human agent.
Agentic AI uses sophisticated reasoning and iterative planning to autonomously solve complex, multi-step problems. It works through a four-step process: perceiving data from various sources, reasoning to generate solutions, acting by executing tasks, and learning through a feedback loop to continuously improve
This type of AI is particularly useful in scenarios that require handling complex workflows and making autonomous decisions.
Microsoft is investing in agentic AI to enhance productivity and efficiency across various business operations. During the recent Microsoft Ignite 2024 conference, CEO Satya Nadella emphasized the company’s vision for AI-powered agents that can autonomously perform tasks, ranging from customer returns to supply chain management.
By investing in agentic AI, Microsoft aims to provide businesses with tools that can significantly improve operational efficiency, reduce costs, and enhance customer experiences. These AI agents are expected to transform various industries by automating routine tasks and enabling more strategic decision-making.
Microsoft AI agents are integrated into various platforms and services to automate business processes. For example, the recently announced Sales Order Agent in Business Central helps manage sales orders by automating tasks such as order processing and tracking.
The new integrated Sales Order Agent in Dynamics 365 Business Central will be able to:
Just FYI, the Dynamics 365 Business Centra Sales Order agent is in private preview at the moment. A public preview is planned for December 2024 (US only) and additional countries and languages will be added in early 2025. Microsoft plans also to enable partners to build new autonomous agents in Business Central and extend the first-party agent in the future.
Additionally, CoPilot Studio enables users to create and automate applications using natural language processing and machine learning models with a low-code approach.
Microsoft’s recent announcements at Ignite 2024 highlighted the introduction of new AI agents in platforms like Outlook, Teams, and PowerPoint, which are set to roll out in early 2025.
Additionally, the Azure AI Agent Service will provide a flexible and secure platform for developing and deploying AI agents, enabling businesses to automate complex workflows and improve operational efficiency
I don’t want to go into much more details about Microsoft’s AI agents here, but in this post I’ve mentioned Copilot Studio. And Microsoft’s people have mentioned Copilot Studio a lot during the recent conferences too…
Copilot Studio is a powerful, low-code tool designed to help users create and customize AI copilots. It is part of the Microsoft Power Platform and allows users to build intelligent, dynamic, and connected AI assistants for various business applications.
Copilot Studio enables users to create agents that extend Microsoft 365 Copilot or operate as standalone entities. These agents can automate workflows, integrate with external applications, and connect to data within Microsoft 365. The platform supports the development of conversational AI applications using generative AI and large language models.
Copilot Studio offers a graphical, low-code interface for building and customizing AI agents. Users can design conversational applications for different channels, such as websites, mobile apps, and Microsoft Teams. The platform allows for the creation of sophisticated logic by connecting to various data sources using prebuilt or custom plugins.
To explain Copilot Studio in a simple sentence, I particularly love a definition that I saw at Ignite: Copilot Studio is the UI for AI.
The Microsoft’s vision is that every employee in a company will soon have a Copilot for improving the productivity in the daily business tasks and save time. They can have an agent for every business process, working as a simple interactive chat or like a fully autonomous agent in background. Copliot Studio is the tool that a company can use to create agents.
Important also is that every IT department in an organization will have full control of their Copilots (a Copilot Control System that permits you to manage, secure and handle data governance in your AI systems).
If you was able to arrive reading here, maybe you have a question: why this post?
The main goal of this post is to dispel a myth that I see emerging more and more and for which I don’t see great clarity:
No, No and No! You are not forced to use Copilot Studio to create AI agents. While Copilot Studio is a powerful and user-friendly tool for building and customizing AI agents within the Microsoft ecosystem (no doubt about that), there are absolutely other ways to create AI agents in the Microsoft’s world.
The main advantage of using Copilot Studio (at least for many) is probably that it provides a low-code environment, which means you don’t need extensive technical expertise to create sophisticated AI agents. This makes it accessible to a broader range of users. The other advantage is that it provides a large set of prebuilt connectors for connecting with various data sources.
But there are also disadvantages (at least for me)…
First of all, you have a monthly price for using the tool. Details can be found here. This can be a problem for some companies and not a problem for others, obviously. Just remember that you have a default limit of 25,000 messages/month, after that you need to acquire other add-ons for additonal messages.
The message consumption rate is the following:
Then, the low-code approach, while user-friendly and simple, can restrict the level of control and flexibility that developers have when creating AI agents.
I always say that low-code is great, but it’s not always the best solution of every problem in the world…
You can create scalable and performant AI agents just from months and months ago (this is not a so new concept) also by using a code-based approach.
For example, Microsoft’s Semantic Kernel can indeed be used to create AI agents. It is an open-source development kit that allows developers to build AI agents and integrate the latest AI models into their applications.
The Semantic Kernel Agent Framework provides a platform within the Semantic Kernel ecosystem that enables the creation of AI agents and the incorporation of agentic patterns into any application.
Semantic Kernel supports the development of both simple and sophisticated agents, enhancing modularity and ease of maintenance. Plus, it can also abstract for you the AI platform (and this is one of the aspects that I love more, because I can use for example Azure OpenAI for some tasks and Google Gemini for others, or different embeddings platforms). The code-based apporoach guarantees you the full scalability and the full freedom you need in your AI solution.
And obviously yes… you can use it also in Dynamis 365 Business Central AI projects too!
This week at the WPC 2024 Conference in Milan (Assago), the most important IT technical conference in Italy related to the Microsoft’s ecosystem, I have a session where I will show you an AI agent working with Dynamics 365 Business Central, easily created with a code-based approach (no licensing costs and full scalability). This is not a Business Central coference, so the focus of the session will be on the technical topics used to create it and you will see new things.
If you want to attend, this is the session reference:
There are obviously other code-based tools for creating AI agents (like LangChain or LlamaIndex), but that’s another story…
AI agents and services sometimes need to run on different platforms too. Imagine having an AI agent natively running in a device or an AI agent running in a machine without a browser. Here is probably where you will start discovering limitations using Copilot Studio.
Just to give you an example, this is a real-world Dynamics 365 Business Central manufacturing AI agent running on devices in production departments where browser is not accepted:
A key component of an AI agent is also the memory. An AI agent needs quite often to be able to remember previous interactions or responses. In an AI agent memry can be:
The memory is another aspect where a code-based approach is often winning. Semantic Kernel for example permits you to have a platform-independent memory storage (you can use Azure AI Search, Qdrant, Chroma, SQL and more).
Always remember that code still exists, despite the low-code mania (long life to real devs)…
Security in another important aspect that you need to always consider when you create an AI agent (or a Copilot).
Copilot Studio supports several authentication options for your Copilots. Go to Settings for your agent, and select Security and then Authentication and 3 authentication choices will be possible:
Some weeks ago I published a quite cryptic quick post on Linkedin:
Yes… you can quite easily discover unauthenticated Copilot Studio bots by deep scanning tenant IDs or domains and malicious people could start talking with your bots and do actions. Be careful…
After this long post, I hope that you have a more clear vision of the latest Microsoft’s AI trends and expecially I hope you have a clear answer to the question that I have heard emerge more and more in the last weeks related to AI agents and Copilot Studio. Yes, Microsoft is pushing Copilot Studio a lot as the “low-code solution for creating AI agents” but it’s absolutely not the definitive solution for every AI agent’s scenario. Code is still here stronger and more alive than ever…
Original Post https://demiliani.com/2024/11/26/ai-agents-and-now/