Skip to content

Multi-Agent Teams

A team run puts several AI agents on one range. Each member has its own model, system prompt and shell on the agent VM. The members share:

  • a chatroom, with post_message and read_messages tools
  • a scoreboard, with post_finding and read_scoreboard tools
  • an activity feed of each other’s commands, unless visibility is communicate_only (see below)

Members can use different models.

Describe the team in a YAML or JSON file, then launch it:

Terminal window
rogue-arena-inspect launch --team team.yaml --eval <id>

The package ships a team.yaml template. To find it, run:

Terminal window
python -c "import importlib.resources as r; print(r.files('inspect_rogue_arena') / 'examples')"

Copy the template out of that folder before you edit it.

FieldWhat it sets
turn_takingcoordinator, where a lead agent hands work to the others, or round_robin, where members take turns.
visibilityshared_sight (the default) or communicate_only. See below.
rounds, turns_per_memberHow long the team works.
tool_timeout_secondsThe longest any one command may run, in seconds. The default is 600. A model can ask for a shorter or longer timeout per command.
membersEach member’s model, name, role and prompt.

visibility decides whether members can see each other’s commands.

  • shared_sight gives each member a read_activity tool to read the feed, so teammates don’t trip over each other.
  • communicate_only removes that tool, and Rogue Arena refuses feed reads during the run. Members coordinate through the chatroom alone.

Either way, the feed is recorded, and the run’s owner can see it on the run page. The feed keeps a summary of each command: the command, its exit code, and about 400 characters of output.

A team run is one trial, so the team gets one score. Rogue Arena scores it when the trial closes, like any other trial. A key-file hop counts when any member reads the key.

To read the team’s chat after a run:

Terminal window
rogue-arena-inspect run <id> --chat