Vercel智能体进化史:从翻车到翻倍的文件系统实战

Vercel内部数据智能体D0从多Agent流水线到文件系统Agent的踩坑全记录,以及由此催生的开源框架EVE。
Vercel首席软件官Andrew复盘了内部数据科学智能体D0的完整进化路径:从手动提示词实验,到多Agent流水线因上下文丢失而撞墙,再到受Claude Code启发转向文件系统Agent,evals评分实现翻倍。关键洞察有三:单一大Agent自管理上下文比多Agent流水线更有效;极简工具集(read/write file + bash)配合沙箱执行是真正的解锁点;将高频查询蒸馏成可复用技能能让每次运行站在更高起点。这段踩坑经历最终催生了开源Agent框架EVE,将"约定优于配置"的Next.js哲学带入Agent构建领域,目前Vercel内部已有约20个高PMF智能体在生产环境运行。
Vercel首席软件官Andrew在一次分享中,完整复盘了公司内部数据科学智能体D0从最初的"翻车"到evals评分翻倍的进化历程。这段实战经历不仅揭示了构建生产级AI Agent的关键转折点,也直接催生了Vercel两周前发布的开源Agent框架EVE。对于任何想要落地企业级智能体的团队来说,这条踩坑路径极具参考价值。
从Mega Prompt到多智能体的失败尝试
Vercel起家于Web基础设施,帮助开发者无需操心底层就能部署网站与应用。但Andrew观察到需求正在迁移——人们从构建页面转向构建Agent。大约一年前,在Sonnet 4的时代,他和CTO萌生了一个想法:能否像"每张桌上一台电脑"那样,实现"每张桌上一个智能体"。
他跑遍了Vercel的市场、销售、财务、法务团队,问的都是同一个问题:"你最讨厌工作里的哪部分?"最有说服力的痛点来自数据团队。这是一支精干的小团队,但Vercel增长太快,来自客户、分析、销售的数据源源不断。每当市场或销售部门有个关于客户或产品的问题,数据科学家就得放下手头一切,写查询、跑处理、做分析、给建议——这对生产力是致命打击。
最初的版本非常朴素:Andrew要来Snowflake的schema导出,粘进系统提示词,加上问题让模型生成SQL,再手动复制粘贴去执行。这个粗糙的实验给了他一点信心——今天的模型还不够好,但通过更好的上下文工程和护栏,或许可行。
多智能体架构的墙
第二个版本D0把数据科学家的真实工作流拆解成多个专用Agent:查询Agent、规划Agent、执行Agent、报告Agent,串联成流水线。每个Agent有专属的系统提示词和严格限定的工具,比如规划Agent只能用"读取实体YAML"和"搜索schema"两个工具。

这个架构确实比手动复制粘贴强,实现了从提问到答案的端到端闭环。但很快撞上了墙。问题在于:每个下游Agent只能拿到上游的一个摘要和小片段,无法回看完整的执行历史,也无法自我反思纠错。
Andrew他们由此得出一个关键结论——真正需要的是一个拥有全部上下文、能自行管理记忆的单一大Agent。这个巨型Agent内部自己切换状态:某个时刻在规划,某个时刻在构建,某个时刻在执行,某个时刻在报告。用一次最大步数100的大调用,让它根据当前进度自主管理状态。最大的好处是,一旦执行或join出错,它可以回头重新探索、重新读取,搞清楚哪里出了问题。
多智能体流水线(Multi-agent Pipeline)是早期企业落地LLM的常见模式:将复杂任务拆解为若干子任务,每个子任务由专属Agent负责,通过消息传递串联。这种架构的理论优势在于职责清晰、提示词更短更聚焦、单步出错影响范围可控。然而其致命缺陷在于信息损耗:每次跨Agent交接时,上游输出往往被压缩成摘要,完整的中间推理链条、执行日志和上下文细节大量丢失。下游Agent在一个信息残缺的基础上继续工作,既无法审视整个历史来自我纠错,也无法在多步骤之间做真正意义上的长程规划。这与人类分工协作的区别在于:人类协作者可以随时追问上游、调阅原始材料;而固定拓扑的Agent流水线做不到这一点。这正是Vercel团队撞墙的根本原因,也是后来转向单一大Agent的核心动机。
真实用户的当头一棒
团队当时相当自信,把这个"很能打"的系统交给几位可信的内部同事试用——因为担心落到不当使用者手里或跑关键工作负载。结果反馈很直接:糟透了。
他们自以为在evals上拿下30%已经很不错,却完全没料到真实用户会问出各种意想不到的问题。而靠人工手动映射这些场景,显然不是可扩展的路子。这是一个残酷但真实的教训:内部评测的高分与真实场景的表现之间,往往隔着一条鸿沟。
文件系统Agent:真正的解锁点
转机来自Claude Code和Opus 4.5的发布。Andrew形容它"相比我们之前手搓的Agent,基本就是AGI"——几乎能不假思索地回答他们大部分的问题。
当团队反思自己到底做错了什么、为什么Claude Code这么强时,他们意识到最大的解锁点其实非常朴素:它只是一个文件系统。极简的工具集——list file、read file、run bash,加上少量针对数据用例的工具。关键在于,这些是Agent被充分训练过的工具,模型能自由探索、在需要的地方写入工作成果。Claude Code并没有给出一套规定死的工具,而是放任它去释放涌现行为。

