Back to all episodes

Markus from CopilotKit, Building Automations, and Meeting more Mastras

May 27, 2025

Today we discuss some AI news, meet with Markus from CopilotKit, Meet some Mastras, finally Abhi and Marvin will build some automations

Guests in this episode

Marvin Frachet

Marvin Frachet

Mastra
Markus Ecker

Markus Ecker

CopilotKit
Paul Scanlon

Paul Scanlon

Mastra
Ward Peeters

Ward Peeters

Mastra

Episode Transcript

0:23

talking okay I think people can hear us now right welcome to AI Agents Hour wow we that up already from the beginning um EU edition uh we are in where Marvin stasbbor stasbour which is a French city at the frontier of Germany you may know this one because of we have very huge very huge Christmas market so

0:45

if you come in winter you can have a lot of fun here yeah so today we have pretty much as we always do we have uh AI news we have a friend from Copilot Kit um and you're going to meet some mistras and we're going to build something um we'll do some automations that we actually need for our own open source project um so without further ado let's get into

1:13

the news let me get my coffee real quick this says "Call me madame." How French is that yeah I am the only one but yeah call me Miss all right let's get into some news and then also we have some friends coming so let me also invite or get get ready to invite them so give me a sec here um so here's one um

1:45

I'll do that and then Paul wanted to come on too so we'll get him in here and uh yeah so now now we can start so all 29 of you welcome thanks for being here um we do answer stuff on chat and we have this cool microphone today so that's dope hopefully you know the quality is a lot better than our last one um so yeah thanks also Marvin got

2:11

his Masher shirt why don't you uh peep the Masher shirt i guess we're like inverted but that's fine nice it's It's a great one yeah it's the best swag you'll ever want I guess um but first let's get into the news so share my screen and the first thing I want to talk about which is just some wild stuff that happened is uh Gersley or Oros

2:38

uh tweeted about the Monsterra book uh Sam as everyone may not know my co-founder our CEO um Sam Bugwatt wrote a book during YC uh and YC is Y Combinator if you all don't know and we wrote a chapter and I say we I didn't do honestly i didn't really do anything i was just there but it was kind of cool we were all inspiring the book as we were there in Y Combinator we

3:03

wrote like a chapter a week and um I think I mentioned on Friday's stream that uh Sam met Satya Nadella and uh he also and then Sam was active dude he was meeting people which is great and um we got this tweet from uh Gurgley i I forgive me if I'm saying his name wrong um but this guy is popping on Twitter

3:28

which is great but yeah look at this tweet like got this book when I met Sam formerly co-founder of Gatsby marvin used to work at Gatsby too so did I um and now we are Monster AI yep that's us it's a short sweet and practical intro into building AI agents and it's free to download um and as you can see you uh we

3:49

have these chapters it's very approachable you can go to.aibook i can type it in here if anyone wants to download it please be my guest uh we would love that actually also let me double check if that's the link too you never know these days indeed it is and there you can like sign up and we'll send you the book we are also This is some news for um those

4:18

who have the book or want the book there's a V2 of the book and like like people thought we weren't going to keep this uh up to date but as you can tell it's very core to intro introing people to AI also introing them to MRA so we have a V2 coming and it's going to be on Amazon um and then there's a lot

4:38

of typos in the first version because we're hustling for the demo day at YC to push this book out but now we have more time and it's going to be way better and we're going to continue making it so V2 on its way so that's awesome so next piece of news um let's do I have Well typically in live streams you say like this is how you pay the

5:03

bills you have to do something but uh as you all know or may not know um the reptile energy drink is the sponsor of this show AI agents hour and when I went to Japan they asked me what AI tools do I use like do we use at our company and we said I was like Gretile is the is essentially what I said and all these Japanese people thank you Japanese people for were like tweeting at Greal and you know there discovered

5:30

the product which is so cool so to fulfill the overlords of our energy drink sponsorship I thought why don't we go through this uh blog post here and it is a great blog post it just so happens that it's written by Creptile and so this is really interesting is Claude Sonnet 40 better than 37 and for catching bugs right and if you guys

5:55

don't know what Gravile is I would uh I would use it um they are a autom like a AI PR review bot and you can do knowledge base on your code you can interact with it it's pretty cool what do you think about Grypto yeah and to be honest um I was a bit skeptical ical about I'm a bit skeptical in general about you know AI generating code so I'm always reviewing everything that I type

6:18

in glob cursor and stuff and all but this thing for reviews it's amazing it catches so many small things like sometimes you just forget uh a typo something like that or sometime you forget uh a written statement or an case that you for it just catches it and hey you should probably give the user a message here so yeah that's pretty Nice another cool thing it does is is it adds

6:44

PR summaries on your PRs and um now you don't have to really like communicate what the change is about you can automatically do that many people are not good at speaking English or maybe they're not good at expressing themselves versus the code grapile will just maybe English is English is your second language you know um so it really helps so let's go through this um so

7:09

yeah we talked about this on Friday that 40 had dropped right and um and we saw the benchmark test we went went through it we all were very skeptical me and ward especially that you know is this really that much better over the weekend though every it's a resounding yes that 40 is better um so that's cool so how

7:32

did reptile kind of figure this out so they have a a big data set um that has you know different languages and they generated code right like just a bunch of different code um and what's really cool is when when you design things like this it's it's hard to design bugs right because like how do you design a bug like it's hard right you just make bugs happen or bugs are when you

7:57

don't think things through maybe uh my friend Corbin tweeted about that bugs are just things you didn't think fully through so how do you design a bug you're essentially designing flaws which is just interesting in general what do you think about that and so they made all these uh you know these different uh eval data sets and essentially that's how you're supposed to do testing like this is they're all

8:21

doing it the right way especially if you're going to put your AI agent through model changes and stuff like what tests are you actually running you need to have eval data sets or evals in general so if you're not writing any evals right now you should look at if you don't trust us you know at least Reptile can show you right here um and

8:40

so here's a disclaimer these are the bugs are the hardest to catch um bugs we could think of and are not representative of the median bugs usually found in everyday software i truly like this when you when people do these type of benchmarks and stuff they most of them are flawed right and even this one's flawed because it's the hardest thing that they could think of so there's still human human uh

9:04

reasoning in here so let's see what the results are oh despite expectations Claude 40 did not outperform 3.7 in our bug detection benchmark both models caught roughly 14% of injected bugs with only minor variations across programming languages that was my first thought too like are some programming languages easier to

9:29

debug than others right the result was surprising sonnet is built on a newer architecture yet its detection ability remained on par with 3.7 this kind of is opposite of the sentiment that people are talking about on online and maybe that comes down to just the non-determinism of the whole situation right but let's look at these results

9:53

yeah I was expecting go to be at the top um it's not even the best one dang dude it's kind of so like 37 was better at Python which is interesting typescript was the same which is interesting rust is the same ruby a little bit better in 37 i mean you you have to take these uh you have to take these numbers at face like just at face value like I think there's

10:22

definitely some more um research that needs to happen but it's just interesting that this is interesting um so let's let's see what the there's a correct versus alternative issue so they have like test 19 the encryption toolkit um so 37 accurately pinpointed that like this round robin strategy was not returning the right no oh no of partitions i don't want to get into

10:53

round robin architectures but you should read about it if you don't know and then 40 didn't even look at that and looked at like some schema validator method um which would cause a bug it's a legitimate error but it's not the most important thing you know um and we got a comment from uh Siobhan i'm sorry if I butchered your name um I am Indian i

11:18

should be able to say these types of things but just kidding um Siobhan said let me post what he said the official benchmark scores weren't great either i couldn't understand what the hype is about dude me too man me too like on Friday and I still don't understand what the hype is about that's because like you choosing a

11:38

model is like choosing a Pokemon you know like everyone likes Squirtle or Charmander like and everyone has different playing experiences with them i I truly believe that you know for example even with Greile here different people on our team have different experience with Greile like I have a great experience with Greile marvin does too but Tony hates Greile cuz

11:59

like for his PRs they do not they're never like good comments you know that's interesting too that's just interesting i have nothing else to say about it that other than it's interesting um okay let's get back into this and then we'll we'll go on we have some guests here i don't want to keep him waiting too long

12:17

um we are gonna be talking with my homie Marcus from Copilot Kit it's gonna be sick but we have a couple more um articles we have to do so we'll get there everyone have some patience um optimistic outlook for Sonic 4 um they think you know it hasn't outpaced the predecessor i didn't even like 37 though you know what I mean so I'm still like

12:41

eh but um yeah like that's pretty much this i would use Reptile give it a try they're cool i don't have a GP energy drink with me but when I'm in SF you'll always see that I'll be drinking it but you know you get the mo Call me Madame today all right on to the next one let's get that also there's 115 people here thank you so

13:07

much for being here uh we are two dudes from MSRA uh this is AI agents hour you just got if you're just getting here we're going through AI news like we always do um and uh you haven't missed much of the show yet uh we're also getting better at live streaming apparently every so often you're supposed to do a recap of like what all the show has been about which I am terrible at shane is very good at it um

13:32

so on Friday if you guys saw the live stream there you saw this bumbling and fumbling uh but today I think we'll be a little bit better um maybe because we're in France you know i think that's probably the reason you know okay on to the next one this one might Okay this next one might trigger some people which maybe is a good thing

13:51

um it triggers me so let's do that so our friends over at work OS wrote a blog post mcp ACP A2A oh my oh my is right dude because what is ACP what is this ACP where did that come from there's another one me okay when we were working at Gatsby like when we were doing all this stuff threeletter acronyms are the way of the world right

