教程|arXiv 2606.07412 Socratic-SWE 思路:让 Agent 学会『技能』

arXiv 2606.07412 的 Socratic-SWE 提出了 Agent 自学习的方案.本教程演示企业内部落地.

核心思想

  1. Agent 跑大量任务,每条存完整轨迹
  2. 用 LLM 从轨迹中提炼可复用技能
  3. 新任务来时先查技能库,按技能执行

实现: 技能提炼

def distill_skill(trajectory):
    prompt = "[分析任务轨迹并提炼技能]
" + trajectory
    skill = llm_call(prompt)
    db.skills.insert({
        "name": skill["name"],
        "trigger": skill["trigger"],
        "steps": skill["steps"],
        "warnings": skill["warnings"],
        "usage_count": 0,
    })
    return skill

实现: 技能应用

def find_relevant_skills(task, top_k=3):
    task_emb = embed(task)
    skill_embs = [(s, embed(s.trigger)) for s in db.skills.all()]
    sims = [(s, cosine(task_emb, s_emb)) for s, s_emb in skill_embs]
    sims.sort(key=lambda x: -x[1])
    return sims[:top_k]

def run_with_skills(task):
    skills = find_relevant_skills(task)
    prompt = "[任务] " + task + " [相关技能] " + str(skills)
    return agent_run(prompt)

技能库管理

  1. 定期蒸馏:每周一次,从本周轨迹
  2. 去重/合并:相似技能合并
  3. 评分:使用次数 + 成功率
  4. 版本控制:技能可回滚

企业内部落地

  1. 团队内部私有技能库,3 个月后开放成社区
  2. 技能脱敏,不泄露业务逻辑
  3. 定期 review,确保技能质量
  4. 和 arXiv 2606.07500 SETA 结合,持续学习
Leave a Comment