于是他们照着Claude Code的思路重建D0:跑在sandbox里,把整个语义层dump进去,Agent通过bash、read file、write file自由探索,再在上面"撒"几个Vercel特定的工具。这次的飞跃是史无前例的——从单一Agent到Claude Code SDK,再到为自身用例定制的文件系统Agent,evals评分直接翻倍。
实现代码却出奇简单:给它一个bash工具(NPM上有个叫bash tool的helper),挂到sandbox上,再挂上文件系统供它读写执行即可。Andrew随后写的那篇博客,发布当周贡献了Vercel.com 70%的流量。
Claude Code是Anthropic推出的终端编程智能体,其核心设计哲学是将Agent的行动空间限定为开发者最熟悉的原语:文件读写与Shell执行。这套极简工具集背后有重要的训练逻辑——模型在预训练和RLHF阶段接触了海量使用这些工具的真实代码与操作记录,因此对ls、cat、bash等命令有极强的泛化能力。相比之下,为特定业务场景手工设计的定制工具(如"查询schema"、"生成报告")往往缺乏足够的训练数据支撑,模型对其边界条件的理解远不如标准文件系统操作稳健。"Sandbox"(沙箱)则是隔离执行环境的安全机制,Agent在其中运行任意代码,而不会影响宿主系统。Vercel将业务语义层dump进沙箱文件系统,让Agent像探索代码库一样探索数据上下文,本质上是在借用模型已被充分强化的能力通路,而非强迫它学习新的工具语言。
技能沉淀:让每次运行不再从零开始
当D0放开给整个Vercel使用后,每天涌入数千条查询——客户指标、销售指标、NPM下载量等等。团队发现这些查询在形态上高度相似:聚合的方式就那么几种,查产品、查账单信息也是。
于是他们做了一个定时任务,把最近的查询蒸馏成"技能"(skill)。目前已积累约100个技能,覆盖从聚合分析到查询特定人员数据。这套机制非常有效:每次新的Agent运行本来是从零开始,除了语义层和系统提示词几乎没有预置上下文;而有了技能,它一开始就带着大量已经沉淀好的上下文知识。Vercel还为此推出了Skills SH工具,成为查找和运行Agent技能的热门方式。
这套"技能蒸馏"机制在AI系统设计中对应的是检索增强生成(RAG)与Few-shot示例的结合变体。传统RAG将外部知识库向量化后按需召回,以弥补模型上下文窗口的限制;而Vercel的技能体系更进一步——它不仅存储知识片段,还沉淀了经过验证的完整执行路径(包含SQL查询、分析思路和报告格式)。每次运行时,相关技能被注入上下文,相当于给Agent配备了一位"做过100次同类任务"的老员工。这种机制的价值在于将系统的隐性知识显式化并持续积累,形成复利效应:用量越大、技能库越丰富,后续每次运行的起点越高,成功率和一致性也随之提升。这也是自建垂直Agent相对通用产品的核心护城河之一。
EVE:为Agent打造的Next.js
这段从简单提示词一步步加复杂度、最终跑到生产环境的旅程,让Andrew意识到一个问题:一路上不断有同事"Agent curious",fork他的D0去搭自己的Agent,但每次都得从简单提示词或第一性原理重新发明最佳实践。

