Agents

Multi-agent and multi-role

Several profiles, role maps, run.py scheduling.

A task can declare multiple agent_profiles; run.py opens sessions per role.

# task.yaml
parameters:
  roles:
    planner: planner-pi
    worker: worker-codex

# profiles.yaml
format: ageval.profiles/1
environment: docker
agent_profiles:
  planner-pi:
    executor: acp
    options:
      entry: pi
    extensions:
      - plugin: acp
      - plugin: docker
  worker-codex:
    executor: acp
    options:
      entry: codex
    extensions:
      - plugin: acp
      - plugin: docker
  • run.py decides when to invoke whom; Core owns bounds and trajectory
  • Per-profile invokes land in evidence; Viewer groups by profile_id
  • On docker, multi-actor must use the same SDK surface as local: Agent.session(...).invoke. YAML declares logical isolation only (shared-container / container-per-group); container id / UID stay with Core. This round does not promise a true multi-group scheduled run (lock with topology is enough)

examples/datasets/minimal-demo has multi-role examples.