Knowledge Agent Template: AI-агенты с файловым поиском без эмбеддингов

· 2 мин чтения
ai-agents knowledge-base sandbox file-system template
📂 Исходный код на GitHub

Шаблон AI-агента на Vercel SDK с файловым поиском вместо эмбеддингов. Боты для GitHub и Discord, админ-панель, AI-агент для операционных вопросов, разделяемый пул песочниц и умная маршрутизация запросов по сложности.

Knowledge Agent Template: AI-агенты с файловым поиском без эмбеддингов

Knowledge Agent Template — открытый шаблон от Vercel Labs для построения AI-агентов, которые ищут информацию через файловую систему вместо векторных баз данных. Никаких эмбеддингов, чанков и сложных пайплайнов — агент использует grep, find и cat внутри изолированных песочниц. Поддерживает GitHub-репозитории, YouTube-транскрипты и произвольные API как источники знаний. Деплоится как чат-приложение, GitHub-бот, Discord-бот или всё сразу.

Ключевая идея

Вместо привычного RAG-пайплайна (чтобы найти ответ, нужно нарезать документы на чанки, сгенерировать эмбеддинги, сохранить в векторную БД и потом искать ближайшие соседи) Knowledge Agent Template использует прямой файловый поиск. Агент запускает знакомые каждому разработчику команды — grep для поиска, find для навигации, cat для чтения — внутри изолированной Vercel Sandbox с клоном репозитория-снапшота.

Результаты поиска детерминированы, объяснимы и мгновенны. Инфраструктура — ноль: не нужна векторная БД, не нужен пайплайн чанкинга, не нужна модель эмбеддингов.

Возможности

Файловый поиск без эмбеддингов. Агент ищет напрямую в файлах через bash-команды. Детерминированный результат, никаких галлюцинаций векторного поиска.

Мультиплатформенные боты. Один агент — везде: веб-чат, GitHub Issues, Discord. Скоро Slack и Linear. Новые платформы добавляются одним адаптером через Chat SDK.

Встроенная админ-панель. Статистика использования, логи ошибок, управление пользователями, конфигурация источников и ручной запуск синхронизации — всё из коробки.

AI-админ-агент. Можно спросить у приложения о нём самом: «Какие ошибки были за последние 24 часа?», «Покажи расход токенов по моделям», «Какие эндпоинты самые медленные?». Админ-агент имеет доступ к инструментам query_stats, query_errors, run_sql, chart.

Умная маршрутизация по сложности. Каждый входящий запрос классифицируется по сложности и направляется к подходящей модели: простые вопросы — к быстрым и дешёвым, сложные — к мощным. Оптимизация затрат без ручных правил.

Визуализация работы агента. Чат-интерфейс показывает в реальном времени, какие файлы читает агент, какие команды выполняет и сколько времени занимает каждый шаг.

Шеринг диалогов. Любой диалог можно расшарить одной кнопкой — генерируется публичная ссылка с автором, заголовком и полной историей обмена.

Пул песочниц. Песочницы разделяются между пользователями и диалогами. При старте чата агент подключается к уже запущенной песочнице — запуск менее 100 мс. Если свободных нет, новая поднимается из пребилженного снапшота за 1-3 секунды. Песочницы read-only с блокировкой опасных команд.

Архитектура

Три слоя:

Ваше приложение (Discord/ GitHub/ веб-чат)
          │
          ▼
     @savoir/sdk         ← AI SDK-совместимые инструменты (bash, bash_batch)
          │
          ▼
     apps/app (Nuxt)     ← Песочницы, синхронизация контента, Vercel Workflows
          │
    ┌─────┴─────┐
    ▼           ▼
Vercel Sandbox   GitHub Snapshot Repo

Контент из источников (GitHub, YouTube) синхронизируется в snapshot-репозиторий через Vercel Workflow. При запросе API поднимает или переиспользует песочницу с клонированным репозиторием. SDK-инструменты выполняют grep/find/cat — результат возвращается модели.

Пакеты

Пакет Описание
@savoir/sdk AI SDK-совместимые инструменты для агентов
@savoir/agent Ядро агента: роутер, промпты, инструменты, типы
apps/app Nuxt-приложение: чат-UI, API, боты

Быстрый старт

Установка через Bun:

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

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,
  maxSteps: 10,
  prompt: 'How do I configure authentication?',
})

Обязательные переменные окружения: BETTER_AUTH_SECRET, GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET. Опционально — AI_GATEWAY_API_KEY для локальной разработки и NUXT_GITHUB_SNAPSHOT_REPO для песочниц.

Деплой на Vercel — в один клик через кнопку Deploy в README.

Кастомизация

Шаблон рассчитан на форк и доработку под себя. Доступны:

  • Переименование инстанса (имя, иконка, описание)
  • Добавление источников контента (GitHub-репозитории, YouTube-каналы, произвольные API)
  • Создание кастомных AI-инструментов
  • Добавление ботов-адаптеров (Slack, Linear)
  • Кастомизация промптов и темизация UI

В проекте есть локальные навыки в .agents/skills/ (add-tool, add-source, add-bot-adapter, rename-project) — кастомизацию можно делегировать AI-агенту.

Боты

Два встроенных бота на базе Vercel Chat SDK:

  • GitHub Bot — отвечает на упоминания в issues и PR через GitHub App
  • Discord Bot — отвечает на упоминания и продолжает диалоги в тредах

Оба используют тот же AI-агент и базу знаний, что и веб-чат.

Технологический стек

Nuxt, Nuxt UI, NuxtHub (SQLite, KV, blob storage), Vercel AI SDK, Vercel Sandbox, Vercel Workflow, Better Auth, Drizzle ORM, Vercel Chat SDK. Языки: TypeScript (55%), Vue (45%). Лицензия MIT.

Источник: https://github.com/vercel-labs/knowledge-agent-template