pub struct SubagentProfile {
pub name: String,
pub description: String,
pub tools: Vec<String>,
pub system_prompt: Option<String>,
pub max_turns: u32,
pub model: Option<String>,
pub provider: Option<String>,
pub trusted_output: bool,
}Fields§
§name: StringTool name the parent sees. Keep it a verb the model will reach for.
description: StringShown to the parent model. This is what decides whether delegation happens at all, so say when to use it, not just what it is.
tools: Vec<String>Allowlist of tools the child may use. Empty means no tools, which is occasionally what you want — a pure summarizer.
system_prompt: Option<String>§max_turns: u32§model: Option<String>Run this child on a different model. A narrow task with two tools does not need the model the parent is using, and a small fast one keeps delegation cheap enough to be worth doing.
provider: Option<String>Run this child against a different provider entry — a second llama-server on another port, or a hosted model for one hard step.
trusted_output: boolForce the child’s answer to be treated as trustworthy even though its tools can reach untrusted sources.
Off by default, and turning it on is a real risk decision: it lets attacker-influenced text through to the parent with the trifecta interlock disarmed. Reasonable when the child returns something structurally harmless — a number, a yes/no — and not otherwise.
Trait Implementations§
Source§impl Clone for SubagentProfile
impl Clone for SubagentProfile
Source§fn clone(&self) -> SubagentProfile
fn clone(&self) -> SubagentProfile
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more