Building the most intelligent agents with the latest knowledge sources | BRK318

Building the most intelligent agents with the latest knowledge sources | BRK318

Microsoft Events

0:00 Hello and welcome everybody.

0:03 My name is Hardik, I am a group product manager at Microsoft.

0:07 I work on copilot Studio and my team along with Eli and Anjali,

0:10 we focus on making knowledge better for all

0:13 the agents that you build on copilot Studio.

0:16 We are going to talk today about how you can build

0:19 your agents with the latest innovations we have made in knowledge.

0:23 We are going to share with you some learning, some best practices,

0:25 and for the first time take you through the inner workings of how our rag works.

0:29 And later we'll hear from Nick who leads the IT at Gilead Sciences.

0:34 He is the head of IT Innovations and we are going

0:38 to hear from him how they have built an agent called Genie,

0:41 which helps their employees be more productive as well as more informed.

0:47 So let's get this started.

0:49 You know, before we go into the exciting demos,

0:52 I do want to take a few slides to tell you about Knowledge.

0:56 Let's unpack knowledge for a minute.

0:58 You know, there are a few

0:59 characteristics that every enterprise would resonate with.

1:02 When we talk about enterprise knowledge,

1:03 the 1st is, you know enterprise knowledge is vast.

1:07 Every company uses multiple products for various business needs, right?

1:12 We at Microsoft also use multiple products and all the knowledge

1:16 that your employees create are in all these different products.

1:19 For example, the documents are in SharePoint, your emails are in Exchange,

1:24 your Teams messages, your conversations happens on Teams.

1:27 And maybe for IT services you are using ServiceNow, right?

1:30 And so your enterprise knowledge,

1:31 when you think about it, it's spread across these products.

1:35 The second thing about knowledge is it's complex.

1:38 Like even talk about SharePoint, it's not a single knowledge source.

1:43 SharePoint has entities, it has site pages,

1:45 it has document libraries, it has lists.

1:49 Even in document libraries, you can have URLs,

1:52 files, folders as well as images, right?

1:55 So when you think of knowledge, remember that it is complex.

2:00 Well, the hard truth about knowledge is it does not follow a structure.

2:04 No matter how hard you try to enforce a structure,

2:07 overtime knowledge does get messy, right?

2:10 Say for this example here the onboarding

2:12 guide for remote employees is actually misplaced.

2:16 It should be under that folder.

2:17 There are duplicates, like there are two folders for United Kingdom.

2:20 And knowledge is not stale, it is constantly updating.

2:24 So you have multiple versions of a policy,

2:26 some is in draft, some is already published, right?

2:30 And then it begs the question, you know, if knowledge is vast,

2:33 if knowledge is complex and it doesn't follow structure,

2:36 how can one define knowledge?

2:38 Well, there is no canonical definition of knowledge.

2:40 But working with multiple organisations,

2:42 helping them build agents and ship it to production,

2:45 we have realised, you know, briefly or at a high level,

2:48 you can say knowledge is a logical collection of one

2:51 or more entities that serve a specific purpose or an intent, right?

2:55 So I'm just going to show you what I mean here.

2:58 You know, when you add knowledge to an agent, here are some best practices.

3:02 So first is organise, just to make sure you have all your documents organised

3:06 so that the agent can access it in a meaningful way.

3:10 Second is clean.

3:11 This includes removing duplicates, getting rid of stale information.

3:15 Third is modularise.

3:19 You know, we have worked with many organisations and we ask them,

3:21 hey, can you show us your knowledge?

3:22 They typically just pointed to a whole SharePoint website.

3:26 Well, yeah, I mean, SharePoint website can have a lot of things,

3:29 but a better way of adding your knowledge is like this.

3:31 Like the first box here is about onboarding and boot camp,

3:34 the second is about benefits, the third is about expenses,

3:37 and the fourth one is to answer questions about when is my next holiday, right.

3:42 So please do not throw the kitchen sink at your agent

3:45 because what we have seen is when knowledge is ambiguous,

3:48 your agent might hallucinate or it might just ground it on the wrong data.

3:54 With that, I'm going to invite Eli,

3:56 who's going to take you to us through a process of building

4:00 an open enrolment advisor agent

4:01 and for a fictitious company called Northwind Care.

4:05 This company is building agents to make

4:07 their employees more informed and more productive.

4:10 Welcome, Eli.

4:12 Thanks so much.

4:15 Thanks so much.

4:16 And let me make sure, of course,

4:18 that the demo machines are actually on and and ready to be used.

4:22 Great.

4:23 So thanks Arctic.

4:25 Now like a lot of you,

4:27 I got an e-mail earlier this month that looked something like this.

4:32 And one thing that I learned when I became

4:35 an adult is that there are three certainties in life,

4:39 Death, taxes and open enrolment.

4:41 And if you ask me which one of those I'm the most

