Vercel · агенты для работы с данными

Агенту нужна среда,
в которой он умеет работать

Как команда Vercel превратила эксперимент с SQL в агента D0: сохранила контекст работы, дала доступ к файлам и начала сохранять повторяющиеся решения как инструкции для будущих запусков.

Эндрю Ку · VercelAI Engineer · YouTube17 мин 34 с14 сентября 202641 570 просмотров на момент подготовки
Постер доклада How We Solved Agent Building — Andrew Qu, Vercel
Смотреть на YouTube ↗

«How We Solved Agent Building»
Конспект доклада о внутреннем агенте Vercel и фреймворке Eve.

Основной вывод Ку: качество агента зависит от знаний о компании и возможности исследовать задачу. Усложнение цепочки вызовов само по себе этого не обеспечивает.

01 / Коротко

Файлы, контекст и знания о компании

ПРОБЛЕМА

Аналитики отвлекались на одни и те же вопросы

Маркетингу и продажам нужны были данные о клиентах и продуктах. Небольшая команда аналитики каждый раз писала SQL, разбирала результат и возвращалась с рекомендацией. 02:32

РЕШЕНИЕ

Один агент исследует задачу до ответа

Агент получил файловую среду, командную оболочку bash и знания о данных Vercel. Он может читать материалы, сохранять промежуточную работу и возвращаться к исследованию после ошибки. 08:56

D0 — внутренний агент Vercel для анализа данных. Eve — фреймворк, в который команда перенесла накопленный подход к сборке агентов. Результаты ниже приведены со слов спикера.

02 / Эволюция

Почему трёх версий оказалось мало

Первая версия проверяла одну гипотезу: сможет ли модель написать рабочий SQL, если дать ей структуру данных. Ку вставил схему Snowflake в системный промпт, а полученный запрос запускал вручную. 03:37

01Один промптСхема → SQLЗапуск вручную02Цепочка агентовРаздельные ролиПередача сводок03Единый агентОбщее состояниеВозврат к поиску01Один промптСхема → SQLЗапуск вручную02Цепочка агентовРаздельные ролиПередача сводок03Единый агентОбщее состояниеВозврат к поиску
Схема по рассказу спикера. Это последовательные версии системы, а не этапы одного запуска.

Цепочка теряла детали

Во второй версии отдельные агенты уточняли вопрос, планировали, исполняли SQL и составляли отчёт. Каждому назначили свой промпт и ограничили доступные инструменты. Так удалось автоматизировать путь от вопроса до ответа. 04:49

Но следующий агент получал только сводку и небольшой фрагмент предыдущей работы. Ему не хватало истории, чтобы разобраться, как система пришла к промежуточному результату.

Общее состояние помогло исправлять ошибки

В третьей версии один агент сам переключался между исследованием, планированием, исполнением и отчётом. При ошибке запроса или соединения таблиц он мог вернуться назад, прочитать больше и попробовать снова. 05:54

Первым пользователям система всё равно не понравилась: их вопросы выходили за пределы сценариев, которые команда предусмотрела в проверках. 07:17

Код цепочки агентов: отдельные вызовы generateText последовательно создают контекст вопроса, план, SQL и отчёт. У каждого вызова свой набор инструментов.
05:24 ↗ Код цепочки агентов: отдельные вызовы generateText последовательно создают контекст вопроса, план, SQL и отчёт. У каждого вызова свой набор инструментов. Нажмите на кадр, чтобы увеличить.
Один агент с общим контекстом переключается между исследованием, планированием, исполнением и отчётом. Стрелки показывают возврат к планированию после ошибки.
06:15 ↗ Один агент с общим контекстом переключается между исследованием, планированием, исполнением и отчётом. Стрелки показывают возврат к планированию после ошибки. Нажмите на кадр, чтобы увеличить.

03 / Переломный момент

Файловая среда дала агенту свободу исследования

Ку сравнил собственную систему с Claude Code и Opus 4.5. По его наблюдению, простые действия с файлами работали лучше строго заданного набора специализированных инструментов. Он объясняет это тем, что модели хорошо умеют читать файлы, искать в них и выполнять команды. 07:39

Команда перенесла D0 в sandbox, изолированную среду исполнения, и загрузила туда семантический слой данных. В докладе так называется материал, по которому агент разбирается в схемах и связях данных; полный состав этого слоя не раскрыт.

