Guide #2 Getting Started 25 min read March 2026

Your First AI Employee

You've run Claude Code on your laptop. Or Codex. Or Aider. The agent cloned a repo, wrote some code, ran the tests. Impressive. But then you closed your laptop and the agent stopped existing.

A human employee doesn't stop existing when you leave the office. They have a desk, a computer, a calendar, and a list of tasks. They come in tomorrow and pick up where they left off. They work while you're in meetings. They don't need your laptop to do their job.

This guide gives your AI agent the same thing: its own machine. A browser for the web. A desktop for applications. A terminal for code. Persistent storage that survives between sessions. And the ability to wake up on a schedule, react to events, and work while you sleep. In 10 minutes, you'll have your first AI employee.

The difference between a tool and an employee

This isn't a semantic game. The distinction matters architecturally.

When you run Claude Code on your laptop, it's a tool. You invoke it, it does something, it stops. It borrows your machine, your credentials, your file system. It has no independent existence. It's a very smart command you typed.

When you give an agent its own cloud machine, it becomes an employee. It has:

AI tool (on your laptop)

  • Borrows your machine
  • Uses your credentials
  • Runs when you invoke it
  • State disappears when you close the lid
  • One instance at a time
  • No cost tracking
  • No browser, no desktop — just a terminal

AI employee (on its own machine)

  • Has its own dedicated compute
  • Has scoped credentials and identity
  • Runs on schedule, reacts to events, works overnight
  • State persists across sessions and restarts
  • 50 employees work in parallel
  • Per-employee cost tracking and budgets
  • Browser + desktop + terminal — full workstation

Every AI agent on the market today — Claude Code, Codex, Devin, Cursor's cloud agents, GitHub Copilot's coding agent — is moving toward this model. Devin already calls itself an "AI software engineer" with its own cloud environment. Cursor gives cloud agents their own Ubuntu VMs. The industry is converging on the same answer: agents need computers.

The question is whether you use someone else's locked-in environment (Devin at $9/hour, Cursor's VMs at $200/month) or provision your own (a sandbox at $0.04/hour with any model you want).

What the workstation looks like

A human employee gets a laptop with a browser, some applications, a terminal, and access to the company's systems. Your AI employee gets the cloud equivalent:

AI Employee's Workstation
Browser Desktop Terminal Files
Chrome via CDP  |  XFCE via VNC  |  Ubuntu via SSH  |  Persistent /workspace

The browser: the agent's window to the internet

A Chrome or Firefox instance running in its own isolated cloud container. The agent controls it via the Chrome DevTools Protocol (CDP) — the same protocol that Playwright and Puppeteer use. But in 2026, the agent doesn't need you to write Playwright scripts. Claude's computer use, GPT-4o vision, and Gemini's multimodal capabilities let the agent see the browser and decide what to click, just like a human would.

The browser has its own IP address, its own cookies, its own session state. Nothing leaks between browsers. When the agent logs into a vendor portal, that session is isolated — another agent logging into a different portal can't see or interfere with it.

What the agent does with a browser:

The desktop: for when there's no API

A full Linux desktop with XFCE or KDE, accessible via VNC/noVNC. The agent sees the screen and interacts with it using computer-use vision models — taking screenshots, reasoning about what's on screen, clicking buttons, typing text, opening menus.

This sounds exotic until you realize how many enterprise tools have no API: legacy ERP systems, government portals built in Java, desktop applications distributed as installables, PDF editors, spreadsheet tools. A human employee uses these by looking at the screen and clicking. An AI employee does the same thing.

What the agent does with a desktop:

The terminal: where the coding happens

A full Ubuntu Linux VM with SSH access, root privileges, and every package manager. This is where Claude Code, Codex, Aider, and every coding agent feel at home. They can git clone, pip install, npm test, and docker build exactly like they do on your laptop — but on a machine that's isolated, persistent, and doesn't die when you close your lid.

What the agent does with a terminal:

Persistent storage: memory that survives

