5. 可观测性
"无法修复看不见的问题。可观测性是可靠代理系统的基础。"
可观测性使您能够理解代理系统内部的运行情况。它不仅仅是关于日志记录——而是追踪每一个决策、测量每一个操作以及调试复杂的工作流。
5.1 监控
关键指标
指标收集
@Service
public class AgentMetricsService {
@Autowired
private MeterRegistry meterRegistry;
// 性能指标
public void recordLatency(String operation, Duration latency) {
meterRegistry.timer(
"agent.latency",
"operation", operation
).record(latency);
}
public void recordThroughput(String operation, int count) {
meterRegistry.counter(
"agent.throughput",
"operation", operation
).increment(count);
}
// 可靠性指标
public void recordSuccess(String operation) {
meterRegistry.counter(
"agent.success",
"operation", operation
).increment();
}
public void recordError(String operation, String errorType) {
meterRegistry.counter(
"agent.errors",
"operation", operation,
"error_type", errorType
).increment();
}
// 成本指标
public void recordTokenUsage(
String model,
int promptTokens,
int completionTokens
) {
meterRegistry.counter(
"agent.tokens.prompt",
"model", model
).increment(promptTokens);
meterRegistry.counter(
"agent.tokens.completion",
"model", model
).increment(completionTokens);
}
public void recordApiCall(String service) {
meterRegistry.counter(
"agent.api.calls",
"service", service
).increment();
}
// 质量指标
public void recordAccuracy(String operation, double accuracy) {
meterRegistry.gauge(
"agent.quality.accuracy",
Tags.of("operation", operation),
accuracy
);
}
public void recordUserSatisfaction(
String agentId,
double score
) {
meterRegistry.gauge(
"agent.quality.satisfaction",
Tags.of("agent_id", agentId),
score
);
}
}