01ВопросЗадача сотрудникаДанные о компании02Файлы + bashЧитать и искатьЗаписывать работу03ИсследованиеВыполнить запросРазобрать ошибки04ОтветАнализ результатаОтчёт и визуализация01ВопросЗадача сотрудникаДанные о компании02Файлы + bashЧитать и искатьЗаписывать работу03ИсследованиеВыполнить запросРазобрать ошибки04ОтветАнализ результатаОтчёт и визуализация
Упрощённая схема по докладу. При ошибке агент возвращается к материалам и уточняет запрос.

Что осталось специальным

Поверх файлов и bash команда добавила несколько инструментов для задач Vercel. Ку описывает небольшой общий набор действий и доступ к нужным данным компании. 08:56

Что изменилось в проверках

После перехода к файловому агенту, по словам Ку, оценка внутренних проверок примерно удвоилась. Размер набора, критерии успеха и итоговое значение в докладе не приведены. 09:35

Файловый агент связан с файловой системой, поисковым и веб-API, контекстом Snowflake и bash-средой. Результат работы — ответ или отдельный артефакт.
09:28 ↗ Файловый агент связан с файловой системой, поисковым и веб-API, контекстом Snowflake и bash-средой. Результат работы — ответ или отдельный артефакт. Нажмите на кадр, чтобы увеличить.
Пример подключения createBashTool к sandbox: семантический слой передаётся как файлы, а созданные инструменты используются в вызове generateText.
09:50 ↗ Пример подключения createBashTool к sandbox: семантический слой передаётся как файлы, а созданные инструменты используются в вызове generateText. Нажмите на кадр, чтобы увеличить.

04 / Накопление опыта

Повторяющиеся запросы стали skills

После расширения доступа команда получала тысячи запросов в день. Сотрудники спрашивали о метриках клиентов и продаж, загрузках npm, продуктах и биллинге. Формулировки различались, но многие запросы сводились к одинаковым агрегациям и поиску данных. 10:14

Команда запустила периодическую обработку свежих запросов, которая превращает повторяющиеся решения в skills: инструкции и контекст для определённого типа задачи. Новый запуск получает знания, накопленные в предыдущей работе.

01ЗапросыНедавняя работаПовторяющиеся задачи02ОбобщениеПериодическая задачаВыделяет решения03SkillsОколо 100 навыковГотовый контекст04Новый запускЧитает нужный skillИспользует опыт01ЗапросыНедавняя работаПовторяющиеся задачи02ОбобщениеПериодическая задачаВыделяет решения03SkillsОколо 100 навыковГотовый контекст04Новый запускЧитает нужный skillИспользует опыт
Цикл накопления знаний по рассказу Ку. В докладе не описано, как команда проверяет и обновляет каждый skill.

Ку называет примерно 100 skills: от агрегаций до поиска данных о конкретных людях. Это заявленный объём библиотеки на момент доклада. 10:38

Разные вопросы о выручке, росте продукта и результатах маркетинга поступают агенту. Этап Distill обобщает повторяющиеся решения в skill.
10:49 ↗ Разные вопросы о выручке, росте продукта и результатах маркетинга поступают агенту. Этап Distill обобщает повторяющиеся решения в skill. Нажмите на кадр, чтобы увеличить.

05 / Сборка агентов

Eve закрепляет подход в структуре файлов

Другие команды Vercel пытались строить своих агентов на основе D0, пока его архитектура ещё менялась. Ку хотел, чтобы следующий разработчик начинал с уже накопленного опыта. Отсюда идея «Next.js для агентов»: структура файлов подсказывает фреймворку, как собрать систему. 12:06

skills/

Знания для задач

Инструкции и контекст, которые помогают выполнять повторяющиеся операции.

tools/

Доступные действия

Собственные инструменты для работы с данными и сервисами компании.

channels/

Каналы общения

Интеграции, через которые сотрудники обращаются к агенту.

Внутри среды исполнения нужны восстановление работы после прерываний, изоляция, вызовы моделей и подключения. Ку описывает адаптеры для самостоятельного размещения и вариант на инфраструктуре Vercel. При развёртывании на Vercel он показывает наблюдение за запусками, вызовами инструментов и шагами агента.

По словам Ку, D0 переписали на Eve во время разработки фреймворка. В результате агент собирается из системных инструкций, skills и нескольких инструментов.