4:44 afraid of, I'm not sure I could give you a straight answer.

4:47 Now, this is doubly true this year because three months ago I had a son.

4:52 And so my decision impacts not only my health, but his health as well.

4:57 Now I promise this isn't just an elaborate

4:59 excuse to show off baby pictures at the office.

5:02 Maybe it is.

5:03 But rather, I want to show the gravity that open

5:06 enrollment carries and why it's tough not just mentally,

5:09 but emotionally as well.

5:12 But generative AI is starting to change that.

5:15 Choosing a health plan is an exercise in researching

5:19 and retrieving and synthesising things that an agent excels at.

5:24 And that's why many of our customers chose to create

5:27 agents to guide employees through these tricky and overwhelming decisions.

5:31 And today, I'm going to show you exactly what one of those agents looks like.

5:37 Now, I'll show you the agent in just a moment.

5:39 But first, let me try to remember what plan

5:42 I had in 2024 to give us a starting point.

5:45 They always ask that.

5:46 Now I remember it was a plan with a low deductible,

5:49 with vision coverage and with dental coverage.

5:52 And I remember my wife saying that she thought Doctor Krentast,

5:55 her dentist, would be great with kids.

5:58 So anytime that we test a query in Copilot Studio,

6:02 we first need to define what a good response looks like.

6:06 And we use assertions just like this.

6:09 So we assert that the answer must be grounded in this file.

6:13 It must mention this plan, and it also must give the details of the plan,

6:18 including the deductible,

6:19 vision and dental coverage status and whether Doctor Krentst is in network.

6:23 So let's try it out.

6:30 So let's start in this agent.

6:32 And I've already added this, excuse me, we'll actually start in this agent.

6:37 And I have already added this knowledge

6:40 source and it's a SharePoint knowledge source.

6:44 And I'll just quickly show you what it looks like.

6:46 So you can see there are 18 plans here across years and states.

6:51 And if we go into one of those, we

6:53 can see it's a, it's a very complex document, right?

6:58 It contains long tables with the coverage status of different medical events,

7:03 and it also has a large table of in and out of network providers.

7:10 So part of the reason that I chose the assertions that I showed

7:14 you is because these assertions require

7:16 information that's spread across the document, right?

7:19 So at the top we have the overall deductible.

7:22 To find vision coverage, we have to look in the middle of the document.

7:25 And to find the specific providers, we have to go all the way to the bottom.

7:31 And there's my wife's favorite dentist, Doctor Krentst.

7:33 So the plans are set up so that for 2024,

7:37 based on those assertions that I showed you,

7:40 only Washington Plan 001 is going to meet all of my criteria.

7:45 So why don't we start by asking a question.

7:50 Let's see if we can get the agent to remind

7:54 us what was that health plan that I had before.

7:59 So I'm just going to put this in.

8:06 Perfect.

8:07 So behind the scenes the agent is looking

8:12 through all of these different 2024 plans from last

8:16 year and you can see that it was

8:21 able to successfully retrieve this NWC Washington 2024 plan.

8:27 So that's great.

8:29 Now, one of the most the common questions that I

8:32 hear is what about the ability to compare documents, right.

8:37 Well, California, it's been a pretty good time being in San Francisco.

8:41 My wife's been talking about maybe moving here.

8:43 So let's see what happens when we

8:45 compare this health plan with the California plan.

8:48 So we could say, can you pair

8:52 this with California plans maybe in a table format?

9:08 So beautiful.

9:09 As you can see, the agent successfully compares these full documents.

9:13 And I'll, I'll make this a little wider so the table shows up better and it

9:17 notices the difference that appear from the beginning

9:19 all the way to the end of the document.

9:22 It even gives me this personalized table, right?

9:25 Remembering what were those aspects that I said were important to me?

9:31 So you're probably asking what did we change

9:34 to improve our quality and unlock scenarios like this?

9:42 To answer that, for the first time ever,

9:45 we're going to pull back the curtain and give

9:48 you an inside look into our rag stack.

9:51 And the clicker isn't working,

9:52 so I'm just going to go with the old fashioned way I suppose.

9:58 Or perhaps somebody in the back can advance me to the next slide.

10:02 Beautiful.

10:03 So to give a quick refresher on what a basic rag stack looks like,

10:08 there are three basic steps, right?

10:10 First, the agent takes the user's query and tries

10:13 to understand what is the user trying to do.

10:16 Second, the agent sends an API request to the configured knowledge source

10:19 asking to retrieve the file snippets that are relevant to the user's query.

10:24 And then finally, those return files are fed into the lol prompt,

10:28 which generates an answer.

10:31 We'll see if our clicker is working.

10:32 Beautiful.

10:34 And so the challenge with all of this is

10:37 it relies on a single shot retrieval process.

10:41 And this means that, you know, if you don't retrieve the right files,

