cloudflare

Project Think: building the next generation of AI agents on Cloudflare (opens in new tab)

Project Think is Cloudflare’s next-generation Agents SDK for building persistent, scalable AI agents. It combines durable execution, sub-agents, persistent sessions, sandboxed code execution, and runtime-created extensions, while allowing developers to use individual primitives or an integrated Think base class. Its central argument is that agents should run as durable, one-to-one infrastructure rather than ephemeral processes on laptops or permanently running servers.

Why Agents Need a New Foundation

  • Coding agents increasingly act as general-purpose assistants by reading context, writing and executing code, observing results, and iterating.
  • Existing agents are limited by:
    • Dependence on a laptop or costly VPS
    • Fixed costs while idle
    • Manual installation, updates, identity, and secret management
  • Unlike traditional applications, agents are typically one-to-one: each user, task, or conversation may require a distinct agent.
  • Supporting millions of concurrent agents with always-on containers would be economically impractical.

Project Think’s Core Primitives

Project Think introduces:

  • Durable execution through fibers, including checkpointing, crash recovery, and automatic keepalive
  • Isolated sub-agents with independent SQLite databases and typed RPC
  • Persistent, searchable sessions with message trees, branching, and compaction
  • Sandboxed code execution using Dynamic Workers, codemode, and runtime npm resolution
  • An execution ladder spanning workspaces, isolates, npm packages, browsers, and sandboxes
  • Self-authored extensions that let agents create tools dynamically

Long-Running Agents with Durable Objects

  • Each agent is implemented as a Durable Object with:
    • A stable identity
    • Persistent SQLite-backed state
    • Message-based wake-up
    • Automatic hibernation when idle
  • Agents can resume after HTTP requests, WebSocket messages, alarms, or inbound email.
  • Hibernated agents consume no compute, allowing many more agents than an always-on VM or container model.
  • Durable Objects provide automatic routing, recovery, and per-agent state without separately managed load balancers, databases, or process supervisors.
  • For example, 10,000 agents active only 1% of the time require capacity for roughly 100 active agents rather than 10,000 continuously running instances.

Durable Execution with Fibers

  • Long LLM calls and multi-step workflows can be interrupted by deployments, restarts, or resource limits.
  • runFiber() makes a function invocation durable by:
    • Registering it in SQLite before execution
    • Allowing progress to be checkpointed with stash()
    • Recovering interrupted work through onFiberRecovered
  • Agents can save intermediate findings, resume from the latest checkpoint, and broadcast progress to clients.
  • The SDK automatically keeps the agent alive while a fiber runs.
  • keepAlive() and keepAliveWhile() support active work lasting minutes or longer, such as CI pipelines, design reviews, and video generation.

Project Think’s recommendation is to treat agents as persistent, addressable infrastructure: use the low-level primitives for customization, or adopt the Think base class for a faster, integrated starting point.