Documentation
¶
Index ¶
- type AgentMetrics
- type Alternative
- type AuditReport
- type Benchmark
- type BenchmarkCase
- type BenchmarkResult
- type Decision
- type DecisionType
- type EvaluationResult
- type EvaluationStrategy
- type Evaluator
- func (e *Evaluator) AddStrategy(strategy EvaluationStrategy)
- func (e *Evaluator) Evaluate(ctx context.Context, input *agent.Input, output *agent.Output) (*EvaluationResult, error)
- func (e *Evaluator) RegisterBenchmark(benchmark *Benchmark)
- func (e *Evaluator) RunBenchmark(ctx context.Context, benchmarkName string, agent agent.Agent) (*BenchmarkResult, error)
- type ExplainabilityConfig
- type ExplainabilityTracker
- func (t *ExplainabilityTracker) AddStep(traceID string, step ReasoningStep)
- func (t *ExplainabilityTracker) EndTrace(traceID string, success bool, output, errorMsg string)
- func (t *ExplainabilityTracker) ExplainDecision(decision Decision) string
- func (t *ExplainabilityTracker) GenerateAuditReport(traceID string) (*AuditReport, error)
- func (t *ExplainabilityTracker) GetAgentTraces(agentID string) []*ReasoningTrace
- func (t *ExplainabilityTracker) GetTrace(traceID string) *ReasoningTrace
- func (t *ExplainabilityTracker) RecordDecision(traceID string, decision Decision)
- func (t *ExplainabilityTracker) StartTrace(sessionID, agentID string) *ReasoningTrace
- type Factor
- type MetricsCollector
- type ObservabilitySystem
- type ReasoningStep
- type ReasoningTrace
- type SimpleEvaluationStrategy
- type Span
- type SpanEvent
- type TimelineEvent
- type Trace
- type Tracer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AgentMetrics ¶
type AgentMetrics struct {
AgentID string
// 性能指标
TotalTasks int64
SuccessfulTasks int64
FailedTasks int64
TaskSuccessRate float64
AvgLatency time.Duration
P50Latency time.Duration
P95Latency time.Duration
P99Latency time.Duration
// Token 指标
TotalTokens int64
PromptTokens int64
CompletionTokens int64
TokenEfficiency float64 // tokens per task
// 质量指标
AvgOutputQuality float64
HumanSimilarity float64
// 成本指标
TotalCost float64
CostPerTask float64
// 时间统计
FirstTaskAt time.Time
LastTaskAt time.Time
// 详细记录
LatencyHistory []time.Duration
QualityHistory []float64
}
AgentMetrics Agent 指标
type Alternative ¶
type Alternative struct {
Option string `json:"option"`
Score float64 `json:"score"`
Reason string `json:"reason"`
WasChosen bool `json:"was_chosen"`
}
备选案文是经过审议的备选决定。
type AuditReport ¶
type AuditReport struct {
TraceID string `json:"trace_id"`
SessionID string `json:"session_id"`
AgentID string `json:"agent_id"`
StartTime time.Time `json:"start_time"`
EndTime time.Time `json:"end_time"`
Duration time.Duration `json:"duration"`
Success bool `json:"success"`
TotalSteps int `json:"total_steps"`
TotalDecisions int `json:"total_decisions"`
DecisionSummary map[DecisionType]int `json:"decision_summary"`
Timeline []TimelineEvent `json:"timeline"`
}
审计报告是一份跟踪审计报告。
type Benchmark ¶
type Benchmark struct {
Name string
Description string
Dataset []BenchmarkCase
Results map[string]*BenchmarkResult // agentID -> result
}
Benchmark 基准测试
type BenchmarkCase ¶
type BenchmarkCase struct {
ID string
Input *agent.Input
ExpectedOutput string
Metadata map[string]any
}
BenchmarkCase 基准测试用例
type BenchmarkResult ¶
type BenchmarkResult struct {
AgentID string
TotalCases int
PassedCases int
FailedCases int
SuccessRate float64
AvgScore float64
AvgLatency time.Duration
TotalCost float64
Timestamp time.Time
}
BenchmarkResult 基准测试结果
type Decision ¶
type Decision struct {
ID string `json:"id"`
Type DecisionType `json:"type"`
Description string `json:"description"`
Input any `json:"input,omitempty"`
Output any `json:"output,omitempty"`
Reasoning string `json:"reasoning"`
Confidence float64 `json:"confidence,omitempty"`
Alternatives []Alternative `json:"alternatives,omitempty"`
Factors []Factor `json:"factors,omitempty"`
Timestamp time.Time `json:"timestamp"`
Duration time.Duration `json:"duration,omitempty"`
Metadata map[string]string `json:"metadata,omitempty"`
}
决定是代理人作出的单一决定。
type DecisionType ¶
type DecisionType string
决定 类型代表所作决定的类型。
const ( DecisionToolSelection DecisionType = "tool_selection" DecisionModelRouting DecisionType = "model_routing" DecisionStrategyChoice DecisionType = "strategy_choice" DecisionContentFilter DecisionType = "content_filter" DecisionRetry DecisionType = "retry" DecisionFallback DecisionType = "fallback" DecisionBudgetThrottle DecisionType = "budget_throttle" )
type EvaluationResult ¶
type EvaluationResult struct {
Score float64
Dimensions map[string]float64 // 各维度分数
Feedback string
Timestamp time.Time
}
EvaluationResult 评估结果
type EvaluationStrategy ¶
type EvaluationStrategy interface {
Evaluate(ctx context.Context, input *agent.Input, output *agent.Output) (*EvaluationResult, error)
}
EvaluationStrategy 评估策略
type Evaluator ¶
type Evaluator struct {
// contains filtered or unexported fields
}
Evaluator 评估器
func (*Evaluator) AddStrategy ¶
func (e *Evaluator) AddStrategy(strategy EvaluationStrategy)
AddStrategy 添加评估策略
func (*Evaluator) Evaluate ¶
func (e *Evaluator) Evaluate(ctx context.Context, input *agent.Input, output *agent.Output) (*EvaluationResult, error)
Evaluate 评估输出
func (*Evaluator) RegisterBenchmark ¶
RegisterBenchmark 注册基准测试
func (*Evaluator) RunBenchmark ¶
func (e *Evaluator) RunBenchmark(ctx context.Context, benchmarkName string, agent agent.Agent) (*BenchmarkResult, error)
RunBenchmark 运行基准测试
type ExplainabilityConfig ¶
type ExplainabilityConfig struct {
Enabled bool `json:"enabled"`
DetailLevel string `json:"detail_level"` // minimal, standard, verbose
MaxTraceAge time.Duration `json:"max_trace_age"`
MaxTracesPerAgent int `json:"max_traces_per_agent"`
RecordAlternatives bool `json:"record_alternatives"`
RecordFactors bool `json:"record_factors"`
}
可解释性 Config 配置可解释性系统.
func DefaultExplainabilityConfig ¶
func DefaultExplainabilityConfig() ExplainabilityConfig
默认解释性 Config 返回明智的默认 。
type ExplainabilityTracker ¶
type ExplainabilityTracker struct {
// contains filtered or unexported fields
}
可解释性 追踪器追踪和存储推理痕迹.
func NewExplainabilityTracker ¶
func NewExplainabilityTracker(config ExplainabilityConfig) *ExplainabilityTracker
新建解释性 Tracker创建了新的可解释性跟踪器.
func (*ExplainabilityTracker) AddStep ¶
func (t *ExplainabilityTracker) AddStep(traceID string, step ReasoningStep)
添加Step为跟踪添加了推理步骤.
func (*ExplainabilityTracker) EndTrace ¶
func (t *ExplainabilityTracker) EndTrace(traceID string, success bool, output, errorMsg string)
EndTrace结束推理追踪.
func (*ExplainabilityTracker) ExplainDecision ¶
func (t *ExplainabilityTracker) ExplainDecision(decision Decision) string
解释决定为决定产生人能读取的解释.
func (*ExplainabilityTracker) GenerateAuditReport ¶
func (t *ExplainabilityTracker) GenerateAuditReport(traceID string) (*AuditReport, error)
生成审计报告以进行追踪。
func (*ExplainabilityTracker) GetAgentTraces ¶
func (t *ExplainabilityTracker) GetAgentTraces(agentID string) []*ReasoningTrace
Get AgentTraces为特工检索所有痕迹.
func (*ExplainabilityTracker) GetTrace ¶
func (t *ExplainabilityTracker) GetTrace(traceID string) *ReasoningTrace
Get Trace通过身份追踪到线索
func (*ExplainabilityTracker) RecordDecision ¶
func (t *ExplainabilityTracker) RecordDecision(traceID string, decision Decision)
记录决定记录在一处。
func (*ExplainabilityTracker) StartTrace ¶
func (t *ExplainabilityTracker) StartTrace(sessionID, agentID string) *ReasoningTrace
启动 Trace 开始新的推理追踪 。
type Factor ¶
type Factor struct {
Name string `json:"name"`
Value float64 `json:"value"`
Weight float64 `json:"weight"`
Impact string `json:"impact"` // positive, negative, neutral
Explanation string `json:"explanation"`
}
因素是一个影响决定的因素。
type MetricsCollector ¶
type MetricsCollector struct {
// contains filtered or unexported fields
}
MetricsCollector 指标收集器
func NewMetricsCollector ¶
func NewMetricsCollector(logger *zap.Logger) *MetricsCollector
NewMetricsCollector 创建指标收集器
func (*MetricsCollector) GetAllMetrics ¶
func (c *MetricsCollector) GetAllMetrics() map[string]*AgentMetrics
GetAllMetrics 获取所有指标
func (*MetricsCollector) GetMetrics ¶
func (c *MetricsCollector) GetMetrics(agentID string) *AgentMetrics
GetMetrics 获取指标
func (*MetricsCollector) RecordTask ¶
func (c *MetricsCollector) RecordTask(agentID string, success bool, latency time.Duration, tokens int, cost float64, quality float64)
RecordTask 记录任务执行
type ObservabilitySystem ¶
type ObservabilitySystem struct {
// contains filtered or unexported fields
}
ObservabilitySystem 可观测性系统
func NewObservabilitySystem ¶
func NewObservabilitySystem(logger *zap.Logger) *ObservabilitySystem
NewObservabilitySystem 创建可观测性系统
func (*ObservabilitySystem) EndTrace ¶ added in v1.0.0
func (o *ObservabilitySystem) EndTrace(traceID, status string, err error)
EndTrace delegates to the internal Tracer. Satisfies agent.ObservabilityRunner.
func (*ObservabilitySystem) RecordTask ¶ added in v1.0.0
func (o *ObservabilitySystem) RecordTask(agentID string, success bool, duration time.Duration, tokens int, cost, quality float64)
RecordTask delegates to the internal MetricsCollector. Satisfies agent.ObservabilityRunner.
func (*ObservabilitySystem) StartTrace ¶ added in v1.0.0
func (o *ObservabilitySystem) StartTrace(traceID, agentID string)
StartTrace delegates to the internal Tracer. Satisfies agent.ObservabilityRunner.
type ReasoningStep ¶
type ReasoningStep struct {
StepNumber int `json:"step_number"`
Type string `json:"type"` // thought, action, observation, decision
Content string `json:"content"`
Decisions []Decision `json:"decisions,omitempty"`
Timestamp time.Time `json:"timestamp"`
Duration time.Duration `json:"duration,omitempty"`
}
理性步骤代表了推理过程的一步.
type ReasoningTrace ¶
type ReasoningTrace struct {
ID string `json:"id"`
SessionID string `json:"session_id"`
AgentID string `json:"agent_id"`
TaskID string `json:"task_id,omitempty"`
Steps []ReasoningStep `json:"steps"`
Decisions []Decision `json:"decisions"`
StartTime time.Time `json:"start_time"`
EndTime time.Time `json:"end_time,omitempty"`
Duration time.Duration `json:"duration,omitempty"`
Success bool `json:"success"`
FinalOutput string `json:"final_output,omitempty"`
Error string `json:"error,omitempty"`
Metadata map[string]any `json:"metadata,omitempty"`
}
理由 Trace代表了一个完整的推理追踪.
type SimpleEvaluationStrategy ¶
type SimpleEvaluationStrategy struct{}
SimpleEvaluationStrategy 简单评估策略
type Span ¶
type Span struct {
SpanID string
Name string
StartTime time.Time
EndTime time.Time
Duration time.Duration
// 父 Span
ParentSpanID string
// 属性
Attributes map[string]any
// 事件
Events []SpanEvent
}
Span 执行步骤
type TimelineEvent ¶
type TimelineEvent struct {
Timestamp time.Time `json:"timestamp"`
Type string `json:"type"`
Description string `json:"description"`
}
时间线Event代表审计时间表中的一个事件.
type Trace ¶
type Trace struct {
TraceID string
AgentID string
StartTime time.Time
EndTime time.Time
Duration time.Duration
// 执行步骤
Spans []*Span
// 状态
Status string
Error error
// 元数据
Metadata map[string]any
}
Trace 追踪记录