14:17

we had SSR DSG uh what else isr CSR SSR SSG we had DPR distributed persistent rendering SSR serverside rendering ssg static side generator so okay and so we're know we're not like we're accustomed to these threeletter things except you should know what the three letters are like I don't know what ACP

14:45

is we're about to find out acp dude i think that's a problem we probably should be knowing you know that's like well good thing we do this show because like we get to learn stuff too thanks mcp ACP 808 oh my did they give this kind of um That's cool looks like the one that Shane is doing for the stories like the same style okay let's let's I want to break this like picture down you got the cowardly lion

15:11

who context is king i don't know who Ron is you guys see this word Ron here i don't know and piss I guess and databases okay so this is this guy but which one is he is he MCP i don't know then you got this the scaredy or is it the the scarecrow who wants a brain right which Oh I guess he's thinking about Yeah probably the ACB yeah probably i don't know and you got

15:41

Dorothy with cars okay and then the Toto and the LLM runtime bag this picture doesn't make sense is what I'm getting at okay we'll just continue but uh it's cute though i'll give you that it's very cute all right the era of agents is here and with with it new protocols are emerging to power their interactions all right you may have encountered three recently mcp agent

16:06

communication protocol ACP okay which I have not heard of personally and then agent to agent which is ADA which we have heard of mostra does have MCP support ADA support but it's not very like we're making the ADA support better and I'm sure we have to do this ACP thing too so I guess you know we signed up for that um let's explore the

16:29

three protocols we get to learn now okay mcp primary focus tools yep makes sense acp oh it's from IBM i did read about this commuting across BAI agents in a local first setting okay dude what is B AI hey chat please tell me like look it up for me what is B AI just and I'll uh I'll like highlight your message just so

16:56

you can be more interactive here because uh kind of sound like a you know it's like a dumb name probably but uh it's IBM oh my god if you go to bi.dev there's no CSS on the page i mean it was broken oh it was broken never mind sorry i just wanted to talk about them um let me I'll I'll share BAI so we can all see it

17:26

also because this is a really interesting topic I'm going to bring Marcus in a little bit earlier so he can kind of talk about all this stuff with us um so actually let's get Marcus in here um Marcus welcome to the show hello Marcus hey guys how's it going dude hey uh I'm good thank you thank you for inviting me uh thanks for having me one second can you try again yeah um

17:56

yeah can you hear me yes yeah perfect uh hey uh thanks thanks for inviting me here yeah hopefully you uh weren't bored just waiting out on the waiting room where are you calling from so I'm uh here in Vienna uh in shared office space i'm here with my colleague Ran uh he came to visit from the Netherlands to

18:20

work with me for a week and uh yeah so I'm like uh next to the UN in Vienna in a nice a nice place d we're getting international on this live stream these days dude that's crazy um have you heard of BAI actually I did uh it's a funny story but uh as you know we also did a protocol called agent UI and we first

18:44

wanted to call it ACP and that's how we stumbled upon B AI and that's why we didn't call it that so so B AI open- source platform to discover run and compose AI agents from any framework interesting let's look at this GIF okay they have an agent catalog okay I can I can kind of vibe with this different Python frameworks they have their own framework maybe Mashra will be on this

19:24

thing too I guess i think it's also related to agent to agent communication but I'm not 100% sure yeah so I think this is like once again like it's like that X XKCD cartoon where there's like 11 competing protocols so then let's make a 12th one and then now you have 12 of them or whatever um so I'm curious where

19:49

this will go uh let's head back to the actual maybe head back to the other thing and we can do a further deep dive into BAI another time but let's get back to the other where we were at here so I guess ACP which is this BAI plus IBM and other people are going to make uh registries too so like don't think that

20:13

IBM is the only person who's going to make an agent registry y'all um everyone's going to do it it's like honestly capitalism exists for a reason um so communicating across multiple BAI agents in a local first setting sure a to Agentto agent interoperability across frameworks we truly believe in ADA um you can also do MCP as an ADA agent

20:37

right like your MCP server could be an agent as well uh typical deployments multiple servers each exposing data integrated by an MCP host that's not necessarily true in Maestra you can host multiple MCP servers and one server but that's just a implementation detail bai server orchestrates open source agents in a single environment don't know what that means to be honest um agents and then a toa is agents on

21:04

separate frameworks discover and connect via HTTP endpoints that's just how the world works already so that makes sense right um Mr z said "Hey Shane," but there is no Shane on today's live stream so sorry if you were looking for someone else this is Marvin um sorry hi Mr x mr z we'll call him Mr x because he calls you Shane right um cool um and he has a

21:29

question and suggestions so go for it dude and then we're going to keep going here you can definitely post that uh key features here interesting so for uh MCP you know standard for you know hooking external services to LLMs that's totally like the the dream right the integration story acp multi- aent setups agent discovery deep telemetry and BAI sounds

21:55

like sounds familiar in my opinion and then ADA has this agent card which is how you discover agents and their other capabilities so theoretically if all of our agents are on HTTP servers or endpoints we can then get the information about an agent you can see what you can do like what cap capabilities or tools that it has right and then you can start talking with it um and then the common use cases single

22:19

multiple LLMs uh that need consistent ways to ingest context yeah that's what they told us and then you can spin up and for ACP you can spin up of a variety of AI agents behind local first i don't understand this local first but okay yeah maybe it's like in your I don't know some IBM it's like an IBM computer somewhere

22:44

um and then for ADA you link you linking disparate agent vendors so they can all share stuff which is totally like I don't know the more I like think about aa the more I fall in love with like the future that you know if Marcus um and his team want to create I don't know any kind of agent in any other framework but we want to do business together still

23:04

like our agents like that's totally like the way I see the future so um now this thing's going through all this other stuff but uh you know we don't really have to go through it i would suggest uh people go read about honestly go read about this BAI thing i'm going to go read about it some more i'm not really sold on its idea right

23:24

now but that's usually how things go most most engineers are right like us so we first like we'll not want to do it then they'll come around to it or something so anyway so let's move off of AI news for a bit and let's let's talk to Marcus proper real quick so let me get into our next segment here which is talking about co-pilot good so Marcus

23:48

the floor is yours dude um cool yeah go for it tell us everything so So where should we start like uh I want to know the origins what is the origin sorry your origin story too my one right so you know um in 2023 when LLM's uh you know started happening a couple of months after that um I made I I decided

24:14

that you know it would be very interesting to uh have the LMS interact with your applications uh directly with uh React applications and basically to expose what the user sees on their screen and uh you know the things that that the user can do on the screen to the LLM so um I started a project called BigJS

24:39

uh you know which I posted to GitHub and to hacker news and uh it got uh some traction and it got on the on the front page it was also uh you know roasted uh because it did expose the OpenAI API keys which I actually put there on purpose but you know it's hacken use so that's how it is um and uh yeah so that's how I met um the other guys from

25:06

Copilot Kit who uh were working on exactly the same idea you know even down to the API level so the names were slightly different but it was doing exactly the same thing and I you found them 3 weeks later also posting on hacker news also getting on the front page and uh connected with them and they were just doing text Seattle um so we decided to join forces and uh

25:36

uh yeah so basically that's how how we got together um and how the whole thing started for me for them it started like a bit earlier than that awesome it was beef js like meat like a beak beak like the you know back then people were saying the Yeah right because the people were saying LLMs are stoastic perils and

25:58

there was a play on it oh I found beakjs i'm going to post it for everyone else didn't touch it for quite some time exactly origin beakjs nice so then tell us about copilot kit right so uh Copilot Kit is an open-source uh React framework that lets you connect your agents to your application um so if you're using Master and you want uh Master to take action

26:27

inside of your React applications if you want master to see uh what the user currently has on their screen um you can use copilot kits to get uh you know to get first of all that connection going and also to get UI going inside of your application that uh you know you can use to chat with your agents um so yeah that's Copen in a nutshell basically it's uh it's

26:51

something that's you know connects your front end applications to uh AI agents and it has several built-in capabilities that make uh human in the loop interactions um in chat renderings of uh generative UI and stuff like that really easy so basically you can get copilot kit integrated uh in your existing application or new application in a

27:16

matter of a couple of hours basically um yeah so and you support pretty much right yeah we do support a lot of frameworks um we currently support four agent frameworks and there are more to come uh we basically um supported two in the beginning and then we decided to extract the uh mechanism that lets us connect to

27:46

the agents frameworks into its own protocol so now there's another protocol uh that's called AGUI and that's an initiative to have an open protocol that is uh you know completely isolated from copilot kit um and uh this open protocol lets you connect to any agent framework basically and uh connects uh in

28:10

particular to any agent frameworks um and we do support I think six of them now nice i'm going to post the co-pilot kit blog post i believe uh I'm guessing it was this one that's not really a good pretty URL but uh that's here i'll share my screen we can like kind of walk through it boom sounds good all right so I'll Yeah floor is yours

28:43

i'll just be the the wheelman right so here we have a nice graphic uh basically explaining what AGUI is so it's a layer that's uh sits between um your application and the Asian frameworks it can work in two ways so basically it can bridge an existing protocol to something uh that uh you know your application can easily

29:08

understand like it unifies all of these protocols or you can just implement the HTTP events yourself and then you can also connect to it um so and that's basically what the next paragraph is saying right so it's uh it enables uh you know certain things like uh that that are uh enabled by events messages

