Model and effort¶
Each role runs one model. Pick it in @role, with or without an effort.
@role(model=Claude.OPUS)
@role(model=Claude.OPUS(effort=ClaudeEffort.HIGH))
@role(model=OpenAI.SOL(effort=OpenAIEffort.XHIGH))
Claude models run through Claude Code, and OpenAI models through Codex. One workflow can use both. You only need to log in to the tools your roles use. Before a run starts, AGL checks that each of them is ready, and refuses the run if one isn't.
Claude and OpenAI each have two kinds of member:
- Family member - Runs the newest model of its family, as
Claude.OPUSruns the newest Opus. - Versioned member - Runs one model, as
Claude.OPUS_4_7runs Claude Opus 4.7.
Claude-OPUS,SONNET,HAIKU,FABLE, and the versionedOPUS_4_5,OPUS_4_6,OPUS_4_7,OPUS_4_8,OPUS_5,OPUS_5_5,SONNET_4_5,SONNET_4_6,SONNET_5,HAIKU_4_5,FABLE_5,FABLE_5_1.OpenAI-SOL,TERRA,LUNA,ASTRA, and the versionedGPT_5_6_SOL,GPT_5_6_TERRA,GPT_5_6_LUNA,GPT_6_ASTRA,GPT_6_SOL,GPT_6_LUNA.ClaudeEffort-LOW,MEDIUM,HIGH,XHIGH,MAX.OpenAIEffort-LOW,MEDIUM,HIGH,XHIGH,MAX,ULTRA.
Without an effort, a model runs at its tool's default.
Reference¶
agl.sdk.ModelId
¶
Bases: StrEnum
A model a role can run on.
agl.sdk.Claude
¶
Bases: ModelId
A Claude model a role can run on.
OPUS
class-attribute
instance-attribute
¶
The model its backend runs as opus.
SONNET
class-attribute
instance-attribute
¶
The model its backend runs as sonnet.
HAIKU
class-attribute
instance-attribute
¶
The model its backend runs as haiku.
FABLE
class-attribute
instance-attribute
¶
The model its backend runs as fable.
OPUS_4_5
class-attribute
instance-attribute
¶
The model its backend runs as claude-opus-4-5-20251101.
OPUS_4_6
class-attribute
instance-attribute
¶
The model its backend runs as claude-opus-4-6.
OPUS_4_7
class-attribute
instance-attribute
¶
The model its backend runs as claude-opus-4-7.
OPUS_4_8
class-attribute
instance-attribute
¶
The model its backend runs as claude-opus-4-8.
OPUS_5
class-attribute
instance-attribute
¶
The model its backend runs as claude-opus-5.
OPUS_5_5
class-attribute
instance-attribute
¶
The model its backend runs as claude-opus-5-5.
SONNET_4_5
class-attribute
instance-attribute
¶
The model its backend runs as claude-sonnet-4-5-20250929.
SONNET_4_6
class-attribute
instance-attribute
¶
The model its backend runs as claude-sonnet-4-6.
SONNET_5
class-attribute
instance-attribute
¶
The model its backend runs as claude-sonnet-5.
HAIKU_4_5
class-attribute
instance-attribute
¶
The model its backend runs as claude-haiku-4-5-20251001.
FABLE_5
class-attribute
instance-attribute
¶
The model its backend runs as claude-fable-5.
FABLE_5_1
class-attribute
instance-attribute
¶
The model its backend runs as claude-fable-5-1.
__call__(*, effort)
¶
Chooses how long this model reasons.
Parameters:
-
effort(ClaudeEffort) –The reasoning level, one of Claude's own.
Returns:
-
ChosenClaude–The model at that effort, to pass as
@role(model=...).
Raises:
-
InputError–effortis not aClaudeEffort.
agl.sdk.ClaudeEffort
¶
Bases: StrEnum
How long a Claude model reasons before answering.
LOW
class-attribute
instance-attribute
¶
The least reasoning of the five.
MEDIUM
class-attribute
instance-attribute
¶
More reasoning than LOW.
HIGH
class-attribute
instance-attribute
¶
More reasoning than MEDIUM.
XHIGH
class-attribute
instance-attribute
¶
More reasoning than HIGH.
MAX
class-attribute
instance-attribute
¶
The most reasoning of the five.
agl.sdk.OpenAI
¶
Bases: ModelId
An OpenAI model a role can run on.
SOL
class-attribute
instance-attribute
¶
The model its backend runs as gpt-6-sol.
TERRA
class-attribute
instance-attribute
¶
The model its backend runs as gpt-5.6-terra.
LUNA
class-attribute
instance-attribute
¶
The model its backend runs as gpt-6-luna.
ASTRA
class-attribute
instance-attribute
¶
The model its backend runs as gpt-6-astra.
GPT_5_6_SOL
class-attribute
instance-attribute
¶
The model its backend runs as gpt-5.6-sol.
GPT_5_6_TERRA
class-attribute
instance-attribute
¶
The model its backend runs as gpt-5.6-terra.
GPT_5_6_LUNA
class-attribute
instance-attribute
¶
The model its backend runs as gpt-5.6-luna.
GPT_6_ASTRA
class-attribute
instance-attribute
¶
The model its backend runs as gpt-6-astra.
GPT_6_SOL
class-attribute
instance-attribute
¶
The model its backend runs as gpt-6-sol.
GPT_6_LUNA
class-attribute
instance-attribute
¶
The model its backend runs as gpt-6-luna.
__call__(*, effort)
¶
Chooses how long this model reasons.
Parameters:
-
effort(OpenAIEffort) –The reasoning level, one of OpenAI's own.
Returns:
-
ChosenOpenAI–The model at that effort, to pass as
@role(model=...).
Raises:
-
InputError–effortis not anOpenAIEffort.
agl.sdk.OpenAIEffort
¶
Bases: StrEnum
How long an OpenAI model reasons before answering.
LOW
class-attribute
instance-attribute
¶
The least reasoning of the six.
MEDIUM
class-attribute
instance-attribute
¶
More reasoning than LOW.
HIGH
class-attribute
instance-attribute
¶
More reasoning than MEDIUM.
XHIGH
class-attribute
instance-attribute
¶
More reasoning than HIGH.
MAX
class-attribute
instance-attribute
¶
More reasoning than XHIGH.
ULTRA
class-attribute
instance-attribute
¶
Reasoning with parts of the task handed to subagents, and offered for some models only.