Vercel Labs 开源了一套颠覆性的 AI Agent 模板——不用向量数据库、不用 Embedding,纯靠文件系统操作(grep、find、cat)构建知识型 Agent。这是对传统 RAG 架构的一次大胆挑战。

项目概览

Knowledge Agent Template 是 Vercel Labs 开源的文件系统与知识库 AI Agent 模板,核心理念是:

  • 零向量数据库 —— 无需 Embedding 模型、无需分块、无需向量存储
  • 纯文件系统搜索 —— 使用 grepfindcat 在隔离沙盒中搜索知识
  • 多平台部署 —— 一套代码,同时支持 Web 聊天、GitHub Bot、Discord Bot
  • 实时可观测 —— 所有操作可视化,没有黑盒

GitHub: https://github.com/vercel-labs/knowledge-agent-template


核心创新:告别 RAG,回归文件系统

传统 RAG 的问题

传统 RAG Knowledge Agent
文本分块 + Embedding 原始文件直接存储
向量数据库检索 grep / find / cat 搜索
近似匹配,结果不可解释 精确匹配,结果可验证
需要维护 Embedding 流水线 零基础设施开销
更新知识需重新 Embedding 文件同步即可

文件系统搜索的优势

Agent 查询: "如何配置认证?"

传统方式:
1. 查询向量化 → 2. 向量检索 → 3. 返回近似文本块

Knowledge Agent:
1. grep -r "配置.*认证" /docs
2. cat 找到的文件
3. 返回精确内容 + 文件路径

结果:确定性、可解释、即时响应。


系统架构

┌─────────────────────────────────────────────────────────────┐
│                    Your AI Application                       │
│              (Discord bot / GitHub bot / Chat)              │
└─────────────────────────────┬───────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│                      @savoir/sdk                            │
│          AI SDK 兼容工具 (bash, bash_batch)                 │
└─────────────────────────────┬───────────────────────────────┘
                              │ API 调用
                              ▼
┌─────────────────────────────────────────────────────────────┐
│                       apps/app                              │
│                  (Unified Nuxt App)                         │
│  ┌────────────┐  ┌────────────┐  ┌─────────────────────┐   │
│  │  Sandbox   │  │  Content   │  │  Vercel Workflows   │   │
│  │  Manager   │  │    Sync    │  │  (scheduled sync)   │   │
│  └─────┬──────┘  └─────┬──────┘  └─────────────────────┘   │
└────────┼───────────────┼────────────────────────────────────┘
         │               │
         ▼               ▼
  ┌────────────┐   ┌────────────┐
  │   Vercel   │   │   GitHub   │
  │  Sandbox   │◄──│  Snapshot  │
  │            │   │    Repo    │
  └────────────┘   └────────────┘

核心组件

职责
@savoir/sdk AI SDK 兼容工具封装(bash、bash_batch)
@savoir/agent Agent 核心:路由、提示词、工具、类型
apps/app 统一 Nuxt 应用(UI + API + Bot 集成)

关键特性详解

1. 智能复杂度路由

系统根据问题复杂度自动选择模型:

用户提问
    │
    ▼
┌─────────────┐
│ 复杂度分类器 │  trivial → fast/cheap model
│             │  simple  → standard model
│             │  complex → powerful model
└─────────────┘

成本优化自动化,无需手动维护规则。

2. 共享沙盒池

  • 池化设计:沙盒在多个用户和会话间共享
  • 快速启动:已有沙盒直接连接(<100ms)
  • 快照恢复:无可用沙盒时从快照启动(1-3s)
  • 只读安全:危险命令被屏蔽,内容只读

3. 多平台 Bot 适配

基于 Chat SDK 的插件化架构:

// 添加新平台只需一个适配器文件
export const slackAdapter: BotAdapter = {
  // 处理 Slack 消息
  // 转换为统一格式
  // 调用 Agent
  // 返回响应
}

已支持:Web Chat、GitHub Issues、Discord
即将支持:Slack、Linear

4. AI 驱动的 Admin Agent

向你的应用询问运营问题:

  • “过去 24 小时发生了什么错误?”
  • “哪个模型用的 token 最多?”
  • “最慢的端点是哪个?”

Admin Agent 内置工具:query_statsquery_errorsrun_sqlchart


内容源(Sources)

支持多种知识源,统一汇聚为文件:

源类型 说明
GitHub 拉取仓库 Markdown 文档
YouTube 获取频道视频转录文本
自定义 任何能输出文件的源(RSS、API、Slack 导出等)

配置示例:

// GitHub 源
{
  type: 'github',
  repo: 'vercel/next.js',
  branch: 'main',
  contentPath: 'docs',
  readmeOnly: false
}

// YouTube 源
{
  type: 'youtube',
  channelId: 'UC_x5XG1OV2P6uZZ5FSM9Ttw',
  maxVideos: 50
}

快速开始

使用 SDK

import { generateText } from 'ai'
import { createSavoir } from '@savoir/sdk'

const savoir = createSavoir({
  apiUrl: process.env.SAVOIR_API_URL!,
  apiKey: process.env.SAVOIR_API_KEY,
})

const { text } = await generateText({
  model: yourModel,
  tools: savoir.tools, // bash 和 bash_batch 工具
  maxSteps: 10,
  prompt: '如何配置认证?',
})

部署到 Vercel

Deploy with Vercel

本地开发

git clone https://github.com/vercel-labs/knowledge-agent-template.git
cd knowledge-agent-template
bun install
cp apps/app/.env.example apps/app/.env
# 配置环境变量
bun run dev

AI 辅助定制

项目内置 Agent Skills,可用 Cursor / Claude Code 自动化定制:

Skill 用途
add-tool.md 添加新的 AI SDK 工具
add-source.md 添加知识源
add-bot-adapter.md 添加新平台 Bot 适配器
rename-project.md 重命名整个项目

使用方式:告诉你的 AI 助手 “Follow the add-bot-adapter skill to add Slack support”


适用场景

技术文档问答 — 比传统 RAG 更精确的代码搜索
企业内部知识库 — 同步 Confluence、Notion、GitHub
开源项目助手 — 为项目提供 AI 支持(如 Next.js 官方文档助手)
视频内容搜索 — YouTube 频道转录后全文检索


总结

Knowledge Agent Template 代表了 AI Agent 架构的一种新思路:

  1. 简化基础设施 — 无需向量数据库,降低运维复杂度
  2. 提升可解释性 — 文件系统操作完全透明
  3. 降低延迟 — 本地搜索比向量检索更快
  4. 易于扩展 — 任何能输出文件的源都能接入

这是对 “一切问题都用 Embedding 解决” 这一惯性思维的有力挑战。对于文档类、代码类知识库,文件系统搜索可能是更简单、更有效的方案。


参考项目: https://github.com/vercel-labs/knowledge-agent-template