Dry Run: You've Got Mail
Presented by: Craig Dennis, Sunil Pai, Kate Reznykova
Originally aired on July 16 @ 12:30 PM - 1:30 PM EDT
Welcome to Dry Run. A live open mic for featured devs where we dive into what they are thinking about and what they're cooking.
Today's guests:
- Sunil Pai, Principal Systems Engineer
- Kate Reznykova, Manager & Engineer
Hosted by: Craig Dennis, Developer Educator, AI
Follow Cloudflare Developers on socials at:
- X - @CloudflareDev
- Bluesky - @Cloudflare-Dev.Bsky.Social
Learn how to Build with Cloudflare at: developers.cloudflare.com
English
Transcript (Beta)
Actually, Sunil, why don't we have you introduce Kate? Kate Reznykova is the new engineering manager of the agents team in Cloudflare.
One of my closest friends, and the plan is very much for her to do all the work so that I get to take the credit for it.
That's how we've lined it up. Pretty sweet deal, I think, no? It's a no brainer.
I was like, this is a job. Sign me up. Yeah, I was like, hey, Kate, you've been living the VC life.
How would you like to do more work for less money? And she said, yes, bro.
You know, you live for this. You dream about the moment when a guy comes to you and say, how about that?
And then you're just like, life is different from that moment, you know?
Are we into months? What month? First month? Second month?
I think it's a month and a half. Yeah, nice. Congrats. Thank you. Been shipping?
I have seen you shipping quite a bit. There were moments like that. Yeah, I think it's impossible to come to Cloudflare and not ship.
I think everything around you, every fiber of a company, of the team is just like, do something.
And you just feel like if you don't do it, it's out of nature. So I think for me, that was the first thing that was on my mind, for sure.
But yeah, now we're a team.
Yeah, it's growing. It's growing. We are currently three people, including us, which is a great improvement from one person team.
We've done the first step.
So we have Sunil, obviously, we have an amazing colleague of ours, Naresh, who joined us actually months ago.
He's pretty fantastic. And you've already seen some of his stuff, like the coding agent that we sneaked into the containers launch.
Oh, that's so cool.
And you'll see more of his stuff very soon. Yeah, so hello, Naresh. I want to say hi to you.
And yeah, we are growing. We are hiring more fantastic people because it feels like the roadmap is just moving and growing every day.
And we are very invested in agenda future.
So if anyone is interested, we have a rec open on our team.
You can ping me or Sunil anywhere on any platform available. And we'd be happy to answer any questions and sort of steer the process if you're keen to work with us.
First, though, round of updates. Some things have been happening in our lives.
Kate, congratulations to you and congratulations to me. So this is to you, yes.
We just became citizens of the United Kingdom. Congratulations. Last week, I went to Newcastle Civic Center and I had mine done yesterday.
I wore a suit, like I have like two suits, and I look for opportunities to wear it.
It was really nice, this big powder blue suit.
I absolutely love that one. But pip pip cheerio in it.
The thing I've noticed is that the food, all my food is now way spicier, even though it's the same food I'm eating.
I do feel the need to say sorry a lot, even though I've not done anything wrong.
It's just very classic assimilation, I think, is happening.
I started calling people mate in all my messages.
And now I'm saying, sorry, mate. How are you, mate? And suddenly everyone is a mate.
That's right. Transition period. Yeah. I didn't realize you had to earn that right.
So congratulations. It just clicks, you know, like they give you a certificate and you're like, cheers, mate.
Oh, the thing I've been doing is when I go to the metro and I'm on the escalator, and I see someone not standing on the right side of the escalator, in my head, never allowed.
I'm like, why don't you go back to your own country?
But I agree with you.
And the same happens to me every time I walk. And when people don't walk on the left side, I was like, why are you doing this?
This is the law in this country.
Why do you do otherwise? You take these small things so seriously. It's quite funny.
One thing I want to ask this question because this is something that blew me away that I think everybody should know about this.
I was in London. And I was standing next to some people and a fox.
An actual fox walked in front. I have never seen a fox in real life, except maybe at a zoo.
And it was like, like as if it was just a street cat just walking.
And I was like, yeah, yeah, yeah, mate. It's a fox. I was like, are they just all over the place?
I was someone. No, no, no. They're all over the place.
There's so many of them. So you'll see them, especially in quieter places.
You'll see them at night because there's less traffic. When COVID happened with the lockdowns, they were all over the place.
It was crazy. You'd see them like street corners, everything through the day.
I think they were confused.
They were like, where is everybody? But you see foxes everywhere in London.
And by the way, you're right. It's magical. The first few times you see it. After that, you're like, yeah, these are vermin.
They're coming and pissing on our plants and this and that.
Are they like raccoons? Yeah. Well, yes and no. Wait for their mating period.
Then it sounds horrendous. It was funny. Yesterday I was in the part of north London and I was picking up something from a friend's house.
And it was like 9, 10 p.m. And the foxes were gathering in front of the house.
And the horrendous sound was like a baby crying or a person being hurt. And you were so confused because your instincts are like, what is this?
Someone is in danger.
And no, just foxes mating. But it's the first time I learned about it.
It was my first year in London. I remember I was so scared. I was going to call the police.
Someone is in need. We need to help people. Yeah, it's this big high-pitched squealing thing that really carries.
It gets very annoying very quickly.
I guess that meme of what does the fox, wasn't there a song? What does the fox say?
Something like that. So it's not nice. It's not particularly nice. I wanted to talk to y'all today.
Some stuff has been happening. There's a pretty big week.
We just did this last week. And I think that some stuff landed. Yeah, seriously.
We shipped multiple features in the last week. And by the way, I'm just so happy because they managed to do this.
Again, like I'm saying, I'm happy to take credit for it.
But I took like two days off and they were still shipping. So it was really nice.
That's what happens when you have a team. You can take days off. Apparently so.
Who knew? Yeah, it's been fun. Go for it. We can just talk about the things we shared.
So the big one that I'm very excited about is a thing that we had actually promised, I think, during last session.
Which is you can send email to an agent now.
You literally wire it up in your Cloudflare dashboard. And that's something we want to make a little simpler.
But every agent you can define an on email hook into which you get your emails.
You can reply to them. You can analyze it.
You can connect to them. That's the thing. Because every feature we add to agents always works with every other feature.
So what that means is you can connect it to MCP servers, your internal backend, LLMs, other workers, whatever it is, and reply to emails.
And you can have a thread. That's the other thing, which is every time you reply, we make sure that we maintain the thread.
So in your email, in your actual email inbox, you'll see a thread.
It seems like the simplest thing, but bro, like the world runs on email.
Like it just does. Yeah. Yeah, for sure.
So by the way, this PR was Kate's PR. Again, like Kate actually, this thing, and like I said, I show up for the last 5%, clean up a little code, and I'm like, and everyone's like, thank you, Sunil.
I'm like, yeah, cool. Happy to take credit.
He's too kind. He's always adding the magical touch. I am, but that's just it.
I am very kind, and I do add magical touches. I'm not denying that at all. Yeah.
No, but I think it's just, I think it was a great idea to do that because essentially it unlocks such a vast majority of the use cases for the agent, because people do like to like email things.
People like to get reports. People like to talk to their emails, you know, if they're in transit or whatever.
So I think it's just like agents without emails is not the same, and definitely something that we are passionate about.
That's how we want to communicate with systems. So it was a no-brainer to do that for sure.
Yeah. So we've been talking about this for a while, right, about like addressable agents.
And so in my head, by the way, the use case I have is I want to make a pen pal agent.
I'm absolutely going to develop a relationship.
So I don't know if you know, but XAI debuted their new model, but the relationship they have there is they have an anime waifu.
Okay. And I'm not interested in, I mean, people can build that on our agents if they want, but that's not what I'm interested in.
What I want is a nerd friend in Australia who tells me about their life and like what's going on, right?
And I don't even mean like Sydney.
I mean like in the middle of the place where they have those train trucks and stuff like that.
So you can build that right now. But the other thing about the addressability, you can now make a contact in your iPhone for your agent or for like agents.
And that for me is exciting because we've already demonstrated that you can make phone calls to agents.
It now has an email address. What I'm learning is that there are companies that operate as post boxes for you, right?
You can basically run a post box, and what they do is all the mail that comes in gets scanned and emailed to you, which means soon, I don't know if we will want to ship this, but it wouldn't be too hard to do.
You will be able to give your agent a postal address as well.
So we're at this point where like, and they're all the same thing, by the way.
Your emails can reference past phone calls or past snail mail.
We'll get to a point where we'll be able to send you a letter as well from an agent.
I think that would be cool. But email is like such a big deal because it shows that we weren't, we are not full of ourselves when we say these things.
We're like, no, this is usable in production today at Cloudflare scale.
So that's nice.
I feel like it's a big unlock for, I mean, there's crowds of people that only trust email, right?
Like there's populations of people who will, this is a trusted source.
It's coming from me. If I send it this way, it unlocks things. I love, I use one of my favorite like inbound things that I use for, we use Navon here.
So like when I have expense reports, I send an expense report and it goes and it builds the expense report.
I think that's such a cool input. And like, I wish that we did that more, right?
Honestly, any startup founders, and I say this as an startup founder, that is one of the big absolute pains when like building, like you need to collect all your invoices, this, that, yeah.
Now I have a little personal assistant.
I just keep, can keep sending these things too. And you can then, like I said, because it has memory of all these things, at some time you can send an email saying, Hey, can you collect all the invoices or can you add them all up?
And can you send me all the details? Because I need to forward it to my accountant.
Of course, the accountant is also going to be another email agent on the other end.
So all of these are bots talking to each other at some point. You got it.
NJ Meyer here says, can't wait. Can't wait to, to use email, my own agent. Great work folks.
It's awesome. It's really good. We want to do a little more documentation and guides around it, but it is usable today.
It is released. You can use it today.
It's actually quite cool. If you want to like play around in the meantime, while we don't have a full docs, you can play with example and figure out how to connect things together.
That's right. It's in our examples folder. So yeah, I think that was the big ship of the last week.
And it's one of those things. It's not shiny because it's not, I don't know.
It's not like a new iPhone app, but it is.
There are no human beings without email addresses anymore. It's right. That's the dam of the feature.
It's like, yep. Everyone, everyone gets to use this. It's pretty good.
And for human in the loop, it's, it's important, right? That's an important step too, right?
Like send this, wait, wait for that email. Once the email goes kick off the next step and whatever the flow is that you're, you're automating with your agent.
That's super cool. That's exactly right. Cool. Next thing we shipped is what we are calling queues.
And it's not to be confused with Cloudflare queues.
Like so Cloudflare has a queuing system, which works at, again, massive scale, some bajillion messages all over the place.
No, a use case that came up internally.
This was because of a feature request, shout out to Jacob Hans who made it, is inside an agent, when you're doing like a number of things, all you want to do is for them to be almost like executed sequentially, just follow up items, et cetera, et cetera.
And I don't want to go into his specific use case, but we found it happening as a pattern enough.
And you could use Cloudflare queues for it, but it turns out that it's throwing a jackhammer at something that a little tap would do, right?
You just, so it's the simplest thing. It's like scheduling, except you don't really need a time.
You just say .queue task. And when I say task, you just pass it a function name and the arguments to be called.
The nice thing about it is that it's persistent.
So once you do that, if there's another task that might hibernate the entire durable object, maybe it will wake up like in the future.
All those queued tasks will still execute in the future.
It's not like it's just doing a little async JavaScript or anything.
No, it's being stored in a database.
It gets flushed out, all of that. So extremely useful. Again, the nice thing about the agents SDK is that it's just building out this utility belt of all these tools that can be used.
Right. So the same way that we have like this.sql, I've got my own SQL database in that agent.
Now I've got my own queuing system. Yeah, pretty much.
Is that a way to think about it? Yeah. And every agent's queue is its own queue, much like everything else we do with agents.
It's not in a global queue somewhere, et cetera, where some other items might block it.
No, everything's happening in its own little container.
One of the use cases that came up are, let's say you're talking to a third party service, you're posting updates to it.
For one reason or the other, you can't send, either you can't send too many things to it at a time, or you can't send more than one thing at a time for whatever reason.
I don't know, it's a distributed system, whatever. You just use this queue to say, yeah, just send, make sure that you're doing this one thing at a time.
If you want to do 10 things at a time, then you store 10 things in one queue call and you do that, et cetera.
It's just a lightweight thing. The whole thing about the agents SDK is that people shouldn't have to rewrite these things from scratch.
And by the way, that's going to be a big theme of our roadmap going forward.
But that's kind of how I think about why .queue is so useful. Nice, it's like a batteries included approach.
I like it. Yeah, and I think it's all like, all these things is just first steps in specific features and use cases that we generally have in mind.
And this is how we're going to go. We're gradually just going to expand and build on top of that.
So you basically have more tuning to create whatever agent you have in your head.
Yeah. Awesome.
We had a question come in before we jump to the next thing from Andrew Barnes.
Is anybody building knowledge graph ingestion pipelines on workers or agents?
Any way to make it more straightforward? There's a big $20 phrase there.
What is a knowledge graph ingestion pipeline? Should I Google it? Wait, let me type it out.
Knowledge graph ingestion pipeline. Sorry, bro. I'm like a JavaScript guy.
I've never worked on anything. Oh, it's like ETL. Okay, fine. I get it.
So I guess the answer is I don't know if anyone specifically is doing it, but absolutely you should use an agent to do it.
The nice thing is all that it happens in one process that you can connect to how many other data sources of input and output that you want.
Of course, the best thing about agents is that they can run in the background.
And you can do it on a schedule without having to, like, keep your browser tab open or anything like that.
So any way to make it more straightforward?
Well, the best thing you can do is you can file an issue on agents SDK.
Tell us about your use case, and we are happy. Bro, like, we are very extremely online.
We will get to you, like, very quickly. And there is actually, you know, I see the word pipelines there.
We actually do have a pipelines, capital P pipelines product as well.
Yeah. You just got told something I hear often is that you were the goat.
Not the fox, the goat. I mean, he's unbelievable. The guy's magic, you know.
No, when you spend a career taking credit for other people's work, of course.
I am the greatest of all time. I just did. I have a call with Kenton later, but I thank him for the hundredth time for making visible objects.
And I'm like, good stuff, man.
Oh, there is.
So we had email in this last week. Oh, I think my Internet just dropped off.
We had email, and we had queues, and there was another thing that happened. Some sort of context-y thing, right?
Yeah. We had the automatic context wrapping just for people who want to do custom methods with Agents SDK.
It's a small thing, but it gives you much more freedom and much more flexibility when it comes to working with the custom methods.
And I think the important thing to highlight here is that, you know, we've got a bunch of these small things in our pipeline ready to ship.
So for everyone who is, you know, looking for specific use cases or certain things to be exposed on it or implemented in Agents SDK, I think right now is a good time to ping us about this because, you know, as we are formatting our product roadmap and just adding more things and ramping up, we love all those little requests.
And specifically what Sunil said, use cases.
Like, how do you use that? Like, what is your agent doing?
Like, that helps us just also wrap our head around of, like, how can we make them better?
Like, not just deliver you one little specific thing, but how can we look at the whole thing together and figure out, okay, if people are doing this, maybe a more global, widespread approach is going to make lives even better.
So that's just like a shout -out to everyone who is having any use cases with Agents SDK.
We're here to listen, and we want to add more small little improvements here and there while we're shipping big features behind the curtain.
Specifically with GetCurrentAgent, it was actually a miss on, like, well, actually my part because everything that I was – so the goal here is how do you get what the get – what is the current agent and potentially what the current request connection or now email is at one point of time.
And if it's not been sent to you through – as a function argument, how would you get it?
And it's distributed computing.
You can't just assign it to a global, right? Like, it just doesn't work that way.
And the workaround for that is using async local storage, one of my favorite recent JavaScript features.
But we hadn't tested it heavily enough with, like, custom methods and RPC and stuff like that.
And that – and I think if no one had filed an issue, it would have, like, stayed that way because all of our things are, like – I don't want to say we just do golden path stuff, but, like, it's where our focus is.
So thank you to – and again – oh, by the way, this is yet another one of Kate's PRs.
Thank you, Kate, for also fixing this.
He's giving me too much credit for this, guys. It's unbearable to work with this guy.
I mean, you can go see the PR. Like, Kate did this PR as well. But I think, yeah, what Kate said is right, which is now that we have a team and we have the headspace and time to focus on it, it is such a great time to influence the direction of the SDK as well as make demands for things to work better in general.
And, I mean, we use GitHub because it's an open-source project. It's not locked away in an internal Jira anywhere.
So just carry on. Come there. I've been loving seeing that, seeing all those PRs come through and all the issues that people actually share in use cases.
So, you know, I think that there's a lot of – there's been so much confusion in general in the sphere about what an agent is, and I love watching this thing form.
And it's like, you know, the container for how you're running these things.
And being able to get the current agent no matter where you're at is also so cool, right?
It's like the this. It's like a global this almost, like for you to have access to go do all of the other new features that have been added in there, get a hold of the agent wherever you are, which I think is really, really neat.
All right. What else?
Something else happened. I mean, this is a week. This is a wild week. So the big one.
I actually think it's a big one. So I consider this feature to be step one of, like, 100 things we need to do here.
So we landed basic observability hooks into agents.
What does this mean? It basically means, like, we log function calls and things that are happening.
And you can add your own, by the way. If you do, like, console.log of any object, it goes into workers observability.
And I think there's a way to take that to other providers.
The big story here is, how do you know what your agents are doing at any point of time?
Okay. And we don't want people to reinvent analytics, et cetera.
So we start by giving a bunch of hooks. This already enables features like, I don't know if you have ever used FiberClient's agent dashboard.
Great product. Shout out to the team. They have a thing where in local development, and I think it might work in production, but I haven't tested it out there.
You can see every agent, all the state that's there, what MCP servers they're connected to, what functions are being called.
And it shows it, like, there are different tabs, all of that.
And to enable that, they had to, like, add their own hooks onto an agent and override the class.
So shout out to them.
They actually inspired the solution where we have just, like, yeah, that should just be a part of agents directly.
To let them, not just them build a product like that, but many people to hook onto those things.
So that's the first step of this.
And also it means automatically this will now log stuff to workers observability.
So if you just literally upgrade agents SDK and deploy your code again, you'll start seeing way better graphs in your observability tab.
But like I said, I think this is step one of so many things we need to do.
And the only way to do it is like slowly piece by piece by piece.
I think we'll have a lot more to say about this.
But yeah, shout out to Naresh for actually landing this, I think.
The narration is there. And our observability team, for sure. Yeah, yeah, yeah.
Zeb actually, on from the observability team, did a lot of the work here.
And we finally got it finished. By the way, another reason we had to hire, because that PR was open for a while.
But Sunil Bhai, that idiot, had, like, no time to, like, review and do stuff.
But it finally got in. You got an important question here.
Where do we get the agents merch is coming to us here. Adam's asking. Oh, my head is just meters away.
Actually, funny enough, I have, like, two next to me that were recently made.
Well, the only way to get is join the team. Oh, there we go.
Nice plug. That's a sweet spot. But yeah. I'm going to drop the... Yeah, drop the link for the rack as well.
Thanks so much, guys. Join the team. But I think we'll try to distribute it a bit more.
Maybe next event we do related to agents, I'll take it upon my responsibility to supply some agent swag.
So, yeah. But for now, limited collection.
Nice. Awesome.
I do like it. Agents merch. Honestly, like, if we, you know, if we do the thing where we...
Workers has always had this theory that we work like a startup inside Cloudflare, right?
The bigger Cloudflare company. And I want to say the agents SDK is a startup within a startup, which is to say we look for any way to make revenue.
Opening up a little side business of selling T-shirts and caps for a highly appealing brand.
I don't care, dude. Yeah. From what I learned... No, no, I'm just saying from what I hear, other people in AI are being given a hundred million dollar bonuses to join like massive meta and all of that.
I would like to make some beer money by selling T -shirts and caps myself, I think.
I don't think I would break my employment contract if I did.
I think you should make them handcrafted.
Only handcrafted, you know? Like I don't take anything else. Like I don't need the machine gun sewing on my cap.
I want Sunil Pai, Mrs. Brilliant Hands, doing this.
Only this. I would make Kate do it and take credit for it. Yes. This team, this team.
We'll do better.
Alfred for sure was in March. So yeah, that's on our to-do list. Goes into the protocol now.
Kate, speaking of to-do lists, we get people pushing quite a bit.
What's coming next? What are we thinking about next? Is there anything that we can leak a little bit?
Listeners, because you're here, you'll get your custom Sunil Pai merchandise.
You gotta send an email to his agent. And then any sort of little info here that we can maybe leak about what we're thinking about coming up with.
I mean, our roadmap is pretty much like Sunil's hat. It's chaotic and full of amazing things.
But maybe a few things we could mention that I definitely know we're gonna look into as soon as the browser local dev experience is something that's on our roadmap publicly on GitHub.
You can see our roadmap.
And it's something we're exploring as of now. And then there's a big, big elephant in the room, which is MCP, which is the responsibility.
And we are happy to be the MCP providers.
And we know that there hasn't been many updates in a while.
And the next coming months and weeks, we're here to rectify it. We are actively thinking how to improve MCP.
And frankly, I've just did the PR today to also do a small feature for people who requested it.
And this is where the focus is.
I think we are picking up a ball on MCP and gonna go with the speed of light. Awesome.
Awesome. Yeah, I often, how quick it is and how easy it is to spin up an MCP server is all kind of sitting on top of this agent SDK.
I forget how, I forget that the, I forget that.
I honestly forget that like, oh yeah, that's why this is going and so easy to go and so easy to plug into is because it's sitting on top of the agents SDK, right?
So that I actually have an agent running there. With agents, with MCP specifically, I'm always, let's use the word suspicious.
I'm always suspicious of new protocols that come along, right?
Especially when it comes from a multi-billion dollar AI company who are competing, a startup who are like competing for space and things like that.
But of course they want to do a land grab and they're not the only company who have tried that and I'm not gonna name any other names.
Multiple people have realized, well, this is a new protocol for agents to talk to each other.
Hey, this is a new protocol for agents UI. And I'm like, you mean HTTP, right?
Like that's what you mean. But I think the thing that Anthropic did right with MCP is that they don't really own it.
There's no advantage that they would, that only they would get if people would use it and it really caught on like within the community and Cloudflare to its credit also moved really quickly where we're like, oh my God, agents, durable objects are such a good way to do persistent connections.
It's why it's such a good fit for MCP servers and for clients.
By the way, I don't know folks who are listening. We have an MCP server agent class, but every agent also has an inbuilt MCP client.
Oh, really? Yeah, dot MCP.
And we're going to do some work. Huh? What do you do with that? You can literally say agent, I mean, this dot MCP dot add server and it connects to it and starts, you can call tools on it, et cetera.
It just kind of works. I totally missed that.
That went right by me. I know. By the way, that takes me to my next thing.
But first, like if you use it in our agent starter, it means that automatically when you type, it'll add like MCP tools and talk to it.
Like, okay, that being said, so now we are at a place where we've done, you know, like in Age of Empires, you remove the fog of war by walking around and like, you know what the map is.
And I think we know what the map of MCP is looking like, at least for now, where everything changes three months, at least we know for the next three months.
So we are like starting to reinvest our time, especially, and when I say our time, I mean like the agents SDK team.
By the way, Craig, we're going to make you like build a bunch of things like on top of this, like we're going to make that like your problem.
Where we want to really solidify the implementation, add a whole bunch of tests, find out all the weird edge cases that we have found and really fix them around auth.
Like it's such a like big dance. How do you, this is the thing.
Okay, everyone's building MCP servers. You take like 10 of your favorite MCP servers.
Each of them has like 20 tools. You have, is my math right here? You have 200 tools that you have to inject into the context of every chat session.
I don't care how good your model is, it's going to break.
The namespace collision alone, right?
Like add name, six tools say add name, right? So this is the time where we're like really leaning into that.
So the first thing we're going to really solidify our implementation and clean up, like just literally clean up bugs, issues, PRs, which are spread across Repose, not just the agents thing.
Like we have a bunch of things and then really like start setting ourselves up for success for bigger, more ambitious use cases.
I've been looking forward to this moment like for a while and finally, well, we have a team to do it.
Like, so that's good. Awesome.
Awesome. We did get a, we got a question here that we want to have a two engineered to-do list app example made of things.
I feel like you got pretty close to that at the start of this, right?
Oh man, that's where agents SDK started. I need to get back to it, which is, I made, right, even before we had agents SDK, I don't know if you know this, Kate, I built a to-do app that, to -do list app that does.
I don't think I've seen it.
You know what, I should revisit it and rebuild it with agents SDK and actually ship it.
I think it's in a good place to ship. So the idea is that you would add a to-do to this list and at some point it would do it.
Like, so for example, you would say, hey, call my mom every Friday at 9 p.m.
And it would, at 9 p.m., pop up a little thing saying, hey, time to call your mom.
Of course, now we have a thing where we can make that phone call as well.
Literally call your mom, yeah.
I don't want a robot to call my mom. But maybe I do. We're empathetic people. We prefer real connections.
But the use case, I really, by the way, like this entire thing came from the use case where all my work is spread across like GitHub, Google Chat.
Sometimes I write on our inner Wiki, even though I don't like Confluent or whatever.
Hell, I tweet a lot and I consider that part of work. This is how I get away with tweeting a lot.
I want to be like, hey, every Friday at 6 p.m., collect all of this, summarize it, and send it to my manager to show him that I'm like actually working.
That's where this started from. And now after this many months, we have the technology to like build it.
So I should do this. Okay, can you actually do that?
Like everything you've tweeted over the week, can you just send me the dump on Friday?
Would you like a Swedish triple digest? Yes, because I honestly sometimes like on Wednesday, I'm like, what he's been talking, sometimes I see things, but then sometimes I don't see things.
And then he's like, oh, have you read my thing on Twitter?
I was like, no, I haven't. Like I want an agent emailing this to me and say, this is what is on his mind today.
Go talk to him about those things.
I think that's just it. We are finally at a place where we can like build this out.
I see another question, by the way. Agents MCP client for simple non-SSE MCP server APIs would be fire great.
Again, I think Kate already has a PR up for this.
It is already PR. You're right. HTTP streaming is coming. We are on board. So hopefully as soon as Sunil reviews that PR guys, we're getting it into your hands.
Let's promise publicly because if I don't, then I look like a liar.
Okay. Friday evening, this will be landed and shipped.
Okay. All right. Loving that. All right. You're going to hold us to it.
You know, you know where to find it. 3.1 because Pi, Sunil Pi.
Exactly. 3.1. Right. So what does that mean? What is a simple non-SSE? Let's break that down.
Let's just break that question down. Agents MCP client for simple non-SSE server side events?
Server sent events? MCP servers support two protocols right now.
One is SSE, server sent events. And the idea is that a client makes a persistent connection to a server and then does calls, et cetera, like on top of that one.
And that's fine. And by the way, that's how MCP agent had its moment because we build on top of durable objects, et cetera, et cetera.
You need that connection. Exactly. Because we can support that persistent connection stuff.
By the way, I still think it's the best way to do it. Because we support stuff like hibernation, it's not like it stays alive forever.
It's actually quite implementation.
Jeremy Morrell actually implemented this. It's very cool the way it's done internally.
But the protocol now supports the second thing, which is streaming HTTP.
That's what it's called, right? Sorry to interrupt you.
Moreover, it's not only supports, it's actually now embraces the HTTP streaming protocol as the default.
Well, at least what we've seen that people now use HTTP and the official MCP SDK is choosing HTTP streaming as the main protocol.
Yeah, sorry. No, no, no, that's perfect. That makes sense. Yeah, yeah, yeah.
Because it's easier to deploy on other providers. Exactly. By the way, if you use MCP agent to build your MCP server, it automatically out of the box works with both, by the way.
If you build on it as a server, it supports. But our internal MCP client would only connect via SSE for a while.
And by Friday evening, I promise Kate, that we will have support for the other one, the non-SSE one.
Craig, I wanted to remember this moment.
So on Friday, whenever this lands, and we put it up public, so we put it public out there, you know, like he can't escape, he can't.
I will retweet this part of the show alongside the PR, the merged PR.
We love that.
Let's do that. I think he's going to hate me for this, but, you know.
No, it's fine. If things get done and I get credit for it, so it's fine.
Awesome.
Anything else? Anything else we're thinking about? Two or three things, I think.
On our minds? One is, Kate mentioned browser rendering local dev.
Oh, by the way, just to clarify what that exactly is. We already have a browser rendering API, which is a browser you can run in the cloud and do things with it.
But that has actually never worked in local dev, in like Wrangler or the Vite plugin.
And that team like really pulled through and landed support for that this week or last week, I want to say.
And we're polishing off the rough edges around it. In fact, I actually have a couple of messages from them in chat I need to respond to.
Why is this important for the agents SDK? Well, you want an agent, you want to be able to tell an agent the most common thing that people talk about, even though it's not something people do that often.
Hey, go on to this flight airline site and book me a flight.
Make sure that you choose an aisle seat and a non-veg meal, et cetera, et cetera.
Use my card details. Potentially there's some human in the loop thing where like, oh, we need you to enter your card details.
You can now build that thing, test it locally, et cetera.
Well, once you can theoretically do it, we want to make it a lot easier to do it.
It's like a subset of like computer use, but we want to make it like way more first class in the agents SDK.
I think this is again, like super exciting because not everything has agentic APIs.
Some things are just websites.
Well, a lot of things are just websites. You will be able to write agents to manipulate that very, very soon.
That's awesome. And then let's flip back because not everybody, I mean, the experience of building the agent locally, it's so nice.
You can run locally without deploying and it's hot module reload too.
So it's like, it spins up as you're going.
And I love the most agents that I play with don't have the ability for the front end there.
And so like you're writing some front end to connect to this, but you can all run this locally because of the beat magic that happened this year is so nice.
The being able to run the stuff locally and it all powers in there, super powerful.
You actually make a, bring up a good feature point.
I think many people miss and will make a lot more sense for this browser and doing stuff.
Okay, so hot module reloading for those who don't know is let's say you're building a website.
You want to change some code and see it like you hit save and it'll reflect in the website.
Well, you could just refresh the website and like automatically refresh the website, but imagine you're building like a multi-step form, right?
And you're making changes on step three of that form. Like you've gone through step one.
So if you did a refresh every time you made a change, it would take you back to step one.
You want to maintain local state while you do this.
But most people have built servers with serverless. There's not been any state there, has there?
So what's the whole point of why is HMR so useful for server-side programming?
Well, with agents, state is now a real thing. More importantly, like the big use case is, well, spinning up a browser is not instantaneous.
And you will, inside the browser, inside the agent, now you're saying you're going to be like going through a couple of steps.
And it would suck if every time you hit save, it started the whole thing.
No, it will keep that state.
The browser will be on that page and you can like keep doing like new code.
It's going to be hard by the way. I've only discovered this while I'm talking to you right now.
Yeah, no one else does this. Yeah, yeah, I'm excited. I think that there's a lot of, because of that hurdle, right?
That experimentation hurdle where you're like, I think this is going to work.
I think I found the right selector to go press the button on this one page.
And then you're like, okay, five minutes later, there it is.
Nope, I got it wrong. Let's do it again, another five minutes, you know?
So like, I think that that quick, that we all love, we love that development lifecycle real quick.
Let me build quick. So exciting, super exciting. Awesome.
That's the, the other thing is, we spoke about this a little time, a while ago and it's going to be a while before we actually show any more changes here.
But bro, I think sandboxes are like huge, are going to be quite huge.
Honestly, I do like a bunch of internal evangelism for this.
And every day I'm just like, I'm at that phase where even I'm tired of saying it so many times, you've got to show people how it works.
I think, I think sandboxes are going to be pretty big.
Sorry, I actually don't have much else to say. It's just that I've been thinking about it and writing down things and like have ideas.
What's the- I think we'll have to think more about it.
Sorry, I think it's just like we, we're seeing use case, so many use cases, frankly, for sandboxes that we were really excited internally to turn into a much bigger product and take it seriously.
So that's the, another mission that Sunil Pai has is to write, write the vision, right?
Like that's what he's really good at.
So little kudos here for Sunil. I do like yapping. I do like yapping.
Professionally. You're a professional yapper, for sure. Anyway, yeah, that's been one week of agents.
It's been a lot. Now that we have laid it all out here, you and I'm like, bro, like that was like a lot.
Yeah. It was a lot, but the team's growing.
The team's growing, which is awesome. Sunil, I know, I know what I wanted to, you lightly touched on this.
I might be touching into the place where you don't want to talk about it anymore, but you said about the open web.
It was always intended to be an open web.
And building on the open web. Is that something you want to talk about here?
I saw you tweet about this. It was after we talked last.
What was I talking about, the open web? I don't know what you were talking about, dude.
So dude, the way that I took it was that like, we were always promised we were going to be able to build on top of things.
We're going to see stuff.
We're going to be able to build on top of it. We would promise that. And it's finally here.
The future is like finally here. There's this like universal language that we can build on top of.
That was how I took your post. I keep going back to... Okay, so when...
If you might permit me. Please. I wanted to get into AI right after uni.
But I did so poorly in uni that I ended up with a lowly front-end developer job.
And it's kind of weird to be here in this part of my career now doing AI stuff.
But I thought it would be very alien technology. I thought it would be very, very different stuff.
Oh, all the stuff we are doing right now is not going to matter in the AI world.
All these websites, all of that. But it turns out that the AI thing, first of all, the AI revolution, I don't know, whatever, like everything that's happened in the last couple of years, it's fundamentally not possible without 30 years of just literally Internet information to build LLMs on top of.
But it looks like every LLM application is just literally a web app, by the way.
You use HTTP to talk to inference models. Tool calls are just JavaScript functions or MCP calls.
And again, MCP is just a thing on top of HTTP again, which is why I think JavaScript developers are really flourishing in the AI age.
They're like, yeah, this is, there's no very little new knowledge to learn to build these things.
The protocols are the same. I don't know, man, it feels kind of magical.
I don't know what you wanted to talk about. And I'm a little off the back of the box today.
I'm like, what is Craig actually mentioning? But this has been on my mind.
I followed your tweet. It would be in Kate's dump that she's gonna get at the end of the week.
You talked about building things on top of it. I had a thought, like last time we were talking about, we were talking about generative UI.
We were talking about like, oh, maybe we'd be able to build something on top of here.
One of the things that I thought about that would be kind of cool in that space was like, let's say that I have an old admin page, right?
We'll go PHP. That thing has interfaces where like, I'm gonna submit a photo for the blog posts.
I'm gonna put in the blog title.
I'm gonna put in the description here. If I didn't have the ability to go and tweak that, I could go and build a new admin page in a sandbox sort of situation that had that UI, that had the things that said, make me like here, generate the image actually.
Like add the AI thing that you wanna do there. Add a better title for this.
And like continually learn, but like actually go and generate that UI for a page that would actually work because now we could go and submit that stuff.
That's where my brain went when you were talking about this last week.
I, you know, you have the shower moment the next day.
I'm like, oh, that's really neat. That like enables a whole level of being able to build and like lightly, like, you know, I feel like some of these apps people have these ideas in their head for a really long time and they go and they build an entire application.
I'm talking about building, enhancing a little bit of your application with the generic UI.
That's kind of an idea where I took from where you were talking with what sandboxes give you like that thought there.
A phrase that we have started throwing around internally is what's called a new stack.
And the way I talk about it is, oh, traditionally applications have been three layers, storage, compute, and let's say front end, right?
Like client, et cetera. And it turns out that the new age of applications, even though it's the same like anything else do have like a couple of interesting new layers.
The one that everyone knows is inference layer, which is where your models are that you can talk to, pass context, do things.
It's quite curious to me that they are stateless by the way, but it is that way.
And the new one is the thing that we have actually almost wanted since the beginning, which is this idea of execution containers, which is what sandboxes are, which is weird because I also consider durable objects to be execution containers, but that's a whole other thing.
And the execution container is weird because is it part of the backend?
Sure, because like you talk to it via an API, but the things it does are actually closer to what a human being would do.
Like you can tell an execution container, hey, write some code that gets deployed for the app.
That has traditionally been the thing that a developer on the outside would do and land from the outside.
So I don't even know how to draw a diagram of this. Does the sandbox exist behind compute or is it underneath it?
Or is it actually like in the front?
Someone has a thousand word blog post in them about the new stack that if they write, I bet would catch fire like online right now.
Like people would be like, oh, okay, this is how we are building applications now.
There will be a new director of sandboxes for in every tech org who needs to be paid some absurd amount of money.
Director of sandboxes. Are we hiring for the director of sandboxes on the agents team, Kate?
Not yet. I think Sunil is a director of sandboxes and all kinds of boxes.
That would be Naresh, I guess, right? Like that would be a problem we make.
We make Naresh's problem. Sorry, we've already hired for that specific thing.
Everyone is director of something on agents team. Choose an agent, choose the direction and be the director, you know.
Awesome.
I think we're ready. Any last thoughts before we wrap this thing? Not much else, but to repeat a couple of things, we are hiring.
Look at the job rec.
Look, we put requirements and stuff, but honestly, the people who do well with agents, but also inside Cloudflare are the people who are extremely self-motivated and align with our values of shipping and talking to customers.
So if you feel like you're a fit, please drown Kate's email.
That's one thing. Second, like I said, this is the exact moment in time that's a good time to affect the direction of the agents SDK and get yourself involved in the community, et cetera.
That's another thing we should probably talk about at some time, which is, oh, what does the agents community mean?
Now that we have people to like this thing. And looking forward to shipping a bunch more things and talking to you next week.
So go build agents and have fun.
Awesome. Thanks, everybody. We'll see you next time on Dry Run.
Thank you. Thanks for being here, Kate. Yeah, Kate, your first episode. Thank you for being here.
Great stuff. Thank you for having me, guys. I'm liking this.
I can get used to this.