AgentMessage

@Serializable
sealed class AgentMessage(source)

表示 Agent 会话中的一条消息。

Inheritors

Types

Link copied to clipboard
@Serializable
data class Assistant(val id: UUID, val timestamp: Instant, val reasoning: String?, val content: String?, val model: UUID, val usage: Usage?) : AgentMessage

表示一条 LLM 返回的消息。

Link copied to clipboard
@Serializable
data class Compact(val id: UUID, val timestamp: Instant, val content: String, val model: UUID, val usage: Usage?) : AgentMessage

上下文压缩的响应消息。

Link copied to clipboard
@Serializable
sealed class Tool : AgentMessage

表示一次工具调用。

Link copied to clipboard
@Serializable
data class UsageRecord(val id: UUID, val timestamp: Instant, val model: UUID, val usage: Usage) : AgentMessage

用于跟踪不属于任何 AgentMessage 的 LLM 开销,例如 Agent 调用的工具调用了 LLM,或最终失败的上下文压缩(不会产生 AgentMessage.Compact 来跟踪开销)。

Link copied to clipboard
@Serializable
data class User(val id: UUID, val timestamp: Instant, val content: MessageContent) : AgentMessage

表示一条用户消息。

Properties

Link copied to clipboard
@Serializable(with = UuidSerializer::class)
abstract val id: UUID

消息 id,每种消息都有。

Link copied to clipboard
abstract val timestamp: Instant

消息时间戳,每种消息都有。