A declarative agent framework enables building intelligent agents through simple instructions files, where agents can be scaffolded via command-line tools, integrated with various communication channels like Slack, connected to external data sources through OpenAPI specifications, and deployed to cloud platforms with built-in debugging capabilities. The framework supports both deterministic operations and LLM-based decision-making, with evaluation systems enabling continuous improvement through human-in-the-loop approvals and automated testing.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
Ship 26 NYC - Workshop - Build an Agent with Eve: The Open Agent Framework
Added:Welcome everyone. Thank you so much for coming. Uh so I'm Andrew. I'm one of the tech leads on Eve and I'm here with Casey, our other tech lead on Eve. Uh so yeah, we've been building the agent framework for the past four months or so. Um got a chance to release it to the world a few weeks ago at Ship London and you know trying to refine it quite a bit since then and give you guys a pretty full full demo. Has anyone actually tried Eve yet before coming to today? ship a few of us. Okay, cool. So, yeah, we will um yeah, kind of give you like the full run through here. Uh and you can follow along if you want. It could be a little bit difficult. So, there's interactive portions to it and I'll I'll let you know where to where to kind of like jump in. But, um I wouldn't worry too much about trying to code along with me right now. You can kind of just see see what see what we're doing here. Uh so, yeah, first things first, we're just going to get started on the command line and just jump straight into what an Eve application actually looks like. Um, so let's build a new Eve app. Uh, of course, we're just starting with our npx init command here.
And I'm going to go ahead and run this. And this is basically going to scaffold the most basic Eve application that we can have. And when this is done, I'm going to show you kind of like what the directory structure looks like and what you get basically out of the box when you when you actually start using Eve.
Uh, okay. So, I'm actually going to stop there. So before we even move any further, I actually just want to go straight into the directory and show you what this looks like.
All righty. So yes, you get an agent directory. That is kind of the uh the the pitch of Eve. We are doing declarative file system based agents. And by default, an agent can literally just be uh an instructions file and nothing else. Um, and so if we continue our setup here, obviously if if you want to talk to a model, you need to authenticate with something. So we're going to go ahead and start eve dev. And this is going to walk us through basically the setup process to get that connected to whatever model provider you want. Of course, today we will use uh AI gateway, which is Vercel's um premier gateway product, and we're going to be obviously be deploying to Vercel as well, but you can certainly connect with your own keys, and you can bring your own providers. Um, we'll open up things like Codex subscription soon and things like that, but for today we're just going to go ahead and actually connect to a Vercel project. I'm going to use my team.
And so what this is doing is it just created a Vercel project for me. And it's basically just authenticating my local state with um our gateway. And at this point, uh, you can actually just start talking to your agent. Um, and effectively what you have here is you you have ChatGPT in a box.
So, we just, uh, a full, you know, agent inside of Vercel. It doesn't really do much, but uh, it does have quite a few things built out of the box. So, we can ask things like who won the 2026 NBA Finals. Um, and you'll see here it should invoke web search. Uh, so there's you get a ton of um obvious harness type features that you know you you should never have to configure, right?
These types of things need to just kind of work. Um, so obviously I'm talking my command line. This isn't very very useful now, but now let's actually put in the cloud and talk to it through Slack.
So Eve Eve has this concept called channels. And so channels is basically the topmost layer of how you talk to your agent. uh what you're seeing here is kind of the default HTTP channel that lives behind the scenes, but you know, inside of your businesses, we obviously need something more uh more interesting than that. Um so let's go ahead and connect to Slack.
And now you're seeing this is where we're really starting to blend kind of features of the framework and the Vercel platform side of things. So here we're actually using Vercel Connect and we're going to go ahead and connect this to a Slack workspace.
So I already have one configured here. It's called ship NYC.
Okay. And I can close this window. And now we actually need to deploy it. So uh you can see it's immediately prompting me here. Let's go ahead and deploy it.
And while that's going, if you feel like it, you can join this Slack channel and we'll be able to interact with the agent um in in real time. So, it's bit.ly/eve-nyc if you don't want to scan the QR code, but you can just jump in.
Let me see if this is done. Okay, so we deployed it here. And if I actually open up this Slack channel, which I have here, and maybe it's easier if I do it.
So, we should be able to tag uh ship NYC, which now actually shows up in here. So, I can say hello, add them to the channel, and you will see that it's going to um it'll start talking with us. So, if you guys jump in, you can all tag it. And you'll see we try and do things in here where uh you'll notice that like Slack is going to be presenting things differently than say the terminal. So if we if we come in here and do the same thing, you know, who won the 2026 NBA finals.
Um so you can kind of see that we're we're doing a lot of stuff for you out of the box.
So in the Slack context, you can see Oh jeez. Okay. [laughter] Of course, classic demos.
Um, but in the Slack context, we're going to do things like show you the thinking indicators and what tool calls are being made and stuff like that. So depending on whatever channel you're operating in, we're trying to do a lot of stuff for you.
Um, so so you don't have to recreate all all this like default UI yourself.
Um, okay. So now we need to I would like to show you a few things so you can actually see what's going on here. Um, and what you I want you to actually see what this actually looks like inside of uh, Vercel itself. Of course, I have way too many projects here.
All right. And so, actually, yeah, let's actually see what this looks like because we should be able to debug this. We'll actually see what failed. It looks like a tool call actually failed. So, here's the message that I just sent if I were to open up this run. Um, so yeah, you can actually see here that um, we're giving you this observability out of the box for these agents. So every time someone sends a message or interacts with it, uh, we can jump into here and we can see, you know, what happened. So in this case, it looks like, uh, it attempted to load some sort of skill and and something something broke here. So maybe maybe we have to debug, you know, what actually happened with with our with our skill setup. So let's try it again.
Okay, very annoying. Classic demos. Um, okay. Uh, but let's keep going and hopefully we can get past to, you know, to something more interesting. So, um, again, out of the box, we haven't really connected anything, right? What's the point if you, you know, if you actually deploy an Eve agent and you don't have any data? So, uh, let's go ahead and actually integrate some data with with our agent. And I'm going to grab, so this is just an OpenAPI spec, but this could be a Postgres database. It could be, you know, wherever you guys are are keeping your data, you can hopefully be able to connect these things pretty easily. Um, and I want to actually just go ahead and switch over to a coding agent now. So let's just have So let's go into ship NYC and I'm going to open up opencode and I'm just going to tell it to add an OpenAPI connection and so it's doing something um somewhat interesting here. So if you actually look at the calls that that it actually made, if you notice, it immediately knew to go inside of uh node modules Eve docs. So something that we do to make building Eve agents uh very uh performant and reliable is we're actually shipping special docs inside of the package for you.
So it it understands this concept of a connection which is a first class primitive in Eve.
Um, and if we actually just go back to our editor here. So you you'll see uh it went ahead and it added uh this new this new weather file.
And so it also understood it, you know, needs to configure a username of some sort. It's able to um import first class API from Eve for OpenAPI connections. And if we actually go back to uh our agent, hopefully this works. Let's say what's the weather in NYC.
And so now you can see it it basically used the connection right away. So you can see that it made this connection search to a call. It's looking up coordinates. Um and now it's immediately connected to that OpenAPI spec. And so again, this could be, you know, any data source that you guys have. But um yeah, so that's kind of the that's that that's kind of the idea around around connections.
So now let's let's make it a little bit more interesting. So let's say um you know update update your instructions to be an NYC city expert.
Cool. So, made those changes. Let's just check say who are you?
And there you go. So, yeah, it basically everything just kind of updates in real time. And now, let's just go ahead and redeploy this.
And let's go back to Slack.
And there you go. So yeah, in a few seconds you're basically deploying your agent to the cloud. Um, and you know, kind of updating stuff in real time. So I I want to stop there because this is basically like the most basic demo I could possibly give. Is there any are there any places that you guys want to dive into? I'm prepared to go build stuff in real time here if you want to see certain things. So yeah, if you have questions, if there's anything up to this point, if something's not making sense we should go into, let's would love to jump in. Hey, how's it going? Uh curious if you could show us like how implementing an external data store would look like. So you mentioned you can use any database. How about a NoSQL one? Yeah, absolutely.
Um let's see if I could actually have one. So obviously it's not going to be able to connect to one but so so and maybe what I'll talk about for a second too is like there's this concept of tools and then connections and so what I just showed you are connections which are basically a special kind of tool. So a tool would just be a one-to-one you know mapping. So, let's actually and actually I can let's prompt this and I'll show you one of our other examples that does use uh [ __ ] actually, but let's say um let's add a stub MongoDB uh query tool and assume env vars are set. So, I'm going to let that go, but I'm actually just going to pull up another project that that has this Okay. So, one of the one of the concepts again in this declarative framework is you can just go drop tools into a tools folder. Um, and so that is exactly what I did here. We have a a MongoDB uh I have two tools, one called query and one called mutate. Um, and I'll show you why they're separate in a second. Um, but this literally looks uh sorry, this is very large font.
And there's a lot of there's a lot of code here, but effectively all you're doing is inside of the tool call, you can go import any Node.js library you want. We also have you can interact with sandboxes and things like that. But yeah, adding some external data store is effectively, you know, connecting to that store the way you would in any other backend application.
And then it's kind of on you to design what the right query patterns are. So the reason I actually have these separated um is if you look at mutate uh it requires approval. So mutate will never run unless um unless a human is uh is is put in the loop to go approve that mutation. So it's very very easy to to do things like this. And we can do like a very contrived example, but again this comes down to like what some of the actual built-in tools are. So let's say um now let's test your question tool. Ask me a question.
And I'm going to copy this and I'm going to do the same thing over here.
So yeah, so in the in the in the TUI you have here basically questions are going to look a certain way and then over in Slack um you'll see you get a very you know you'll get like a more like native experience inside Slack. So channels they basically kind of own their presentation and and and um you get a lot of stuff you know again just kind of out of the box that kind of works in works in that surface. So uh so yeah so approvals they would very similarly flow through flow through this this same UI.
So I guess I'm going first. Um so I'm testing one three. I'm using Eve right now. Um, one of my my uh things to learn because Vercel's been just shipping just random uh kind of cool new products is how it works with connectors, voice or websocket. Yeah. Um because right now with when it comes to connectors, you have stuff like Composio. When it comes to websockets, you have stuff like LiveKit. Uh oh, I mean voice you have stuff like LiveKit. Um for websockets, you can do something like PartyKit from Cloudflare. And so all all of those are areas that I have experience in and I'm just wondering like it would be nice to go all native especially because Eve can probably integrate these things together. Yeah. So I'm curious about those type of workflows especially connectors because you know it's unmature yet compared to Composio that might have like thousands of connectors. Um and the uh let me get my thoughts together here. the they already have a workflow of building these API connections and triggers in advance versus us having to customly tool these things together. So I'm just wondering if that's in the pipeline also um and how that all could work um to go completely native. Yeah. Yeah, it's a great question. So so there's yeah a few different components of this. So one I would say the lower level APIs in Eve exist so these coding agents can go build that thing. So if we like let me pop back over here. Um okay. Yeah. So it so yeah presumably finished like this this MongoDB example.
Yeah. So you have your MongoDB tool. So now so let let's just prompt it and say uh I'm building a new real time channel that must use websockets. Um build this new channel with basic debounce messaging. So this is like pretty complex. So so we've actually done uh voice demos on uh on on Vercel which recently shipped WebSocket support. So websockets are are also built into Eve. Like this is like a channel primitive that um I think this is going to go figure out and probably come up with something somewhat reasonable to have a websocket channel to communicate over instead of you know regular regular HTTP.
Um but yeah let's see let's see what it actually does. Yeah, we'll let that keep going. But so that's like the low-level primitives. Then there's the Vercel Connect team which is technically separate from Eve and they've already shipped things like Linear, Slack, GitHub and so they're they're going to keep kind of adding to that to that surface area, right? Like at the end of the day if you can't invoke the agent from wherever your business is, it doesn't really matter. So yeah, so they're they're taking up a lot of that on their own.
How are you building a feedback loop? So getting imp how do you improve the agent over time? How are you getting that? You guys are building UI so like the SDR agent you're getting approvals from the human using it and then how does that feed back into the agent? Yeah, great question. So, so one of the one of the first class features in the framework is eval uh which I think is kind of the start right you you need to if if you're going to be seriously iterating on an agent in inside of your business you need to understand you know what is the current state of the world and as we start making changes what what is the newer state of the world um so let's open up uh another window here so let's say write an eval uh testing When someone asks about the weather, it responds with New York City. Um, and so, yeah, while this goes, the other thing that I actually want to show you is the uh, and this is public on our GitHub.
Uh if you actually look at our test suite um so so our our test suite is built on eval. So the entire e framework is tested against our our our own set of evals that that we run. And so if we were to look at these we have a you know a ton of like primitive ones things like testing sub agents and human in the loop and things like that. Um, but the uh the idea is you should also be able to go send these evals out to providers like Braintrust or any other any other eval provider that that exists. Uh, so if we pull up one of these, uh, so yeah, this is like a very basic one. And then if I actually show you what what these what these look like. So this one is Oh, actually, wait, let's just see what it wrote. Okay. Yeah. So, this this is this is our this is our eval API. Like you you you literally get to you know just interact with the agent in the same way that you would um you know if you were to go test this on the CLI, right? Like you probably make some changes and then go type in prompts and then see what the response is, right? But but obviously if you want to automate that uh we're basically giving you API to do that. And this is um you know you have deterministic checks, right? So things like literally does it include the word NYC or whatever. But then we also have this concept of of LLM as judge. So you can get um really advanced evals that are actually you know checking semantic meaning things like that. So uh and so yeah this is where I would start and you know and then from there it's I think it's obviously you have to maintain these things and and keep building on them but but yeah if I think evals are critical for for actually iter iterating on this stuff.
Um I have a question about um how you use different UI SDKs across different channels and like how do you present different uh data viz on those channels. Um yeah it's a good question. So uh yeah I'm not prepared to show off Nex.js today but Nex.js is like obviously a very first class citizen with Eve. Um and our other framework teams are also supporting Eve heavily. So um maybe I can actually just pull up the docs. Maybe that's actually easier.
Uh, but yeah, we're we're shipping we're shipping front-end tools, things like useEveAgent, for example, is kind of like the primary surface for for interacting with Nex.js.
Um, and I think there's I wonder what the do you know the World Cup demo that the someone built?
I forgot the name. Yeah, maybe maybe we we'll have to look it up. But yeah, there's there's been some really really cool like Nex.js demos uh that people have built. And then we also have um quite a few of the other frameworks actually supported too. uh like uh yeah so yeah things like Svelte, Nuxt, Next are obviously all supported yeah I was just going to ask on that out of the box um Slack uh behavior does is there controls on what the agent can do or not do in the Slack channel or how does you know how do you you are invoking it directly but what if there's like a group message like how does it know what to do yeah it's a good question. So, and this is always going to be balance of like what what the right defaults are. So, there's there's ways to control these things. Like you might decide to disable DMs. You might say that in certain channels um only these people can message those. Ultimately, that just comes down to code. So, you know, we can we can limit those types of things. Um and we could say uh let's just say, you know, uh disable Slack DMs. And if we look at the actual file, oh, okay. Yeah. And so here here's the real time channel, too. By the way, I'm obviously not going to read it, but um yeah, it did it did figure out what the right websocket API is and and even used it. Um so yeah, this this is the this is the default Slack channel. There's nothing in here. And so you you're basically getting things like DMs, mentions, um and yeah, so there you go. So that so there's progressive API to go control a lot of these things. So this would be a very simple way to go deep, you know, disable direct messages. But you can imagine like this is just a function. You could look up um, you know, you could take the Slack username and look up something in your in your identity provider and say, you know, maybe they have certain permission to do something or not. Um, is this on? Yeah. So the one thing I'll add as well is the channel contract the the agent does not have direct access to call Slack out of the box when you add a Slack channel.
The channel contract is essentially a mechanism to define where the agent outputs how they render essentially in Slack. So there's nothing that the agent won't just go post in a random channel because it doesn't have a Slack tool. It's just you're defining essentially a deterministic contract with agent events to how they should flow into Slack and vice versa.
Um, so I'm curious on, so I see that you guys have connections with like you can connect to MongoDB and establish and write logic within the tool, but um, how do you guys handle use cases that aren't deterministic? Like, is it possible to handle a use case where it can cross reference multiple connections, but you don't have specific logic written or like specific tools written for those cases? Yeah, this is a really good question. So, I will give you my two cents on this and then I'll I'll kind of tell you like where I think we we might end up going. I I'm of the opinion that and and this was this was a um kind of a guiding principle for Eve very early on. I think the I think these models are very much intelligent and I think if you describe what you want, they're only going to get better at following those instructions. Now, with that said, that's not good enough for everyone. Um I think there is really interesting concepts kind of similar to what you saw with you know with with eval is how like we're we're doing steps you know one at a time.
We're looking at this idea of like a workflow where uh it kind of mixes running agent calls with predetermined output and you could kind of control you know what that looks like. I don't have a good example to show you but um something that is built into Eve is this concept of an output schema. So when you when you talk to the agent, obviously everything I've done right now is we're just getting text responses back. Um but uh we we ship a TypeScript SDK and then there's also this concept called like sub agents where you can say you know give me temperature number you know and so you get more of this deterministic behavior even though you're running you know obviously non nondeterministic LLM. So yeah there's like little bits and pieces that can give you a bit of determinism back you know where you need it. I think workflows would kind of take this to the next level, but I I'm more of the opinion that you don't necessarily need them. Um, and like, you know, I we didn't even talk about skills here, but like obviously just try first and then obviously evalot is write a skill that says, you know, do this, then this, then this. And I think especially with these frontier models, like you'd be you'll be very pleased with with the results of of actually just writing a skill in plain English.
Hi. So, just to preface, I haven't actually set up Eve yet or like claw tags, but from what I'm seeing and from what I'm reading, I think the similarities are that you guys both integrate uh your agents with Slack and other third parties. So, what are some of the differences?
Okay, so the biggest Yeah, the the the biggest difference um I would think of TAG today as like a single binary. It's effectively the same for everyone.
you're deploying TAG one thing into your Slack workspace. And their their model is they are um they're doing a much heavier like self-evolution like memory type of story where they're kind of taking in and saving memories that you guys are asking inside your channel.
Um and then that's ultimately, you know, feeding their feedback loop, right? Uh Eve would be able to do those things and we have all the APIs to go make those things, but Eve is code first. like you were design like Eve is very much about building the agent for your business. Um and you should be able to build TAG on Eve if that makes sense and we have all the necessary APIs to do that. So um everything everything you kind of seen here has been like more or less like single player but uh there's a ton of multi-tenant APIs inside of Eve as well. Uh so if we were to look at um we should have a whole section on this.
Yeah. So I actually I I literally have a guide here called multi-tenant memory.
And this again this is like a very advanced concept but um this is going to let you do things like actually define skills per invoking user or per user right you know you could have you know hundreds of thousands of users each with their own skills if you can save those in a DB and Eve will kind of give you the different ways to you know to go query those things and update them. So so yeah like I and I would not be shocked if we if we do an open source TAG on Eve would be my guess.
Hi. Um, what's your philosophy on message persistence particularly when different channels might have different expectations on who owns that? Yeah, great question. So, right now we actually like we're not exposing a storage adapter at all. Um, so if you like our persistence engine is is workflows is what we're using under the hood. So, our Workflow SDK um this is like a hot concept and like a lot of people are going to want to save their messages.
Um, Eve on its own has this concept of sessions and streams and so uh there is nothing stopping me from opening up um these sessions on a website and and resuming and just immediately starting to talk to it. Um I would show you how to I yeah I can't pull up the Vercel internal Slack but that's exactly what we do. So, so our data agent for example um 90% of the invocations are in Slack and we append a little open in web button and you can immediately just go resume the sessions in web too. So yeah the the sessions themselves are channel agnostic and the channels can kind of decide you know what gets presented where but ultimately uh any any channel could resume any other session uh as long as you have you know what we call this continuation token. Again, pretty lower level concept, but yeah, if you know what that token is, you you can you can basically work across across surface areas.
Hey, uh uh I'm wondering like how extensible is like I guess the harness around um Eve itself.
So like uh can I make my own primitives um and uh like Yeah. So, or if I want like specific things that are custom to me, is that just a folder that I create and with some necessary markdown files and scripts and whatever code that I need or like how extensible is that with Eve itself natively, I guess. Yeah, great great question. So, um yeah, we're we're obviously providing a bunch of harness features for you. So, so there's a bunch of default things, right? Things like read file, write file, web fetch, web search, glob, grep, all these things. So, uh, all of the default stuff that we give you, you can disable or replace with your own implementation if you wanted to. Um, if you do that, again, I would suggest like heavily lean on the eval to make sure it's actually doing what you want. But, but yeah, most of our default harness features you can take advantage of. And then the other thing that we give you is this concept of hooks.
So, hooks you can basically plug into most of our harness events, right? So, things like compaction or uh pre-tool calls, post tool calls, things like that. So, yeah. I think it's it is instead of swapping the harness, you probably want to build more so around it. Um, but but you could you could you could take advantage of most of our harness features and replace them if you want. Um, maybe in the future we might actually let you fully bring your own harness like literally think run Eve on top of something like opencode or Pi. But um, yeah, for now we're basically kind of owning the harness internally. It's what allows us to do a lot of like these dynamic things and um you know work work across step boundaries and workflows and more of these other things that are pretty hard to do with uh these other harnesses that kind of expect to have a long running process all the time. Um so yeah, maybe the other thing that's not obvious is our harness is fully serverless and stateless uh aside from like what we take from from workflow. Um and so there yeah it was pretty important to own the harness to be able to accomplish a lot of those goals.
Hey, in the back. Um, I'm curious how you would suggest adding the ability for the agent to run long running tasks such as like maybe a code change. Yeah, great question. So th those types of things should work out of the box. Um, we we expect, you know, turns could take many many hours if if they had to on on Eve. And the the main way that that's accomplished is the way we dispatch functions under the hood. Um I think we actually do have a good uh reference for that.
Maybe maybe not. But yeah, so I'll I'll try and describe it. But but basically the because our harness is completely stateless and and we actually don't rely on a single server kind of running the harness all the time. We can basically dispatch at any point in the turn to another serverless function and pick off pick up right where where we left off.
Um so you might be familiar with like you know the 15-minute timeout. um on on serverless functions and you know it's certainly reasonable that uh something would take longer than 15 minutes.
And so what we can do is every time a tool call is made, we can actually just swap you over to a new function. Um and so all those types of things are kind of happening uh on Vercel by default. It's a little bit different in the self-hosting story, but yeah, on Vercel, we're we're very much going out of our way to make sure that these that these things can run for a very long amount of time and and you don't have to think about it.
Hey, quick question. Um, how do you use um browser use with um Eve or computer use?
Yeah, we don't at all today. I I think there there's probably an interesting concept there.
The easiest thing is just you could literally, you know, pick your favorite provider and write, you know, the necessary tool calls to to go interact with it.
Um, you could probably get something working with Vercel sandbox as well to do it. Yeah.
So the the only built-in stuff we have is web fetch and web search, but I think it'd be pretty reasonable to to to plug into another provider for, you know, for like a full full like browser use experience. Ask them to write a browser in sandbox. All right. That's risky.
All right. So we'll see what it does here. Yeah. So this this will kind of be our intro to to sandboxes. So um yeah the other thing yeah that we didn't cover yet is every single Vercel or Eve agent has a sandbox by default on my computer it's using Docker on Vercel it's obviously using Vercel sandbox um and this is kind of like the backbone to a lot of these capabilities right that's able to you know grep for files save things you know stuff like that so um hopefully what it's going to do here is add a sandbox.ts file uh what do we want to do I don't know agent browser dependency and we'll take another question while this is gone. We'll see what happens here.
Um I'm curious about like generative UI um in terms of extensibility with like AI loves JSON. So if you use like a Vercel JSON render where you have a catalog component system, is that something that um we're looking to do in for the future where you can just have a connector maybe binded to a button that a generative UI could assemble together? Yeah, I want I really want to find this World Cup example because that's exactly what they did. Um is this it?
Let's see.
Yeah. So, let's see what this does. So, this this Yeah, somebody on X just built this on Eve.
Um, and I think Yeah. So, you can see like beautifully like rendered stuff that's coming just from the Eve stream. I have no idea how they did this, but it looks it looks great. Know that.
Um, so in my mind now there's two ways to go about creating agents in the Vercel ecosystem through the AI SDK and now through Eve. Um, is there a preferred approach with using one over the other?
Yeah, really good question. So Eve is is uh a layer on top of AI SDK like we we use it heavily.
So it really just comes down to um like do you want to go build durable agents and uh build your own harness and these types of things and you might the answer might be yes. So that that's really what Eve is doing is we're kind of taking, you know, the low-level primitives of AI SDK and we're building a lot of like the really hard stuff on top of it just so you don't have to think about it. U but yeah, you know, you might you might not like the the authoring experience of Eve.
If you don't want declarative file system agents and you want some different model, then yeah, reaching for AI SDK makes perfect sense. We work with that team very very closely. So um you know, a lot of stuff that they did in V7, you know, that same day was all available in Eve as well. And so yeah, we we'll definitely continue doing that. What's that?
Oh, that's an enterprise question. I would need uh that's above my pay grade. I don't know. [laughter] What's the pricing?
It just uses our our infra. So deploying an Eve agent costs nothing again because it's serverless, which is really nice. So if you don't use it, you do pay for nothing. Um but yeah, the the main the main price points for Eve are going to be uh function CPU, function duration, sandbox um usage, and then obviously 90% of the spend is going to be, you know, wherever your tokens come from, either Vercel or bring your own. Uh but yeah, it kind of I I will say Eve uses a lot of Vercel primitives um when deployed to Vercel.
So you kind of mentioned that Eve is helpful when you're creating like a kind of harness for agents.
So what I'm wondering on my end as a much less technical person here is where where do you see use cases where it makes more sense to use something like Eve as compared to like a pre-built pre-built agent harness like OpenClaw or Hermes agent. Yeah, for me it just comes down to like do you are you building for your business and like where where does your data live and how much control do you need, right? like in and in in these out of the box harnesses, you're not going to be able to do things like look up users and make different decisions on, you know, depending on who they are and like so so Eve is uh you can build an entire agent in Markdown, but you can every single markdown file in Eve can be a TypeScript file and you can eject and do whatever custom logic you want. So I think like you know if if you're if you're actually serious about building you know for your business and you need the utmost control over what's actually happening and how you connect to things like that's you know Eve is kind of the yeah it's like apples and oranges at that point right like these out of the box harnesses aren't going to give you a way to become programmatic on top of them the same way that you could on on something like Eve.
Yeah. So I was trying to describe that a bit before, but it's it's uh workflows is the main primitive for that. So that's what's giving us the ability to um have uh like good retry semantics. So when things fail, it should be retrying. It's how we can dispatch different functions like statelessly. So workflow is is the is the durable engine behind it. Uh and then we're we're using Vercel's infra to you know to to effectively let it run for an infinite amount of time. Um but that doesn't change you know the self-hosting story is a bit different. So you know if you were to self-host this thing outside of Vercel there's different things to consider and we have a bunch of docs on on how to how to do that as well. Yeah I think we're good. All right.
Related Videos

