On this page

Agent device selection

Not every agent needs a sandbox. The right question is:

Does this agent need an execution environment, durable state, files, browser,
private network access, or deployable output?

If the answer is yes, assign a device. If the answer is no, the agent can run as a lightweight orchestration or reasoning step in your backend.


The short rule

Agent taskDevice
Pure reasoning, classification, routing, summarizationNo device required
Write files, run code, install packages, generate artifactsSandbox
Browse websites, log in, click buttons, capture screenshotsComputer
Use customer-owned files, apps, VPNs, or private networkLocal device
Serve production trafficDeployment or App Engine

When no device is required

Use no device for agents that only need to think, classify, plan, or transform text already available to your backend.

Examples:

  • route a user prompt to the right department agent
  • summarize a short transcript
  • classify support tickets
  • draft a simple sales email from provided context
  • decide whether a run needs human approval
  • select the best device for a task
  • produce a task plan without touching files
  • score leads using fields already in your database

This work can run in the product backend or in a managed MIOSA agent runtime without creating a sandbox.

Billing is usually model/runtime usage only.


When a sandbox is required

Use a sandbox when the agent needs a workspace.

Examples:

  • write or edit code
  • run tests or builds
  • install npm, Python, Go, or system packages
  • generate PDFs, DOCX, images, reports, CSVs, or ZIPs
  • keep files between sessions
  • run scripts or notebooks
  • start a dev server
  • expose a preview URL
  • snapshot or fork state
  • prepare a deployable app
  • run a crawler, parser, or data pipeline

Research agents need a sandbox when they move beyond “read and summarize” into work such as crawling, extracting, transforming, storing, charting, or producing downloadable research artifacts.

Sales copy agents need a sandbox when they generate landing pages, proposals, brand assets, email sequence files, spreadsheet exports, or versioned campaign artifacts.


When a computer is required

Use a computer when the agent needs a real browser or desktop.

Examples:

  • log in to a dashboard
  • test signup or checkout
  • click through a SaaS UI
  • fill forms
  • inspect visual layout
  • capture screenshots
  • use a browser extension
  • access a desktop-only workflow
  • verify a preview like a human

Computers are more expensive than pure model runs and usually more expensive than lightweight sandbox work. Use them when browser or desktop state matters.


When a local device is required

Use a local device when the agent must work with customer-controlled resources that should not move into the cloud.

Examples:

  • local files that cannot be uploaded
  • private network or VPN access
  • installed desktop applications
  • hardware-attached workflows
  • local credential stores
  • customer-controlled browser profiles

Local devices should be opt-in and visible. Users should know which workspace, agent, and session can access their machine.


When deployment is required

Deployment is not an agent workspace. It is the durable target after development work is complete.

NeedTarget
Share a live dev previewSandbox preview
Serve a production appMIOSA Deploy
Host many small apps for one workspaceApp Engine
Run an always-on agent workspacePersistent sandbox or computer, not deployment

App Engine is where a verified app container runs. It is not where the agent should be editing files.


Examples by agent role

Research agent

Research taskDevice
Summarize provided notesNo device
Search public web and write a brief answerNo device or sandbox, depending on tool policy
Crawl many pages and dedupe resultsSandbox
Generate charts and CSV reportSandbox
Log in to a private analytics dashboardComputer
Use a customer VPN-only databaseLocal device

Sales copy agent

Sales taskDevice
Draft email copy from CRM fieldsNo device
Generate a campaign brief artifactSandbox
Build a landing pageSandbox
Preview and visually QA pageSandbox plus computer
Send campaign through CRM/email toolConnector with approval
Log in to ad platform and configure campaignComputer with approval

Engineering agent

Engineering taskDevice
Explain a stack trace pasted into chatNo device
Edit code and run testsSandbox
Start a dev serverSandbox
Verify browser UIComputer
Publish production appDeployment after approval

Support agent

Support taskDevice
Draft reply from ticket textNo device
Search internal docs and produce answerNo device or sandbox
Inspect account in web admin dashboardComputer
Generate customer export fileSandbox
Send replyConnector with approval or policy

Decision tree


Cost and performance guidance

ChoiceStartupCostBest for
No deviceFastestLowestRouting, planning, summarization
SandboxFastMediumCode, files, artifacts, previews
ComputerSlowerHigherBrowser/desktop automation
Local deviceDepends on user machineRelay/model/tool costPrivate resources
DeploymentBuild/publish dependentHosting costDurable production apps

Start with the cheapest runtime that can safely complete the job. Escalate to a sandbox, computer, or local device only when the task requires it.


Backend routing policy

Your backend should make device selection explicit:

type DeviceDecision = {
  required: boolean;
  deviceType?: "sandbox" | "computer" | "local";
  reason: string;
  needsApproval: boolean;
  estimatedCredits: number;
};

Record the decision with the run. If a run fails because the wrong device was chosen, the recovery path should say which device class to retry with.


See also

Was this helpful?