Устройство Eve на инфраструктуре Vercel: возобновляемое исполнение, вызовы моделей, изолированная среда, подключения и инструменты. Справа перечислены каналы общения с агентом.
13:31 ↗ Устройство Eve на инфраструктуре Vercel: возобновляемое исполнение, вызовы моделей, изолированная среда, подключения и инструменты. Справа перечислены каналы общения с агентом. Нажмите на кадр, чтобы увеличить.
Структура проекта D0: системные инструкции, инструменты SQL, специализированные субагенты, skills и канал Slack разложены по каталогам.
14:00 ↗ Структура проекта D0: системные инструкции, инструменты SQL, специализированные субагенты, skills и канал Slack разложены по каталогам. Нажмите на кадр, чтобы увеличить.

06 / Результаты и их границы

Что спикер измерил и о чём рассказал

30 %

Внутренних проверок проходила ранняя система перед неудачным запуском у первых пользователей.

07:17
≈ ×2

Так Ку описывает рост оценки после перехода к файловому агенту. Новое абсолютное значение не названо.

09:35
≈ 20

Внутренних агентов Vercel, которые, по оценке Ку, нашли устойчивое применение в работе.

16:06

Эти заявления нельзя объединять в график «точности». В докладе нет состава проверок, размера выборки и подтверждения сопоставимости замеров. Доля успешных проверок также не равна доле довольных пользователей.

Что стало проще для команды данных

По словам Ку, аналитики смогли больше заниматься производительностью Snowflake, добавлением источников данных и устранением пробелов. Время, которое агент экономит, численно не оценено. 16:06

Где пробовали подход

Внутренние примеры охватывают маркетинговые ретроспективы, выбор контактов для обращения и первичные правки договоров. Ку также рассказывает о бета-клиенте Aura: тот сообщил о меньшем числе шагов и более успешной работе агента на Eve. Чисел для этого сравнения нет. 14:18

Экран Agent Runs в Vercel: ход диалога, подтверждение вызова инструмента, созданные задачи Linear и подробности исполнения. Справа открыт результат отдельного вызова.
14:52 ↗ Экран Agent Runs в Vercel: ход диалога, подтверждение вызова инструмента, созданные задачи Linear и подробности исполнения. Справа открыт результат отдельного вызова. Нажмите на кадр, чтобы увеличить.

07 / Навигация по видео

Нужный фрагмент за один переход

  1. 00:15

    Контекст Vercel

    Ку объясняет свою роль и переход от инфраструктуры для веб-приложений к инфраструктуре для агентов.

  2. 02:32

    Проблема команды данных

    Рутинные вопросы сотрудников прерывают исследовательскую работу аналитиков.

  3. 03:37

    Промпт со схемой Snowflake

    SQL создаёт модель, а запуск и проверка пока остаются у человека.

  4. 04:49

    Цепочка специализированных агентов

    Отдельные роли автоматизируют путь от вопроса до отчёта, но передают друг другу мало контекста.

  5. 05:54

    Один агент с общим состоянием

    Агент сохраняет историю и может возвращаться к исследованию после неудачного запроса.

  6. 07:17

    Первые пользователи недовольны

    Реальные вопросы оказываются сложнее сценариев внутренних проверок.

  7. 07:39

    Пример Claude Code

    Файлы и знакомые модели инструменты подсказывают новый способ построения D0.

  8. 09:35

    Рост оценки в проверках

    Ку сообщает, что оценка примерно удвоилась, и показывает простой подход с bash и sandbox.

  9. 10:14

    Накопление skills

    Повторяющиеся запросы обобщают в инструкции для следующих запусков.

  10. 12:06

    Eve и структура файлов

    Опыт D0 превращают во фреймворк с каталогами знаний, инструментов и каналов.

  11. 14:18

    Бета-клиенты и наблюдение за агентом

    Пример Aura и просмотр запусков, шагов и вызовов инструментов.

  12. 15:31

    Знания о компании

    Ку советует строить агента вокруг конкретной работы и давать ему как можно больше доменного контекста.

08 / Что попробовать

Начните с повторяющейся работы

«Первая реакция была: это ужасно».

Эндрю Ку о первом запуске у пользователей. Перевод по субтитрам. 07:17

«Добавляйте как можно больше знаний, специфичных для компании».

Эндрю Ку о качестве прикладного агента. Перевод по субтитрам. 16:00

Ниже — практические шаги по мотивам доклада. Для проверки своего агента нужны реальные вопросы сотрудников: ранний результат D0 показал, что вручную придуманные сценарии не покрывают их потребности.

Смотреть этот момент ↗
Кадр из видео