10:45 you're ultimately going to be out of luck and you're

10:49 going to be unable to deliver a high value response.

10:53 So we know that LLMS are trained on human data.

10:56 So for retrieval, we looked at how do humans search for information.

11:02 So if you asked me the same exact query that we asked copilot,

11:06 here's what I would do.

11:08 First, I would look for any files that seem like they might be relevant.

11:12 I'd take a quick read of the title and the executive summary.

11:15 I would pick the irrelevant, filter out the irrelevant ones,

11:19 and and only focus on what's relevant.

11:21 If it's a short document, like a couple pages, I might read the whole thing.

11:25 Or if it's a long document and I can't read the whole thing,

11:29 I might control F and look for specific keywords

11:31 like deductible or vision or dental or doctor crentest.

11:35 Now if I encounter big tables with lots of structured data,

11:38 I might do some quick analysis, maybe with a Python or a Ruby script.

11:43 But most importantly, if I reach the end and I don't

11:47 have enough information to give a high confidence answer,

11:52 I return to Step 1 and I start over.

11:55 Now it turns out that we can create the same workflow in the rag stack itself.

12:01 In the agent world, we think of these boxes on the left.

12:05 On the left, that is, as tools that the agent can select.

12:10 So in the Copilot Studio RAG stack, those three basic steps, understanding,

12:14 search and summarisation remain the same.

12:18 However, now, in addition to knowledge,

12:21 the RAG system also has access to a variety

12:24 of different tools that Copilot can use to search for files,

12:29 read entire documents, target key snippets and passages,

12:32 and write code for data analysis,

12:34 which you'll hear more about in just a moment from my colleague Anjali.

12:40 But once again, by far the most important part of all

12:44 of this is the fact is the fact that we have replaced

12:48 the single shot search step with a retrieval loop and it can

12:53 iteratively call knowledge and tools until it can deliver a great response.

12:59 And all of this, all of this means, you know,

13:03 better quality that both on the retrieval side as well As for final answers.

13:11 And so how do we know that this is better quality?

13:14 Well, we know because copilot Studio is obsessed with evaluations.

13:19 Every single day we run thousands of test cases across

13:23 many different domains to understand what does our quality look like.

13:28 And I can tell you that between Build and Ignite,

13:31 we have seen a 20 percentage point gain in our SharePoint quality benchmarks.

13:37 That's huge.

13:38 And a lot of our customers have given us the same

13:41 feedback that that they're seeing those gains in their evaluations as well.

13:47 So when we started Copilot Studio,

13:50 we believed customers wanted AI to do everything

13:53 from configuring and selecting knowledge to delivering great answers.

13:57 But as we've learned more about how probabilistic systems behave,

14:03 we've realised that great answer quality requires that we empower makers

14:09 with the tools to deterministically

14:11 control and evaluate our probabilistic systems.

14:17 So I'd like you to consider one

14:19 of the most common problems that makers face stale documents.

14:24 Keeping organizational docs organized is incredibly challenging,

14:27 especially given all of the decentralized,

14:30 unstructured knowledge challenges that Hardik shared earlier.

14:35 When new documents are uploaded, we can't expect makers to go back and delete

14:39 every stale document that exists in their entire company.

14:43 And that's why today I am thrilled

14:45 to announce metadata filters in Copilot Studio.

14:49 With this feature, we are giving makers deterministic

14:52 control over which documents should be retrieved and when.

14:56 Let me show you how it works.

14:59 So earlier I showed you a scenario where

15:02 we were retrieving documents from last year 2024.

15:06 But what happens when we use a knowledge

15:08 source that contains both 2024 and 2025 documents,

15:11 and those documents are almost identical?

15:14 So the only change between 24 and 25 is now Doctor Krentis has swapped

15:19 from being in network on Plan 1 to being in network on Plan 2.

15:24 So now the correct answer, as you can see through our assertions,

15:27 is Plan 2, even though it has a slightly higher deductible.

15:30 So let's see if Copilot can recommend the correct plan for me.

15:41 So ideally, the LLM should be smart enough

15:44 to pull all of the most relevant documents.

15:48 But until then, let's not leave it to chance, right?

15:52 So let's create a filter here and let's

15:55 only look for documents that have been modified.

15:59 Let's go on Or after today.

16:03 And today's the day that we uploaded these 2025 plans or yesterday.

16:08 So you can see as well that we could use if we wanted to power FX

16:13 and global variables to change these filters

16:16 at runtime based on who the end user is.

16:20 And then there are also a bunch of other attributes that you can use to filter.

16:24 And we are continuing to add more of those every single week.

16:29 So we'll, we'll save that, we'll start a new test session.

16:33 And 1st off, let's see if Doctor Krantis is

16:37 even in network for the 2025 version of my plan.

16:41 So for that, let's just ask if he's there.

