Extending Microsoft 365 Copilot: Agents, MCP & Production-Grade AI with Yves Habersaat [MVP]
Key Takeaways
- Enterprise AI implementations require human architects and engineers to validate technical outputs and ensure solutions genuinely address business requirements.
- A multi-agent architecture is essential for large-scale deployments, assigning clear scopes and responsibilities to individual agents to maintain performance and control.
- Model Context Protocol (MCP) provides a standardized, AI-oriented integration layer that allows agents to dynamically discover and interact with external tools and services.
- Data governance and information architecture are crucial prerequisites for enterprise AI readiness, directly impacting the quality of AI responses.
- Delegated user permissions should be the default starting point for enterprise agents to ensure they operate only within the authorized limits of the user.
Microsoft 365 Copilot is moving far beyond prompt engineering. As organizations adopt AI more seriously, the challenge becomes connecting Copilot and AI agents to business applications, Microsoft Graph, organizational knowledge, APIs, workflows, and enterprise data while maintaining security and governance. In this episode of the M365 FM Podcast, Mirko Peters talks with Microsoft MVP and AI Tech Lead Yves Habersaat about Microsoft 365 Copilot extensibility, Copilot Studio, Microsoft Foundry, Model Context Protocol (MCP), RAG, multi-agent architectures, enterprise search, permissions, governance, AI readiness, and what it takes to build production-grade AI solutions.
FROM PROMPT ENGINEERING TO AI ARCHITECTURE
Prompt engineering can help employees get more value from generative AI, but enterprise AI requires much more than better prompts. Organizations need people who understand the underlying technologies, customer requirements, architecture, security, business applications, data, and implementation decisions. Yves argues that human architects and engineers remain important because AI can generate technical material and provide guidance, but organizations still need people capable of validating whether a solution actually addresses the business requirement.
WHERE COPILOT EXTENSIBILITY BEGINS
Microsoft 365 Copilot has evolved considerably since its earliest versions. Many capabilities that previously required extensions are now available directly within the platform. Extensibility becomes particularly relevant when organizations need greater control. This could mean customizing orchestration, creating specialized agent experiences, integrating an agent into a website rather than only Microsoft 365 Copilot Chat, or building capabilities that aren't available through the standard experience. The more specialized the requirement becomes, the more important extensibility and custom development become.
WHY ONE GIANT COPILOT ISN'T THE ANSWER
Instead of building one enormous Copilot containing every instruction, tool, knowledge source, and responsibility, Yves recommends thinking in terms of multi-agent architectures. Individual agents can have clearly defined scopes and responsibilities. An IT support architecture, for example, could contain a front-facing agent responsible for understanding the user's request and routing it to specialized agents for Microsoft 365, Salesforce, or other platforms. Each specialized agent can then maintain its own instructions, knowledge, and tools.
THE ANATOMY OF AN ENTERPRISE AI AGENT
A typical enterprise agent starts with a clearly defined objective. The agent then requires instructions defining its responsibilities and boundaries, knowledge sources containing relevant organizational information, tools allowing it to perform actions, and an orchestration layer deciding how requests should be processed. In a multi-agent architecture, a front agent can delegate tasks to specialized agents. Those agents can then access internal knowledge sources, external systems, APIs, and MCP servers depending on the task they need to perform.
COPILOT STUDIO VS CUSTOM DEVELOPMENT
Copilot Studio provides a low-code approach to building agents. Organizations can define instructions, connect tools, integrate knowledge sources, and use MCP servers without building every component themselves. Custom development provides significantly greater control but also introduces more architectural responsibility. Developers may need to manage authentication, security, hosting, orchestration, external services, and integration patterns themselves. The decision therefore isn't simply low-code versus code. It depends on how much control the solution actually requires.
WHEN COPILOT STUDIO REACHES ITS LIMITS
One of the major questions is whether the organization needs to customize orchestration. If standard orchestration satisfies the requirement, Copilot Studio can provide a fast route to building an agent. If developers need deeper control over how plans are created, tasks are prioritized, workflows are executed, or models are selected, custom development becomes more relevant. Custom solutions can also integrate models hosted outside Microsoft's ecosystem, giving organizations additional flexibility over their AI infrastructure.
MICROSOFT FOUNDRY AND THE CHANGING AI STACK
Microsoft Foundry has evolved from its earlier role around model deployment into a broader AI development platform. Yves describes a platform increasingly supporting agent creation, governance, model management, MCP integration, and other capabilities. This creates some overlap with Copilot Studio, while custom development continues to provide greater flexibility around models, orchestration, hosting, and architecture. The Microsoft AI development landscape is therefore evolving rapidly, making architectural decisions increasingly dependent on the specific use case.
WHAT IS MODEL CONTEXT PROTOCOL?
Model Context Protocol, or MCP, addresses one of the major challenges in agent development: providing a standardized way for AI systems to discover and interact with external tools and services. Historically, developers integrated individual APIs using different authentication mechanisms, protocols, documentation, and implementation approaches. MCP provides a more standardized interface through which agents can understand which tools are available and how those tools can help accomplish a task. Yves describes it as an increasingly important part of modern AI architecture.
MCP VS TRADITIONAL API INTEGRATION
MCP doesn't eliminate APIs. Instead, an MCP server can sit in front of existing APIs, databases, and internal services and expose those capabilities in a way AI systems can understand. A company might already have APIs for finance, HR, CRM, or operational systems. An MCP server can expose appropriate tools around those services while the existing APIs continue performing the underlying operations. This makes MCP an AI-oriented integration layer rather than a replacement for the systems underneath it.
HOW AGENTS CHOOSE TOOLS
An enterprise agent might eventually have access to dozens or hundreds of tools. The agent's orchestration layer, working with the language model, can inspect the available capabilities and determine which tools are relevant to the user's request. It can then create a plan containing the actions required to complete the task and potentially invoke several tools in sequence. This ability to discover and select tools dynamically is one reason MCP has become important in agentic architectures.
MICROSOFT GRAPH REMAINS CENTRAL
MCP doesn't make Microsoft Graph irrelevant. Yves explains that Microsoft 365 MCP capabilities can rely on Microsoft Graph behind the scenes. An agent interacts with the MCP capability while Graph provides access to Microsoft 365 information and services underneath it. Graph also remains important to Microsoft 365 Copilot because organizational context across Microsoft 365 can be accessed through Microsoft's underlying graph and search capabilities. The integration layer is evolving, but Graph remains a major foundation of the Microsoft 365 ecosystem.
SECURING ORGANIZATIONAL KNOWLEDGE
Microsoft 365 contains enormous amounts of organizational context: documents, meetings, emails, people, Teams conversations, OneDrive files, and SharePoint content. Connecting AI to that information without proper governance creates obvious risks. Yves recommends beginning by understanding the organization's data. Companies need to know where confidential information exists, who should have access, and what information requires additional protection. Microsoft Purview capabilities such as sensitivity labels and Data Loss Prevention can then become part of the governance architecture.
DATA QUALITY IS AN AI PROBLEM
AI governance isn't only about preventing unauthorized access. Poorly organized SharePoint sites, duplicated files, outdated documents, inconsistent Teams environments, and unclear information ownership can reduce the quality of AI responses. Connecting an agent to organizational knowledge doesn't automatically make that knowledge useful. Organizations therefore need to consider data cleanup, information architecture, permissions, classification, and governance as part of AI readiness.
DELEGATED VS APPLICATION PERMISSIONS
Permissions become especially important when agents can take actions. Yves recommends delegated user permissions as the general starting point. This means an agent operates according to the permissions of the person using it. If the user doesn't have access to particular information or functionality, the agent shouldn't automatically gain that access on their behalf. Where application permissions are genuinely necessary, Yves suggests isolating them behind a controlled service or MCP layer rather than exposing broad application permissions directly to the user-facing agent.
RAG IN ENTERPRISE AI ARCHITECTURE
Retrieval-Augmented Generation, or RAG, allows AI systems to retrieve relevant organizational information before generating an answer. Instead of expecting the language model itself to contain current company-specific information, the system retrieves appropriate content from organizational knowledge sources. That information can come from documents, knowledge bases, Microsoft 365 content, or other enterprise systems. For many users, this happens invisibly because platforms such as Copilot Studio abstract the underlying retrieval architecture. γ
€
Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-fm-modern-work-security-and-productivity-with-microsoft-365--6704921/support.
π Want to be part of m365.fm?
Then stop just listening… and start showing up.
π Connect with me on LinkedIn and let’s make something happen:
- ποΈ Be a podcast guest and share your story
- π§ Host your own episode (yes, seriously)
- π‘ Pitch topics the community actually wants to hear
- π Build your personal brand in the Microsoft 365 space
This isn’t just a podcast — it’s a platform for people who take action.
π₯ Most people wait. The best ones don’t.
π Connect with me on LinkedIn and send me a message:
"I want in"
Let’s build something awesome π
Frequently Asked Questions
What is Microsoft 365 Copilot extensibility?
Copilot extensibility involves customizing orchestration, integrating specialized agent interfaces into websites or applications, and building capabilities beyond standard out-of-the-box features.
What is Model Context Protocol (MCP) in AI development?
Model Context Protocol (MCP) is a standardized interface that allows AI agents to discover and interact with external tools, databases, and APIs without requiring custom integrations for each service.
When should an organization choose Copilot Studio over custom development?
Copilot Studio is ideal for fast, low-code agent creation when standard orchestration satisfies business needs, whereas custom development is necessary when deeper control over orchestration, custom hosting, or external LLMs is required.
Why is data governance important for Microsoft 365 Copilot?
Poorly organized documents, unclear information ownership, and improper permissions can compromise security and degrade the quality of AI-generated responses.
00:00:00,000 --> 00:00:04,680
Welcome everybody to the MC65 and podcast.
2
00:00:04,680 --> 00:00:09,840
Today we are going beyond one of the most common conversations around Microsoft
3
00:00:09,840 --> 00:00:15,360
C-5 co-pilot prompt engineering because one of the organizations start using
4
00:00:15,360 --> 00:00:20,880
co-pilot seriously, the question quickly changed from how do we write better
5
00:00:20,880 --> 00:00:27,240
prompts to, how do we connect co-pilot to the applications, data, APIs, business
6
00:00:27,240 --> 00:00:31,080
processes and knowledge that actually run in our company.
7
00:00:31,080 --> 00:00:34,920
And that's where co-pilot extensibility becomes interesting.
8
00:00:34,920 --> 00:00:40,360
My guess today is Evis Hava State, Microsoft MVP Business Application Consultant,
9
00:00:40,360 --> 00:00:44,720
AI Ashley, its workgroup in Switzerland.
10
00:00:44,720 --> 00:00:50,960
Evis works across Microsoft C-65 Azure Dynamics 365 and the Power Platform.
11
00:00:50,960 --> 00:00:55,600
This particular focus on extending Microsoft C-65 co-pilot through Agents and Customs.
12
00:00:55,600 --> 00:00:56,600
The development.
13
00:00:56,600 --> 00:01:03,880
We are going to explore Microsoft 365 co-pilot extensibility, co-pilot studio, Microsoft
14
00:01:03,880 --> 00:01:04,880
Fowlery, Azure Foundry.
15
00:01:04,880 --> 00:01:10,800
I don't know, they changed the name, Microsoft Graph, Customs Development, MCPs and so on.
16
00:01:10,800 --> 00:01:14,000
So yeah, it was welcome to the MC65 and podcast.
17
00:01:14,000 --> 00:01:17,960
Yeah, hello everybody, thanks for having me, Mirko.
18
00:01:17,960 --> 00:01:24,240
It's a good opportunity for me to be here, so thanks for having me.
19
00:01:24,240 --> 00:01:26,120
Yeah, thank you.
20
00:01:26,120 --> 00:01:34,640
Before we get technical, can you tell a little bit about your journey, how you get into
21
00:01:34,640 --> 00:01:36,040
the Microsoft ecosystem?
22
00:01:36,040 --> 00:01:38,080
Yeah, yeah, yeah, of course.
23
00:01:38,080 --> 00:01:43,000
Because I started my career, not in the Microsoft world, to be honest, so I started my
24
00:01:43,000 --> 00:01:44,680
career on the Apple world.
25
00:01:44,680 --> 00:01:51,960
I was a software engineer on the Mac platform and after I moved to iOS, it's kind of
26
00:01:51,960 --> 00:02:00,320
like, and it was like a long time ago and maybe like, I don't know, 15 or 20 years ago,
27
00:02:00,320 --> 00:02:02,760
I moved to Microsoft world, to be honest.
28
00:02:02,760 --> 00:02:07,360
I started my career on the shop on the shop, on the shop, all the world.
29
00:02:07,360 --> 00:02:14,680
And after I moved to cloud Azure, M365, it was sharpened on premises, I started my career
30
00:02:14,680 --> 00:02:15,680
like this.
31
00:02:15,680 --> 00:02:21,760
And after I moved to all the cloud services and at the end, platform and more, most
32
00:02:21,760 --> 00:02:27,680
recently, all the AI stuff, to be honest, because it's now a big part of M365 now, because
33
00:02:27,680 --> 00:02:37,720
you have an adjunct teach transition now and basically, this is in an ad shell, my journey.
34
00:02:37,720 --> 00:02:44,200
But I started my career in the software engineering world, which is today, you may be a world
35
00:02:44,200 --> 00:02:50,480
that a lot of people are forgetting because you have all the AI stuff now.
36
00:02:50,480 --> 00:02:56,720
And basically, is this kind of activities or jobs have moved to AI?
37
00:02:56,720 --> 00:03:00,960
So it's quite different than 20 years ago to then as well.
38
00:03:00,960 --> 00:03:07,600
Yeah, you work, you say you work with Chapppoint and I see also you work with Graph, SPFX,
39
00:03:07,600 --> 00:03:17,400
Azure Dynamic, how did the background prepare you for the current generation of the AI development?
40
00:03:17,400 --> 00:03:26,560
And basically, I have my profile is really, it's really transversal, basically, because in
41
00:03:26,560 --> 00:03:30,640
my career, I use to work with many, many products.
42
00:03:30,640 --> 00:03:33,840
It could be Microsoft and non-Microsoft products.
43
00:03:33,840 --> 00:03:40,080
So basically, I have a large scope of skills on a lot of different technologies and tools.
44
00:03:40,080 --> 00:03:47,280
So all my jobs give me a good background because now with the AI, it's a lot of things
45
00:03:47,280 --> 00:03:54,280
it's a white topic because you have different kind of approaches, different kind of technologies
46
00:03:54,280 --> 00:03:56,120
to do AI now.
47
00:03:56,120 --> 00:04:00,240
It could be agentic, it could be more workflows, these kind of things.
48
00:04:00,240 --> 00:04:07,720
So basically, all my previous jobs give me a lot of skills to be ready for this AI transition
49
00:04:07,720 --> 00:04:09,120
now to be honest.
50
00:04:09,120 --> 00:04:13,760
So I move to local, to know, to to procre tools.
51
00:04:13,760 --> 00:04:26,480
So yes, all this opportunities and activities in my jobs give me a good good skills to take
52
00:04:26,480 --> 00:04:29,160
advantage of in the AI work to be honest.
53
00:04:29,160 --> 00:04:39,800
Yeah, and now you are and I, I actually, what do I, I actually, it's a really good question
54
00:04:39,800 --> 00:04:41,280
because a lot of people ask me.
55
00:04:41,280 --> 00:04:50,400
So my job is just to match functional specification to technical, to technical stack.
56
00:04:50,400 --> 00:04:56,120
So I'm taking the lead when the business analysis has been made.
57
00:04:56,120 --> 00:05:00,400
We have defined use case in the AI, for the AI staff.
58
00:05:00,400 --> 00:05:02,680
We have defined scenarios use case.
59
00:05:02,680 --> 00:05:08,440
We have defined, we have made the full business analysis and my job is, okay, I'm taking
60
00:05:08,440 --> 00:05:14,600
the, this needs and I'm matching the leads to the technical stack behind the scene.
61
00:05:14,600 --> 00:05:21,200
And after I'm leading all the implementation of the, of the tools and the, and the solution
62
00:05:21,200 --> 00:05:24,240
when, when we already to start developing.
63
00:05:24,240 --> 00:05:27,200
Yeah, interesting.
64
00:05:27,200 --> 00:05:38,160
I actually, I see a lot of companies by their employees trainings, especially, yeah, for
65
00:05:38,160 --> 00:05:47,360
prompt engineering and, and why will you say that not enough?
66
00:05:47,360 --> 00:05:51,240
Only prompt engineering, you mean, nowadays?
67
00:05:51,240 --> 00:06:00,720
Yeah, yeah, why, why, why, why, why it's only, you know, why is for, for companies, not
68
00:06:00,720 --> 00:06:04,360
enough, only teach the people that the prompt engineering.
69
00:06:04,360 --> 00:06:07,720
Ah, yeah, okay, I see, I see, okay, yeah, yeah.
70
00:06:07,720 --> 00:06:14,920
And basically, to be honest, nowadays you have, as I said before, you have a lot of different
71
00:06:14,920 --> 00:06:16,400
tools and technologies.
72
00:06:16,400 --> 00:06:23,680
So, and basically, at some point, yeah, I can, can understand what to do and maybe a little
73
00:06:23,680 --> 00:06:24,680
bit guide you.
74
00:06:24,680 --> 00:06:33,560
But for me, the role of, for example, architect or software designer, you need to have a
75
00:06:33,560 --> 00:06:37,440
human behind the scene because you need to understand the customer.
76
00:06:37,440 --> 00:06:42,000
Basically, AI sometimes cannot understand the context of the customer.
77
00:06:42,000 --> 00:06:43,920
You see, there's a full need.
78
00:06:43,920 --> 00:06:50,240
But behind the scene, to have just a focus on the prompt engineering is, it could be good
79
00:06:50,240 --> 00:06:56,480
at some point, but you need to have more because you need to have a behind the scene, some,
80
00:06:56,480 --> 00:07:01,400
some people that are architect software engineering behind the scene.
81
00:07:01,400 --> 00:07:07,480
And basically, a lot of people who have skills in technologies, information technologies,
82
00:07:07,480 --> 00:07:12,320
like SharePoint, like OneDrive, like, I don't know, Salesforce, this kind of stuff.
83
00:07:12,320 --> 00:07:18,320
You need to have specialists in those technologies because AI can understand a lot of things.
84
00:07:18,320 --> 00:07:25,400
You can guide you, you can generate some great technical or functional documents, but
85
00:07:25,400 --> 00:07:28,600
you need to have human behind the scene who take care of it.
86
00:07:28,600 --> 00:07:29,600
Okay.
87
00:07:29,600 --> 00:07:30,600
Is it good?
88
00:07:30,600 --> 00:07:35,480
Is it answering the customer needs, this kind of thing, to validate everything?
89
00:07:35,480 --> 00:07:42,440
And focusing on only the prompt engineering for me now is, yeah, it could be an option.
90
00:07:42,440 --> 00:07:51,760
If you don't have as a time to train or to invest in accruing some skills, but for me,
91
00:07:51,760 --> 00:07:58,280
you need to have good skills in foundation technologies where you want to build your solutions
92
00:07:58,280 --> 00:07:59,280
to be honest.
93
00:07:59,280 --> 00:08:01,320
Yeah, yeah.
94
00:08:01,320 --> 00:08:07,120
And you're an expert in co-pilot extensibility.
95
00:08:07,120 --> 00:08:16,920
Where do standard co-pilot, Microsoft, the 65 co-pilot stop and where did co-pilot extensibility
96
00:08:16,920 --> 00:08:17,920
begin?
97
00:08:17,920 --> 00:08:25,120
Yeah, it's a good question because to be honest, two years ago, when one co-pilot was released
98
00:08:25,120 --> 00:08:33,960
and maybe the first session, basically the chat was, to be honest, really minimalist.
99
00:08:33,960 --> 00:08:41,840
Basically, you can, okay, it was a chat GPT-like, but Microsoft has evolved Microsoft,
100
00:08:41,840 --> 00:08:43,400
crucified co-pilot a lot.
101
00:08:43,400 --> 00:08:47,080
Basically, now you have co-work, you have a different kind of feature.
102
00:08:47,080 --> 00:08:54,560
So now, the extensibility is less than before because in the past, you developed some
103
00:08:54,560 --> 00:08:56,280
plugin, these kind of things.
104
00:08:56,280 --> 00:09:05,200
But nowadays, to be honest, at this time, the extensibility is when you want to build something
105
00:09:05,200 --> 00:09:12,160
and you want to customize, basically, the orchestrator, or you want to personalize a little
106
00:09:12,160 --> 00:09:18,880
bit more, for example, you use your interface, if you want to integrate your agent, not only
107
00:09:18,880 --> 00:09:22,920
in Microsoft 365 chat, but for example, you know, website, these kind of things.
108
00:09:22,920 --> 00:09:29,880
So the extensibility begins when you want, basically, to customize more, behind the scene,
109
00:09:29,880 --> 00:09:31,920
you want to customize a little bit more.
110
00:09:31,920 --> 00:09:37,200
It could be orchestrator, if you want to customize your orchestrator, if you want to customize
111
00:09:37,200 --> 00:09:45,680
your interface, if you want to customize different aspects, where basically, co-pilot chat
112
00:09:45,680 --> 00:09:52,320
cannot do, cannot answer the slide.
113
00:09:52,320 --> 00:10:02,320
And I think a lot of people talk about agents.
114
00:10:02,320 --> 00:10:15,440
Why do we think so many now in co-pilot agents and why we don't build, I don't know, what
115
00:10:15,440 --> 00:10:25,440
one dec co-pilot for everything?
116
00:10:25,440 --> 00:10:26,280
Yeah, it's interesting because now, to be honest, Microsoft, as I said before, has evolved a lot.
117
00:10:26,280 --> 00:10:35,480
And maybe if we were six months before, okay, agents was a topic.
118
00:10:35,480 --> 00:10:41,680
Now Microsoft has introduced the co-pilot co-rocks and to be honest, nowadays, co-pilot co-rocks
119
00:10:41,680 --> 00:10:44,200
can replace a lot of agents.
120
00:10:44,200 --> 00:10:49,920
And while we think about agents, it's just to separate the things.
121
00:10:49,920 --> 00:10:56,760
Because now, we are more in a multi-agent model, where each agent has a scope and is
122
00:10:56,760 --> 00:10:58,000
responsibilities.
123
00:10:58,000 --> 00:11:03,960
And we don't do a big co-pilot in, basically, it's simple because of performances, first,
124
00:11:03,960 --> 00:11:10,400
because when you have a bit set of instruction and tooling in terms of performances, it will
125
00:11:10,400 --> 00:11:11,400
be a mess.
126
00:11:11,400 --> 00:11:15,880
And the architecture now is more multi-agent.
127
00:11:15,880 --> 00:11:21,800
It could be in co-pilot studio, it could be in custom agent in terms of procode or custom
128
00:11:21,800 --> 00:11:22,800
development.
129
00:11:22,800 --> 00:11:29,160
But nowadays, it's better to have a multi-agent approach where each agent has a scope and
130
00:11:29,160 --> 00:11:36,520
is responsibility in terms of just in terms of performance and to have a clear architecture
131
00:11:36,520 --> 00:11:39,480
in terms of agents.
132
00:11:39,480 --> 00:11:51,280
And when we look at this, I think, basic, I agent architecture, then we have some passwords
133
00:11:51,280 --> 00:12:02,440
that I would pass, but we have to think about reasoning, tools, knowledge, and instructions.
134
00:12:02,440 --> 00:12:09,400
How did this fit into an I agent architecture?
135
00:12:09,400 --> 00:12:18,120
The first thing to do is one of the questions you need to answer is, OK, what is the goal?
136
00:12:18,120 --> 00:12:20,920
The first objective of this is the agent.
137
00:12:20,920 --> 00:12:27,920
Basically, after agent architecture, it really depends on if you are in a local approach
138
00:12:27,920 --> 00:12:33,720
or if you are in a custom dev approach, because it's totally the approach, totally different,
139
00:12:33,720 --> 00:12:40,800
because in a custom dev approach, you manage everything, so you manage security, you manage
140
00:12:40,800 --> 00:12:45,160
the hosting, you manage a lot of different things.
141
00:12:45,160 --> 00:12:51,280
In the local approach, it's really different because you think about, OK, you give the instruction,
142
00:12:51,280 --> 00:12:52,680
you select some tools.
143
00:12:52,680 --> 00:12:59,960
So basically, the architecture in the local approach is really, it's not as simple as I
144
00:12:59,960 --> 00:13:03,680
said now, but it could be really fast because you can determine, OK, I'm going to have
145
00:13:03,680 --> 00:13:12,560
the instruction, you can select your tools, you can select a different other agent if you
146
00:13:12,560 --> 00:13:15,160
want to connect, but it's really simple.
147
00:13:15,160 --> 00:13:21,200
When you are dealing with custom dev or when you develop your own agent, it could be,
148
00:13:21,200 --> 00:13:26,600
for example, semantic kernel, agent from all these kind of things, an architect could be
149
00:13:26,600 --> 00:13:31,240
really more complex because you need to deal with concepts, really advanced concepts,
150
00:13:31,240 --> 00:13:38,320
as I said, security in terms of authentication, if you have multi, if you have for example,
151
00:13:38,320 --> 00:13:44,880
multi tools and you want to integrate some NCPs, you want to connect to internal tools
152
00:13:44,880 --> 00:13:47,960
protected by some reverse proxies, these kind of things.
153
00:13:47,960 --> 00:13:54,880
So basically, you need to reflect more in terms of architecture when you are dealing with
154
00:13:54,880 --> 00:13:55,880
custom agents.
155
00:13:55,880 --> 00:14:02,520
For example, in Copilot Studio, in terms of architecture, you have, it's really fast to
156
00:14:02,520 --> 00:14:04,160
define the architecture.
157
00:14:04,160 --> 00:14:10,840
In a custom dev approach, you have to deal with advanced concepts and for a lot of people,
158
00:14:10,840 --> 00:14:17,840
it could be difficult because it's really from that channel aspects.
159
00:14:17,840 --> 00:14:24,320
In my job, to be honest, I deal with a lot of different needs.
160
00:14:24,320 --> 00:14:29,080
It could be custom dev, it could be Copilot Studio, it could be simple agents in agent
161
00:14:29,080 --> 00:14:31,920
builder, with really simple needs.
162
00:14:31,920 --> 00:14:39,720
So basically, defining an architecture is really based on which approach you want to take
163
00:14:39,720 --> 00:14:40,720
basically.
164
00:14:40,720 --> 00:14:46,800
You have a general architecture you can make, but after it really depends on the approach
165
00:14:46,800 --> 00:14:49,200
you want to local or for code.
166
00:14:49,200 --> 00:14:50,200
You see?
167
00:14:50,200 --> 00:14:51,960
Yeah.
168
00:14:51,960 --> 00:15:02,200
And can we, can, could you describe the anatomy of a typical enterprise, AI agent?
169
00:15:02,200 --> 00:15:05,320
Oh, yes, I can.
170
00:15:05,320 --> 00:15:13,360
Basically, if you want to talk as simple as possible, when you have the needs, for example,
171
00:15:13,360 --> 00:15:18,160
it could be an IT support agent, for example.
172
00:15:18,160 --> 00:15:24,120
And basically, it could be, it could be, you have a set of things, basically, but after
173
00:15:24,120 --> 00:15:27,800
nowadays, as I said, you have this multi agent approach.
174
00:15:27,800 --> 00:15:33,760
And basically, I put, I put the first agent as the front, like a front end.
175
00:15:33,760 --> 00:15:35,440
So this is the front agent.
176
00:15:35,440 --> 00:15:43,040
And this front agent will route all the, all the requests across, for example, different
177
00:15:43,040 --> 00:15:44,040
agents.
178
00:15:44,040 --> 00:15:49,560
So, for example, if the user is asking about, I don't know, Salesforce question, for example,
179
00:15:49,560 --> 00:15:54,400
you will route all the requests to the Salesforce IT support agent.
180
00:15:54,400 --> 00:15:55,400
You see?
181
00:15:55,400 --> 00:16:00,880
So basically, for some customer, we have made this kind of architecture because each agent
182
00:16:00,880 --> 00:16:02,800
take care about the scope.
183
00:16:02,800 --> 00:16:09,520
It could be for products like Salesforce, it could be for m 365, these 10 of steps.
184
00:16:09,520 --> 00:16:15,960
And behind the scene, each agent has a set of instructions and a set of two.
185
00:16:15,960 --> 00:16:21,320
And nowadays, it's better to use MCP servers because the MCP server allows with universal plug
186
00:16:21,320 --> 00:16:27,920
for, to integrate multi services with AI.
187
00:16:27,920 --> 00:16:31,360
So I have a set of MCP server.
188
00:16:31,360 --> 00:16:35,480
And I have also some internal knowledge sources.
189
00:16:35,480 --> 00:16:40,800
It could be like GERA, it could be like service knowledge base, it kind of fix.
190
00:16:40,800 --> 00:16:44,800
So you have a set of instruction per agent.
191
00:16:44,800 --> 00:16:51,720
And this, those instruction define the scope of the agent and what is the role of each agent
192
00:16:51,720 --> 00:17:00,360
and after, you have a set of MCP server and maybe knowledge sources could be, PDF values.
193
00:17:00,360 --> 00:17:07,320
It could be multi kind of, multi kind of data sources.
194
00:17:07,320 --> 00:17:16,480
And after, when a user is requesting, for example, to the main agent after, it will define,
195
00:17:16,480 --> 00:17:23,120
okay, I need to delegate this task to the respective agent.
196
00:17:23,120 --> 00:17:31,200
So let's a little bit look into the possibilities or the co-pilot still you were, do you set fit
197
00:17:31,200 --> 00:17:35,840
into the overall architecture?
198
00:17:35,840 --> 00:17:41,880
Co-pilot Studio, to be honest, it's a local tool from Microsoft first.
199
00:17:41,880 --> 00:17:50,040
And in terms of architecture, co-pilot Studio is really, the, the, the file for, for maker,
200
00:17:50,040 --> 00:17:54,120
basically for, for people who are not developers.
201
00:17:54,120 --> 00:18:02,040
And in terms of the architecture, basically, for example, if we, if it takes the example,
202
00:18:02,040 --> 00:18:08,880
like to before the IT support, for example, co-pilot Studio will fit because in terms of architecture,
203
00:18:08,880 --> 00:18:13,680
co-pilot Studio will do the job because you can define, in some time, you can define
204
00:18:13,680 --> 00:18:19,320
MCP server, you can integrate ECD some, some external knowledge sources or internal knowledge
205
00:18:19,320 --> 00:18:21,320
sources if you want.
206
00:18:21,320 --> 00:18:26,920
After, as I said before, if for example, you have use case where you want to customize a
207
00:18:26,920 --> 00:18:32,800
little bit orchestrator because behind the scene of co-pilot Studio, you cannot customize
208
00:18:32,800 --> 00:18:33,800
the orchestrator.
209
00:18:33,800 --> 00:18:39,360
So you activate the AI orchestrator, that's all you cannot, for example, customize the
210
00:18:39,360 --> 00:18:44,800
priority of, for example, the task you want to achieve because behind the scene co-pilot
211
00:18:44,800 --> 00:18:48,400
Studio will define, okay, your plan, and after it will execute it.
212
00:18:48,400 --> 00:18:53,120
That's issue, if you want to have a little bit more customization.
213
00:18:53,120 --> 00:18:59,480
In this case, you need to use custom dev with, for example, semantic terminal, long chain,
214
00:18:59,480 --> 00:19:03,640
age of the framework most recently because Microsoft has released this framework.
215
00:19:03,640 --> 00:19:09,240
And in this case, you carry, easily customize orchestration.
216
00:19:09,240 --> 00:19:13,800
You can define some more flows, you can, you can customize what you want.
217
00:19:13,800 --> 00:19:21,680
And co-pilot Studio has an architect that is really defined for build roles and makers because
218
00:19:21,680 --> 00:19:24,200
it's really simple to have an agent working.
219
00:19:24,200 --> 00:19:29,200
The only problem with co-pilot Studio and you need to take care of this because when you
220
00:19:29,200 --> 00:19:35,040
define, when you choose your path and maybe you define your architect, you need to take care
221
00:19:35,040 --> 00:19:41,520
about the license because it's a big part of every solution now.
222
00:19:41,520 --> 00:19:48,160
Nowadays, co-pilot Studio has evolved a little bit in a pay as you will model and you need
223
00:19:48,160 --> 00:19:54,000
to take care about cost estimation because based on what you want to achieve, sometimes it's
224
00:19:54,000 --> 00:20:00,760
better to make a custom dev because after you roast where you want and you take care about
225
00:20:00,760 --> 00:20:06,040
all the costs and you can estimate more easily than now because with the co-pilot credits
226
00:20:06,040 --> 00:20:13,320
approach is sometimes difficult to predict how much, how much it costs for one month, two
227
00:20:13,320 --> 00:20:17,840
months and this kind of thing.
228
00:20:17,840 --> 00:20:29,000
And what are the limitations from co-pilot Studio when I shall choose then I think Microsoft
229
00:20:29,000 --> 00:20:38,800
or a phone, I don't know what's that really name, but when I have to say, I must do completely
230
00:20:38,800 --> 00:20:42,840
custom development.
231
00:20:42,840 --> 00:20:50,760
The first question to answer is, do I need to customize or question?
232
00:20:50,760 --> 00:20:57,640
That's the first for me, because this question will tell you, if you don't want to customize
233
00:20:57,640 --> 00:21:06,640
or question to go deep in all the or question is made or the plan is generated, you can
234
00:21:06,640 --> 00:21:09,720
use the approach with co-pilot Studio.
235
00:21:09,720 --> 00:21:15,000
For example, H&B there also, sometimes you have simple use case, you can use these kinds
236
00:21:15,000 --> 00:21:24,120
of tools, but if you want to customize the or question, you need to go to specific development
237
00:21:24,120 --> 00:21:31,360
and in this case you need to, you need to, you foundry for the model or if you have your own
238
00:21:31,360 --> 00:21:38,120
platform, because the advantage of custom dev is you want, you can integrate models that
239
00:21:38,120 --> 00:21:41,040
are not or state in Microsoft for me, if you want.
240
00:21:41,040 --> 00:21:50,520
You can use foundry models, but also if you have AWS or Google platform or Google platform
241
00:21:50,520 --> 00:21:58,420
for me, and you have a set jab now, for example, or you have deployed a model externally,
242
00:21:58,420 --> 00:22:02,880
you have the capability to integrate those models directly in your agent when you use
243
00:22:02,880 --> 00:22:04,280
custom dev approach.
244
00:22:04,280 --> 00:22:06,840
This is also an advantage.
245
00:22:06,840 --> 00:22:13,680
And after you can customize or question, all the plan is generated, all the things will
246
00:22:13,680 --> 00:22:20,320
go in the agent, foundry, the problem of foundry nowadays is at the beginning, foundry
247
00:22:20,320 --> 00:22:26,960
was just a model or state platform, when you see back a few years ago, it was like that,
248
00:22:26,960 --> 00:22:33,000
just simple model catalog and you deployed nowadays, Microsoft does evil this product to
249
00:22:33,000 --> 00:22:41,440
have like, okay, you can create agents with co-pilot Studio like user interface, basically
250
00:22:41,440 --> 00:22:49,280
without any code, you can manage governance, you can manage a lot of things, it became a
251
00:22:49,280 --> 00:22:54,720
really agente platform, like co-pilot Studio for record and this kind of things.
252
00:22:54,720 --> 00:23:03,360
And nowadays, foundry is really difficult to place in the ecosystem because foundry is
253
00:23:03,360 --> 00:23:12,920
ever fast and basically Microsoft has introduced some features that are really, I don't know,
254
00:23:12,920 --> 00:23:18,360
not different, but there is similarities with co-pilot Studio in terms of MCP integration,
255
00:23:18,360 --> 00:23:19,960
these kind of things.
256
00:23:19,960 --> 00:23:25,920
But after co-pilot Studio limitation is about the models.
257
00:23:25,920 --> 00:23:29,920
So you have, okay, you have the capability to integrate or to crawl the mistrile kind of
258
00:23:29,920 --> 00:23:30,920
things.
259
00:23:30,920 --> 00:23:36,600
So if you want to integrate, for example, your own model, because you have a specific
260
00:23:36,600 --> 00:23:39,400
graph here, your model, you cannot do.
261
00:23:39,400 --> 00:23:45,000
And basically, you need to use a custom desk to integrate your own, for example, LLM platform
262
00:23:45,000 --> 00:23:46,000
if you have.
263
00:23:46,000 --> 00:23:50,440
I have some customers who have their own AWS platform.
264
00:23:50,440 --> 00:23:59,200
In this case, you can integrate as this model with a pricing manager externally.
265
00:23:59,200 --> 00:24:09,600
Okay. And I think when we build an agent, one topic, it's also all, most people talk is
266
00:24:09,600 --> 00:24:13,960
it's MCP, the model context protocol.
267
00:24:13,960 --> 00:24:22,040
Why does it become one of the biggest topics in a gently development and for someone who
268
00:24:22,040 --> 00:24:24,800
has not worked with it yet?
269
00:24:24,800 --> 00:24:27,840
What is a model context protocol?
270
00:24:27,840 --> 00:24:30,560
Yeah, it's a big world.
271
00:24:30,560 --> 00:24:36,840
And basically, a lot of people are talking about that because it solves a major problem.
272
00:24:36,840 --> 00:24:47,280
It's all to unify the integration of tools, skills, maybe, I don't know, external tooling to
273
00:24:47,280 --> 00:24:48,280
the AI.
274
00:24:48,280 --> 00:24:53,720
And it solves this problem because in the past, without MCP, it was like a mess because a lot
275
00:24:53,720 --> 00:24:56,480
of services are talking differently.
276
00:24:56,480 --> 00:24:59,600
You have different technology protocols.
277
00:24:59,600 --> 00:25:03,320
You have different architecture approaches.
278
00:25:03,320 --> 00:25:11,000
And basically, MCP unify or you integrate services to your, it could be AI agent or AI solution.
279
00:25:11,000 --> 00:25:21,840
If I'm more generic, but MCP now is really the way to integrate external tooling or internal
280
00:25:21,840 --> 00:25:24,120
tooling, it could be the boss.
281
00:25:24,120 --> 00:25:32,640
But MCP now is a big part of AI architecture because you have this unity in terms of technology.
282
00:25:32,640 --> 00:25:39,320
And nowadays, it's a big point because in the past, it was API integration and now it's
283
00:25:39,320 --> 00:25:40,720
MCP.
284
00:25:40,720 --> 00:25:48,840
This is not the evolution, but in the past, you integrate your agent with API, you need
285
00:25:48,840 --> 00:25:54,120
to manage, okay, auto-optic, auto-manage, auto-tickle tool.
286
00:25:54,120 --> 00:25:58,040
Now the AI can, okay, I have this tool available.
287
00:25:58,040 --> 00:26:04,280
I can select what I need to achieve the goal.
288
00:26:04,280 --> 00:26:13,000
What has really changed from MCP to API connection?
289
00:26:13,000 --> 00:26:21,760
Basically, in the past, in terms of integration, basically APIs are not intelligent.
290
00:26:21,760 --> 00:26:24,360
I can technically tell that.
291
00:26:24,360 --> 00:26:31,400
APIs are just, okay, you call the tool and it gives you data.
292
00:26:31,400 --> 00:26:38,480
So the difference with the MCP is more intelligent in terms of architecture because behind
293
00:26:38,480 --> 00:26:44,880
the scene you have not only tools, who give you data or information, but you have also
294
00:26:44,880 --> 00:26:52,840
skills in instruction and different kinds of things that make MCP really intelligent.
295
00:26:52,840 --> 00:26:58,560
And basically, MCP can give the AI, okay, you want to achieve that.
296
00:26:58,560 --> 00:27:07,200
I can give you the exact tools that match your request and you can call not only one tool,
297
00:27:07,200 --> 00:27:12,520
but you need to call these tools in order to achieve what you want.
298
00:27:12,520 --> 00:27:14,280
This is a world of MCP.
299
00:27:14,280 --> 00:27:21,080
It gives the AI, okay, I have these tools and after you can call this one or this one
300
00:27:21,080 --> 00:27:24,920
or multiple tools to achieve your goals.
301
00:27:24,920 --> 00:27:30,120
If your gift AI is a context, the real context of everything.
302
00:27:30,120 --> 00:27:36,000
And API is just, okay, you have tools, you have description and that's pretty old.
303
00:27:36,000 --> 00:27:48,080
So it's the model context protocol, I think, similar to Meta data or how does it work.
304
00:27:48,080 --> 00:27:56,920
And no MCP behind the scene, it's just each protocol, basically it's a technology protocol.
305
00:27:56,920 --> 00:28:02,320
And behind the scene, you have, yes, you have metadata, you have description, you have
306
00:28:02,320 --> 00:28:07,800
AI skills that describe more, it's really focused on AI.
307
00:28:07,800 --> 00:28:12,880
Basically, you have skills, you have instructions and basically AI can understand better.
308
00:28:12,880 --> 00:28:20,360
Okay, these tools, do that, these tools do that, okay, I can call these skills, I can request
309
00:28:20,360 --> 00:28:25,560
this information to the MCP server in order to achieve my task.
310
00:28:25,560 --> 00:28:30,520
But you have, yes, you have a part of metadata because you need to define, okay, the name
311
00:28:30,520 --> 00:28:33,720
of the tool, what is doing behind the scene.
312
00:28:33,720 --> 00:28:41,400
So can you say the future is MCP, so we have to start to think about, I don't know, a company
313
00:28:41,400 --> 00:28:48,240
is a fund of rest API is inside the organization, show they start building MCP servers around them.
314
00:28:48,240 --> 00:28:57,240
Yes, yes, basically, basically, MCP server, we work with API behind the scene.
315
00:28:57,240 --> 00:29:04,600
This is not a replacement, basically, if I summarize this, because the MCP server is just,
316
00:29:04,600 --> 00:29:10,180
okay, it gives the AI the context and behind the scene, the MCP can call APIs behind the
317
00:29:10,180 --> 00:29:14,240
scene, but MCP server is a front-end.
318
00:29:14,240 --> 00:29:21,400
The front-end, the front tool, you need to call because behind the scene, you will dispatch
319
00:29:21,400 --> 00:29:26,600
your request based on, okay, behind the scene, it could be API, it could be database,
320
00:29:26,600 --> 00:29:31,920
it could be multiple tools, but you need, if you want to have your own MCP server, for example,
321
00:29:31,920 --> 00:29:40,520
if you have internally in your company, you have APIs and you have a different kind of services,
322
00:29:40,520 --> 00:29:44,080
it could be, I don't know, financial service, it could be HR service.
323
00:29:44,080 --> 00:29:49,400
If you want to build your own MCP, you need to deal behind this field with all these APIs
324
00:29:49,400 --> 00:29:58,640
and the MCP server, we will need to expose all these APIs, what are the services, what are
325
00:29:58,640 --> 00:30:05,040
the tools available, what are the skills and these kind of things.
326
00:30:05,040 --> 00:30:10,560
After you need to deal with authentication behind the scene because APIs are not working
327
00:30:10,560 --> 00:30:17,680
the same because you can have authentication by key, by entry, these kind of things, so you
328
00:30:17,680 --> 00:30:23,240
need to deal with that. But the MCP will expose the tools available and behind the scene,
329
00:30:23,240 --> 00:30:28,760
all these tools can ask you to pull APIs, one API, it could be, you have different kind
330
00:30:28,760 --> 00:30:32,640
of architecture behind the scene.
331
00:30:32,640 --> 00:30:43,880
Okay. And how do the MCP choose the right tool when I have, I don't know, 100, 500,
332
00:30:43,880 --> 00:30:52,280
I have 8 things. It will be based on some things, basically when you have a request in an
333
00:30:52,280 --> 00:31:00,280
agent, you will discover all the tools available, MCP server, you will check, okay, I have all
334
00:31:00,280 --> 00:31:08,960
these tools available and basically the orchestrator of the agent will understand, okay, I have
335
00:31:08,960 --> 00:31:15,360
this, I have an LLM available, after you will create the plan, if I summarize a little bit,
336
00:31:15,360 --> 00:31:21,720
you will create the plan with some action to do. And after in this section, in the section
337
00:31:21,720 --> 00:31:30,440
you want to execute, you can call one, two, three or more tools in order to achieve the task,
338
00:31:30,440 --> 00:31:35,840
the user and the question. So basically the orchestrator of the agent will understand
339
00:31:35,840 --> 00:31:43,320
the MCP tools and select the best for the request, you see. And this is really the orchestrator
340
00:31:43,320 --> 00:31:48,800
role of selecting tools and this kind of, there is a help of the LLM of course, because
341
00:31:48,800 --> 00:31:57,520
the LLM is as part of the brain and orchestrator will communicate with LLM and also the tools
342
00:31:57,520 --> 00:32:04,120
in order to make the best choice and the best plan in order to achieve the task.
343
00:32:04,120 --> 00:32:12,040
Yeah, I think for a lot of companies have started with PowerShell and now they use Microsoft
344
00:32:12,040 --> 00:32:23,680
Grave API, did a Grave and MCP comes or how I store the, yeah, I think the, actually, actually
345
00:32:23,680 --> 00:32:36,160
Grave API, to be honest, no, no, there is no MCP for Grave, you know, you have now in the
346
00:32:36,160 --> 00:32:43,720
Microsoft 365 world, Microsoft has introduced a lot of MCP servers and those MCP servers are
347
00:32:43,720 --> 00:32:50,440
based behind the scene on Microsoft Grave. So for example, if you want to use, I don't
348
00:32:50,440 --> 00:32:57,600
know, the team, the MCP server, behind the scene, you have the Grave API being called when
349
00:32:57,600 --> 00:33:04,520
you use the MCP server. So Grave API in the Microsoft 365 world is central because behind
350
00:33:04,520 --> 00:33:12,360
the scene, the MCP will communicate with Grave behind the scene to make the request, to make
351
00:33:12,360 --> 00:33:19,760
the request working well. But yes, nowadays Grave is central also in corporate in general
352
00:33:19,760 --> 00:33:26,520
because the semantic index of corporate is based on raw data. But actually, you know, you
353
00:33:26,520 --> 00:33:34,320
consume graphs through MCP sounds. Nowadays, it's like that.
354
00:33:34,320 --> 00:33:46,000
Microsoft 365 contains incredible value, organizational contexts, documents, meetings,
355
00:33:46,000 --> 00:33:54,720
emails, people, teams, conversations and, I say, shaple content. How do we expose that context
356
00:33:54,720 --> 00:34:01,880
without a grating, is a security nightmare?
357
00:34:01,880 --> 00:34:08,320
You mean in terms of Grave and on these kind of things? Yeah. Yeah. It's always a problem
358
00:34:08,320 --> 00:34:13,960
because a lot of people are building agents without making a proper Grave and on the
359
00:34:13,960 --> 00:34:20,240
scene. So I want to build an agent. Okay, let's go. We build and we deploy. And after that,
360
00:34:20,240 --> 00:34:27,360
okay, this agent will deal with a lot of data. How do I do my own? The first question is,
361
00:34:27,360 --> 00:34:35,120
okay, how do I put in place the agent governments before it could be like you said, the mess
362
00:34:35,120 --> 00:34:40,200
because a lot of people want to, okay, I want to build agents, agents, agents, or I want
363
00:34:40,200 --> 00:34:46,680
to build something, I want to build AI solution. But behind the scene, one of the, I sure,
364
00:34:46,680 --> 00:34:52,680
in a Microsoft 365 context, for example, one of the first things to do is, okay, to understand
365
00:34:52,680 --> 00:34:58,440
your data because without understanding your data, you are lost. You need to understand
366
00:34:58,440 --> 00:35:03,680
your data because it's important to understand, okay, am I dealing with confidential data or
367
00:35:03,680 --> 00:35:11,080
not? Am I dealing with highly confidential data? Okay, you need to understand your data.
368
00:35:11,080 --> 00:35:18,680
After, if you are in a Microsoft 365 world, you need to put in place, for example, DLP
369
00:35:18,680 --> 00:35:24,080
features, a sensitivity level in these kind of things because without this, it could be
370
00:35:24,080 --> 00:35:32,200
a problem. And after you need also to clean a little bit your data because AI, with poor,
371
00:35:32,200 --> 00:35:40,480
data, your agent won't work like you won't because if you have a mess in your, I don't
372
00:35:40,480 --> 00:35:47,120
know, a sharp point style team, team champion, this kind of thing, if it's a mess, basically
373
00:35:47,120 --> 00:35:53,920
it will look difficult to work correctly in the agentic approach, but yes, you need to
374
00:35:53,920 --> 00:36:01,720
understand your data, you need to put in place some security basics like authentication,
375
00:36:01,720 --> 00:36:10,760
like I said, for you features and for you became a central solution to put in place all
376
00:36:10,760 --> 00:36:17,960
this security and governance stuff in place. And after, when you have clean your data, when
377
00:36:17,960 --> 00:36:27,600
you have put in place some security basics, you need also to understand licensing because
378
00:36:27,600 --> 00:36:34,080
before starting to build the agent, you need to understand, okay, what are the developers?
379
00:36:34,080 --> 00:36:42,200
Are they trained for that? Are they do we have the correct licensing to start getting?
380
00:36:42,200 --> 00:36:51,000
Do we need either some suggestions or things? After, one also of the big problem is the
381
00:36:51,000 --> 00:37:00,840
twig, how do I integrate properly all the tools in my development, my agents, do I need
382
00:37:00,840 --> 00:37:08,000
to restrict some things, so it's a bit of a silly question. You have different activities
383
00:37:08,000 --> 00:37:16,640
to take in consideration, but for me the most important is to understand your data and
384
00:37:16,640 --> 00:37:24,480
if the company don't understand the data, it will be your problem to be honest.
385
00:37:24,480 --> 00:37:48,240
And when we, how did we ask the security topic, I think there are two kinds of people,
386
00:37:48,240 --> 00:37:57,480
they need user permissions and the other one says they need application permissions.
387
00:37:57,480 --> 00:38:04,480
So, general, how do you general operate?
388
00:38:04,480 --> 00:38:11,840
Generally, and my best recommendation is always basically, when you need to deal with
389
00:38:11,840 --> 00:38:19,080
the agent solution, always do in user permissions, delegated permissions, because in terms of
390
00:38:19,080 --> 00:38:26,400
security is to be honest, is better because the user will deal only with data and tools
391
00:38:26,400 --> 00:38:34,480
it has access to. That's the main principle. After, if you need application permission
392
00:38:34,480 --> 00:38:44,880
for specific, I don't know, specific API, specific context, you can, but don't use directly
393
00:38:44,880 --> 00:38:52,200
application permission, make it in a context of a wrapper, so you create, I don't know,
394
00:38:52,200 --> 00:38:59,000
it could be, it could be an MCP server, for example, and you integrate this MCP with application
395
00:38:59,000 --> 00:39:03,680
permission behind the scene, so the MCP will call, for example, I don't know you at the
396
00:39:03,680 --> 00:39:10,400
site behind the scene with application permission, and after, he gives you the information or
397
00:39:10,400 --> 00:39:18,400
the information you need, but the user don't deal directly with application permission.
398
00:39:18,400 --> 00:39:24,320
He calls, with user permission, the MCP server, for example, and the MCP server will call
399
00:39:24,320 --> 00:39:28,800
behind the scene application or services with application, with a dedicated application
400
00:39:28,800 --> 00:39:32,840
permission. You see the difference?
401
00:39:32,840 --> 00:39:42,600
Okay, interesting. I think when we think about architecture, we also have, we look a little
402
00:39:42,600 --> 00:39:50,160
bit deeper, I think there are three big topics in architecture. We have the retrieval,
403
00:39:50,160 --> 00:39:57,000
augmented generation, we have the knowledge topic, and we have the, I say, vector enterprise
404
00:39:57,000 --> 00:40:07,480
search, where does RAC fit into the architecture?
405
00:40:07,480 --> 00:40:19,800
RAC, to be honest, RAC is actually the most, to be honest, in terms of performance, because
406
00:40:19,800 --> 00:40:28,320
AI need to understand different kind of data, and basically, basically the RAC is here to
407
00:40:28,320 --> 00:40:36,920
answer a question, because in the past, when you don't have RAC, basically, you need to
408
00:40:36,920 --> 00:40:44,280
deal with different approach, we're not all school, but it was complicated, but RAC is
409
00:40:44,280 --> 00:40:53,000
central, because RAC will understand different kind of data, and you will retrieve basically
410
00:40:53,000 --> 00:41:00,880
the information that I need, documents, it could be multiple types of data. So yes, RAC
411
00:41:00,880 --> 00:41:10,600
is central nowadays in AI architecture, but it's true that for a lot of users, when you
412
00:41:10,600 --> 00:41:17,320
are talking about RAC, behind the scenes, they don't know what is it, because Microsoft nowadays
413
00:41:17,320 --> 00:41:27,120
are a lot of different software companies don't talk about this, because behind the scene,
414
00:41:27,120 --> 00:41:32,800
you have RAC, but for example, in Copa Studio, the user don't understand behind the scene,
415
00:41:32,800 --> 00:41:37,920
it's RAC, you see, and nowadays, when you want to go deep dive, okay, you have this kind
416
00:41:37,920 --> 00:41:44,760
of concept, but for a lot of users, RAC is totally, they don't know what is it, because they
417
00:41:44,760 --> 00:41:49,160
just use tools, and very behind the scene, you have those concepts.
418
00:41:49,160 --> 00:41:58,240
And then we have the next topic, it's knowledge, how we get these, where did the AI systems
419
00:41:58,240 --> 00:42:04,560
get their knowledge, is it a collect jump-oid, or how this works?
420
00:42:04,560 --> 00:42:16,320
Actually, you have to well ask you, the knowledge is, it could be roasted, a lot of different
421
00:42:16,320 --> 00:42:23,600
systems, it could be plain text file, it could be marked on file, it could be a knowledge
422
00:42:23,600 --> 00:42:29,840
based, it could be an API, but actually, if you have an MCP server, you can access those
423
00:42:29,840 --> 00:42:34,920
knowledge, or if you have, for example, I don't know, you have connectors to shoppers, you
424
00:42:34,920 --> 00:42:40,960
have connectors to many services nowadays, so accessing the knowledge is more easy than
425
00:42:40,960 --> 00:42:46,600
before, to be honest, because in the past, you need to be your plugin, and to be everything,
426
00:42:46,600 --> 00:42:52,040
nowadays, you have direct connectors to many systems, you can integrate your knowledge
427
00:42:52,040 --> 00:42:57,040
without dealing with big development stuff to be honest.
428
00:42:57,040 --> 00:43:04,280
I think, I think often we have, I don't know, I connect to my, I say to my, I don't know,
429
00:43:04,280 --> 00:43:06,560
one drive.
430
00:43:06,560 --> 00:43:17,000
And how do AI understand what, what are not already documents, or outdated, or I don't
431
00:43:17,000 --> 00:43:25,480
know, duplicated, how can, how understand this, an AI system, what it should use, but not
432
00:43:25,480 --> 00:43:26,480
it.
433
00:43:26,480 --> 00:43:37,240
Basically, you are using Ragn, because behind the scene, you need to understand, okay, what
434
00:43:37,240 --> 00:43:46,080
is your data, but to be honest, if I summarize a little bit, you start from the prompt,
435
00:43:46,080 --> 00:43:52,000
okay, the user wants to, okay, he wants to, for example, to search for us, I don't know,
436
00:43:52,000 --> 00:43:59,520
knowledge base, for example, one drive, behind the scene, when, when the, what the orchestrator
437
00:43:59,520 --> 00:44:08,880
with the help of LLM understands the prompt and the, the user intents, behind the scene,
438
00:44:08,880 --> 00:44:13,720
you have the index, basically, because for example, in Copilot, you have the semantic index,
439
00:44:13,720 --> 00:44:21,920
and this semantic index give you, basically, okay, I have all this knowledge, and
440
00:44:21,920 --> 00:44:28,960
you can, with the semantic index query, the AI can query directly, the semantic index to
441
00:44:28,960 --> 00:44:35,880
perform, to perform a Ragn, for example, and you can directly, okay, select the right
442
00:44:35,880 --> 00:44:41,840
documents based on the needs, but in Copilot, you have the semantic index, and the AI can
443
00:44:41,840 --> 00:44:48,120
query directly, this index, with natural language behind the scene, so, yeah, we will ask,
444
00:44:48,120 --> 00:44:55,320
okay, I want to understand, I don't know, how, how to set up my company VPN, and behind
445
00:44:55,320 --> 00:45:02,560
the scene, you will perform Ragn on the semantic index, and basically retrieve the documents
446
00:45:02,560 --> 00:45:08,160
that contain, for example, all the setup of the company VPN, for example.
447
00:45:08,160 --> 00:45:14,400
In Microsoft, to see if that Copilot chat, behind the scene, it's graph API, because as
448
00:45:14,400 --> 00:45:19,160
I said before, you have the semantic index built on graph API, it's graph feature behind
449
00:45:19,160 --> 00:45:26,760
the scene, but when you have custom development, you have, for example, a FoundryAQ behind
450
00:45:26,760 --> 00:45:31,880
the scene, it was an Azure services, with a different name, but now you can have your
451
00:45:31,880 --> 00:45:37,160
own RAC system, if you want, and basically, you can, when you have a custom agent, you
452
00:45:37,160 --> 00:45:46,880
can directly ask this FoundryAQ instance, okay, I want to use, I want to get the setup of
453
00:45:46,880 --> 00:45:54,280
my VPN company, and the AI can retrieve what in-in terms of documents, I could be here,
454
00:45:54,280 --> 00:46:09,600
so this kind of fix. And that's how the search works, right?
455
00:46:09,600 --> 00:46:13,840
Or behind the scene, you mean?
456
00:46:13,840 --> 00:46:14,840
Yeah.
457
00:46:14,840 --> 00:46:23,240
Ah, behind the scene, yes, you have the search, but basically, nowadays, you have behind
458
00:46:23,240 --> 00:46:30,360
the scene, behind the scene of Copilot chat, you have three capabilities, you have the
459
00:46:30,360 --> 00:46:37,080
standard search, which is basically a search, that's okay, you simply put some keywords,
460
00:46:37,080 --> 00:46:42,080
and you will search across your documents, and this kind of thing, this is a simple search,
461
00:46:42,080 --> 00:46:50,360
or we all know, a keyword search, like Google, after you have two different capabilities,
462
00:46:50,360 --> 00:46:58,120
you have first the RAC behind the scene, you have the capability of RAC in graph, and you
463
00:46:58,120 --> 00:47:05,320
have also the Copilot semantic index search, which is a little bit different, because RAC
464
00:47:05,320 --> 00:47:11,920
is really more advanced than the Copilot semantic in that search, but you have all these
465
00:47:11,920 --> 00:47:17,840
three capabilities behind the scene in order to make your, it's not true, but behind the
466
00:47:17,840 --> 00:47:25,720
scene, I can call these three different capabilities to retrieve the data across one drive teams,
467
00:47:25,720 --> 00:47:27,520
M365 in general.
468
00:47:27,520 --> 00:47:33,120
After, you can, the semantic index of Copilot include also the Copilot connectors.
469
00:47:33,120 --> 00:47:40,120
So, for example, if you have connected Salesforce with a Copilot connector, you can also search
470
00:47:40,120 --> 00:47:47,240
across all your data in Salesforce in service now in multiple tools, because it's everything
471
00:47:47,240 --> 00:47:52,840
with the Copilot connector, you have integrated all the data in the graph index, semantic index,
472
00:47:52,840 --> 00:47:57,480
so you can query directly your external systems.
473
00:47:57,480 --> 00:48:09,880
Okay, and I think when we build agents, we have the governance part, and one of the part
474
00:48:09,880 --> 00:48:15,400
is also for me, I say, the agent lifecycle management.
475
00:48:15,400 --> 00:48:18,520
How does this look actually?
476
00:48:18,520 --> 00:48:26,200
It looks actually, it's to be honest, in the Microsoft ecosystem, it's pretty simple,
477
00:48:26,200 --> 00:48:32,640
if I can say that, because when you are dealing with Lockout, for example, Copilot Studio,
478
00:48:32,640 --> 00:48:39,360
you are dealing with poor platform content, I-L-M, and nothing as change, so you have solution,
479
00:48:39,360 --> 00:48:44,480
you have A-L-M in place, you have pipeline, so when you are dealing with Copilot Studio,
480
00:48:44,480 --> 00:48:49,480
to be honest, it's like before, because you have all the stuff you invested to in terms
481
00:48:49,480 --> 00:48:55,560
of corporate from governance, lifecycle, A-L-M, it's strictly the same.
482
00:48:55,560 --> 00:49:00,800
This is a good thing, because a lot of people are asking me, "Oh, Copilot Studio, all do
483
00:49:00,800 --> 00:49:02,280
manage, A-L-M, is it different?"
484
00:49:02,280 --> 00:49:08,520
No, it's really simple, like, perhaps, or co-automate, application lifecycle management,
485
00:49:08,520 --> 00:49:14,080
so in this case, it's agent lifecycle management, but behind the scene, same concept,
486
00:49:14,080 --> 00:49:22,400
like, corporate form, and when you are dealing with, for example, Custom Dev, basically,
487
00:49:22,400 --> 00:49:28,080
it's like when you are building applications, but not applications kind of stuff, because
488
00:49:28,080 --> 00:49:35,080
you manage everything like code, so you have frameworks, you have security aspects, this
489
00:49:35,080 --> 00:49:41,240
kind of thing, so everything to be honest, in terms of agent lifecycle management, it's
490
00:49:41,240 --> 00:49:46,720
really the same concept than before, and this is a good point for me, because you don't
491
00:49:46,720 --> 00:49:55,320
have to invest a lot in terms of lifecycle process, this kind of things, but only you have
492
00:49:55,320 --> 00:50:01,640
some change, but one of the big changes, "Okay, you need to take care of that, A-L-M, this
493
00:50:01,640 --> 00:50:06,800
kind of stuff, the deployment, this kind of things," but behind the scene, it looks like,
494
00:50:06,800 --> 00:50:10,840
in the past, DevOps approach with pipeline, this kind of thing, so...
495
00:50:10,840 --> 00:50:18,880
In my opinion, nothing has changed because we manage agents, it could be Custom Dev, or
496
00:50:18,880 --> 00:50:25,400
capacity, with the same approach than before, to be honest, nowadays.
497
00:50:25,400 --> 00:50:36,360
And this means, when a company, they don't use before AI, but they have the perfect setup
498
00:50:36,360 --> 00:50:42,000
for PerView, for Defender, and all the tools.
499
00:50:42,000 --> 00:50:50,200
Is there any change that it would do, or is it this means AI readiness?
500
00:50:50,200 --> 00:51:01,800
Ah, it's a big question, because AI readiness for Microsoft is okay, are you a sharpening
501
00:51:01,800 --> 00:51:09,280
commission, manage, this kind of things, but... okay, AI readiness for me is not only a technical
502
00:51:09,280 --> 00:51:15,160
approach, because, okay, technical, we know what to do, okay, we need to manage a commission,
503
00:51:15,160 --> 00:51:22,840
a process, not a service, you know, for me, AI readiness must include also the data, the
504
00:51:22,840 --> 00:51:30,920
data, understand you, because when you don't understand your data, as I said before, you cannot
505
00:51:30,920 --> 00:51:36,680
manage the technical part, because when you don't know what is confidential or not, for
506
00:51:36,680 --> 00:51:46,240
example, it's difficult to put in place some security stuff, but if we follow Microsoft,
507
00:51:46,240 --> 00:51:51,640
AI readiness is okay, you want to manage commission, you want to put sensitivity, the level
508
00:51:51,640 --> 00:51:57,560
in place, you want to make GLP, this kind of thing.
509
00:51:57,560 --> 00:52:07,960
But you have also a more high level aspect, and for me, AI readiness is not only technical,
510
00:52:07,960 --> 00:52:14,120
you have also a functional or high level aspect to take your incarceration to be honest,
511
00:52:14,120 --> 00:52:15,120
nowadays.
512
00:52:15,120 --> 00:52:16,120
Hmm.
513
00:52:16,120 --> 00:52:21,560
Yeah, that's really interesting.
514
00:52:21,560 --> 00:52:27,480
I think a lot of companies, as well start at the AI, but now it was agents, a lot of companies
515
00:52:27,480 --> 00:52:39,080
say, "Oh, it's deleted all my, I don't know, emails or doing something evil stuff."
516
00:52:39,080 --> 00:52:40,560
How did you think?
517
00:52:40,560 --> 00:52:42,680
What will the company say?
518
00:52:42,680 --> 00:52:44,680
They fear AI?
519
00:52:44,680 --> 00:52:51,480
It's a good question, because I'm living in Switzerland, and basically we have a lot of private
520
00:52:51,480 --> 00:52:59,560
banks, and we have a lot of, to be honest, really sensitive customers for, yeah, to be honest.
521
00:52:59,560 --> 00:53:07,360
And basically, the most critical part is, okay, where the data is processed from, basically.
522
00:53:07,360 --> 00:53:16,080
And yes, also, okay, is AI searching across my emails, this kind of thing, so behind the scene,
523
00:53:16,080 --> 00:53:23,520
they always ask this, but the most critical part for them is, "Okay, I need to understand
524
00:53:23,520 --> 00:53:34,640
where the data is processed, and also, okay, I am the owner of the AI."
525
00:53:34,640 --> 00:53:41,640
So, I put the instruction to the AI, and the AI behind the scene will do the job.
526
00:53:41,640 --> 00:53:49,000
And they are afraid of, for example, the autonomous aspect, because nowadays, okay, you can do
527
00:53:49,000 --> 00:53:55,880
that, and behind the scene, they will search for something, query something behind the scene,
528
00:53:55,880 --> 00:54:01,800
and they are afraid of, "Okay, when I ask the AI to do something, what is behind the scene,
529
00:54:01,800 --> 00:54:02,800
apart from?"
530
00:54:02,800 --> 00:54:10,800
And yes, there is a lot of questions like this, "Oh, do I take the control of the food process
531
00:54:10,800 --> 00:54:15,000
behind the scene of, it could be an AI agent of an AI service?"
532
00:54:15,000 --> 00:54:24,880
Yes, there is some questions like this, but it's really a question of adoption, also, training
533
00:54:24,880 --> 00:54:30,520
to put in place some training, but, "Okay, all to understand AI, all to understand behind
534
00:54:30,520 --> 00:54:36,520
the scene, what is performed exactly, and transparency is also a bit important, because
535
00:54:36,520 --> 00:54:43,600
transparency needs to be put in place in every AI solution, because transparency is for
536
00:54:43,600 --> 00:54:50,600
me a big topic, because you need to put in place all everything, because your AI solution
537
00:54:50,600 --> 00:54:51,800
needs to be transparent.
538
00:54:51,800 --> 00:54:57,520
You need to understand what is performed behind the scene, what data is query, you need
539
00:54:57,520 --> 00:55:01,680
to trace, you need to log everything, so everything needs to be transparent, when you have
540
00:55:01,680 --> 00:55:09,120
a solution nowadays, because you need to understand exactly what is performed behind, and
541
00:55:09,120 --> 00:55:13,480
what data is processed, and what is the reasoning behind the scene.
542
00:55:13,480 --> 00:55:19,960
"Okay, how do you have generated this problem based on which facts and these kind of things?"
543
00:55:19,960 --> 00:55:20,960
Awesome.
544
00:55:20,960 --> 00:55:24,440
I see, we run a little bit out of time, so...
545
00:55:24,440 --> 00:55:25,440
Yeah, so...
546
00:55:25,440 --> 00:55:31,600
No, this was really amazing, but I have an every podcast, I have a rapid fire rounds,
547
00:55:31,600 --> 00:55:32,600
so...
548
00:55:32,600 --> 00:55:33,600
Yeah.
549
00:55:33,600 --> 00:55:40,480
So, I give a short sentence that you give a short answer, so are you ready?
550
00:55:40,480 --> 00:55:41,480
Yes.
551
00:55:41,480 --> 00:55:44,320
"Copilot Studio" or "Custom Code"?
552
00:55:44,320 --> 00:55:46,320
"Copilot Studio".
553
00:55:46,320 --> 00:55:49,880
"Microsoft Fowlery" or "Copilot Studio"?
554
00:55:49,880 --> 00:55:51,880
"Copilot Studio".
555
00:55:51,880 --> 00:55:53,880
"Typescript" or "C#".
556
00:55:53,880 --> 00:55:54,880
"Typescript".
557
00:55:54,880 --> 00:55:58,880
"Whip-A-Woe-Age-O-Deff-Ops".
558
00:55:58,880 --> 00:56:00,880
"Git-A-M".
559
00:56:00,880 --> 00:56:03,320
"Rack-O-Fine-Tuning".
560
00:56:03,320 --> 00:56:06,200
"Rack-O-Fine-Tuning".
561
00:56:06,200 --> 00:56:15,040
What's the most under-rapeable Microsoft 365 API?
562
00:56:15,040 --> 00:56:18,040
"Rack-O-F-E-I".
563
00:56:18,040 --> 00:56:23,400
One technology every Microsoft developer should learn in 2006.
564
00:56:23,400 --> 00:56:27,520
"Git-A-P-Copilot".
565
00:56:27,520 --> 00:56:33,560
Then, Sajan Idalya comes to you and says, "Give us, you get all the money and resources you
566
00:56:33,560 --> 00:56:37,120
want to make our AI platform better.
567
00:56:37,120 --> 00:56:38,320
You can develop one feature.
568
00:56:38,320 --> 00:56:40,560
What will it be?"
569
00:56:40,560 --> 00:56:45,200
All the governance stuff we need.
570
00:56:45,200 --> 00:56:46,200
And...
571
00:56:46,200 --> 00:56:52,800
Who shall I invite next to the podcast and what questions shall I ask?
572
00:56:52,800 --> 00:56:59,680
Oh, good question.
573
00:56:59,680 --> 00:57:02,040
I have a lot of friends.
574
00:57:02,040 --> 00:57:05,400
Yes, maybe you can ask to...
575
00:57:05,400 --> 00:57:07,360
I have a course speaker in many confronts.
576
00:57:07,360 --> 00:57:10,520
You can ask for example, Chloe Morro.
577
00:57:10,520 --> 00:57:16,440
She was a functional consultant before dealing with the technical side now.
578
00:57:16,440 --> 00:57:22,360
And she has a really good story about functional, technical stuff.
579
00:57:22,360 --> 00:57:30,360
And the Dynamics 365 world, so maybe you can invite her and ask, "Okay, tell me nowadays
580
00:57:30,360 --> 00:57:36,360
how to deal between functional and technical world because you have some big challenges
581
00:57:36,360 --> 00:57:37,360
there."
582
00:57:37,360 --> 00:57:44,240
Yeah, and my closing question is, what should people, when they can take one running from
583
00:57:44,240 --> 00:57:48,760
this session, what should they take?
584
00:57:48,760 --> 00:57:53,960
From this session, you mean?
585
00:57:53,960 --> 00:57:56,560
Basically, AI is evolving fast.
586
00:57:56,560 --> 00:58:04,400
And if you want to be up to date nowadays, you need to follow everything because nowadays,
587
00:58:04,400 --> 00:58:09,080
AI is really across all the Microsoft touch to the nest.
588
00:58:09,080 --> 00:58:16,560
And nowadays, one of the things you need to understand is the evolution class.
589
00:58:16,560 --> 00:58:23,120
And you need to be up to date really, really at any time because you will miss something
590
00:58:23,120 --> 00:58:24,120
at some point.
591
00:58:24,120 --> 00:58:26,120
You don't learn.
592
00:58:26,120 --> 00:58:30,400
You don't understand the evolutionary challenges.
593
00:58:30,400 --> 00:58:33,600
Yeah, so, yeah.
594
00:58:33,600 --> 00:58:35,200
But thank you for joining me.
595
00:58:35,200 --> 00:58:42,200
I think the important takeaway from this conversation is that Microsoft 365, co-pilot extensibility,
596
00:58:42,200 --> 00:58:47,800
isn't simply about writing, increasingly means of decayed prompts.
597
00:58:47,800 --> 00:58:55,440
I think we are moving towards architecture where co-pilot and agents can connect, organization,
598
00:58:55,440 --> 00:59:00,240
knowledge, Microsoft Graph, business application APIs, and so on.
599
00:59:00,240 --> 00:59:05,240
Yeah, I think co-pilot studio Microsoft finally custom developed and technically such as
600
00:59:05,240 --> 00:59:13,040
MCP, give developers an amazing, powerful toolbox.
601
00:59:13,040 --> 00:59:21,440
And yeah, but more capable agents become the more important from the mental spectrum as
602
00:59:21,440 --> 00:59:27,960
well, identity, permission, security, governance, testing, observability, application lifecycle
603
00:59:27,960 --> 00:59:29,560
management, and so on.
604
00:59:29,560 --> 00:59:35,000
So yeah, I think you have really, really good overview of all these topics.
605
00:59:35,000 --> 00:59:42,100
So thank you for joining me and for the listeners, all the information about if you find in
606
00:59:42,100 --> 00:59:45,800
the show notes on the MC65FM podcast patch.
607
00:59:45,800 --> 00:59:49,160
And yeah, well, you can connect, see the work of it.
608
00:59:49,160 --> 00:59:50,800
And yeah, thank you for being here.
609
00:59:50,800 --> 00:59:52,640
Thanks for having me.
610
00:59:52,640 --> 00:59:54,360
It was a really good time with you.
611
00:59:54,360 --> 01:00:04,360
[BLANK_AUDIO]