29:29

or tool calls uh it can you can send the agent state to the front end you can also patch it to uh efficiently send agent state and you can see in this uh graphic where the whole thing uh fits in with the other protocols so you would uh have an agent and the agent would have tools via MCP you will be able to communicate with other agents with ADA A

29:53

and uh the last mile you know to the user would be covered by AGUI yeah which is super sick um I want to put you on the spot and I want to see if you could show us so what I heard there's this cool dojo that AGOI has and I would love if we could show people a demo sure sure so let me just do that can you see my screen yeah adding it to the scene now boom

30:34

um yeah so basically this is um uh this is the dojo and it kind of uh you know lets you look at the features that copilot kit provides in isolation so you know the these are all the things that you can do with copilot kit and it just implements you know one feature at a time certainly you can combine combine all these features to uh you know get a get an build build them

31:00

all in your application um so what we got is basic chat and this whole chat uh widget here this is uh you know something that copilot kit provides to you out of the box so you can just you know get the standard chat going um but what what you can also do easily is to have a front end uh tool call uh made available to your agent framework so in this case we just you know made a stupid

31:26

example up which is uh setting a background uh for the window so you know if I want to uh you know set the background to a blue gradient I can just do that and uh the LLM the agent framework will be able to call that uh front end tool call and um set the background and in the case of master this is really really easy because uh uh

31:50

Abby and I were working together to basically just make everything work out of the box so if you have copilot kit connected with master it's just will just work without you doing anything um so I think that's really awesome marcus could you explain to the the folks like what are like client side tool calls or front-end tool calls as opposed to like

32:13

what people traditionally think of backend tool calls or whatever right so backend tool calls would typically be something uh you would pass to the LLM uh you know which runs which which you typically connect to on your server side um and you would execute that tool call on the server side and add a result message there now um with front- end

32:37

tool calls it works in a similar fashion but these are tool calls that happen inside of your browser that get executed uh inside of the browser and in the case of copilot kit that are also highly uh you know dependent on the context so basically what the user is currently looking at you can have really complex

32:58

applications that have tons of tool calls right but you don't want to give all of these tool calls at once to the LLM you only want to give the tool cost that are relevant for the user right now to the LLM and that's what copilot kit helps you do basically absolutely can we keep going down the the demos

33:17

here absolutely so the next thing is a demo of say uh you want to uh have the user uh the user tells the agent framework something and the agent framework comes up with a plan and you want the user to be able to select the steps in a in a plan uh you know it actually wants to wants the agent to perform so let's say in this case I want to plan a trip to the moon

33:43

and it's going to come up with uh a bunch of steps so we got to choose a launch date and select a spacecraft and so on and for example we decide we we we are too cheap to train the astronauts we don't need to do that also we skip all pre-flight checks so that's too expensive um and we don't want the permits we can also skip that and now uh

34:09

we will just let the agent framework know that you know these steps are not necessary and we we're just going to do that and uh yeah it's it prepared an answer for for us basically which is a placeholder for actually do doing things right um so but it totally got that uh results and it will be able to act upon that that's cool um yeah let's do uh let

34:34

me one second to do like the 155 people here welcome if you have if you're just catching us now we started off by talking about AI news we talked about GPiles research on if cla40 is actually better than 37 spoiler it's not um we talked about BAI and how we don't understand what it is uh we also talked about MCP A2A and we brought Marcus in to talk about Copilot Kit and AGUI um

35:02

and now he's giving us a demo before we get back into it we have some questions we just need to get off so Mr x said uh how would you do the deploy on Monster with Git um uh okay sorry I kind of don't understand this question but uh we we don't really do deploys with git i mean the source code is in git and then

35:30

we use that right to then deploy applications um if git is down the whole world is so I'm not really tripping about Git being down or not so yeah um we have another one um Mr x would like to rep us as an AI influencer and you too Marcus that's cool um I don't know talk to Shane about that we're not we're not the we are not in the uh the right uh circle to to be doing that type of stuff and then lastly

36:02

can we use client side tools with Masha right now yes um if you pass client tools as an option to uh generate or stream you can call that it gets even easier because uh copilot kit or in agi they have like a client side tool kind of function to do all this type of stuff where you just kind of pass it into the

36:22

protocol and it's game on but if you want to do naked or vanilla you could totally do the same thing i don't know if I recommend that though right Marcus i'd rather you should probably just use the AGY yeah so I mean it's up to you but if you want to have an easy time I would definitely definitely go for copilot

36:39

kicks because Oh this is a good question Marcus and maybe this is where you're headed or something but can this setup be done on mobile on mobile so yes we do support uh you know the usual responsive rendering of the chat view uh so you can totally do like a responsive web application uh with copilot kit but we are also going to expand to iOS and Android so you know stay tuned for that we're not ready yet

37:07

but it's going to happen are you going to make some like swift UI type libraries that people can use dude that is sick absolutely sick and React Native i think that's going to be even before iOS oh expo that's going to going to be easier um wouldn't it just work with expo i don't know all right let's keep getting back in the demo then okay cool thank you for the questions Wendell and Simon and Mr x

37:42

cool so just one thing I forgot to mention that this UI basically that gets rendered in here it's totally up to you know the developer to uh come up with it you can make it look like anything you want basically and it's really easy to you know hook into that to provide some custom JSX to render that uh UI in this

38:01

case it's this list it can be anything so um yeah so let's say you have an agent and it does something that uh you know takes a really long time for example going to Mars right uh and you want to provide an update to the user uh what the agent is currently doing so it knows the agent is still alive and doing

38:19

stuff for you so we have this agentive uh generative UI feature that lets you do that so if I ask it to go to Mars now it's going to tell me what it's doing right now and I get an update as uh about that as a user so basically I see what it has done i see what it's doing right now um and that's really useful

38:39

it's uh you know it gives the user uh a notion that something is happening it gives it tells the user what is exactly happening so we have uh this feature um another thing you can do which is really nice is that you can uh call tools on the server side but you also want to let the user know uh or basically give the user feedback that something is being rendered on the server even with UI uh

39:05

so in this case this haiku function is a serverside function but it also gets rendered on the client right we can do that it's also very useful and and by the way you can also link it to the rest of your your UI it's not only limited to the chat and on the Copilot Kit website you can find tons of tutorials on how to do all of that stuff right so I'm just going quickly through that but there's a

39:29

lot of documentation how to do it um so yeah you can render things uh that happen on the server side also on the client um another feature we have is a shared state and that's actually a feature that a lot of uh our users like a lot so basically the idea is that your agent can have state uh like in this case uh the state for uh a recipe and you can

39:55

share this with the user and the user can start editing that state and then hand it back to the agent and let the agent you know do some additional stuff with it for example I can say uh you know I prefer to have a recipe made and it should be vegan and low carb and I can ask the agent okay uh make me a

40:15

recipe and respect my preferences and now the agent you know is filling out that recipe and uh you know it's doing that things and it actually saw that state right so it it made it vegan and it looks like Yeah it's totally vegan and it's also low carb uh it picked ammon flour instead of normal one and stuff like that and it added the instructions right wow so next gen user

40:46

experience that's that's awesome i like this one so cool cool where do you think um do you think the future is like chat UIs like or because that's kind of and I don't want to like no offense with what I just said but like you know like for example Versel's AI Sistk React thing like it's very much trying to be like a chat GPT template right but I see you

41:13

all you're having this component-based development and also having done the integration with you like it's just very modular in a lot of ways is like is it because I mean and this is the question is like there's more to this than just the chat UI right like in the future yeah so in my personal opinion uh it

41:32

will be a mixture of all kinds of things so there will be you know really intelligent autocomplete not just text but also other UI elements um you know forms and stuff like that um there will be certainly chat uh and and there will be you know tons of other element like maybe I don't know people will just come up with it i guess uh you know copilot kit enables this also that you can you

41:57

can take our solution and extend it and invent you know new ways for AI to basically do something inside of your application and to me I think that's the future there will be chat and there will be other things that will be invented by people yeah this is dope dude this is dope um can we uh let the audience know all 172 of them now uh what's the

42:23

relationship with MRA and uh C-pilot kit AGUI yeah so uh MRA agents integrate uh very tightly with copilot kit it's extremely easy to set up and you can if you have an existing master agent you can basically hook it up to copilot kits in under one hour um and we are going to continue uh building more stuff and building more integrations i think the next one I mean

42:56

certainly also up to you guys but I would be really interested in also having master vx workflows inside of copilot kit and also making it easy to hook that up so yeah MRA is an agent framework that Copilot kit integrates with and it's really easy to get going with and we're definitely bringing workflows to AGUI for sure uh that is like the next

43:19

gear for sure nice well um I guess let's let's call it here thanks so much Marcus for coming really appreciate it this is dope agi is sick and so um yeah we will uh see you again sometime huh awesome absolutely thank you guys for inviting me yeah of course cia bye bye see you dude this is so good man i like this kind of you know interactive UI that just pops up and we find a screen we had

43:55

a discussion i was like hey I need to find a use case for client side tooling because damn that that was dope right that was so cool and Marcus is such a smart and nice guy too he's a pleasure to work with when we were doing the integration just what we did now hey we'll bring you in maybe you guys can work on some stuff right because uh you know our playground right now is

44:18

written if you all use Monster Monster playground is used using assistant UI and then we wrote some custom code around that which I'm starting to think like maybe it's time for a change um so the more these different UI protocols get better the like the possibilities of building really rich applications goes up and I think many of