16:49 And so now when we run this search in the activity pane,

16:52 we'll be able to see exactly which documents it's reviewing.

16:56 And we can see that before when it was only looking at 2024 documents.

17:00 Now we have a list of search results that all are from 2025.

17:05 So it looks like that metadata filter is working,

17:08 but unfortunately it looks like my wife's

17:11 favorite dentist is no longer in network.

17:15 So this is the correct answer, but maybe we can see if we can find a plan

17:18 that's going to be a little bit better of a fit.

17:22 So let's ask for a recommendation.

17:26 I want to plan kind of with all

17:28 these pieces and one that has Doctor Crunchest in it.

17:32 What is going to be the right plan?

17:38 All right.

17:41 And just like we expected, the agent comes back with this Washington Plan 002,

17:46 where we now know that Doctor Krentis is in network at Happy Smiles.

17:51 And once again, it goes through all the different elements that I

17:54 requested and shows me why this is the right plan for me.

17:58 So metadata filtering isn't the only place that we've

18:01 given makers more deterministic controls over their knowledge.

18:06 I wish I had time to show you everything, but I don't.

18:08 So I'm just going to hit on a couple of highlights.

18:13 So first, one of the most common requests is

18:17 the ability to dynamically configure the knowledge connection at runtime.

18:23 So let's take web for a second and let's say we're adding,

18:29 you know, northwindcare.com/enus.

18:31 Now I could add our English website, but that would be hard coding it.

18:36 What about all of our employees in other

18:39 countries that also want access to personalized results?

18:42 Many of our multinational customers have complex websites

18:45 with localised content and Northwind Care is no exception.

18:49 So now you can add variables right into the web

18:54 URL to customise content for any person or location.

18:59 And, and so the way I would do that would just be by adding this variable

19:03 that I created earlier around language and country

19:05 and then I could configure that knowledge source.

19:08 But we won't do that right now.

19:11 Instead, let's look at these knowledge sources.

19:13 So looking at these two, I realised I might have a duplicate.

19:17 And many times, you know you want

19:19 to use knowledge depending on certain conditions, right?

19:22 And now you can, you can activate

19:25 different knowledge sources depending on these criteria.

19:28 So for example, I could go in here and I could select

19:31 this Power FX formula and if I didn't want to use this knowledge source,

19:35 I could just change it to false.

19:38 Or of course, I could, I could make it more complex,

19:41 but since it looks like it's a duplicate,

19:43 let's just go ahead and deactivate it for now.

19:47 So last, let's look at one of our top customer requests,

19:53 which is knowledge instructions.

19:57 So if we go into this file group with a set

20:00 of planned documents that we were looking at earlier,

20:04 how would the agent know which one of these it should pick from?

20:09 Well.

20:10 What we can do is we can say please choose

20:15 the right file based on and we'll say global user plan ID.

20:23 And I'll, I'll show you in just a second how we, how we created that.

20:27 So now, right, let's just once again, we're in California.

20:30 So why don't we take this one and we'll start with our plan ID.

20:37 And so now it's just asking how it can help.

20:40 So let's just ask a very ambiguous question that it will

20:45 need to to already know kind of what file it's looking for.

20:50 And that's going to be summarize my plan.

20:53 So in case you're not familiar with setting variables at runtime,

20:57 let's just jump into topics.

20:59 And so this agent uses the on conversation start

21:03 system topic and basically just sets this variable the language

21:08 1 to Enus and then allows the user to say

21:12 what their plant ID is and use it that way.

21:17 But this is really just for the the demo.

21:20 You can bring in all sorts of end user context

21:23 information here from identity providers like Antra or Power automate Flows.

21:28 So it's a a really rich experience here.

21:32 And so going back to the the response, we can see that the agent did pick

21:37 the correct plan and and summarised it very well.

21:41 So it picked the correct document even

21:44 though I asked a totally ambiguous question.

21:47 And that's the power of end user context.

21:50 So earlier I gave a sneak peek at code interpreter as a tool for data analysis.

21:56 To dive deeper, I'd like to hand it off to Anjli,

21:59 who drives all of our investments in structured data and complex analysis.

22:04 Please welcome Anjali to the stage.

22:08 Thank you.

22:09 Thanks.

22:11 Hi, folks.

22:13 Who's ready to build another agent?

22:17 All right, I think the PowerPoint is stuck or it's not.

22:31 It was just a little delayed, maybe didn't have its coffee.

22:35 I know I did.

22:36 I have, I'm caffeinated up.

22:37 So the next agent that we are going to build is the policy insights agent.

22:42 And this is going to be targeted to an employee

22:45 at Northwind Care who's responsible for making policies.

22:49 So they are going to need deep insights into what the available plans are,

22:54 what the premiums look like and what tweaks I can make.

22:58 So this agent is going to need access to a lot of data.

