The batch engine
for AI agents

Funky is your always-on task force for running parallel, long-lived agent workloads at scale.

quickstart.py
from funky import Funky

with Funky() as client:
    agent = client.agents.create(
        name="Repository investigator",
        system_prompt=(
            "You are a careful coding agent. "
            "Verify claims with tools."
        ),
        model={
            "provider": "anthropic",
            "model": "claude-sonnet-5",
        },
        tool_policy={"max_iterations": 20},
    )

    environment = client.environments.create(
        name="github-access",
        network={
            "type": "limited",
            "allowed_hosts": [
                "github.com",
                "*.githubusercontent.com",
            ],
        },
    )

    session = client.sessions.create(
        agent=agent.id,
        environment_id=environment.id,
        title="Investigate issue 42",
    )
    client.sessions.wait_until_ready(
        session.id,
        timeout=180,
    )

    result = client.sessions.run_turn(
        session.id,
        content=(
            "Inspect the repository and "
            "identify the root cause."
        ),
    )
    print(result.output_text)

Durable execution

Failures happen, never compound.

FailsReplaysResumes

Append-only event log

Every message, tool call, and result is durably recorded. State is never lost, only appended.

Replay & resume

Crashed agents pick up from their last event, not from zero.

Failure isolation

One agent’s failure won’t undo the others’ progress.

Decoupled architecture

Decouple the brain from the hands.

Sandbox$ fetch shard
Sandbox$ run tests
Sandbox$ write report
session #042

Same soul, fresh body — the session never dies with its sandbox.

Session ≠ process

Sessions live in the store, not in a running process. Suspend for an hour or a week; resume instantly.

Scale-to-zero waits

Long waits cost nothing. Workers and sandboxes are reclaimed the moment an agent blocks.

Maximum utilization

Compute is spent only on active steps, so 100 agents don't need 100 live sandboxes.

Use cases

What you can run with Funky

01

Large codebase understanding

Fan a swarm out across a million-line repo. Each sub-agent reads a slice, the parent assembles the map — full-codebase context in minutes, not days.

02

Lead generation from social media

Hundreds of sub-agents scan, qualify, and enrich prospects across social platforms in parallel, and return a deduplicated, scored lead list.

03

Cybersecurity testing & investigation

Run wide reconnaissance, log triage, and incident investigation concurrently. Durable execution means multi-hour investigations survive any single failure.

Put your agents to work. Funky keeps them running.

Sign up