44:42

us probably and I think AI in general was like late to the game on the UI part right and now it's like maybe AISDK and Verscell were like the first dudes to do it but that's it's not always going to be that way you know so you Yeah dude i'm so stoked about that um then we have a question from Wendell

45:04

does MRAA and C-Pilot Kit both live in the cloud well you can run it locally you can host it yourself with MRAA as well as Copilot Kit copilot Kit has a bunch of integrations with Nex.js or HTTP servers mostra you can embed in an HTTP server or run a um standalone uh so yeah we they're both they both have cloud products for depending on what you want to do um so very much they both

45:31

live in the cloud because I think everything ends in the cloud anyway but you can run these things locally for free open source that is our mantra so great question Wendell thank you okay let's bring on our next segment and we will get to some coding I promise but we're going to meet some monstras let me see if Paul is

45:58

ready except I don't know where my mouse is there it is um come on in i guess while we wait you having fun yeah man all 180 people in here what up if you're just joining us now I got to do this uh recap every 10 minutes or so uh thank you for being here this is AI agents hour like European edition uh

46:31

Marvin and I are in France this is Marvin by the way not Shane not Shane um we are in Strawburg yeah in France it's pretty tight we started the day with AI agent AI agent news essentially we talked about Claude V 40 versus 37 we talked about GPile um and this is they did the research article we talked about

46:58

MCP A to AP which is agent communication protocol that we learned and B AI from IBM bunch of freaking three-letter acronyms I'll be honest um but we learned about them and uh yeah so then we had Marcus come from Copilot Kit he told us and showed us the great demos um on the Copilot Kit dojo which is like all the different UI components they have and uh we also kind

47:29

of chilled and looked at the demos and answered some questions and now uh we'll bring in a Mashra Paul to the stream and he's going to talk about some stuff and show us off some docs changes and stuff paul welcome bud how you doing hi hi how's it going uh I feel a bit rushed to just uh joining an emergency join after having a drain blockage so I'm a little

47:52

bit unprepared i apologize i was I was all prepared and now I'm slightly unprepared how's it going good good good um it's been fun stream so far it's your first live stream huh with a second one i had one with Shane last time during the evening oh nice and Yeah and we're discussing about some favorite stuff paul's a kind of a frequent guest these

48:14

days you know um we almost doxed him the other day he was at a coffee shop and now he's here again um what are we talking about today Paul uh so I just wanted to pop in and just say we've got some uh new Docs updates that have been happening um that's for anyone who doesn't know that's kind of my my primary thing that I'm working on at the moment uh and so we just revamped uh the getting started guide uh so hopefully

48:39

now that should take you through absolutely every single thing that you need to do to get you up and running super quick um the next thing we're working on is um what we're calling with and I guess it's like with X so with Express so how you can use Master with Express um we're revamping the Nex.js JS

48:58

guides um they're a little more involved because as I'm sure you know there's multiple ways to use Nex.js whether you're pre or post 14 is going to determine whether you're using app router or pages router um but there's also differences between API routes and server actions there's some differences there uh for any Astro fans we've got an

49:20

Astro guide coming up to show you how you can integrate Mastro with Astro um and then I think we're also going to do a good old um React plus VET for any kind of typical SPA um front end backend situations um they're not all merged yet but they will be coming um I specifically I suppose am looking for any feedback so if you are using either of these guides you can find me in the Discord and just hit me up and we'll try and make improvements

49:47

where we can hell yeah hell yeah do you want to do we want to go through one of them like maybe the express one or um h good question uh because I'm going to need to spin up a local branch because it's not merged yet let me Do you want Do you want to talk amongst yourselves while I see if I can get this up and

50:08

running on my local setup yeah we'll we'll answer some questions in the meantime all 189 of you thanks for being here um I'm not going to do the recap right now i just did it i'm not gonna do it again but uh we got some comments here are there any upcoming updates planned regarding networks yes actually

50:27

Tony is going to post in Discord in the hashtag laboratory um thread probably tomorrow morning about our new agent network primitive it is really sick and we'll probably bring him on tomorrow or so on the live stream and he can give a demo and see where it's at we are Marvin and I and some other folks were discussing the UX and the design of it because it's not necessarily a chat UI anymore um we

50:53

don't know what it truly is it's some some it's a network right so um you are talking to a routing agent but then there's so many things that are happening so we're going to come with a plan and stuff like that that's cool thank you for that question i don't know seor so you got Michael Scott as your avatar which is dope

51:15

i'm not superstitious i'm just a little stitious you know um when I use Monster Workflows I keep getting rate limited by LLM calls is there a way to set delay between successive calls um I mean there there sure is a way we could do that for the user the problem is we can't be too prescriptive about things right you are the one who wrote that step

51:38

um we can do some type of retry or back off or delay or something but then it gets kind of muddy like those things should be for most things I would say we should do something I don't know this particular use case but if you're doing like parallel execution you need to have concurrency we do support concurrency on

51:57

parallels in workflows if that's what you're doing or if it's just like just all these steps are running and you're running into that stuff yeah you probably will need to delay you could also add delays yourself like in in userland but what I would suggest you do is go to discord in our discord that we

52:16

have a channel called uh feedback product discussion etc once you post this there we can link the whole team and we can like talk about like maybe we can look at your workflow and see what's going on but unfortunately not a really good time over this live stream to kind of debug it um so Discord see you there

52:36

all right Paul we ready yes I think so uh let me see if I can do a share screen on this uh I'm happy there is some funny stuff on this on this slide okay here we go um so in the docs on the left hand side we've got this uh framework frameworks menu so with express will be coming um so this is for integrating master into an existing Express application and an Express application is typically going to be

53:12

separated from your front end so it might actually work kind of nicely with the React plus V one we're going to do shortly but this would be if you've got an Express server or Express application running on a separate server you can drop master right into it um I've added this little call out because I did run into some issues with Express 5 um some

53:32

type discrepancies between the types package for express um I think maybe express and types express aren't quite aligned so at the moment I'm just saying run with express 4 you shouldn't have any problems um we're going to walk through installing the core master dependencies and then uh master in it so this is slightly different to create master and

53:55

these are probably some important differences to call out in the way you can get started with master so the way I'm kind of defining it at the moment is create master would be building a new project that's just master master in it would be to add Astra to an existing master to an existing project so master

54:13

in it is what we're using here um just walks you through adding the dev and build scripts uh ts config setting up your environment variables the usual start the master dev server and then just an example of um an express API route that will invoke the weather agent um and I think everyone in Mastra at any

54:35

given time always knows what the weather is wherever they are thanks to the the default weather agent um so yeah this is just one of many guides that's coming but all will probably use the weather agent to get you up and running awesome dude we had a lot of people like having existing express apps that uh

54:55

wanted to know how to how to set things up and funny thing in open source you can't just say it it's easy you could go just do it you know like that's not the right word you know you have to provide documentation examples even if we may think like oh it's pretty obvious you just import MRA and there you go you know like it's never that easy right um

55:16

what else are you seeing Paul like what with X is like are you most looking forward to I think the React V one um I think maybe this comes from should I the vibe coders but there's a lot of apps that are being built by um you know lovable um amongst others and they will be react spas um you know serverside rendering for has you know has a lot of good uh uses but

55:42

you know traditionally react spas was the way to do it um and so you know having master being able to be its own backend that you can call from the front end um and that also opens up a lot of extra documentation that we need to write around the master client because this is how you can query master from from anywhere um so that one's pretty

56:03

exciting and I think you know it just shows you know as I'm as I'm working through this it just shows that as Sam sort of mentioned yesterday is we do often get that question of can mastery be used with X and the answer is yes in in probably every case it's yes um and these with docs will provide an example

56:23

of I guess I'm trying to break them down into two or three maybe um pillars of usage if you like one being express which would be just a back end something like Nex.js or Astro or spelt would be like an integrated front and back end and then having react spa with uh master just as an API that's like your third use case using the master client so there's kind of three separate ways um

56:51

but we have everything we just need to make sure that it's documented and clear very cool very cool um anything else you want to tell the audience before you dip um there might be some changes to uh the model capabilities um we just wanted to make sure that everybody's absolutely aware that master can be used with everything

57:15

that AI SDK has although we might not have listed every single model it will work with every single model and then I would like to do a little bit of work around what happens if you don't want to use AI SDK for instance if you just wanted to use the open AI SDK on its own um so I'm going to try and create some

57:32

docs around that uh and possibly some other edge cases as and when they come up but if you do have a use case actually um that isn't using AI SDK and again hit me up in the Discord and maybe that's something we can look at yeah definitely we get that question a lot too it's like oh can you use MRA with X

57:50

model and yeah that answer once again saying saying it is not the answer right it's actually like providing the documentation and clear guidelines and stuff like that so Paul you're doing the Lord's work dude thank you really appreciate you being here no worries man uh I'll let you crack on with the rest

58:08

of your stream then all right see you bye bye bye that guy is cool man he's so nice yeah I like that guy i mean when you read the documentation when he reworked them just so that's awesome paul's also from Gatsby by the way for for those joining us 202 of you and we are now in our final segment uh which is automations we're going to write some code which is

58:35

fun um yeah I need to also change this thing to do this now cool dude we're so hightech around here um and then thanks everyone for the questions in Dis or not Discord in the chat um that's really cool um happy that everyone's here i will do a recap of what has gone down because that what you're supposed to do I guess um welcome

58:59