23:03 As Hardik had mentioned, datas are data is complex, it's vast and it's messy.

23:09 And what sort of data does this agent need access to?

23:12 It needs access to text data.

23:14 So text can be Word and Notepad files.

23:18 It needs access to structured data.

23:21 Structured data could be tabular data in Excel sheets, in CSV,

23:26 in backing databases like Dataverse, Fabric, SQL,

23:29 and it could also be just images.

23:33 It could be PNGJ, P/E, G files, or it could be image images that are

23:37 embedded in our unstructured and structured data.

23:41 Take an example of PowerPoint.

23:43 PowerPoint has text, it has tabular data and images.

23:46 And our agent needs access to it,

23:48 be able to reason over it to be able to provide accurate responses.

23:53 So you know, Eli mentioned this slide on the new Agentic rag.

23:59 One of the newer pieces here as well is the structured data piece

24:02 and the ability for agents to be able to handle complex analytical queries.

24:08 We do so by generating like a Python script

24:11 at runtime and executing it in its own secure container.

24:17 So what does this enable our agents to do?

24:20 It enables our agents to answer business

24:23 critical queries that require complex data analysis.

24:26 These could be precise look UPS.

24:28 These could be computations and visual generations like charts and graphs.

24:33 How do agents do it?

24:35 They do the by analysing the query the that the user has provided.

24:40 It writes the code, it refines the code and executes

24:44 the code at runtime to be able to answer these queries.

24:48 And the code is is available for the maker to see.

24:52 So that ensures that you know the code is accurate and we

24:56 are able to just generate trust between our makers and users.

25:01 So we're going to take a look at it in action.

25:12 Here is this policy Insights agent.

25:15 And let's take a quick overview.

25:17 I built this using the natural language to agent.

25:20 We have used the default model.

25:22 You you can see that the instructions are really elaborate.

25:25 I didn't have to do any of it.

25:27 The the natural language component took

25:30 care of curating these very detailed instructions.

25:34 I also have knowledge and I have two Excel SX files in my knowledge

25:37 for customers and financials that we'll take a look at in a moment.

25:42 And the most important piece of this agent now is in the settings.

25:45 If we Scroll down to the file

25:48 processing capabilities in the generative AI section here,

25:51 you can see code interpreter that is

25:54 the new capability available to you in preview today

25:57 we have ensured that this capability is

26:00 on and let's take a look at it in action.

26:03 So here I've started a new test session and I'm

26:06 going to ask the agent a fairly simple question.

26:10 So what I've asked is create a bar graph

26:13 with the distribution of members on all the plans in 2025.

26:19 Now what the agent has to do is, as Eli articulated,

26:22 go through the search to see what file has this data and ensure

26:27 that it understands that the right file is being passed on to the code tool.

26:33 The code tool will then generate that Python script to execute.

26:37 Let's take a look at the data that the agent has access to.

26:41 So here we have customers data.

26:43 This is just, you know, synthetically generated data.

26:45 We have customer IDs, first name, last name, phone numbers, addresses.

26:50 We have genders for them, what region they are in, whether they're in gold,

26:55 platinum, silver or bronze plans,

26:57 what the monthly premium is, if they're on auto pay,

27:00 the type of plan that they have signed up

27:03 for, whether it's individual or group sign up date,

27:06 active or cancelled and so on and so forth.

27:09 Similarly in the Northwind Financials Excel sheet,

27:12 as you can see it's a multi tab sheet here,

27:15 we have five years of data broken down by quarter.

27:19 The average premiums, which is you know this with the AVGPMPM nomenclature,

27:24 what the claim costs are,

27:27 operating expenses and we have them by quarter as well as the plan year totals.

27:33 So we have some pretty comprehensive data that the agent has to look at.

27:37 So let's take a look at what the agent comes back with.

27:40 And here in the middle of the screen,

27:42 you can actually look at the code that was generated.

27:46 So here you have all of the import of the various

27:49 files that the agent needed to execute this code,

27:52 what files was passed on and so on and so forth.

27:55 And it's curated a bar graph for me.

27:58 If I open this in a new tab,

28:00 we can see that the bar graph talks about the bronze, gold, platinum and silver.

28:05 And I have a good understanding of what

28:07 the distribution of members across these various plans are.

28:11 So now in the interest of time, I have pre generated a query here.

28:15 And I also asked the agent to not only create that bar graph,

28:19 but to add a line graph in the same

28:22 visual to show the average monthly premium as well.

28:25 Because, cool, I have a distribution of the members,

28:28 but what does it mean in terms of my revenue?

28:32 So the agent has created this bar graph for me that we'll

28:35 take a look at and it's also provided me with some insights.

28:39 And here it's curated this graph where I see that, hey,

28:43 bronze is my start up plan with about $250 monthly premium,

28:47 obviously platinum upwards of six, $700.00.

