问题
Agent 每天执行成百上千次任务,成功与失败的轨迹都留在日志里吃灰——这些数据本该是最宝贵的优化素材:few-shot 示例、评测集、微调语料。
核心模式
经验回放:系统性回收执行轨迹,筛选高价值片段,反哺到提示词、评测与训练中。
def harvest(trajectory):
score = evaluate(trajectory) # 结果评分:成功?用户满意?步数效率?
if score.is_exemplary: # 高分轨迹 → few-shot 素材库
exemplar_bank.add(distill(trajectory))
if score.is_instructive_failure: # 典型失败 → 反例库 + 失败日记
anti_patterns.add(trajectory)
cases.append(to_eval_case(trajectory)) # 全部沉淀为评测集
# 周期性回放
def weekly_improvement():
prompt_v2 = optimize_prompt(current_prompt, exemplar_bank.top(k=5))
regression_run(prompt_v2, cases) # 新版本先过历史评测集
闭环:执行 → 评估 → 提炼 → 改进 → 回归验证 → 上线。Agent 系统像推荐系统一样,靠数据飞轮越转越好。
实战要点
- 评估是瓶颈:结果好不好谁说了算?优先用可程序化验证的信号(任务完成标记、用户采纳/重试行为),人工抽检兜底
- 蒸馏再入库:原始轨迹几百 KB,提炼成"情境 → 关键决策 → 结果"的紧凑样本才有复用价值
- 反例和正例同样重要:"这种情况下不要这样做" 类反例进 system prompt,收益常常超过堆正例
- 评测集随轨迹滚动扩充,是防止"提示词一改就翻车"的保险丝