to AI Agents Hour European Division uh we are in Strawburg France this guy King of Kings or Kings of Kings what up dude um we talked about uh Claude V4 versus V3.7 via grapile uh blog post we talked about MCP ACP A to A B AI B AI IBM like all the IBS you know that's giving me IBS honestly talking about all these things um so that was really interesting

59:33

um and then what else we talked with Copilot Kit agui showed a cool demo of how you can you know like what's capable in their library to take AI agents and then put a bunch of UI in it which was dope and then you just saw Paul talk about like where we're going with these documentation and guides uh starting with you know using MRA with Express or

59:57

Astro or Nex.js or you name it we'll do it and if you do have opinions about things Discord our Discord is where you should go let me post that Discord link somewhere here and if you want to reach out to us and hang out there please do um it's a good time in there and we answer your questions so if you want to go come to Discord um it's pretty tight

1:00:31

there are 2100 members which is wild uh cuz we only started Maestra October 1st and there's 2100 people in there and everyone's really nice in there when you get to like a Discord kind of capacity things start getting like you know you start you start having some like community guidelines and breaking and

1:00:52

stuff but everyone's been very respectful and I think it's we also respect y'all and we respect your time um I know we are all busy and stuff we're doing our best but uh thanks for being on the ride with us all 213 of you now thank you um next thing we're going to do Marvin is we're going to freaking

1:01:13

code some stuff um so here's the problem i'm going to set the stage of what we're going to do this is not some like it's not going to be some like fancy fancy thing is literally solving a need that we have right now which is when an issue or a pull request comes in GitHub we um want to assign it to the right domain expertise at MRA and the same goes for

1:01:36

the Discord messages so many of y'all open up Discord messages um in our help uh channel um and we need to triage those right so you can imagine it's kind of like an emergency room if like you all know about the doctors right there's like a triage nurse that takes all the cases and then triages them amongst the

1:01:57

the people there um and then that's kind of how we operate except for example like you know I guess we shouldn't compare ourselves to doctors right it's kind of dumb but everyone on the team has different uh like specialization um and we strategically hired this way and we have areas of focus all over MSRA does a lot of things

1:02:16

so if we're gonna again if a if a message or an issue comes up we need to then triage it to the person that is like that's their area of ownership so what I'm thinking is we will one we'll do like a GitHub workflow that when an issue is created um we will assign like we will label it and then we will assign it to somebody

1:02:40

that's probably um that's probably where we will end up you know we do then we could also start reading Discord messages and see if we can do something there i'm not sure how to do that but we'll figure it out and uh Ward dude actually Ward ward's here uh I'm gonna invite Ward just so he can come and say hi because why not

1:03:10

um Ward Pete on the street um and Monster Discord is the best yeah it is we have another question here um do you know of a way to build an AI WhatsApp integrated chatbot for a website yeah well you just have to build a WhatsApp um app that has a HTTP web hook endpoint or whatever and then you can actually just use Monsterra for that i believe there were some community showcases i did Telegram and WhatsApp as

1:03:43

well um come to our Discord and uh yeah you probably learn how to do that there's actually many people in the Discord who are actually building that same thing so we'll see you there kings of Kings and surprise guest today oh wow ward are you with the horses dude where did he go oh that was fast well at least you saw him you know he was there

1:04:13

for a second oh he's back he's back he's back he's back there he is what up dude so hey uh doing good doing good i was just uh pairing with Daryl to get the release ready and now I still have to give my horse some hay nice so y'all may know there's Ward's horse which is dope let's also make Ward the focus on this thing huh imagine that

1:04:43

joining an AI show and you end up watching horses that's also this show dude this is AI agent Hour it's a variety show you know like we do a bunch of Man that's a beast wow that's a big ass horse so we have this like running gag here that being a a farmer is like the ultimate it's like the level above principal engineer right so Ward is our

1:05:07

farmer engineer for sure um I'm impressed by by the by everything he has to manage you know at the prime level that's yeah he manages all the the our open source and he's got to worry about this big ass horse I think most of y'all must have seen the A to video we did on Twitter um where Ward and I were shoveling horseshit uh this is the horses though by the way that is the horse so and he's eating hay

1:05:40

now that's so cool i was literally just there a couple days ago there yeah now I'm in a different country which was not that far away by the way yeah um 213 of you here i know if you're just joining us you just see a horse on the screen it's kind of weird right like you're just walking into some but we are talking about AI and stuff it's

1:06:04

just we're taking a little break with uh meeting uh our teammates's horse you know so yeah and he has three goats all right we got to highlight the goats real quick got highlight these goats look at that goat dude when we were recording the video the goat almost like attacked me the big one there's a big goat i think he's like in a pen

1:06:29

somewhere this two or girl goat it's this one oh this one yeah he tried to he tried to get me look he's trying to get bored right now that's another just chilling in the house oh this guy this guy's a this guy's a ter he's a terror right here he is a terror he destroys all my uh all my houses my fence

1:07:01

yep he's trying to destroy something right now so Ward tell me Tuesdays or what day of in MRA um Oh that's too close um basically it's a release day so every Tuesday we do a stable release and uh which means that we have to make sure that everything is working correctly like we run our alphas every day or we try to basically

1:07:27

whenever we do like a feature we want to get to uh people like in people's hands we try to do an alpha so we do a couple like we try to do daily but sometimes couple it takes like two days or something so we do some testing beforehand but then on Tuesday it's like Dday because then we have to make sure

1:07:44

everything works like uh make sure we didn't break anything make sure that um our cloud um uh product is also working with the latest release like um because every time we add new features to the playground we want to make sure that master cloud as well is up to date so um and we have tests running in pull

1:08:04

request and all those things but they they don't they don't do not always catch everything so um like and they can be flaky like today we struggled with some flaky tests so I spent with uh Darrow probably almost two hours like one hour hour and a half on like getting um things going but seems like we are

1:08:25

back on track the flaky test could be fixed but we will monitor in a couple of uh hours uh to see if we actually fixed everything yeah cool thanks for coming on Ward we're going to get to coding but uh we'll see you well we work together so we'll see you yeah make me those Discord bots that I uh that we need yeah yeah we're about to make it so

1:08:50

yeah later Ward thanks for coming all right and then they were back to us okay let's uh get back to work huh so that was cool that was a nice pleasant surprise from Ward that's super fun so I'm going to share my screen and we're going to I guess Okay there's 223 of you now i'm not going to do the recap

1:09:14

because you just came into the horse stuff that was cool but I'll tell you what we're doing now and then I'll do a recap in a bit we're going to build some automations so in open source also I I might open source this too because if you're running an open source project you're probably going to want to do the same thing right you need to triage issues to the people especially if you

1:09:33

have a team like we have a squad right a squad of killers by the way u so it's really important that we triage to people especially if y'all want us to fix something it needs to be triaged and it needs to be recorded and assigned and like I know we're a small team but we do have a process right like it's not a big process process it's more so very

1:09:53

flowing and free but we still have a process right but right now the process is me triaging but I went to Japan and I'm in France and I'm doing all this so there needs to be a me triaging all the time also I can only triage at a certain time in the day right but it should be real time therefore we're going to make we're going to make

1:10:17

something happen what do you think i'm excited let's do it so let me get into my screen share season so let's do this screen all right y'all can see my um code here oops sorry okay all right let's So what do we add in this folder right now uh I think we just make a new agent first i think it's nice to just make a

1:10:57

new agent I guess even though we may have this code somewhere else so um we'll do MPX create MRA at latest so we'll see how this goes what do I want to name my project we'll call it uh triage nurse all right we should have I think I I said this before mpm and Sasha have music yeah I bring some music wait seems you want a coffee or something oh no i'm good but if you Okay

1:11:34

I'm okay just my fifths for today just take it easy yesterday we drank five beers and then today we're going to be drinking five coffees but she's a five at the time also interwebs i don't know it's taking a long time there we are source let's just install everything why not yeah i'm I'm getting full every time with this one i'm pressing space every time and it's just shifting between the

1:12:08

to like hey let's add the example i already have the IDE thing sorry our I should explain this i should have explained this better i'm sorry y'all um this is like create MRA is like the way to start your project um you can we have all these defaults like we write we our default agent and workflows are like these weather it's a weather agent and a like a planning activity planner these

1:12:34

are like just examples you can get in and run with and then you can like you know select a a default provider this will install the like open the AI SDK model router for that uh model so like we selected open AI so we're going to get the AI SDK OpenAI module uh we added an example sure and then this question is really nice which is make your AI IDE

1:13:01

into a MSER expert we do MCP doc servers um that's we have one that's what we use we have an AI chatbot in our docs that knows the knows MRA and if you use it in MCP server you can then use windsurf cursor to leverage that MCP server to then write uh MRA code for you um given that we created I don't necessarily need

1:13:26

it need to use it that much but I can understand you know those who are just getting involved you know you should probably install it the reason I skipped it is I already have it installed globally so I don't really need to do it again and I use Windsurf just want to let you all know that I use Windsurf

1:13:42

okay what do you use yes sir godamn how could you no I'm just kidding how could you yeah it looks pretty nice so but I'm a surfer so Yeah that's what we do let me make this bigger it's almost the same you know so first thing I want to do is um we need to like we need to call some code when an issue like an issue is going to be

1:14:14

called so let's see what the interface is for that first like how can we and I know GitHub workflows has something right for sure um so let's look let's look that let's look that up so GitHub workflows uh new issue i should probably just use claw or something as well um events that trigger workflows nice issues