28:50 That's where like, you know, my, my most lucrative plan, so to speak.

28:55 And I've curated this nice little graph.

28:58 Now remember, this agent had access to the raw data in the Excel files.

29:03 There were no formulas, no macros,

29:06 none of that that I had to build as the policy maker

29:10 here I get all of this data for me curated by the agent.

29:15 The agent also provided some insights in here that we'll take a look at.

29:19 You know, it's said that the visual clearly shows

29:22 the inverse relationship between the planned cost and member enrolment.

29:26 Bronze and silver are the lower cost options.

29:29 Platinum is the least popular but the most expensive 1.

29:32 So we've got some pretty good insights here as well.

29:37 And you know, I'm happy I'm the maker of this agent.

29:40 I'm happy I've tested this up a little bit.

29:43 What I'll do now is I will publish this with one Click to any channel

29:49 so I can here publish it to Teams M365 copilot to SharePoint, my own website.

29:56 And you know, if I wanted to do like more business to consumer kind of an agent,

30:00 I could also publish it to Facebook and WhatsApp all through here.

30:04 So I have published this channel to M365 copilot and here

30:08 I have the policy insights channel and now I'm this policy maker.

30:14 I'm in charge of the mergers and acquisitions for Northwind Care.

30:17 So I'm, you know, considering,

30:20 I'm considering like the acquisition of a file called of a company called Aurora

30:25 Health and I have some questions that I want the agent to analyse about it.

30:31 So I upload the financials for this specific

30:34 Aurora Health and I'm just asking the agent about,

30:37 hey, what are the average premiums for each plan

30:41 in Aurora Health and curator table and provide insights.

30:45 Now remember, the agent has access to Northwind

30:48 care financials but not Aurora health financials.

30:52 But that still doesn't stop me from utilising this agent

30:56 to be able to ask certain queries as well.

31:00 So the Aurora health over here is a similar a similar financials file,

31:05 which it has, you know, the same distribution of numbers.

31:10 But here you can see that the plan names are basic, standard, premium and elite.

31:15 So I'm going to click over here.

31:17 It does seem like the agent did hallucinate.

31:20 I have it backed up right here.

31:23 So what I what I asked the agent was that the about the Aurora health

31:28 and it curated a table for me along

31:31 with the average premiums and provided some insights.

31:35 Not only can I upload a single file,

31:37 I can also ask the agent on how do the average

31:41 premiums across Aurora Health and Northwest Care compare and contrast.

31:47 Now remember this is a trick question for the agent right?

31:50 Because the plan names don't quite compute.

31:52 But the agent tried to like put together

31:55 this plan and set up like the corresponding numbers.

31:59 It also gave me insight here that hey,

32:01 there was no directly matching plan names between the two pre 2 providers.

32:05 So each plan is listed and it curated

32:08 ACSV file for the comparative analysis as well.

32:12 So with that, I wanted to talk about how

32:17 our team ensures that you're getting the highest quality.

32:23 And by that, for that, we just do evals, evals and more evals.

32:28 So we use open source and synthetic data and curate data sets

32:32 with thousands of queries to be able to handle pretty complex questions,

32:36 but that are still based in real

32:39 world by working with customers like yourselves.

32:43 So for example, we already talked about like

32:45 how we could have multiple sheets within a file.

32:49 We also have examples of inconsistent column names, missing column names.

32:55 Like for example, the demo that we just did had

32:58 an AVGPMPM which is that really premium or something else?

33:02 And the agent is able to understand what

33:05 the intent was and what the data suggests.

33:08 We also have merged columns, merged rows, nested tables, etcetera as well.

33:16 That is all part of our data sets

33:17 to be able to ensure that there is high quality.

33:21 And finally, we also have unstructured data that has tabular data.

33:26 So for example, in this in this visual,

33:29 we have the table that's broken across multiple pages even though it's embedded.

33:34 And the agent is able to read through all of this.

33:37 We have, we just saw the functionality for code

33:41 interpreter that's enabled directly at the agent level,

33:45 but code interpreters also available in prompts.

33:48 So if you go into tools and you look at prompts,

33:51 you can enable code interpreter there as well and generate code and even

33:56 pin it to ensure that that deterministic code is always what's run.

34:00 And those prompts can be attached to agents or workflows or can be stand alone.

34:07 So with that, it's my great pleasure to invite Nick Taylor on the stage.

34:13 He is the head of IT Innovations at Gilead and has been

34:16 working very closely with us for the past year and a half.

34:20 And they've done some amazing things that I'm sure you're going to really love.

34:25 So welcome, Nick.

34:26 Thank you.

34:31 Thank you.

34:31 Alrighty, let's get started.

34:33 So I'm Nick from Gilead Sciences.

34:39 Insert joke here.

34:41 Excuse me, I'm reading the prompter.

