Vercel eve 深度拆解:Agent 领域的 Next.js 来了?
> 来源:Vercel 官方发布 > 链接:https://vercel.com/blog/introducing-eve > 发布时间:2026年6月
一、一句话定位
eve 是 Vercel 发布的开源 Agent 框架,核心理念:"Agent 应该像 Next.js 定义 web 开发那样被定义"——文件系统优先、生产即内置、零样板代码。
Vercel 声称已经在生产环境运行 100+ 个 Agent,每月处理 3 万+ 次查询,agent 触发的部署已占 Vercel 总部署的 29%(一年前不到 3%)。
---
二、Agent 开发的现状:每个人都在重复造轮子
Vercel 团队坦承:他们过去做 Agent 的方式和所有人一样——每个项目从 0 开始搭建:
- 会话持久化( durable session)
- 沙箱隔离(sandboxed compute)
- 人工审批流(human-in-the-loop)
- 多频道接入(Slack/Discord/Telegram)
- 追踪和可观测性(tracing & observability)
- 评估(evals)
eve 的类比很贴切:今天的 Agent 开发就像 2015 年的 web 开发——React/Vue 还没普及,每个人都在手写路由、状态管理、打包配置。Next.js 结束了 web 开发的这种混乱,eve 想对 Agent 做同样的事。
---
三、核心设计:文件系统即定义
一个 Agent 就是一个目录
agent/
agent.ts # 模型配置
instructions.md # 人设/系统提示
tools/
run_sql.ts # 工具
post_chart.ts
skills/
revenue-definitions.md # 知识/技能
subagents/
investigator/ # 子 Agent
channels/
slack.ts # 接入频道
schedules/
monday-summary.ts # 定时任务
关键设计:每个文件描述一个组件,目录结构即 Agent 的结构。看一眼目录树就知道这个 Agent 是什么、能做什么、住在哪里、什么时候自己行动。
模型配置:一行代码
import { defineAgent } from "eve";
export default defineAgent({
model: "anthropic/claude-opus-4.8",
});
支持 provider fallback(通过 AI Gateway),一个 Agent 挂掉自动切到另一个模型。
工具定义:一个 TypeScript 文件
import { defineTool } from "eve/tools";
import { z } from "zod";
export default defineTool({
description: "Run a read-only SQL query.",
inputSchema: z.object({
sql: z.string().describe("A single read-only SELECT statement."),
}),
async execute({ sql }) {
const result = await runReadOnlySql(sql);
return result;
},
});
文件名即工具名,Zod schema 即参数定义,execute 即实现。eve 自动处理注册、类型推断、模型调用时的 schema 注入——零样板代码。
技能定义:一个 Markdown 文件
---
description: How this team defines revenue. Load before answering any revenue question.
---
Revenue is recognized net of refunds, over the subscription term.
Weeks are Monday-anchored, in UTC.
Exclude trial and internal accounts from every number.
技能按需加载——只有话题涉及 revenue 时才注入到 prompt 中,避免上下文污染。
---
四、生产级能力:全部内置
1. 持久化执行(Durable Execution)
Agent 的运行可能持续几小时、几天甚至几周(等审批、等外部系统回调、等人工确认)。eve 的每个会话都是一个持久化工作流——每步执行后 checkpoint,崩溃/部署后可以从断点恢复。
> What was revenue last week?
⦿ load_skill revenue-definitions
⦿ run_sql
SELECT date_trunc('week', created_at) ...
[服务器重启]
[恢复]
Revenue for the week of June 1 was $4.2M...
底层基于开源 Workflow SDK,不是 Vercel 专有技术。
2. 沙箱隔离(Sandboxed Compute)
Agent 生成的代码是不可信的——它可能写 bug、可能跑恶意命令、可能误删文件。
eve 的解决:每个 Agent 有自己的沙箱,Agent 生成的代码在隔离环境中运行(bash、Python、文件读写),与运行 Agent 本身的 harness 完全隔离。
沙箱后端是可插拔的:
- 本地开发:Docker、microsandbox、或纯 bash
- 生产环境:Vercel Sandbox
- 自定义:写 adapter 即可
3. 人工审批流(Human-in-the-Loop)
export default defineTool({
description: "Run a read-only SQL query.",
inputSchema: z.object({ sql: z.string() }),
needsApproval: ({ toolInput }) => estimateScanGb(toolInput.sql) > 50,
async execute({ sql }) { ... }
});
任何工具都可以配置 needsApproval——当条件满足时,Agent 会暂停,等待人工审批。暂停期间不消耗任何计算资源。审批通过后,从断点继续。
审批界面原生支持 Slack(按钮、下拉菜单、打字指示器),不需要额外开发。
4. 安全连接(Connections)
Agent 需要连接数据库、API、第三方服务。eve 的 connection 是一个文件:
import { defineMcpClientConnection } from "eve/connections";
export default defineMcpClientConnection({
url: "https://mcp.linear.app/sse",
description: "Linear workspace: issues, projects, cycles.",
auth: {
getToken: async () => ({ token: process.env.LINEAR_API_TOKEN! }),
},
});
eve 自动发现远程工具、代理认证、隐藏凭证——模型永远看不到 URL 或 token。支持 MCP 服务器、OAuth、API Key 等方式。
已内置支持:Slack、GitHub、Snowflake、Salesforce、Notion、Linear。
5. 多频道接入(Channels)
同一个 Agent 可以同时存在于多个频道:
$ eve channels add slack # → channels/slack.ts
$ eve channels add discord # → channels/discord.ts
$ eve channels add teams # → channels/teams.ts
一个文件一个频道,Agent 的核心逻辑不变。会话可以在频道间迁移:Slack 里问的问题,可以在 web 上继续;HTTP webhook 触发的事件,可以在 Slack 里开调查线程。
6. 追踪与评估(Tracing & Evals)
追踪:每次运行产生标准 OpenTelemetry trace,包含每个 model call、tool call、sandbox 命令的输入输出。可导出到 Braintrust、Honeycomb、Datadog、Jaeger。Vercel 平台上原生展示在 Observability > Agent Runs 面板。
评估:用代码定义测试用例,像测试普通软件一样测试 Agent。
import { defineEval } from "eve/evals";
import { includes } from "eve/evals/expect";
export default defineEval({
description: "Analyst answers revenue questions by team rules.",
async test(t) {
await t.send("What was revenue last week?");
t.completed();
t.calledTool("run_sql");
t.check(t.reply, includes("net of refunds"));
},
});
可以本地运行 eve eval,也可以接入 CI 作为部署门禁。
---
五、子 Agent:分形架构
一个 Agent 可以把工作委派给另一个 Agent——子 Agent 是完全独立的目录,有自己的模型、指令、工具、沙箱。
agent/
subagents/
investigator/
agent.ts # 自己的模型配置
instructions.md # 自己的指令
tools/ # 自己的工具
父 Agent 调用子 Agent 就像调用工具一样。子 Agent 有独立的上下文窗口,做完工作后把结果返回给父 Agent。
这种分形架构(fractal architecture)意味着复杂任务可以层层分解:主 Agent 负责协调,子 Agent 负责具体领域,每个层级保持简洁。
---
六、Vercel 内部的真实案例
d0 — 数据分析师
- 每月回答 30,000+ 次查询
- Vercel 内部使用最频繁的工具
- 权限感知:每个查询都按提问者的权限范围执行,无法访问无权限的数据表
Lead Agent — 自主销售代表
- 年运行成本约 $5,000
- 年回报约 $160,000(32 倍 ROI)
- 一名工程师兼职维护
- 24/7 自动跟进新线索,按最佳销售代表的 playbooks 执行
Athena — 销售驾驶舱
- RevOps 团队 6 周无工程师参与搭建完成
- 从 Snowflake 和 Salesforce 获取数据,用自然语言回答 pipeline 和 forecast 问题
- 上线后 pipeline coverage 几乎翻倍
Vertex — 支持工程师
- 处理 help center、docs、Slack 的 tickets
- 92% 的 tickets 自动解决,其余转人工
- 24/7 运行,确保用户随时得到快速响应
V — 路由 Agent
- 所有任务先发给 V
- V 判断哪个子 Agent 最适合处理,自动路由
- 100+ 个 Agent 像 1 个 Agent 一样工作
七、部署:和普通 Vercel 项目一样
vercel deploy
Agent 是普通 Vercel 项目,没有额外的基础设施需要配置。部署时:
- 沙箱自动切换到 Vercel Sandbox
- 定时任务自动部署为 Vercel Cron Job
- 追踪数据自动接入 Vercel Observability
- 同一个 coding agent 可以构建、部署、验证 Agent
---
八、与其他 Agent 框架的对比
| 维度 | LangChain | AutoGen | CrewAI | eve |
|---|---|---|---|---|
| 范式 | 链式编排 | 多 Agent 对话 | 角色+任务分配 | 文件系统优先 |
| 持久化 | 需自建 | 需自建 | 需自建 | 内置 |
| 沙箱 | 无 | 无 | 无 | 内置 |
| 审批流 | 需自建 | 需自建 | 需自建 | 内置 |
| 多频道 | 需自建 | 需自建 | 需自建 | 内置 |
| 评估 | 基础 | 无 | 无 | 内置 |
| 部署 | 任意 | 任意 | 任意 | Vercel(其他平台 coming) |
| 子 Agent | 复杂 | 原生支持 | 原生支持 | 分形目录 |
| 学习曲线 | 中 | 高 | 低 | 低(如果会用 Next.js) |
---
九、局限与开放问题
1. 生态锁定
eve 和 Vercel 平台深度绑定(Vercel Sandbox、Vercel Connect、Vercel Cron)。虽然理论上支持其他平台(通过 adapter),但当前只有 Vercel 原生支持。对非 Vercel 用户,价值打折扣。
2. TypeScript 限定
eve 是 TypeScript 框架。Python 生态(数据科学、ML)的开发者需要额外学习成本。
3. 模型依赖
底层依赖 Vercel AI SDK 和 AI Gateway,虽然支持多 provider fallback,但配置和调试模型切换的细节仍需要了解。
4. 多 Agent 编排的复杂度
虽然子 Agent 设计优雅,但 100+ 个 Agent 的协同(如 V 路由 Agent)的复杂性是否在文件系统层面能优雅管理,仍需大规模验证。
5. 安全模型的成熟度
沙箱隔离是好设计,但 Agent 生成代码的 side effect(如网络请求、文件系统操作)的边界控制是否足够严格,还需要社区的安全审计。
---
十、判断:是噱头还是工程革命?
说"革命"可能过誉,但"重要一步"是确定的
eve 的真正价值不是发明了什么新技术——持久化工作流、沙箱、审批流、多频道接入都不是新概念。它的价值在于把这些概念打包成一个"开发者体验优先"的框架。
类比:
- Docker 没有发明容器(Linux namespace/cgroup 早已存在),但 Docker 让容器易用
- Next.js 没有发明 SSR/SSG,但 Next.js 让全栈开发简单
- eve 没有发明持久化 Agent,但 eve 让生产级 Agent 开发简单
关键信号:Vercel 自己也在用
eve 不是"为社区做"的框架——Vercel 自己已经在生产运行 100+ 个 Agent,处理了 30,000+ 次月查询,agent 部署占 29%。这是dogfooding(自己吃自己的狗粮),不是营销概念。
适合谁?
- 已经在用 Vercel 的团队:几乎没有迁移成本,直接升级
- 需要快速搭建生产级 Agent 的团队:不想从零搭建持久化、沙箱、审批、评估
- 多 Agent 协作场景:子 Agent 的分形架构天然适合复杂任务分解
不适合谁?
- 深度 Python 生态:TypeScript 不是首选
- 非 Vercel 部署:虽然支持其他平台,但当前生态不成熟
- 超定制需求:eve 封装度高,但极端定制可能需要绕过框架
十一、总结
eve 的发布意味着 Agent 开发从"手搓基建"进入"框架时代"。它不一定是最强的框架,但可能是开发者体验最好的框架——如果你会用 Next.js,eve 的学习曲线几乎为零。
Vercel 的赌注:Agent 会像 web 一样,从" everyone hand-rolling"走向"framework abstractions"。如果赌对了,eve 就是 Agent 领域的 Next.js。
npx eve@latest init my-agent
# 60 秒后,一个生产级 Agent 在本地运行
---
> 参考链接 > - Vercel eve 博客:https://vercel.com/blog/introducing-eve > - eve 文档:https://eve.dev/docs > - GitHub:https://github.com/vercel/eve > - Vercel AI SDK:https://sdk.vercel.ai/ > - Next.js(类比框架):https://nextjs.org/ > > #Vercel #eve #Agent框架 #NextJS #TypeScript #开源 #生产级Agent #持久化执行 #沙箱 #人工审批 #多频道 #子Agent #小凯
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens