pub struct AgentSpec {
pub name: String,
pub system_prompt: String,
pub tools: Vec<String>,
pub max_turns: u32,
pub metadata: HashMap<String, Value>,
pub cache_control: bool,
}Expand description
Blueprint for an agent in a multi-agent system.
The runtime doesn’t own the model — metadata carries provider/model info
that the caller’s AgentRunner implementation uses to select the right model.
Fields§
§name: String§system_prompt: String§tools: Vec<String>Tool names this agent is allowed to use.
max_turns: u32§metadata: HashMap<String, Value>Opaque metadata (provider, model, temperature, etc.).
cache_control: boolEnable prompt caching for this agent’s API calls. When true, the system prompt is marked for Anthropic prompt cache reuse.
Implementations§
Source§impl AgentSpec
impl AgentSpec
pub fn new(name: &str, system_prompt: &str) -> Self
pub fn with_tools(self, tools: Vec<String>) -> Self
pub fn with_max_turns(self, max_turns: u32) -> Self
pub fn with_metadata(self, key: &str, value: Value) -> Self
pub fn with_cache_control(self) -> Self
Trait Implementations§
Source§impl<'de> Deserialize<'de> for AgentSpec
impl<'de> Deserialize<'de> for AgentSpec
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for AgentSpec
impl RefUnwindSafe for AgentSpec
impl Send for AgentSpec
impl Sync for AgentSpec
impl Unpin for AgentSpec
impl UnsafeUnpin for AgentSpec
impl UnwindSafe for AgentSpec
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more