34:44 So for those less familiar about Gilead, right, we're a leading biotech company.

34:50 We have over 20,000 employees plus contractors, maybe 25,000.

34:55 We're known for advancing life saving therapies.

34:58 We have HIV drugs, oncology drugs, other viral infectious disease drugs.

35:07 So we're not a software company, right?

35:09 We're not a software company.

35:10 We are looking for platforms that let us move

35:12 fast building without having to build things from scratch.

35:16 So what we've built without building from scratch

35:20 is the Gilead Enterprise Navigation and information engine, Genie.

35:27 There are lots of Genie bots out there, but ours is mine, right?

35:31 So the idea for Genie is nothing crazy.

35:33 You've already seen it here before.

35:35 You have this issue.

35:38 I'm sure we have multiple enterprise systems that are authoritative,

35:41 that are the sources of truth, that do different things.

35:44 And I have to go to service now,

35:46 and I have to dig down 15 layers to go do this and then find my PTO over there.

35:51 You know, what's the status of my ticket, those kinds of things, right?

35:54 Well, you know, we've been working.

35:57 Excuse me.

35:59 What we wanted is that single point of entry.

36:02 Again, this is nothing super revolutionary,

36:03 but the way we did it makes me very, very proud.

36:06 We had the single connected intelligent enterprise agent.

36:10 That's what we wanted.

36:12 We needed fast answers, consistent results,

36:14 fewer tickets and the non negotiables

36:17 for something like Gilead in a regulated environment,

36:20 security, privacy, responsible AI.

36:23 So we found that really in copilot studio very, very early.

36:27 I started working with it with just

36:30 me Copilot Studio was announced at Ignite 2023

36:33 and and it's just amazing that we're here

36:36 2025 showing what we built with Copilot Studio.

36:40 But it really goes to show

36:41 the collaboration we've had with Microsoft working really

36:43 close with us on a, on a vision that was that was very clear.

36:48 So there's no code low code platform.

36:51 It's, it's great native in Teams.

36:55 We're putting it in the Microsoft 365 as a, as an agent

36:57 that you can @and there are a lot of possibilities there.

37:00 We needed secure connectors in Genie.

37:02 We have no Phi, we have no PIIIP, those kinds of things.

37:06 It's it's based.

37:08 The idea is any employee, regardless of their role, they do certain things.

37:14 Genie should be able to help them with that.

37:16 Would you use Microsoft Graph to enhance

37:18 the AI search and foundry and governance by design?

37:21 So here's our here's our architecture.

37:25 You know, Genie is the orchestrator,

37:28 orchestrates enterprise sub agents intended to be owned by their domain.

37:32 So we want, we want HR to own

37:34 the data quality of their particular agent Corp OPS, so so on and so forth.

37:41 And we have the Genie team building that orchestrator.

37:45 I have my Microsoft architect over here,

37:48 Fairmont and great job on this thing here we have Microsoft

37:52 Graph or kind of low level what's what's the company holidays,

37:56 those kinds of things.

37:59 But where we need really, really high accuracy.

38:01 We used Azure AI search to index these things, policies,

38:04 a lot of our intranet where we

38:07 couldn't be that deterministic articles, knowledge bases.

38:10 We wanted people to trust the data Sops and we use Active Directory,

38:16 right, data gateway.

38:17 We have lots of on Prem things, AWS things,

38:20 so like our inventory system, tickets and records from SAS.

38:25 And again, this is where people can find it.

38:31 I'm going to show you this because I'm not brave enough to do a demo.

38:34 That's Microsoft's job to take that risk and roll that dice.

38:36 So what I have here are some some screenshots from from Genie

38:40 Genie dev that we're we're going to be pushing the prod on Monday.

38:46 So can you tell me what has chicken on Monday at Bayside,

38:50 which is one of our cafes, right?

38:53 I think we've done some really interesting things here, right?

38:56 You can get very specific and it'll look through the menu,

38:58 it'll find what you have, what has chicken on it, it'll tell you.

39:01 And then it'll say, hey, would you like me to tell you about,

39:04 you know, Tuesday's chicken options or the full weekly menu?

39:07 So asking follow up questions right here and in there, intent recognition.

39:13 We have our feedback and then my legally mandated disclaimer.

39:16 It's not that long, but there it is.

39:19 What are my open tickets?

39:20 This is custom for ServiceNow.

39:24 We have these adaptive cards.

39:25 This thing can open tickets, update tickets,

39:27 find tickets, you know, close tickets.

39:29 But just as importantly, when I say open tickets, it's I have a problem.

39:33 It says, hey, do you want to open this ticket after trying to resolve it?

39:39 And then it'll take the context from the conversation

39:41 and put it into that ticket so you don't

39:43 have to have your user write it again because

39:45 they're already probably irritated with IT in the first place.

39:49 This one's really neat, too.

