功能介绍
反馈循环是 AI Agent 持续进化的核心机制。OpenClaw 提供了完整的反馈收集、效果评估、经验学习和优化调整闭环,让 Agent 能够从每次交互中学习,不断提升服务质量和效率。
学习型 Agent 的优势
能够适应新场景、避免重复错误、优化执行策略、个性化服务。反馈循环让 Agent 从"静态程序"进化为"成长型助手"。
能够适应新场景、避免重复错误、优化执行策略、个性化服务。反馈循环让 Agent 从"静态程序"进化为"成长型助手"。
反馈循环的四个环节
1. 反馈收集
多渠道收集用户和系统反馈:
- 显式反馈:用户评分、评论、修正建议
- 隐式反馈:用户行为(采纳/拒绝/修改)
- 系统反馈:执行成功率、错误日志、性能指标
- 环境反馈:外部系统响应、资源消耗
2. 效果评估
量化分析 Agent 表现:
- 任务完成率:成功完成的任务比例
- 用户满意度:基于显式反馈的满意度评分
- 效率指标:执行时间、资源消耗、迭代次数
- 质量指标:输出准确性、格式正确率、完整性
3. 经验学习
从反馈中提取可复用的经验:
- 成功模式:记录成功案例的关键决策点
- 失败教训:分析失败原因并标记规避策略
- 用户偏好:学习用户的个性化偏好
- 场景适配:建立场景到策略的映射
4. 优化调整
应用学习结果改进 Agent:
- 策略调整:修改决策策略和执行路径
- 参数优化:调整模型参数和配置
- 知识更新:更新知识库和规则集
- 行为修正:修正不良行为模式
使用方法
反馈收集系统
// OpenClaw 反馈收集器
class FeedbackCollector {
constructor(config) {
this.channels = config.channels || ['explicit', 'implicit', 'system'];
this.feedbackStore = [];
}
// 收集显式反馈
collectExplicit(sessionId, feedback) {
const record = {
type: 'explicit',
sessionId,
timestamp: Date.now(),
rating: feedback.rating, // 1-5 星
comment: feedback.comment,
corrections: feedback.corrections // 用户修正内容
};
this.store(record);
return record;
}
// 收集隐式反馈
collectImplicit(sessionId, behavior) {
const record = {
type: 'implicit',
sessionId,
timestamp: Date.now(),
accepted: behavior.accepted, // 是否采纳输出
modified: behavior.modified, // 是否修改输出
timeSpent: behavior.timeSpent, // 阅读时间
followUp: behavior.followUp // 是否有后续请求
};
this.store(record);
return record;
}
// 分析反馈趋势
analyzeTrends(timeWindow = 7 * 24 * 3600 * 1000) {
const recent = this.feedbackStore.filter(
f => Date.now() - f.timestamp < timeWindow
);
return {
avgRating: this.calculateAvgRating(recent),
acceptanceRate: this.calculateAcceptanceRate(recent),
commonIssues: this.identifyCommonIssues(recent),
improvementAreas: this.identifyImprovementAreas(recent)
};
}
}
经验学习系统
// OpenClaw 经验学习器
class ExperienceLearner {
constructor(config) {
this.experienceStore = new Map();
this.patternMiner = new PatternMiner();
}
// 从成功案例学习
learnFromSuccess(session) {
const pattern = this.extractPattern(session);
// 检查是否为新模式
const existing = this.experienceStore.get(pattern.signature);
if (existing) {
existing.successCount++;
existing.lastSeen = Date.now();
} else {
this.experienceStore.set(pattern.signature, {
pattern,
successCount: 1,
failureCount: 0,
lastSeen: Date.now()
});
}
}
// 从失败案例学习
learnFromFailure(session, error) {
const failurePattern = {
context: session.context,
action: session.action,
errorType: error.type,
errorMessage: error.message
};
// 记录失败模式
const key = hashPattern(failurePattern);
const existing = this.experienceStore.get(key);
if (existing) {
existing.failureCount++;
} else {
this.experienceStore.set(key, {
pattern: failurePattern,
successCount: 0,
failureCount: 1,
lastSeen: Date.now()
});
}
}
// 查询相关经验
queryExperience(context) {
const relevant = [];
for (const [key, exp] of this.experienceStore) {
const similarity = calculateSimilarity(context, exp.pattern.context);
if (similarity > 0.7) {
relevant.push({
...exp,
similarity,
successRate: exp.successCount / (exp.successCount + exp.failureCount)
});
}
}
return relevant.sort((a, b) => b.successRate - a.successRate);
}
}
最佳实践
- 及时反馈:每次交互后立即收集反馈,避免遗忘
- 多维度评估:结合显式和隐式反馈全面评估
- 模式挖掘:定期分析反馈数据挖掘深层模式
- 渐进优化:小步快跑,避免激进调整
- A/B 测试:对新策略进行对比验证
避免过度拟合
不要过度依赖单一用户的反馈,保持策略的通用性和鲁棒性。
不要过度依赖单一用户的反馈,保持策略的通用性和鲁棒性。