The sandbox's filesystem persists across sessions. When the agent stops working on Friday and resumes Monday, the files are still there. The git repo it cloned still has its local changes. The research notes it compiled are in /workspace/notes/. The downloaded invoices are in /workspace/invoices/.

This is what turns a stateless script into an employee with context. The agent doesn't start from scratch every time. It builds on its previous work.

Setting up your first AI employee: 10 minutes

Three paths, depending on which agent you use. All three end with the agent working on its own machine.

Path A: Claude Code (the most popular)

Claude Code has 18.9 million monthly active users. It's a TUI — a terminal app. You SSH into a sandbox and run it there.

1

Create the machine

One API call provisions a dedicated Ubuntu VM with 2 vCPU and 4 GB RAM.

bash
# Create the AI employee's machine
curl -s -X POST "https://sandbox.dev.ab0t.com/api/sandboxes" \
  -H "Authorization: Bearer $SANDBOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "claude-employee-01",
    "instance_type": "ab0t.medium",
    "auto_stop_minutes": 0
  }' | jq .

# auto_stop_minutes: 0 means "don't auto-stop"
# This employee's machine stays on until you explicitly stop it.
# For a machine that shuts down after inactivity, set to 60 or 120.
2

Give it credentials and tools

SSH in and set up the machine like you'd set up a new hire's laptop.

bash
# SSH into the machine
ssh ubuntu@SANDBOX_IP

# Install Claude Code
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs git tmux ripgrep
npm install -g @anthropic-ai/claude-code

# Give it an identity (NOT your personal keys)
export ANTHROPIC_API_KEY="sk-ant-SCOPED_KEY_FOR_THIS_AGENT"

# Set up git (the employee's identity, not yours)
git config --global user.name "Claude Employee 01"
git config --global user.email "ai-employee-01@yourcompany.com"

# Clone the project it'll work on
mkdir -p /home/ubuntu/workspace && cd /home/ubuntu/workspace
git clone https://github.com/your-org/your-project.git
Scoped credentials, not your personal keys

A human employee gets their own email, their own GitHub account, their own API keys with appropriate permissions. Your AI employee should too. Don't give it your admin Anthropic key. Create a separate key with a spend limit. Don't give it your GitHub PAT with full repo access. Create a deploy key scoped to the repos it needs.

3

Write its job description (CLAUDE.md)

Every AI employee needs a job description. For Claude Code, that's a CLAUDE.md file in the workspace.

markdown — /home/ubuntu/workspace/your-project/CLAUDE.md
# Employee: Backend Test Engineer

## Your role
You are responsible for the test suite of this project. Your job is to:
1. Run the full test suite after every change to the main branch
2. When tests fail, investigate the failure, identify the root cause, and
   either fix it yourself or file a detailed bug report
3. Write new tests for any code that lacks coverage
4. Keep the test infrastructure healthy (dependencies, fixtures, CI config)

## Your machine
You're running on a cloud sandbox (Ubuntu, ab0t.medium, 4 GB RAM).
You have full root access. Install any packages you need.
Your workspace persists between sessions.

## How to report
- Push test fixes directly to a `test-fixes` branch and open a PR
- For bugs you can't fix, create a file in `/workspace/bug-reports/`
  with the date, the failing test, the root cause analysis, and a
  suggested fix
- Post a daily summary to `/workspace/daily-reports/YYYY-MM-DD.md`

## Boundaries
- Do NOT push to main directly
- Do NOT modify production configuration
- Do NOT install packages globally that could affect other projects
- If a fix requires changing business logic (not just tests), file
  a bug report instead of making the change
4

Put it to work

Start a tmux session (so the agent survives if your SSH disconnects), then run Claude Code with its first assignment.

bash
# Start tmux so the agent survives disconnects
tmux new -s employee-01

# Navigate to the project
cd /home/ubuntu/workspace/your-project

# Give it its first assignment
claude "Pull the latest changes from main, run the full test suite,
investigate any failures, and write a report. If you can fix failing
tests without changing business logic, fix them and push to a
test-fixes branch. Work until the suite is green or you've documented
every failure."

# Detach from tmux: Ctrl+B, then D
# The agent keeps working. You go to lunch.
# Come back: tmux attach -t employee-01
That's it. You have an AI employee.

