pub struct AgentCapabilities {
pub tags: HashSet<String>,
pub input_types: HashSet<InputType>,
pub output_types: HashSet<OutputType>,
pub max_context_length: Option<usize>,
pub reasoning_strategies: Vec<ReasoningStrategy>,
pub supports_streaming: bool,
pub supports_conversation: bool,
pub supports_tools: bool,
pub supports_coordination: bool,
pub custom: HashMap<String, Value>,
}Expand description
Agent 能力描述
用于能力发现和任务路由
Fields§
能力标签 (如 “llm”, “coding”, “research”)
input_types: HashSet<InputType>支持的输入类型
output_types: HashSet<OutputType>支持的输出类型
max_context_length: Option<usize>最大上下文长度 (对于 LLM 类 Agent)
reasoning_strategies: Vec<ReasoningStrategy>支持的推理策略
supports_streaming: bool是否支持流式输出
supports_conversation: bool是否支持多轮对话
supports_tools: bool是否支持工具调用
supports_coordination: bool是否支持多 Agent 协调
custom: HashMap<String, Value>自定义能力标志
Implementations§
Source§impl AgentCapabilities
impl AgentCapabilities
Sourcepub fn new() -> AgentCapabilities
pub fn new() -> AgentCapabilities
创建新的能力描述
Sourcepub fn builder() -> AgentCapabilitiesBuilder
pub fn builder() -> AgentCapabilitiesBuilder
创建构建器
Sourcepub fn supports_input(&self, input_type: &InputType) -> bool
pub fn supports_input(&self, input_type: &InputType) -> bool
检查是否支持指定输入类型
Sourcepub fn supports_output(&self, output_type: &OutputType) -> bool
pub fn supports_output(&self, output_type: &OutputType) -> bool
检查是否支持指定输出类型
Sourcepub fn matches(&self, requirements: &AgentRequirements) -> bool
pub fn matches(&self, requirements: &AgentRequirements) -> bool
检查是否匹配需求
Sourcepub fn match_score(&self, requirements: &AgentRequirements) -> f64
pub fn match_score(&self, requirements: &AgentRequirements) -> f64
计算与需求的匹配分数 (0.0 - 1.0)
Trait Implementations§
Source§impl Clone for AgentCapabilities
impl Clone for AgentCapabilities
Source§fn clone(&self) -> AgentCapabilities
fn clone(&self) -> AgentCapabilities
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AgentCapabilities
impl Debug for AgentCapabilities
Source§impl Default for AgentCapabilities
impl Default for AgentCapabilities
Source§fn default() -> AgentCapabilities
fn default() -> AgentCapabilities
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for AgentCapabilities
impl<'de> Deserialize<'de> for AgentCapabilities
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<AgentCapabilities, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<AgentCapabilities, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for AgentCapabilities
impl Serialize for AgentCapabilities
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for AgentCapabilities
impl RefUnwindSafe for AgentCapabilities
impl Send for AgentCapabilities
impl Sync for AgentCapabilities
impl Unpin for AgentCapabilities
impl UnsafeUnpin for AgentCapabilities
impl UnwindSafe for AgentCapabilities
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 moreSource§impl<T> Message for T
impl<T> Message for T
Source§fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>
fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>
Convert a BoxedMessage to this concrete type
Source§fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>
fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>
Convert this message to a BoxedMessage