{
  "video": {
    "id": "9dYcwOkpCE8",
    "title": "How We Solved Agent Building — Andrew Qu, Vercel",
    "duration": 1054,
    "upload_date": null,
    "channel": "AI Engineer",
    "source": "AI Engineer",
    "event_format": "In person"
  },
  "analysis": {
    "video_id": "9dYcwOkpCE8",
    "title": "How We Solved Agent Building — Andrew Qu, Vercel",
    "one_liner": "Vercel's chief of software walks through four rebuilds of an internal data-science agent — mega-prompt → chained sub-agents → one mega agent → a Claude-Code-style file-system agent in a sandbox — and says the file-system rewrite roughly doubled their eval score, which is what led Vercel to ship Eve, \"the Next.js for agents.\"",
    "summary": "Andrew Qu describes a year-long experiment that started by asking Vercel's marketing, sales, finance and legal teams what they hated about their jobs, and landed on the data team being forced to drop everything to write ad-hoc Snowflake queries. He shows each architecture they tried — pasting a Snowflake schema into a system prompt, a chain of narrowly-scoped agents (query → planning → SQL → reporting), then a single mega-context agent with maxSteps 100 managing its own state — and why each hit a wall. The real unlock came from copying Claude Code: a minimal toolset (list file, read file, run bash) over a sandbox with the whole semantic layer dumped into it, plus a recurring job that distills common queries into skills. The argument is that off-the-shelf vertical agents lose to an in-house agent stuffed with company-specific knowledge, and that Eve exists so nobody has to rediscover those four steps.",
    "key_points": [
      "The AI SDK's pitch: swap one line of code instead of 300–400 lines of provider-specific code, because all providers sit behind the same model interface.",
      "V1 was a mega-prompt: a dump of the Snowflake schema pasted into a system prompt, with Andrew hand-copying the generated SQL and running it himself just to test whether models could write valid SQL given decent structure.",
      "V2 (d0) decomposed a data scientist's actual workflow into chained agents — query → planning → SQL → reporting — each with a dedicated system prompt and tools scoped to its function (e.g. the planning agent only got `read entity YAML` and `search schemas`).",
      "V3 collapsed that into one mega-context agent with maxSteps ~100 managing its own state, so it could reflect on what it had done and retry after a failed or too-expensive join — the chained version only passed forward a summary and a small snippet.",
      "Released to a few trusted people, V3 \"was awful\" despite passing ~30% of their evals; manually mapping out unanticipated question scenarios didn't look scalable.",
      "Opus 4.5 plus Claude Code felt \"basically AGI compared to what we had before\"; the diagnosis was that Claude Code isn't prescriptive — a minimal file-system toolset (list file, read file, run bash) lets the agent explore and produce emergent behavior using tools models are already well trained on.",
      "They rebuilt d0 Claude-Code-style: a sandbox with the whole semantic layer dumped in, grep/bash/read/write file, and a few Vercel-specific tools sprinkled on top (a `bash-tool` npm helper attached to the sandbox). The eval score basically doubled.",
      "A recurring job distills recent queries into skills — Vercel now has roughly 100 — because query shapes repeat (aggregations, product lookups, billing info) and every fresh agent run otherwise starts with no context beyond the semantic layer and system prompt.",
      "Eve, released two weeks prior at Vercel's London event, is \"the Next.js for agents\": declare skills/, tools/ and channels/ folders and the framework builds the agent; runtime covers durability, isolated execution, model calls and connections, with open-source adapters (Postgres, OpenAI Responses API, Docker) or Vercel Workflows / Sandbox / Connect.",
      "Vercel now runs ~20 \"decently PMF\" internal agents — marketing retros, outreach targeting, first red-line of a contract when legal sees a new negotiation, plus d0 — and the data team, no longer buried in queries, has time to tune Snowflake performance and add missing data sources."
    ],
    "takeaways": [
      "Skip the intermediate architectures: don't start from a mega-prompt or hand-chained sub-agents — start at the last insight, a file-system agent with bash/read/write over a sandbox holding your context.",
      "Prefer a minimal, general toolset the model is already well trained on over a prescriptive, tightly-scoped tool per phase; let the agent explore and self-correct rather than passing a summary between stages.",
      "Test with real users early — passing 30% of your own evals meant nothing against the questions actual colleagues asked, and hand-mapping those scenarios doesn't scale.",
      "Mine your production query logs and distill recurring shapes into skills automatically, so each new run starts with accumulated context instead of from zero.",
      "To find the use case, go ask other job functions what they hate most about their job; and build your own agent with company-specific knowledge rather than buying an off-the-shelf vertical agent — knowing *when to query for what and what links to what* is where the value is."
    ],
    "topics": [
      "agents",
      "agent-architecture",
      "file-system-agents",
      "skills",
      "evals",
      "text-to-sql",
      "internal-tools",
      "agent-frameworks"
    ],
    "tools": [
      "Vercel",
      "AI SDK",
      "d0",
      "Eve (eve.dev)",
      "Next.js",
      "Claude Code",
      "Claude Code SDK",
      "Opus 4.5",
      "Sonnet 4",
      "Snowflake",
      "bash-tool (npm)",
      "Vercel Sandbox",
      "Vercel Workflows",
      "Vercel Connect",
      "skills.sh",
      "Postgres",
      "OpenAI Responses API",
      "Docker",
      "Aura"
    ],
    "quotes": [
      {
        "text": "instead of a computer on every desk, could we potentially have an agent on every desk?",
        "at": "02:06",
        "url": "https://www.youtube.com/watch?v=9dYcwOkpCE8&t=126s"
      },
      {
        "text": "we thought we were cooking. We thought this was, you know, nailing 30% of our evals, but we couldn't have anticipated some of the questions that were being asked.",
        "at": "07:18",
        "url": "https://www.youtube.com/watch?v=9dYcwOkpCE8&t=438s"
      },
      {
        "text": "we realized that the big unlock was that it was just a file system.",
        "at": "08:11",
        "url": "https://www.youtube.com/watch?v=9dYcwOkpCE8&t=491s"
      },
      {
        "text": "if you really want to get the most juice out of a squeeze, you should really try to build your own agent and add in as much company specific knowledge as you can.",
        "at": "15:56",
        "url": "https://www.youtube.com/watch?v=9dYcwOkpCE8&t=956s"
      }
    ],
    "words": 3864
  },
  "summary_url": "/#9dYcwOkpCE8",
  "transcript": {
    "html": "/transcripts/9dYcwOkpCE8.html",
    "txt": "/transcripts/9dYcwOkpCE8.txt",
    "vtt": "/transcripts/9dYcwOkpCE8.vtt"
  }
}