It's running on its own machine, with its own credentials, working on the task you assigned. It will keep working after you detach from tmux. It will keep working after you close your laptop. It will keep working after you go home. Check the results tomorrow morning.

Path B: OpenAI Codex CLI

Same pattern. SSH in, install Codex, assign work.

bash
# Inside the sandbox:
npm install -g @openai/codex
export OPENAI_API_KEY="sk-SCOPED_KEY"

cd /home/ubuntu/workspace/your-project
tmux new -s codex-employee

# Run in Full Auto mode — Codex makes changes without asking
codex --approval-mode full-auto \
  "Review every open issue labeled 'good-first-issue'. For each one,
   create a branch, implement the fix, run tests, and open a PR.
   Work through them one by one until they're all done."

Path C: Any agent via the API

If you're running your own agent framework (or a custom agent), use the sandbox API directly. Create a sandbox, execute commands, launch browsers, and manage files through HTTP calls. Your orchestrator runs anywhere — your laptop, a server, a Lambda function. The compute happens in the sandbox.

python
import httpx

API = "https://sandbox.dev.ab0t.com"
KEY = "ab0t_sk_live_YOUR_KEY"
H = {"Authorization": f"Bearer {KEY}"}

# Create the employee's machine
r = httpx.post(f"{API}/api/sandboxes", headers=H, json={
    "name": "data-analyst-01",
    "instance_type": "ab0t.medium",
})
sandbox_id = r.json()["sandbox_id"]

# Assign work via the execute endpoint
r = httpx.post(f"{API}/api/sandboxes/{sandbox_id}/execute", headers=H, json={
    "command": "pip install pandas matplotlib && python /workspace/analyze-q1-data.py"
})
print(r.json()["stdout"])

# Give it a browser for web research
r = httpx.post(f"{API}/api/browsers", headers=H, json={
    "browser_type": "chrome",
    "homepage_url": "https://competitor.com/pricing",
})
cdp_url = r.json()["cdp_url"]
# Connect with Playwright, or let a vision model control it

# Give it a desktop for GUI applications
r = httpx.post(f"{API}/api/desktops", headers=H, json={
    "desktop_type": "alpine-xfce",
})
vnc_url = r.json()["access_url"]
# The agent sees the desktop via screenshots and interacts via computer use

Making it event-driven: agents that start themselves

An employee you have to explicitly task every time is just a tool with extra steps. A real employee reacts to events. They check their email. They respond to Slack messages. They notice when something needs attention. They have a calendar.

Your AI employee should work the same way.

Scheduled work: the agent's calendar

The most straightforward pattern: things that need to happen on a schedule.

text — the AI employee's calendar
DAILY
  06:00  Competitive intelligence sweep (30 competitor websites)
  08:00  Run test suite against main branch, report failures
  17:00  Download invoices from vendor portals that posted new ones today
  23:00  Generate daily metrics dashboard and email to team

WEEKLY
  Monday 09:00   Pull all open GitHub issues, triage by priority, assign labels
  Friday 16:00   Write weekly summary report of all work completed

MONTHLY
  1st 10:00   Run accounts reconciliation across all vendor portals
  15th 10:00  Generate compliance reports for regulatory submission
  28th 10:00  Prepare month-end financial summaries

Each scheduled task triggers the agent. It wakes up (or its persistent sandbox is already running), does the work, posts results, and goes back to sleep (or stays alive for the next trigger).

bash — crontab for an AI employee
# On the sandbox itself (persistent machine, always running):
crontab -e

# Daily competitive intel at 6am UTC
0 6 * * * cd /workspace && claude "Run the competitive intel sweep. Check all 30 URLs in /workspace/competitors.txt. Compare to yesterday's data in /workspace/data/. Post changes to Slack via the webhook." >> /workspace/logs/intel-$(date +\%F).log 2>&1

# Daily test suite at 8am UTC
0 8 * * * cd /workspace/project && git pull && claude "Run the full test suite. If anything fails, investigate and either fix it or file a bug report." >> /workspace/logs/tests-$(date +\%F).log 2>&1