39:51 This was built by the guy, I call him the Maestro of Mississauga, Canada.

39:56 His name's Don.

39:57 He has asked about his PTO balance up here, right?

40:02 Went to work day, gave him that number.

40:03 Unfortunately, he spent too many days, you know,

40:06 ice fishing or whatever they do up there.

40:08 Doesn't have any more, right?

40:09 So Jeannie has a more empathetic tone, saying you know,

40:12 I'm sorry, you're probably disappointed, but how else can I help you?

40:17 We want to have it, you know, a little bit of a little bit of empathy there.

40:20 These here are more examples of queries,

40:23 but also just showing that we can put it

40:26 inside of M365 as that declarative agent say at Genie,

40:30 you know, what software do I currently have and it'll go to our on Prem

40:35 inventory and then it will and then you can send it away, right?

40:40 And then just ask another agent or copilot like I need training

40:44 for something that I didn't even know I had until I asked.

40:48 So the the one on the left hand side is really nice too.

40:52 It knows where you are, it's localized, personalized.

40:54 So Don is in Canada, it tells him the Canadian holidays, it knows who he is.

41:00 And then it offers to check your PTO balance because you're asking for holidays.

41:04 And to kind of wrap this up is the agentic nature of it.

41:07 So you can ask one query and we can pull across domains,

41:10 across intents or based on the intents and orchestrate that.

41:14 So we have the the query about, excuse me,

41:18 he wants to book a holiday before Christmas.

41:23 So it checks Don's balance, it looks up,

41:25 his manager offers to write him an e-mail,

41:28 and then we have some personalization stuff.

41:31 Yeah, the ice fishing thing, it was like,

41:33 hey, you know, it's perfect time for that.

41:36 So yeah, takeaways, scale and scope.

41:37 We launched it to everybody at Gilly Head, all contractors, everybody.

41:40 We have about 6000 unique visitors or users per month.

41:45 That's about 25% of what we have is primarily IT right now.

41:49 We're moving to other domains, reduce the ticket volume.

41:52 We have about 200 per day that are just they don't tickets aren't

41:57 coming out of them because Jeannie's answering

42:01 it 16% increase in one survey question, which was great over the last year.

42:06 And our user satisfaction employee survey, 16% increase over last year.

42:11 I can find information at Gilead and I think,

42:14 I think we did it part of that velocity we had,

42:17 we're a ragtag bunch of volunteers, right?

42:19 I had this idea.

42:20 I found these people who wanted to work on it.

42:23 We got this thing to pilot in 10 weeks.

42:24 It was, it was nuts.

42:26 Govern governance, distributed ownership, that's the idea.

42:29 Expansion to HR, finance, OPS policy.

42:32 We really have built something that is extensible.

42:34 And with everything they talked about today,

42:36 I think people are just going to get happier and happier

42:39 with the results without us having to do Azure AI search on everything.

42:43 So with that, I'm going to pass it back over to Hardik.

42:46 I do appreciate it.

42:49 Thanks buddy.

42:53 All right, So we saw how we have made improvements in knowledge,

42:56 how Gillard was able to use some of the latest

42:59 advancements and some of the numbers Gillard share were amazing.

43:02 Like something that stand out to me

43:04 was 16% increase in their employee satisfaction.

43:07 They are able to reduce the resolution time

43:10 for tickets and 10 days from inception to production.

43:13 And there by the way, also rolling it out to 24,000 employees coming Monday.

43:17 Here is a portfolio of all the knowledge sources Copilot Studio supports.

43:20 You can see we have M365 line of business data.

43:23 You can upload files, you can connect your Azure indexes.

43:26 You can use the power of Bing.

43:27 If your data lives outside of Microsoft systems,

43:30 you can connect it with three P connectors or MCP connectors, right?

43:34 And a few key takeaways from the station today, guys.

43:38 So we are committed to delivering the best

43:42 knowledge quality for agents to build right.

43:46 And as you saw, we have introduced agentic Rack,

43:49 which is ability for your agents to find information like humans do,

43:53 giving it the power of all the tools based on the data.

43:56 One such tool is code interpreter.

43:58 So now your agents can answer analytical questions.

44:01 And you also saw how we have made it easier for makers to surgically

44:05 configure the knowledge sources so

44:07 that your agents can leverage the most accurate,

44:09 relevant and up to date information.

44:12 If you haven't seen our talk and sessions on evals,

44:15 please do take a look at that.

44:17 They will be recorded.

44:17 You can find them on the on the Ignite website.

44:19 Because guys, there is no way of just throwing all your knowledge source.

44:26 I usually call it a kitchen sink to your agent and expecting

44:29 the best answers you have to evaluate for which we have evals.

44:32 And with that, I would love to bring everybody on stage.

44:36 Thank you all for attending our session.

44:38 That's all from us.

Study with Looplines Download Captions Watch on YouTube