1:14:47

all right and then we have issue created or open open yeah nice and also do stuff on label which is nice if you want to send messages to teams for example yeah okay so now let's also open up this is MRA let me just get back into main branch this is our open source repo so I'll surf this and in here let's make

1:15:15

this bigger as well in here there should be all of our GitHub workflows here now we have like a new issue but this is like for labeling stuff uh which is fine but we kind of want to do this vibe um but I want to instead I want to call my agent as it's like as if it was a service right like it's not going to be here um whatever the hell this is

1:15:46

doing it's not necessarily doing that so actually let's do this um issue triage dot the ammo and I can copy a lot of this other so let's do that real quick and let's call this gh issue triage whenever we open and reopen i like those events we can just use those and then yeah we don't want to run on forks be a lesson to y'all don't run on forks um runs on this that's fine

1:16:22

everything look chill so far this turbo stuff it matters to us but it really wouldn't matter to you so just to be clear for everyone we will create a a Git workflow right this one will react to labeling issues mhm yeah and then we will try to send information to master service or we'll just run it inside

1:16:45

the the action itself is that correct yeah or we'll we'll run a script or something here directly here that would then call us but how do you test GitHub workflows locally do you know i don't believe oh i'm cheating and pushing one commit to the other every time oh really yeah that's what I do too it's

1:17:04

not chad does anyone know how you test workflows locally or we just have to make some up i mean we're going to write some tests anyway so I'm really tripping but uh I guess we just pray honestly you just run echo and you just say and then you run your script locally and then you see So in our thing here we don't need any of this because we're not actually calling

1:17:28

any like we don't need to check out the repository or maybe we do actually because we're going to run a script right but we don't need to build maybe we need to install yeah it depends on what we have inside but yeah we can install for now and this is like in some directory sure yeah um that's we're not even need like we're gonna need this I guess so we can put it somewhere

1:17:53

do we have a scripts folder there was one in the G folder yeah yeah the scripts okay so what if we do scripts and then we do our um call it gh triage issue triage dot that's just it and then within here we just have oops node i guess we could do like MPX right ts yeah um or TSX yeah tsx if we want to

1:18:22

run it into TypeScript or if you just want to have it yeah tsx and I just want to run like TSX directly yes yeah you're right this is just our script that's going to be in there and all this is fine i don't know what we don't once again we don't need this either mhm okay okay and then we're getting all

1:18:46

this from the environment variables which is nice and I really don't think we need this turbo either do we i don't think so no I don't think so i mean if it messed up i don't know about this i've not checked this to be honest so let's think about how does this actually will like how is the script going to work so we'll have scripts we'll make gh

1:19:13

issue triage uh a folder and then we're gonna do our index.ts in here index.ts cool now as you all see we got these environment variables that tells us what's like this is like our key and how we're going to do so first I'm going to grab these so when this runs in GitHub workflows these variables will

1:19:38

exist so I'll just put him right here for now um and then we will spoof that when we when we need to okay then we'll just have a main function that runs very jaw-ish very very nice very nice and then we'll just call it that's our script right um cool but as we know we need to do stuff in here now our master project is going to be somewhere else right like

1:20:14

I have my I just made it so from the perspective of this call it's going to need to do something with the data so first things first we need to know like let's just set up like a test harness here right we need to know like the issues title and description right from GitHub we have to fetch that and that'll be some context that we will know with the agent right

1:20:43

so that's one thing that's like getting data in y and then this also can work with the discord thing is like what is the data of this message right so then given a message you need to be able to triage it so let's actually pause here and pretend let's like spoof it on the other side and then we can come back to

1:21:02

this so we have our pretend or this is our triage nurse agent and let's go to agents and here we have you know I said we were going to have a weather agent like we always do but let's actually make our triage agent you know and there you go let's get rid of this for now i'm gonna I'm gonna real code this i'm not going to vibe code it i'm going to real code it um or maybe I'll just tab myself to victory actually but

1:21:33

uh so we'll have that we're going to get an agent We'll make our triage agent look how dude I think it was already trying to vibe me vibe me to a victory honestly i love that we know the intention already i know so we do need some instructions and then I don't know what kind of model would suit best for this like we don't necessarily need a big model it's not

1:22:00

really complex right it's more of like an assignment task so let's work on our instructions then yeah that's where this shit's going down you know looking for prompt engineers i'm not good at this man so there's there's two ways we could do this right we could prompt the triage agent with the issue itself right and it can then

1:22:25

use tool call to fetch the issue data and then assign it or because we already have in the script here we could already fetch it ourselves and then pass context along this is a good lesson why do you want the LLM to call the agent when you could just call the function here like for free essentially it would cost more money to pass it to the agent we're also

1:22:49

doing something very deterministic right we know what issue number we have to fetch it's not like we don't know um so that's why we're not we're going to build context before passing it in and so this will be pretty like a dumb agent right it's just powering its reasoning is coming from the system prompt or the instructions and that's the way it's

1:23:08

going to go so that's what we're going to do pretty simple agent actually yeah and so now we can like and then we can spoof talking to it as if we had the context right and then we can go try it out on some GitHub issues that we already have and see if it would assign it properly but we also need to do the assignment part too so that's

1:23:27

interesting we'll get there um pretty fun yeah yeah yeah this part is is interesting like how do you label the I mean we can have a set of labels that we assign to team and say hey yeah so let's write a cool So you are a triage assistant your goal is to that helps the Mastra opensource framework um assign newly created

1:24:01

issues to the owners of that area i don't know if that I don't know we'll see but uh yeah so now we could talk about what are the areas of ownership memory let's play around with that so we have like memory so okay like I'll let's also like give it like some context like what did all this do uh MRA is an open source framework for building AI agents sure we'll use that

1:24:37

um it has different primitives for building agents um let's stop there below are the areas of ownership and the uh MRA teammates that should be assigned or something okay so then let's just do I love how it's like going to autocomplete i'm gonna I'm down knows it knows it it knows but it's not correct actually but

1:25:24

but let's let's just do stuff that we can do off the top of our heads um so agents if I were to say just if it's agents related all things agents that's going to be let's put Ward Peters on it but then we'll need his GitHub and his Discord we're gonna have to do some mapping there you know but that's okay also they

1:25:48

spelled my name wrong um tools let's just put this on Daniel workflows tony Tony Coven memory duh tyler Barnes mcp daniel again i guess we'll put Daniel on it does MCP and tools tools yeah storage nick rag also rag yeah rag neck eye then we got let's see if we're talking about voice can be yeah we I mean we totally can then we also have like telemetry telemetry stuff

1:26:34

e yeah this guy is awesome this is a super nice guy i mean everybody's super nice but Ejan's a man you'll meet him again i think they met him once on the live stream all 249 of you welcome you're watching us bumble stumble and fumble through building i'm just kidding we're doing pretty fine right now um logging also you John um

1:26:59

yeah anything like observability then we got playground who is you yeah or config depends on I mean works both of us and we can say documentation let's put Paul on there we have docs and website I mean looks like yeah documentation see the website Kenny what else we have I need to find Kenny's last name I'm kind of embarrassed how do I not know it's Can you Can you look

1:27:34

that up for me Yeah Kenny I apologize also your name is a Akendai okay so you're fooling us every time adel Adel so I should put his full name kahindel okay um let's see if Okay so let's see so this is a very simple agent actually right um yeah it's but do do we want it to assign the or do we want it just to tell who it should be and then we assign it from

1:28:22

there yeah once again we have the control to do the tool call ourselves we don't need to pay tokens for it yeah wondering if I if we shouldn't just put label with like an assigned team to those labels and say you have I don't know Daniel is working on MCPS uh I know that Taylor has been working a bit we know that they own the label MCP or whatever but then we are not able to assign to people we are just

1:28:49

able to put the yeah so it depends on uh how far we want to go let's think what we what we want to do so like what are the capabilities or like what are the types of things we want to do we want to take take an input message that has uh title and summary or the description description then we want to assign it to a teammate yeah

1:29:19

then we may want to reply on the issue saying thanks for opening this issue CC assign teammates yeah okay that's a good one right and auto labeling them so because we can't auto label now and then label them appropriately we already have the categories so we can Yeah that's a good one and yeah I don't know if we

1:29:47

will go from that far okay so one other thing I need to do I need to stop sharing my screen so I can put a OpenAI key in here so y'all don't jock my stuff stop screen sharing for a sec and oh snap there it is i don't like okay 253 of you welcome to AI Agents Hour marvin you want to do a recap for them oh my boy so today we've been through a lot of things uh we've been through AI news where we've spoken about

1:30:30

a lot of things a lot of acronyms uh we've been talking about why Cloud 4 is not as good as clo 3.7 in some situations uh by reading an article a blog post from reptile and we also had a lot of fun with uh Marcus from the private kit uh yeah we've seen some horses if you goats yeah and goats also and yeah so this is

1:30:56

where we are and right now we are trying to build uh an agent that will help us triage our open source issues by automatically um assign them to the person that owns the area of the code so that you know if we can automate something we should probably automate this so this is what we're trying to do live right now so yep there we go good job dude that was great

1:31:20

shane would be proud honestly wow shane would be proud oops uh here we are so this is MRA new we don't need this weather workflow i know we installed it on purpose but it's fine um last Wednesday we did this uh our first like really big breaking change uh a little context behind it if anyone is curious even if you're not I

1:31:45

