thumbnail

Build an Agent with Eve — The Open Agent Framework

Vercel · 39:50 · Ship 26 NYC Workshop
Build an Agent with Eve — The Open Agent Framework
🛠 Workshop 🤖 Agent Framework 📦 Open Source ⚡ Serverless 🔌 Channels & Connections 🧪 Evals

1. Scaffolding an Eve Agent

Andrew and Casey, tech leads on Eve at Vercel, kick off this live Ship 26 NYC workshop. Eve was released just a few weeks prior at Ship London, and this session walks the audience through building a fully functional agent from scratch.

Getting Started with npx init

  • A single npx init command scaffolds the most basic Eve application — minimal boilerplate, instant productivity
  • Eve uses a declarative file-system-based approach to agents — no config DSLs, no sprawling setup
💬 "An agent can literally just be an instructions file and nothing else."

Running in Dev Mode

  • eve dev walks through setup including model provider authentication
  • Choose between AI Gateway (Vercel's managed gateway product) or bring your own keys/providers
  • Out of the box you get a ChatGPT-in-a-box with web search and all harness features that "just work" ▶ 1:36

2. Channels — From Terminal to Slack

Channels are the topmost layer of how users interact with an Eve agent. They abstract away the presentation so the agent logic stays clean and channel-agnostic.

Channel Architecture

  • A default HTTP channel runs behind the scenes for local dev ▶ 3:30
  • Connecting to Slack via Vercel Connect takes seconds — deploy and the agent appears in your workspace
  • The audience tags the bot live during the workshop — instant interaction in real-time ▶ 4:40
💬 "Channels own their presentation — Slack shows thinking indicators and tool calls differently than terminal. We're doing a lot of stuff for you out of the box."

3. Debugging in the Vercel Dashboard

Eve provides full observability out of the box for every agent interaction, directly in the Vercel dashboard.

  • Every message and run is viewable in the dashboard — see exactly what happened and what failed ▶ 6:20
  • Debug tool call failures in real time — no need for external logging infrastructure
  • Full trace of the agent's reasoning, tool invocations, and responses available per-interaction
Full observability is included by default — no extra setup, no third-party APM needed.

4. Connections — OpenAPI Data in One Prompt

Connections are a first-class primitive in Eve for data integration. They let agents reach into external data sources with minimal configuration.

Connection Types

  • OpenAPI specs — point at a spec, Eve generates the tools automatically ▶ 7:50
  • Postgres databases — direct SQL access for data queries
  • Any data source can be wrapped as a connection

Coding Agent Integration

  • Used a coding agent (open code) to add an OpenAPI connection live during the demo ▶ 8:30
  • Eve ships special documentation inside node_modules so coding agents can understand Eve concepts and scaffold correctly
  • The agent immediately uses the new connection for weather queries
💬 Update instructions to customize persona ("NYC City Expert") — everything updates in real time. Redeploy in seconds → live in Slack.

5. Tools with Approvals — The MongoDB Example

Tools in Eve are a one-to-one mapping for custom functionality. Drop them into a tools/ folder and they're immediately available — fully declarative.

MongoDB Query & Mutate Tools

  • Separate query and mutate tools for read vs write operations ▶ 12:00
  • Import any Node.js library you want inside tool calls — full ecosystem access
  • Sandbox interaction available for safe execution

Human-in-the-Loop Approvals

💬 "Mutate requires human approval — will never run unless a human is put in the loop."
  • Approvals flow through the same UI per channel — native Slack buttons, terminal prompts ▶ 13:50
  • Built-in question tool renders differently per channel (terminal vs Slack native UI)
  • A WebSocket channel was built live by a coding agent during the demo — Eve has WebSocket as a channel primitive ▶ 16:00
  • Vercel Connect team ships integrations (Linear, Slack, GitHub) separately from Eve core

6. Evals — Deterministic Checks & LLM as Judge

Eve includes a first-class evaluation system — critical for iterating on agents and understanding the impact of changes.

Two Types of Evals

  • Deterministic checks — simple assertions like "does the response include the word NYC" ▶ 18:20
  • LLM as judge — semantic evaluation of meaning and quality ▶ 19:00
🧪 Eve's own test suite is built on its eval system — dogfooding at its finest.
  • Can send eval results to providers like Braintrust for tracking over time
  • The API mirrors the CLI testing interface — automate what you'd do manually in CI/CD

7. Frontend Frameworks & Generative UI

Eve is deeply integrated with frontend frameworks, with Next.js as a first-class citizen.

React & Next.js Integration

  • useEveAgent hook for seamless frontend interaction ▶ 21:20
  • Framework teams (SvelteKit, Nuxt, Next) all actively supporting Eve

Generative UI Demo

  • World Cup demo: beautifully rendered generative UI components streamed directly from Eve ▶ 23:20
  • Rich, interactive components generated on-the-fly based on agent responses

Eve vs AI SDK

💬 "Eve is a layer on top of AI SDK — it adds durable agents, the harness, and the hard stuff. Use AI SDK directly if you want a custom model or don't want the declarative file-system approach."
  • AI SDK v7 features are available same-day in Eve ▶ 26:00
  • Eve handles durable execution, session management, and multi-channel delivery on top of AI SDK

8. Architecture — Stateless Harness on Workflow SDK

Under the hood, Eve's harness is fully serverless and stateless, using Vercel's Workflow SDK for durability.

Serverless Durability

  • Workflow SDK provides retry semantics and stateless function dispatch ▶ 28:40
  • Long-running turns can take hours — the system dispatches to a new serverless function at each tool call boundary ▶ 30:00
  • Bypasses the 15-minute serverless function timeout entirely
Sessions are channel-agnostic — resume any session from any channel via a continuation token. Start in terminal, continue in Slack.

Harness Features

  • Default tools: read file, write file, web fetch, web search, glob, grep — all replaceable ▶ 32:00
  • Hooks system: plug into harness events (compaction, pre/post tool calls) for custom behavior
  • Every Eve agent has a sandbox — Docker locally, Vercel Sandbox in cloud ▶ 34:00
  • Self-hosting story available in docs (different from managed Vercel deployment)
  • Future: possibly run Eve on top of other harnesses (open code, Pi)

9. Eve vs The Field — Extensibility & Positioning

How does Eve fit alongside other agent products, including Vercel's own Tag?

Eve vs Tag

  • Tag = pre-built Slack agent, single binary, self-evolution and memory
  • Eve = code-first framework, build for your specific business ▶ 36:00
💬 "You can build Tag on Eve — all necessary APIs are available."

Progressive Complexity

  • Multi-tenant APIs: per-user skills, memory stored in DB, scales to hundreds of thousands of users
  • Every markdown file can be a TypeScript file — eject to custom logic at any point ▶ 36:50
  • Skills in plain English: frontier models follow well-written instructions reliably
  • Output schemas for deterministic behavior from non-deterministic LLMs
  • Sub-agents for structured, composable output

10. Pricing, Browser Use & What's Next

Practical questions about costs, browser automation, and the Eve roadmap.

Pricing Model

  • Deploying an Eve agent costs nothing (serverless) — pay only for usage ▶ 38:10
  • Main costs: function CPU, function duration, sandbox usage
  • Tokens account for ~90% of spend — the LLM calls dominate

Browser & Computer Use

  • No built-in browser/computer use — plug into your favorite provider via tool calls ▶ 39:00
  • Vercel Sandbox could support browser use in the future
  • Built-in capabilities limited to web fetch and web search

🎯 Key Takeaways

  1. Eve is Vercel's open-source declarative agent framework — agents can be just an instructions file with zero boilerplate
  2. Channels (Slack, HTTP, WebSocket) handle presentation per-platform; agents are channel-agnostic
  3. Connections are first-class primitives for data integration — OpenAPI specs, Postgres, any data source
  4. Tools support human-in-the-loop approvals for mutations — critical for safe production agents
  5. Built-in eval system with deterministic checks + LLM-as-judge for reliable iteration and CI/CD
  6. Fully serverless/stateless architecture on Workflow SDK — handles hours-long turns via function dispatch at tool call boundaries
  7. Sessions are portable across channels via continuation tokens — start in terminal, resume in Slack
  8. Code-first with progressive complexity — start with markdown, eject to TypeScript when needed

📚 Resources & Links

⏱ Timestamp Index

▶ 0:00 Workshop intro & scaffolding
▶ 1:36 Eve dev mode & AI Gateway
▶ 3:24 Channels — terminal to Slack
▶ 4:40 Live audience Slack demo
▶ 6:05 Dashboard observability
▶ 7:25 Connections — OpenAPI integration
▶ 8:30 Coding agent adds connection
▶ 11:36 Tools & MongoDB example
▶ 13:50 Human approval flows
▶ 16:00 WebSocket channel live-coded
▶ 17:49 Evals introduction
▶ 18:20 Deterministic checks
▶ 19:00 LLM as judge evals
▶ 20:38 Frontend & Next.js integration
▶ 23:20 World Cup generative UI demo
▶ 26:00 Eve vs AI SDK relationship
▶ 28:10 Architecture deep dive
▶ 30:00 Long-running turns & durability
▶ 32:00 Default harness tools
▶ 34:00 Sandbox & Docker
▶ 35:34 Eve vs Tag positioning
▶ 36:50 Progressive complexity
▶ 38:00 Pricing model
▶ 39:00 Browser use & roadmap