Expanding Stikbot thumbnails
leopoldshorts
2K views•2023-09-24

Digital Discrimination: Cognitive Bias in Machine Learning
redmonktechevents2974
4K views•2019-12-18

Evolutionary Approach to Clustering by Ujjwal Maulik
ICTStalks
279 views•2019-06-26

Rose Yu "Learning from Large-Scale Spatiotemporal Data"
networkscienceinstitute
2K views•2019-03-04

Stanford Seminar - Generalization through Task Representations with Foundation Models
stanfordonline
4K views•2025-07-14

Satellite-Based Wheat Yield Forecasting using GEE & Transformer Neural Network
gisrsinstitute
634 views•2025-06-15

Paradigm Shifts in Data Processing for the Generative AI Era: Robert Nishihara of Anyscale & Ray.io
GradientFlow
2K views•2025-01-02

How to Build Your Own GenAI-Based Knowledge Management System
2150GmbH
360 views•2025-06-03
Trending

WOW! Judge TURNS THE TABLES on Trump in His OWN $10B LAWSUIT!!!
MeidasTouch
197K views•2026-07-23

Playstation NO DISC/NO BUY Fight Is Over...
DavidJaffeGames
4K views•2026-07-23

Steam and Xbox Just Dropped The Hammer On PlayStation
OhNoItsAlexx
9K views•2026-07-23

Americans Confused in Australia for 17 Minutes Straight
IWrocker
17K views•2026-07-23