guess you have to listen to it so um we originally MRA I think a lot of reason we got became very popular is we have all of uh we have all um oh there's a bunch of messages we're going to get we're going to get to you in a second um we had all these different uh pieces of the puzzle like storage vector stores loggers agents

1:32:11

workflows etc and we did defaults uh which were good when you start like we had lib SQL like SQLite is a default but then we weren't explicit about it as you can see right here on line nine we were explicitly saying that hey we bootstrapped this project with the lib SQL store monster supports a lot of different storage providers and vector stores so like um we shouldn't

1:32:34

technically we should not have like enforced some something on y'all um so now you know you can use those stores also people were running into problems deploying to Cloudflare or Verscell because they weren't aware that the defaults were there it's kind of like too magic you know now it's like very transparent on what's going on so that was a huge breaking release for us especially with our loggers right like

1:32:59

some like Pino um I'm not going to say anything bad about Pino it's fine but like uh you know doesn't support in certain environments so like what do you do you know or it's like just large and in charge you know we wanted to make our bundle size very low because if you're going to go into a serverless environment you have to be mindful of

1:33:17

that so that's a little that happened last week 0.10 release was like this breaking change release but also introduced workflows as workflows sorry V-Net workflows is what we had now they're just workflows so our latest workflow engine that we're very proud of is in available and Marvin's actually working on some really cool visualization features on that so with

1:33:44

Yeah we're doing some good news here i hope you will enjoy the new experience um let's see let's run through some of these messages um all right Ward thanks for this i don't know what that means right now but thank you um so I have tested MSRA and it's very powerful i made some tests in comparison with Langraph it looks like it uses three more tokens than the same

1:34:16

implementation uh you I know this thing because you asked about our agent network which you're comparing to Langraph supervisor um we are literally about to release a laboratory so once again I'll explain to everybody in Monster Discord there's a channel called LA the laboratory i don't if anyone's seen

1:34:38

Dexter's Laboratory that's where it's kind of come from that cartoon where anything that we're improving and rewriting and experimenting on goes in the laboratory we'll have a version that you can start playing with it on day zero and give us feedback and you know all that um so we did notice that token

1:34:57

usage was a lot more but that is actually the nature of how the agent network was written before it was written with haphazardly running tool calls it will generate more it does a bunch it does it has way bigger context window or it has junk in the context window it's just not good which is why we never said anything about it or nor we always said it was experimental many people use it though they're okay with

1:35:23

it and that's fine but now Tony and Tafi are on it they're working on it like as if this is going to be the next big thing for us so um thank you for the question Michael and I remember the Discord thing so we are in Discord that's some proof um and we will be releasing some information tomorrow so check in on that we literally left the

1:35:45

meeting like half an hour before this stream and we were discussing about Yeah the agent stuff a very timely question yeah next question we have Jeet um I have a question how how can we manage userbased thread store of thread and messages um tough tough question because I you know I'm trying to understand um

1:36:15

I don't get this one so Mashra has memory which is essentially the abstraction over a thread and messages within the thread um you can use the memory methods on the memory class to get threads and update them and create threads etc what memory is is just a wrapper around the Mashra storage and Mashra vector so if you're picking let's say for example Postgress right like your messages will be in there you don't

1:36:44

necessarily have to use our methods to get it because you can just hook up into psql and do select star if you wanted to like mashra is very transparent we're not trying to like hide anything i guess we were before but now we're trying to be very explicit about everything so the memory class is probably where you want to go um I hope that answers your

1:37:03

question um but if not go to discord so and then Ward said "Act is a testing frame framework for actions." And thank you that's what we were asking how do you test GitHub workflows locally you know what when do you have a question pretty much you ask Ward and he just like honestly Ward's just listening to

1:37:24

us while he's hanging out with his ghost and he's like he's probably like just yelling like "It's act framework guys my god." Why did I leave the stream this is the guy i don't know i mean he has so many knowledge it's just just crazy ward is the man um thanks for the question Jeet and thank you again Michael for your question and thanks Ward for the solution thank you um 264 of you now

1:37:54

let's continue back in the code we have about 20 minutes um unfortunately I will have to continue um I will have to continue on this without the live stream because we actually need this so we're kind of running behind on where I wanted to be so we got to code more but thank you for the 264 that are here and maybe we'll do a recap in a bit

1:38:16

but not right now we're like really behind okay so let's go now where is we have some instructions we can talk to the agents and giving him some That's not it one second let me open up the playground this is what I just trying to pass a rose tree of an issue yeah just because I have too many windows open right now god damn

1:38:50

it uh let me just stop sharing real quick and get situated here i need to start the playground and I also need this there we go let's pull this up yeah I think this kind of project would benefit to many teams that you know that are small teams but that have quite a quite a big audience and that have to manage issues i'm wondering if for example if the compiler kit team will be interested in

1:39:16

this kind of probably just to have that I think everyone's going to need a tool like this right um but then you know the problem with some I mean for us we're like a small net team and the lines are very like cross or like they're very defined but it'll probably get well we guess we could throw in some curve balls later on like tough assignments you know but um

1:39:41

if you can see here let me zoom this in a little bit i'll close this get more space uh this is MRA dev playground so if y'all are new to MRA 274 people in here um thanks for being here but uh we're going to go we're going to test our triage agent um as you can see we wrote this kind of um system prompt and that's all good

1:40:11

and uh yeah well that's because I I'm zoomed in like even though we should I mean this is only a bit so I'm just taking it on the side marvin's in the funny thing is maybe we should make an issue and see if uh it'll assign it to you let's try this i try it let's try it let's try i'm going to create the issue and we'll

1:40:34

I'll test another uh issue in the meantime so if I go to MRA's um if I go to issues here um this one see so if I take this title maybe we this how we kind of like do that and then description maybe this is how we do that uh I'm really curious what this is going to do i will put it very row like no labels nothing just content and a title so we

1:41:22

can see so if you all can see me here oh got to do this like sharing thing so if you can see this I just put the whole issue and I put the title and so we're just going to let it roll i don't know what's going to happen but uh I'm excited to find out so let's see it said workflows but that's because this dude in the issue said workflows

1:41:47

but if I were to look at the as a human like that is not necessarily a workflow it's like runtime context right and runtime context is actually not represented in our list right so let's go fix that i think it's Darl for or I don't let's put Darl on it just for the sake of this we can change this ownership table later but let's say runtime context and we also forgot

1:42:14

Mashra server so Hindero Israel and we have Mashra server let's also just put let's put ward on that ward we're assigning stuff to you if you're watching mashra server okay so now if I save this the the uh playground re will re re um reload reload yeah just like and so as you can see and then let's just do this

1:42:45

again and the title word is like no don't assign it to me more work and this and let's see it's still going to pick workflows right yeah that's cool but it says runtime context now so it's going to do Darra great let's do another example um this one sure oh yeah this one ui is broken from Marvin and then we do just very small

1:43:26

description just for this it'll it'll get it i'm pretty sure it's the description marvin yeah right dude like this is not complex right what we did it's not complex right but it's kind of like the type of AI uh tools you can build that actually help like you know it's kind of dumb i mean I guess we could have made we could have made some if checks like if this text has this but that's

1:43:54

all BS we were actually using a very small model it's quite cheap to do reasoning on the issue and then assign it right so that's cool um now there's a bunch of issues that we got to let go and assign now oh this one docs one but I'm not going to put this doc down here it would be too um Yeah too explicit too explicit so

1:44:21

let's see um title and then loving MRA thank you for loving Marra Bino one two three two one and here's the description should do Paul no man that's Yeah so okay for easy ones it seems pretty good agui right like uh we don't have anything for this in our thing but it is me so I got to put that in there i should have also a fallback like in case nothing matches just reassign to

1:44:58

Yeah yeah yeah great great point in case there is no um proper owner or area of ownership assign it no assign it to Ward Peters what do you think about that W um okay and also if people 282 of you welcome we're making a joke about Ward that's because he's watching us right now so here's him saying no um and he was just on actually so it's pretty funny but uh

1:45:32

I think now Marvin let's do a recap for people as I keep cutting yeah so today we've been through uh a bunch of things so we started with AI news uh we have been through some uh articles about new acronyms that are out in the wide like ACP uh and another tool called B AI sorry and so we've checked those out uh

1:45:57

we've also read an article by grapile uh which is an an AI that automates pest reviewing and they were explaining and they were explaining how cloud um 4.0 is less powerful than cloud 3.7 for them in their own use case uh then we've met with uh Marcus from Copel Kit which is a great UI library that works out of the

1:46:26

box with MRA for building uh UI around agents and then we've also talked to Paul from uh the Mastras about documentation stuff and then we've seen some horses from the world and yeah and now we are trying to build an application that will help us manage our issues on the open source repository so the idea is that every time somebody creates an issue uh

1:46:53

it will automatically assign uh the right people to to the issue so that uh they can fix it so basically it's based on areas of ownership and so we are trying to build an agent around that and what he's doing right now he's experimenting with with the agent so almost doing eval but as a human yeah just testing and we could do and we will probably have to write evals for this thing and that's probably good for

1:47:21

um that's just good for in general like and we will we'll do that on live stream or something right now I just want to make something work make it work make it right make it fast yeah that's our motto around here which I guess is everybody's motto honestly um I don't know Peter Ducker is that the guy who made that chad if you know let us know paul okay

1:47:42

that's good now we have to say something that doesn't exist right so um guardrails just say guardrails oh yeah guardrails feature description i want guardrails feature i want guardrails oh oh actually that's not bad because Ward is working on guard rails right and that's cool because it is a sub feature of

