All systems operational--:--:-- UTC

Agents

Define an agent as a model, tools and a policy, start runs, and read their traces.

On this page

An agent is a model, a set of tools it may call, instructions, and the policies that govern those tools. Agents run in an isolated sandbox and can only affect the world through tools.

Define an agent

Agents can be created in the console or as code. Definitions as code are versioned and can be reviewed like any other change.

import { defineAgent } from '@consciouslab/sdk';

export default defineAgent({
  name: 'support-triage',
  model: 'cl-reason-2',
  instructions: `You triage high-priority support tickets for a logistics customer.
Confirm damage claims against scan records before proposing a refund.
Never promise delivery dates.`,
  tools: ['tickets.search', 'orders.lookup', 'scans.get', 'refund.issue'],
  limits: { maxSteps: 20, maxTokens: 60_000, timeoutSeconds: 300 },
});

Deploy it with the CLI:

npx consciouslab agents deploy ./agents/support-triage.ts

Models

ModelBest forContext
cl-reason-2Multi-step planning and tool use400k tokens
cl-fast-1Classification and extraction128k tokens
byo:<endpoint>Your own OpenAI-compatible endpointModel-dependent

Prompts and outputs are never used to train models.

Start a run

curl https://api.consciouslab.xyz/v1/agents/support-triage/runs \
  -H "Authorization: Bearer $CL_API_KEY" \
  -d '{"input": "Triage open high-priority tickets for Halvorsen Logistics."}'
{ "id": "run_7Hq2xV", "status": "running", "agent": "support-triage", "started_at": "2026-10-17T13:47:50.102Z" }

Runs can also be started by a schedule or by an event trigger, for example every telemetry.threshold_breached event on a robot.

Run states

StateMeaning
runningThe agent is reasoning or calling tools
awaiting_approvalA tool call is paused at an approval gate
succeededThe agent finished and returned output
failedA limit was reached or a tool failed after retries
cancelledA person or API call stopped the run

Approval gates

Each tool has a policy. When a call matches a require_approval rule, the run pauses, and the approvers named by the policy are notified in the app and, if connected, in Slack. Approvers see the full trace and can approve, reject or amend the arguments within limits the policy allows. See Concepts for policy syntax.

Traces

Every run records a trace: each model call with its input and output, and each tool call with its arguments, result, latency and cost. Fetch it with GET /v1/agents/runs/{id}/trace or open the run in the console. Traces are retained for 30 days on Starter and Pro, and configurably up to 7 years on Enterprise.