# Monthly reconciliation on the 1st
0 10 1 * * cd /workspace && claude "Run the accounts reconciliation. Log into each vendor portal, download this month's invoices, match to POs, flag discrepancies. Save report to /workspace/reports/recon-$(date +\%Y-\%m).md" >> /workspace/logs/recon-$(date +\%F).log 2>&1
The agent runs on the sandbox, not your laptop

The crontab is on the sandbox's operating system. When the cron fires at 6am, it runs Claude Code on the sandbox. Your laptop can be off. You can be asleep. The agent does its morning work, logs the results, and waits for the next scheduled task.

Reactive work: responding to events

Beyond schedules, real employees react to things that happen: a customer files a ticket, a colleague asks a question, a deployment fails, a file appears in a shared drive.

Event SourceTriggerAgent Response
GitHub PR opened Clone the branch in a fresh sandbox, run tests, post review comments
Slack Message in #research-requests Spin up 10 browsers, research the topic, post findings back to the channel
Stripe Payment failed Log into customer's account in the admin portal, check their subscription status, draft an email
S3 New CSV uploaded Download the file, process it in a sandbox with pandas, upload results
CloudWatch Error rate spike Pull recent logs, investigate the root cause, post findings to #incidents
Email (IMAP) Invoice received Download attachment, extract line items, enter into accounting system
Calendar Board meeting in 2 days Compile metrics dashboard, generate executive summary, prepare slide data

The implementation varies by event source (webhook endpoint, SQS consumer, polling loop), but the pattern is always the same:

  1. Event arrives
  2. Agent wakes up (or its persistent sandbox receives the event)
  3. Agent does the work using its browser, desktop, and/or terminal
  4. Agent posts results to the appropriate channel
  5. Agent goes back to sleep (or watches for the next event)

Long-running agents: always on, always learning

Some agents aren't fire-and-forget. They run for days or weeks, accumulating context:

These agents live on persistent sandboxes with auto_stop_minutes: 0. Their workspace is their accumulated knowledge. Stopping the sandbox pauses billing but preserves all files. Restarting it puts the agent right back where it was.

Cost of an always-on agent

A ab0t.medium running 24/7 costs $0.96/day or ~$29/month in compute. Add $5-15/day in model API costs depending on how active the agent is. Total: $180-480/month for a full-time AI employee. Compare to the $4,000-8,000/month fully-loaded cost of a human employee doing the same work.

The complete picture: browser + desktop + terminal + events

Here's what a fully set up AI employee looks like, with all the components working together:

text — Employee profile: AI Research Analyst
NAME:       Research Analyst 01
MACHINE:    ab0t.medium (persistent, auto_stop: 0)
WORKSPACE:  /workspace/research/
COST:       ~$35/month compute + ~$300/month model costs

TOOLS:
  Browser:  Chrome container for web research (launched on demand)
  Desktop:  XFCE container for processing PDFs and spreadsheets
  Terminal: Sandbox with Python, git, and data analysis tools

SCHEDULE:
  06:00 daily    Competitive intel sweep (30 competitor websites)
  09:00 Monday   Triage research backlog from #research-requests Slack
  10:00 1st      Monthly industry report compilation

EVENT TRIGGERS:
  Slack #research-requests  →  Research the requested topic
  New file in s3://data-drops/  →  Process and analyze the dataset
  Calendar: "Board meeting" in 2 days  →  Prepare exec summary

REPORTS TO:
  Slack #research-results (daily findings)
  /workspace/reports/ (formal reports)
  GitHub: opens PRs for data updates