1:48:17

agents honestly he is working on it so we should make we should be a little bit more you know like like guardrail slash input output processing but this is not necessarily just always war right so but let's just for now can be the entry point and then the dispatch can figure this out at some point okay so we have some triaging mechanism now

1:48:46

let's go on Discord and put some messages through the test as well um yeah it's probably even Yeah it's less structured because here Yeah it's less structured but maybe we can use the same agent right can probably use the same one let's go to Discord my Discord will be popping for sure lot of stuff to look at yeah yeah let's use this one um Oh you also have

1:49:12

the context of the image and all so yeah that would have been fun to Yeah this dude needs to update his CLI that's the issue right but um and it would be cool maybe we can build this thing to answer questions too like just like I don't know let's not get ahead of ourselves this thing can become really sick too but uh let's see like the

1:49:36

reason why but then if if yall looking at this the reason is like he's on 0.10 like I said everything got released at 0.10 every module went to 0.10 so uh you

1:49:47

got to upgrade to 0.10 but let's see what let's see what our triage would have done i don't think you're going to have to structure it just Yeah just put it in here yeah just to see yeah yeah there's no specific area for core upgrades that's fine it is my responsibility for all this yeah but it it was by luck right it's because you Yeah because core doesn't match

1:50:13

anything but maybe we can have something that's cuz Yeah he was just mentioning like MRA core library and stuff i mean there's not much context on this issue if you check this one it's like hey when I try to pull stuff it doesn't work so yeah maybe not the best token usage this Oh yeah this is maybe the screenshot would have helped this is what Michael

1:50:31

was uh he remember he asked this question let's see if Let's see if like usage yeah cuz Oh yeah we don't even have agent network on here too let's go change that real quick oh yeah network Tony yeah so let's see if given it involves the agent network and potentially the agents should be assigned to Tony who oversees the agent

1:51:04

network and also to board Peters who manages agents i will assign this issue to Tony and board yo this thing's cooking and we're not like honestly this thing's not it's not bad like cuz that's like first line of defense right this is not supposed to solve the problem it's supposed to just facilitate facilitate someone reading it okay that's nice

1:51:24

pretty sick let's look at another one fail to run mosher after PMP and be cool to find something about memory but there is fixing everything so cross thread memory here we go it does yeah let's do this cross thread this one this is going to be cheating though but it already has memory in it but it's okay yeah just

1:51:48

just therefore it is a sign okay issue with memory are obvious because it's mentioned in the machine itself every time so yeah issue with storage memory so what's something that's ambiguous like yeah in my area I think that's a good one let's try this one i think the one that would be complicated is oneliners with a with a screenshot yeah well we could do screenshots as

1:52:29

well not yet in the playground they're they're working on that but via the API like we could co-pilot kit tools events that's incorrect yeah I mean it's trying to assign it to Daniel but it needs to assign it to me so co-pilot so if we did that same Yep that's so cool man just of this stuff is so nice

1:53:07

i while I'm here I'm going to CC Marcus because uh um we also made a channel for co-pilot kit i'm very curious about about this one i will try this out i didn't take the chance to i will definitely sorry now now I'm just stuck reading stuff okay so we have um these Okay first off I got a postwards little comment here these AI agents are here to get me

1:53:45

they're here to assign you work my friend um let's do a little recap on like the project so far we have now an agent that can assign based on a title and description or essentially just a body of text it can assign who we want to look at the issue right so then our next steps would be for GitHub we'll go put

1:54:08

this script in place and then we'll do assignment and as well as actual GitHub assignment we don't necessarily have time for that we have six minutes so that's not going to happen yeah um maybe I don't know what you plan after that but maybe uh we can show the tools for agents because I assume this is how you you Yeah you would do it or you would do a workflow actually you could do a tool

1:54:32

eventually or a workflow we could do a workflow that actually runs i want to do a workflow actually just um not having a real one but just showing console log that something is yeah so we're going to have this agent no problem and so now we have we kind of have these working for us right but the next thing is like we

1:54:55

have like a multi-step workflow that we can run which is given the issue number or given the like maybe it's just given the text right given the text well technically there's different modes right one is GitHub and then one is like uh so we have to maybe this first we'll just do GitHub right and so in in that case actually so okay this is here that's chill but if

1:55:20

we go into I don't want um I need to unshare my screen for a sec cuz my API keys there needs to be some plugin when you live stream that just masks like um keys for checking those yeah I remember somebody on live stream it was a few years ago he was using Chrome extension just to hide the keys just so that it does not mess up

1:55:46

when he changes tabs because sometimes you're just here coding and just command P you type something and boom you your product I've definitely leaked some keys I'm thinking you know for sure I did last time demo you did it was like okay I need to rotate this one now that's true um so in this case right like if we're in this script right I'm going to import master client you oh yeah my

1:56:15

um screen one cool so I can import master client here and then we can just talk to um master client js and uh stories I guess yeah that's annoying i mean if we don't have time we don't have time it's just Yeah or we can just grab it from where it is one two client client SDKs starting to get hungry yeah good thing we're almost done it's lunch time

1:57:00

uh clientjs yeah while you are doing this I just want to highlight this package is so awesome like I'm using it in the workfl is so awesome we use it in the playground we use in the cloud so convenient to yeah just retrieve information from the inner system so like we're going to deploy our agent as HTTP server right now it's the playground is running the mashra server on

1:57:37

4111 so if we could set up this client here and we can get our agent uh which is the triage agent i think it's called triage agent or triage what do we name it triage agent so we get the triage agent and then we can do essentially context buildup right yeah this is where we need to fetch the title and body of the issue

1:58:08

then we're going to pass it to generate here and you know it'll give us some text we can do this with a output which will be structured output for this um I believe we have to use JSON schema here yeah yeah yeah because we're on the the client API so this would be some JSON schema um and then maybe I don't want to do that right now but I forget how to do okay maybe this will do it for me so

1:58:45

it's like type object oh yeah this one you cannot use scheas right it's just JSON schema yeah because it's going over HTTP unless you like serialize the We could serialize Z schemas we haven't done that yet um yeah title let's not even do required and let's say we want the assigne and the reason yeah yeah that's yeah

1:59:10

that's a good that's a good one reason can be interesting to know if you want to track stuff and understand more then you know we'll have our thing and then after we have that we need to then do we have the label we can label the issue based on the primitive so maybe you also need like labels potentially or the area depends on Oh yeah or area of can have a matching maybe product

1:59:34

area which is just type string and there we go that's dope then we would use these to assign labels as well as assign the person to it what if we had multiple like we had before he mentioned you and W so I don't think you can we have the output schema that is defined so it should bring back maybe like in our system prompt we say

2:00:02

like no there's only one assigne per thing don't don't mix and match and stuff but now this has become a traditional software engineering problem right like I have to go call an API myself and then I have to do another API call and then I'm pretty much done with this this piece right the next thing is

2:00:20

how do I this one's easy right or easier because the interface to get into it is this GitHub workflow this issue triage YAML right where we're just going to call a script which is tight right the input data is coming from GitHub and we're good discord on the other hand we need to listen to that so to different rooms maybe I don't know different channels and there

2:00:47

and we have like a Discord bot we have some prior art code that um we can steal for that but alas I will we'll have to stop it here because we are done with the show for today but to be honest we're not so far from the end i mean for the audience it's like interning the auto kit SDK and passing some data it will just work like in half one hour or

2:01:10

something but yeah yeah and what's cool is like we're going to and you'll see like there'll be a different type of uh attention to issues now once we release this right will be more organized now so yeah do you think we should put this code in the laboratory for people that have followed the stream just so that they know that we've finish this one

2:01:29

instead of Yeah once I can uh I'll just post it on Twitter when we're done and then maybe we can make it a little bit more generic too um but uh that's a good one i mean I'm excited about how it will work later yeah I'm more excited about the Discord one too so that's like our next step so as I said earlier like I have to actually finish this today so it's not going to

2:01:53

be on the lit live stream but uh it was a good opportunity to to start it here and stuff and show the audience everything uh we are going to end the stream now we'll just do one last recap of everything there's 326 people here thank you for coming um that's wild uh that's a wild number of people um but just to kind of recap we are the AI

2:02:15

agents hour EU edition we are in I'm visiting Strawburg in France uh visiting Marvin here uh we talked about AI news first thing we talked about was uh Reptiles uh blog on if Claude v4 Sonic 4 is better than 37 at fixing and finding bugs the answer is no you should go read it um and then from there we talked about MCP ACP A to A uh B AI IBM threeletter acronyms and

2:02:54

they gave us IBS um so that happened then we invited uh Marcus from Copilot Kit uh he went went through what AGUI is what Copilot Kit is his origin story which was really nice and then he gave us a demo of the co-pilot kit dojo which we've seen before but you know for uh entertainment purposes we were very genuinely freshly excited um and then we

2:03:19

started building or then we invited Paul yeah he showed us the what's come coming new in the documentation how we uh want everyone to know that you can build MRA with X and then maybe even for like we talked about models a bit like we support all these models so we need to have the documentation for it then Ward blessed us with his uh animals he has a

2:03:42

horse and three goats and we're just talking about the release and our release process which is today we have to go back and do that and then finally we started building this automations where we need to assign uh issues in GitHub as well as in Discord to us as the engineers so and it needs to happen

2:04:00

automatically and we're almost there so uh thanks everyone for being here this is really fun um peace