问题

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,收益常常超过堆正例
  • 评测集随轨迹滚动扩充,是防止"提示词一改就翻车"的保险丝