AGENTIC PIPELINE RUNTIME · AGPL-3.0

A kernel. An opinion.

Studio runs AI agent pipelines via YAML configuration. Open source, declarative, retry-driven. It's voluntary.
code-generation.contract.yamlYAML
# code-generation.contract.yaml
name: code-generation
output_schema
  type: object
  required: [files_written, summary]
  properties
    files_written
      type: array
    summary
      type: string
tool_calls
  minimum: 1
  required
    - repo_manager.write_file
# Anti-theatre: runner tracks actual calls.

The premise

What if agent orchestration was configuration, not code?

Three premises shared with other frameworks. Three inverted by Studio.

01

A pipeline is a YAML file

Declares stages and groups. Each stage references an agent (runtime config) and a contract (JSON schema + constraints). Modifiable without a programming environment, line by line.

02

The engine executes via the RALPH loop

Execute → validate → advance if contract passes, retry with enriched feedback if it fails. No stage advances until its contract is met.

03

Run it 10 times, get 10 correct outputs

That's why contracts and retries exist. Anti-theatre by construction — the agent cannot skip steps that the contract requires.

Trade-offs

Explicit trade-offs.
Not accidental ones.

LangGraph, CrewAI, Autogen share one premise: agent orchestration is code. Studio takes the inverse premise and assumes it.

FrameworkSurfaceValidationParallelismLicense
LangGraphPython codeManualNativeMIT
CrewAIPython codeManualNativeMIT
AutogenPython codeManualNativeCC BY 4.0
studio:YAML configContract-basedDeclarativeAGPL-3.0

If your need fits the first three, no need to write Studio. If it doesn't, you write a YAML file reviewable line by line, modifiable without programming environment.

Why Studio exists

Three patterns.

Everything is declarative. You describe what you want in YAML, the engine handles orchestration. Wiki Creator and Little Chef rely on it in production.

Pattern 01

Generation, validation groups

One stage produces, another critiques. If the critic rejects, the group restarts with accumulated feedback. Max N iterations. Anti-theatre applied to creativity.

wiki-creator.pipeline.yamlYAML
# wiki-creator.pipeline.yaml
groups
  - id: generate-critique
    max_iterations: 3
    stages
      - id: generate
          agent: wiki-writer
          contract: wiki-page
      - id: critique
          agent: wiki-reviewer
          contract: qa-review
          context
            include: [previous_stage_output]

Pattern 02

Parallel groups

Fan-out / fan-in declared in YAML. Stages run concurrently. The engine handles async/await and merge.

wiki-creator.pipeline.yamlYAML
# wiki-creator.pipeline.yaml
stages
  - id: research-en
    agent: researcher
    parallel_group: research
  - id: research-fr
    agent: researcher
    parallel_group: research
  - id: merge
    agent: merger
    context
      include: [all_stage_outputs]

Pattern 03

Tool-call verification

The runner tracks tool calls. If the contract requires repo_manager.write_file minimum 1 and the agent calls none, the stage fails. Anti-theatre.

code-generation.contract.yamlYAML
# code-generation.contract.yaml
name: code-generation
output_schema
  type: object
  required: [files_written, summary]
tool_calls
  minimum: 1
  required
    - repo_manager.write_file
# Agent cannot skip writing — anti-theatre.

Architecture

Seven packages, one monorepo. Each fits in a context window.

The dependency graph is the architecture.

@studio/contracts

Shared types & interfaces. Zero dependencies.

@studio/anonymizer

PII detection & anonymization before LLM calls.

@studio/ralph

Execute, validate, retry. Generic executor.

@studio/runner

LLM calls, tool plugin runtime, multi-provider.

@studio/engine

Pipeline orchestration, state machine, persistence.

@studio/api

HTTP REST API (Fastify) + SSE streaming.

@studio/cli

Terminal interface for Studio pipelines.

Built on Studio

Two domains. Zero orchestration code.

Wiki Creator

Extract entities, relations, generate wiki pages from EPUB books. NLP + LLM pipelines.

NLPEPUBPythonparallel groups

Little Chef

Meal planner. Researches cuisines, develops recipes with nutritional profile, generates grocery lists.

Next.jsPrismanutritionmulti-stage

Why a commons

Why a commons, not a startup.

Studio could have been a startup. The product shape lends itself to it. The opposite choice is deliberate. An AI agent orchestration kernel, captured by a company, becomes the bottleneck of everything flowing through it. Studio is designed so that it cannot be captured.

Read the charter

Three structural mechanisms

AGPL-3.0 license

Any modification used in production must be published under the same license.

Non-profit foundation (in progress)

The kernel is intended to be owned by a non-profit, non-transferable foundation. The founder's progressive withdrawal is an explicit goal.

Three strictly separated layers

Open source kernel (commons) · Support core (hosting, maintenance) · Products powered by Studio (commercial or open source). No commercial entity has authority over the kernel.

The kernel is a commons by design. The license is the mechanism that maintains it.