Lambda Symbolics

Agents and jobs

Autolith does its own work by default. Child agents and headless jobs exist for work that needs independence, parallelism, or a life outside the conversation.

Child agents

A child agent is a real in-process session with its own conversation, its own tool set, and an explicit depth limit. It follows a mandatory yield protocol: it finishes by submitting a result, not by trailing off. Assignments can run as one child or as a concurrency-limited batch with shared background context.

Children detach by default. The work continues in the background while the main conversation keeps moving; you join a child when its result is actually needed. Roles tune what a child may do: scout, designer, reviewer, librarian, task, and sonic. Use task.agents to list what the current depth and policy allow.

Jobs

Anything that runs outside the immediate turn becomes an inspectable job: a background shell command, a Lisp evaluation, a test run, a detached child. Jobs are listed, waited on, inspected, and cancelled by identifier. Keeping the identifier matters; a turn does not end while a required job is still pending.

Outside the conversation

The same machinery has a fully non-interactive face: the run-job boundary runs one job from a script with a data-only envelope and a structured-output contract. The cookbook shows it in Run Autolith from CI.