pub struct AgentConfig {Show 17 fields
pub name: String,
pub model: String,
pub preamble: String,
pub temperature: Option<f64>,
pub max_tokens: Option<u64>,
pub extra_params: Option<Value>,
pub tool_policy: RiskyToolPolicy,
pub max_history_messages: usize,
pub max_tool_output_chars: usize,
pub json_mode: bool,
pub persona: Option<Persona>,
pub role: AgentRole,
pub max_parallel_tools: usize,
pub loop_similarity_threshold: f64,
pub sop: Option<String>,
pub enable_cache_control: bool,
pub smart_pruning: bool,
}Expand description
Configuration for an Agent
Fields§
§name: StringName of the agent (for logging/identity)
model: StringModel to use (provider specific string)
preamble: StringSystem prompt / Preamble
temperature: Option<f64>Temperature for generation
max_tokens: Option<u64>Max tokens to generate
extra_params: Option<Value>Additional provider-specific parameters
tool_policy: RiskyToolPolicyPolicy for risky tools
max_history_messages: usizeMax history messages to send to LLM (Sliding window)
max_tool_output_chars: usizeMax characters allowed in tool output before truncation
json_mode: boolEnable strict JSON mode (response_format: json_object)
persona: Option<Persona>Optional personality profile
role: AgentRoleRole of the agent in a multi-agent system
max_parallel_tools: usizeMax parallel tool calls (default: 5)
loop_similarity_threshold: f64Loop detection similarity threshold (0.0 to 1.0, default: 0.8)
sop: Option<String>Standard Operating Procedure / Mission Statement
enable_cache_control: boolWhether to enable explicit context caching (e.g. Anthropic cache_control)
smart_pruning: boolWhether to use summarization for pruned history instead of truncation
Trait Implementations§
Source§impl Clone for AgentConfig
impl Clone for AgentConfig
Source§fn clone(&self) -> AgentConfig
fn clone(&self) -> AgentConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AgentConfig
impl Debug for AgentConfig
Auto Trait Implementations§
impl Freeze for AgentConfig
impl RefUnwindSafe for AgentConfig
impl Send for AgentConfig
impl Sync for AgentConfig
impl Unpin for AgentConfig
impl UnwindSafe for AgentConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
self file descriptor. Read moreSource§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>
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>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request