pub struct CodingAgentConfig {
pub model: String,
pub system: Option<String>,
pub base_system: Option<String>,
pub workspace: PathBuf,
pub max_turn_steps: u32,
pub thinking: ThinkingEffort,
}Expand description
Everything a CodingAgent needs besides the
provider.
Fields§
§model: StringModel identifier, passed through to
ChatParams.
system: Option<String>System prompt stamped into every request. None uses the base
prompt — base_system when set, the
built-in default otherwise; setting it replaces everything, it
does not append.
base_system: Option<String>The base prompt from the user’s SYSTEM.md, a Jinja template
rendered by render_system — a template
error fails the agent’s construction. None uses the built-in
default_system.
workspace: PathBufRoot all tools are scoped to; paths that escape it are rejected in-band to the model.
max_turn_steps: u32Cap on steps per turn; a turn still requesting tools past it fails
with AgentError::MaxIterations.
thinking: ThinkingEffortHow much reasoning the model should do; providers without a knob
ignore it, and ThinkingEffort::Default sends nothing.
Implementations§
Source§impl CodingAgentConfig
impl CodingAgentConfig
Sourcepub const DEFAULT_MAX_TURN_STEPS: u32 = 2048
pub const DEFAULT_MAX_TURN_STEPS: u32 = 2048
Default for max_turn_steps. Long autonomous sessions — builds,
rebases, multi-package sweeps — routinely run hundreds of steps on
cheap models under a watching eye; the cap exists to end a runaway
loop, not to ration the model. --max-steps is the tighter leash
for unattended turns on expensive models.