pub struct AgentOutput {
pub content: OutputContent,
pub metadata: HashMap<String, Value>,
pub tools_used: Vec<ToolUsage>,
pub reasoning_steps: Vec<ReasoningStep>,
pub duration_ms: u64,
pub token_usage: Option<TokenUsage>,
}Expand description
Agent 输出类型
Fields§
§content: OutputContent主输出内容
metadata: HashMap<String, Value>输出元数据
tools_used: Vec<ToolUsage>使用的工具
reasoning_steps: Vec<ReasoningStep>推理步骤 (如果有)
duration_ms: u64执行时间 (毫秒)
token_usage: Option<TokenUsage>Token 使用统计
Implementations§
Source§impl AgentOutput
impl AgentOutput
Sourcepub fn text(s: impl Into<String>) -> AgentOutput
pub fn text(s: impl Into<String>) -> AgentOutput
创建文本输出
Sourcepub fn json(value: Value) -> AgentOutput
pub fn json(value: Value) -> AgentOutput
创建 JSON 输出
Sourcepub fn error(message: impl Into<String>) -> AgentOutput
pub fn error(message: impl Into<String>) -> AgentOutput
创建错误输出
Sourcepub fn with_duration(self, duration_ms: u64) -> AgentOutput
pub fn with_duration(self, duration_ms: u64) -> AgentOutput
设置执行时间
Sourcepub fn with_metadata(self, key: impl Into<String>, value: Value) -> AgentOutput
pub fn with_metadata(self, key: impl Into<String>, value: Value) -> AgentOutput
添加元数据
Sourcepub fn with_tool_usage(self, usage: ToolUsage) -> AgentOutput
pub fn with_tool_usage(self, usage: ToolUsage) -> AgentOutput
添加工具使用记录
Sourcepub fn with_tools_used(self, usages: Vec<ToolUsage>) -> AgentOutput
pub fn with_tools_used(self, usages: Vec<ToolUsage>) -> AgentOutput
设置所有工具使用记录
Sourcepub fn with_reasoning_step(self, step: ReasoningStep) -> AgentOutput
pub fn with_reasoning_step(self, step: ReasoningStep) -> AgentOutput
添加推理步骤
Sourcepub fn with_reasoning_steps(self, steps: Vec<ReasoningStep>) -> AgentOutput
pub fn with_reasoning_steps(self, steps: Vec<ReasoningStep>) -> AgentOutput
设置所有推理步骤
Sourcepub fn with_token_usage(self, usage: TokenUsage) -> AgentOutput
pub fn with_token_usage(self, usage: TokenUsage) -> AgentOutput
设置 Token 使用
Trait Implementations§
Source§impl Clone for AgentOutput
impl Clone for AgentOutput
Source§fn clone(&self) -> AgentOutput
fn clone(&self) -> AgentOutput
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 AgentOutput
impl Debug for AgentOutput
Source§impl Default for AgentOutput
impl Default for AgentOutput
Source§fn default() -> AgentOutput
fn default() -> AgentOutput
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for AgentOutput
impl<'de> Deserialize<'de> for AgentOutput
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<AgentOutput, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<AgentOutput, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for AgentOutput
impl Serialize for AgentOutput
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 AgentOutput
impl RefUnwindSafe for AgentOutput
impl Send for AgentOutput
impl Sync for AgentOutput
impl Unpin for AgentOutput
impl UnsafeUnpin for AgentOutput
impl UnwindSafe for AgentOutput
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