{
  "video": {
    "id": "XIHZpZtYCzo",
    "title": "Your AI Agents Shouldn't Care Where They Run - Nikhil Harithas, Factory",
    "duration": 1033,
    "upload_date": null,
    "channel": "AI Engineer",
    "source": "AI Engineer",
    "event_format": ""
  },
  "analysis": {
    "video_id": "XIHZpZtYCzo",
    "title": "Your AI Agents Shouldn't Care Where They Run - Nikhil Harithas, Factory",
    "one_liner": "Factory's answer to enterprises like Blackstone that won't run agents on laptops is Open Compute, a to-be-open-sourced layer that treats the computer (not the session) as the unit of work, spinning up compute in the customer's VPC via swappable drivers so the agent only ever makes outbound WebSocket connections.",
    "summary": "Drawing on forward deployed work with Blackstone, a roughly trillion-dollar financial institution where none of Factory's defaults worked, Nikhil Harithas argues that two questions keep recurring: who is an agent acting on behalf of, and where does it run. He argues agents can't keep borrowing individual identities because they are just slightly non-deterministic applications, and that a compute plane needs to be spun out alongside the data and control planes. He walks through Open Compute, in which a compute gateway asks a controller in the customer's VPC to provision a machine through a driver, and the agent daemon then dials out to Factory's relay. The result gives most of the control of an on-prem deployment without porting over the control layer.",
    "key_points": [
      "Blackstone couldn't run agents on laptops and wanted to bring its own compute, inference and identity, with single tenancy everywhere.",
      "Factory's earlier bring-your-own-compute product was insufficient because installing an agent on a computer still left customers to deal with the complex compute life cycle.",
      "Flow: a client requests a session from Factory's backend; the compute gateway calls Open Compute, which already has an open connection to its controller in the customer's VPC; the controller uses a driver to provision the machine; the agent daemon then opens a WebSocket to the relay, which passes messages between client and sandbox.",
      "Drivers wrap a given kind of compute, such as EC2, Kubernetes or sandbox providers like Daytona or Modal; the compute gateway is a further abstraction so Factory can use Open Compute or a sandbox.",
      "Once set up, the system never needs an inward connection, because customers are nervous about ingress but less nervous about egress.",
      "With BYOK, for example via Bedrock, LLM calls also stay within the VPC, so the non-deterministic part of the agent loop and its blast radius are contained in the customer's environment.",
      "Open Compute deliberately manages computers, not sessions, because tying in Factory sessions would make it Factory-specific and harder for customers to feel comfortable hosting.",
      "The spec covers life-cycle operations such as pause and resume, destroy and start, suspend, snapshot and fork, based on customer-controlled templates; fork supports handing subtasks to sub-agents.",
      "Hard problems include dropped acks and bookkeeping for sandbox routing and retries, and AWS micro VMs' 8-hour session cap versus multi-day Missions, which requires snapshotting, rehydrating and swapping in place as if nothing happened.",
      "Because the spec acts as its own test, you can give it to Droid and ask for a driver; if the driver satisfies the spec, it is basically ready to go."
    ],
    "takeaways": [
      "Treat agents as slightly non-deterministic applications and reuse existing software engineering systems, rather than letting them keep borrowing individual identities.",
      "Separate the compute plane from the data and control planes so the same agent can move between Kubernetes, EC2, GCP or sandbox providers as customer constraints change.",
      "Design agent connectivity to be outbound-only after setup, using a relay and an open WebSocket, to ease enterprise concerns about ingress.",
      "Keep compute abstractions free of session concepts if you want customers to host them and use them beyond one product.",
      "Define new integrations with a spec that doubles as a test, so coding agents can generate and validate them."
    ],
    "topics": [
      "agents",
      "agent infrastructure",
      "enterprise deployment",
      "compute abstraction",
      "sandboxes",
      "agent identity",
      "security",
      "open source"
    ],
    "tools": [
      "Factory",
      "Droid",
      "Open Compute",
      "Missions",
      "Blackstone",
      "Slack",
      "Jira",
      "AWS",
      "EC2",
      "EKS",
      "Kubernetes",
      "G Cloud",
      "Daytona",
      "Modal",
      "Bedrock",
      "S3",
      "Terraform"
    ],
    "quotes": [
      {
        "text": "who is an agent acting on behalf of and where does it run?",
        "at": "02:41",
        "url": "https://www.youtube.com/watch?v=XIHZpZtYCzo&t=161s"
      },
      {
        "text": "Agents are are basically just like slightly non-deterministic applications",
        "at": "03:19",
        "url": "https://www.youtube.com/watch?v=XIHZpZtYCzo&t=199s"
      },
      {
        "text": "we care deeply about building you a custom fit suit",
        "at": "05:14",
        "url": "https://www.youtube.com/watch?v=XIHZpZtYCzo&t=314s"
      },
      {
        "text": "this is a project to manage computers and not sessions",
        "at": "13:41",
        "url": "https://www.youtube.com/watch?v=XIHZpZtYCzo&t=821s"
      }
    ],
    "words": 3763
  },
  "summary_url": "/#XIHZpZtYCzo",
  "transcript": {
    "html": "/transcripts/XIHZpZtYCzo.html",
    "txt": "/transcripts/XIHZpZtYCzo.txt",
    "vtt": "/transcripts/XIHZpZtYCzo.vtt"
  }
}