由此诞生了EVE——两周前发布的Agent框架,被定位为"Agent版的Next.js"。就像Next.js用文件系统约定来定义基础设施一样,EVE让你只需创建skills文件夹、tools文件夹、channels文件夹,框架就知道如何组装出一个Agent。它以开源为设计理念,可插入Postgres、OpenAI Responses API、Docker等开源适配器,同时也能一键部署到Vercel,用上Vercel Workflows(持久化)、Sandbox(安全执行)和刚发布的Vercel Connect(短时令牌)。
团队用EVE重写了整个D0,文件系统结构变得极为清晰:一批系统指令、几个技能、几个工具,就能组合成一个可用的Agent,且易于迭代。部署到Vercel后还自带可观测性——所有Agent运行、工具调用、每一步执行乃至预估成本一览无余。

合作伙伴Aura用EVE从头重建了一个类似"mini Claude"的Agent,用于自动访问网站、安装并试用他人的服务。相比直接用现成的Claude Code,步骤更少、成功率更高、洞察更强。
Next.js是Vercel自研的React全栈框架,其核心创新在于用文件系统约定(File-system based routing)取代繁琐的手动配置:把文件放在pages/目录,框架自动生成路由;放在api/目录,自动变成API端点。这种"约定优于配置"(Convention over Configuration)的哲学极大降低了Web开发的心智负担,让开发者专注于业务逻辑而非基础设施组装。EVE将同样的理念迁移到Agent领域:skills/、tools/、channels/文件夹的存在本身就是配置,框架负责理解其含义并完成组装。这与目前主流Agent框架(如LangChain、LlamaIndex)依赖大量Python代码显式声明组件关系的方式形成对比——后者灵活但陡峭,前者约束更强但上手极快,尤其适合已有Next.js工程经验的Web开发者团队。
结论:自建垂直Agent的价值
Andrew的核心观点是:现成的垂直Agent(比如专门跑Snowflake查询的产品)都不错,值得一试,但要真正"榨出果汁",就得自己建、并尽可能注入公司特定知识。Vercel作为Web公司,对客户的网站属性有更深的理解,知道何时该查什么、什么关联什么——这种领域知识是通用产品给不了的。
如今Vercel内部已有约20个达到不错PMF的Agent,覆盖市场复盘、外联对象筛选、法务合同首轮红线标注,直到数据科学查询。数据团队从此腾出手来优化Snowflake性能、接入新数据源,生产力空前提升。对任何规模的公司而言,用Agent自动化那些不想做或耗时过多的工作(HR、财务、销售等),门槛从未如此之低。
相关推荐

Claude Code + Skills 一键生成Web测试用例实战解析
本文解析如何用 Claude Code 结合 Skills 技能机制,实现从需求文档到 Web 测试用例的三阶段自动化生成流程,涵盖需求拆分、测试点提取与用例生成,并理性评估其效率提升与实际价值。

AI Agent 攻坚粒子物理:LEBRON 框架如何计算电弱相变
费米实验室研究员 Isaac Wang 分享 LEBRON 框架,用 AI Agent 计算宇宙早期电弱相变。文章解析大模型在严格科学计算中的四类失灵、auditor 审计机制,以及 AI 推进理论物理的机遇与障碍。

ComfyUI音乐工具包3.0:YuE2翻唱与ABC乐谱驱动的AI编曲
ComfyUI Music Production Toolkit 3.0发布,新增YuE2音频翻唱功能,通过SheetSage2转写ABC乐谱并由LLM改写提示词,实现结构感知的AI编曲。支持两种源模式,保留MiniMax Music 3,开源可用。