CREDENTIALS:
  Anthropic API key (scoped, $500/month limit)
  GitHub deploy key (read-only on research-data repo)
  Slack webhook (posts to #research-results only)
  AWS S3 read access (data-drops bucket only)

This isn't hypothetical. Every piece of this works today. The sandbox provides the machine. Claude Code (or Codex, or any agent) provides the intelligence. The browser containers provide web access. The desktop containers provide GUI access. Cron and webhooks provide the event triggers. Persistent storage provides the memory.

The result is an AI employee that:

From one employee to a team

The first AI employee is the proof of concept. But the real power is in the team. Each employee gets its own sandbox, its own credentials, its own schedule, its own area of responsibility.

EmployeeMachineToolsScheduleMonthly Cost
Research Analyst ab0t.medium (persistent) Browser + Terminal Daily intel + Slack triggers ~$335
Test Engineer ab0t.medium (on-demand) Terminal + Browser (for frontend tests) Every PR + daily suite ~$80
AP Clerk ab0t.small (on-demand) Browser + Desktop Weekly vendor sweep ~$25
QA Engineer Ephemeral containers Browser (Chrome + Firefox) Every deployment ~$15
Competitive Intel ab0t.micro (on-demand) Browser 6am daily ~$10

Total for a five-employee AI team: ~$465/month. The equivalent human team would cost $25,000-40,000/month. The AI team works 24/7, doesn't take PTO, and scales linearly — need 10 research analysts for a big project? Spin up 10 sandboxes.

The compute is the cheap part

At these prices, the sandbox compute ($10-335/month per employee) is a fraction of the model API costs ($50-500/month per employee). And both are a fraction of the human equivalent. The bottleneck is task design and supervision, not cost.

Managing your AI employees

Onboarding checklist

Every new AI employee needs:

  1. A machine: Sandbox provisioned, instance type chosen based on workload
  2. An identity: Scoped API keys, SSH certificates, GitHub deploy keys. Not your personal credentials.
  3. A job description: CLAUDE.md or system prompt. What it does, how it reports, what it's NOT allowed to do.
  4. A schedule: Cron jobs for recurring work, webhook endpoints for reactive work
  5. A cost limit: Per-employee spend cap. Alert at 80%, hard-stop at 100%.
  6. A reporting channel: Where does it post results? Slack? GitHub? A shared drive?
  7. Supervision setup: How do you know it's working? Daily summary emails. Error alerts. Heartbeat monitoring for long-running agents.

Daily supervision (5 minutes)

Check the morning report. Scan for errors. Review any PRs the agent opened. Look at the cost dashboard. That's it. If nothing is flagged, the agents are working. The goal is exception-based management: you only intervene when something goes wrong.

When things go wrong

Agents fail. Sites change their login flow. Tests flake. Desktop applications update their UI. The agent's CLAUDE.md should tell it what to do when it gets stuck: "If you can't complete a task after 3 attempts, save a screenshot and a description of the failure to /workspace/failures/ and move on to the next task."

You review failures during your daily 5-minute check. Most are transient. Some require updating the agent's instructions. Rarely, you need to manually handle something the agent can't. Over time, the failure rate drops as the agent (and its instructions) get better.

What it all costs

There are three cost components:

ComponentWhat It IsTypical Range
Sandbox compute The machine the agent runs on. Billed per second. $0.01-0.96/day per agent
Browser/desktop containers Chrome, Firefox, XFCE containers. Billed per second. $0.002-0.01 per task
Model API costs Claude, GPT, Gemini calls. Paid to the model provider. $2-15/day per active agent

Example budgets for common setups:

SetupCompute/monthModel/monthTotal/monthHuman equivalent
1 coding agent (on-demand, 4 hrs/day) $5 $150 $155 $6,000+
1 research analyst (always-on) $30 $300 $330 $8,000+
5-agent team (mixed) $80 $500 $580 $30,000+
20 vendor portal agents (weekly, ephemeral) $3 $20 $23 $3,000+
The real comparison isn't cost — it's capacity

A human research analyst can research 3-5 companies per day. An AI research analyst with 50 browser containers can research 50 companies in 30 minutes. The cost savings are dramatic, but the capacity increase is transformative. You can research your entire market every day instead of once per quarter.

What's next

You now have the mental model and the mechanics for deploying AI employees. The next guides go deep on specific roles and scaling patterns.

Hire your first AI employee

A browser for the web. A desktop for applications. A terminal for code. Persistent memory. Event-driven scheduling. $0.04/hour.

Get Started Free