paper2skills Playbook

AutoSkill — 经验驱动终身学习:Skill 自进化版本管理

Skill-AutoSkill-Lifelong-Learning · 16-智能体工程

causalexperimentragmulti_agent广告与投放供应链与补货客服与VOC知识图谱与RAG数据采集与治理MAS与智能体工程WF-A 智能补货WF-B 广告优化WF-C 客服分诊WF-D 选品扫描WF-E Review监控WF-G Listing内容优化
实现难度⭐⭐⭐☆☆
业务视角
适用角色CTO / 技术负责人 · 产品经理 · 数据工程师
适用平台跨境运营 AI Agent 工程落地 · Amazon SP API + LLM 集成 · 多平台数据采集 Agent
什么情况下用想把 AI 集成到业务系统,但 LLM 稳定性差、幻觉问题、成本控制都是挑战;Agent 任务失败了不知道哪步出了问题
成功是什么样的AI Agent 在生产环境稳定运行,失败可追踪,成本可控,复杂任务完成率 >85%
业务痛点
LLM 返回结果不稳定不可靠AI 幻觉导致业务决策错误Agent 任务失败了不知道哪步出问题AI 调用成本控制不住

1. 解决的问题

RAG 的局限:被动检索,只能复用已显式存入的知识,无法从对话轨迹中自动归纳模式;Fine-tuning 的局限:参数固化后无法增量更新,每次新能力都需全量重训,知识以黑盒形式埋在权重里,不可审计不可编辑。

2. 核心算法逻辑

RAG 的局限:被动检索,只能复用已显式存入的知识,无法从对话轨迹中自动归纳模式;Finetuning 的局限:参数固化后无法增量更新,每次新能力都需全量重训,知识以黑盒形式埋在权重里,不可审计不可编辑。

3. 业务应用场景

痛点:每次写欧美妈妈向产品描述都从零开始,没有可复用的文案框架,质量忽高忽低。

效果:文案生产效率提升 3×,质量一致性显著改善;新运营人员可直接查看 SkillBank 学习专业文案技巧。

痛点:50 次选品决策分散在不同会话,没有系统积累,每次重新分析同类品类浪费大量 Token。

4. 输入数据要求

请查看原始代码模板获取输入规格。

5. 输出结果

请查看原始代码模板获取输出规格。

6. 业务价值 / ROI

未自动抽取;请查看原始 Skill 卡片。

7. 代码模板

代码块数量:3 · 路径:未检测到

"""
AutoSkill — Experience-Driven Lifelong Learning via Skill Self-Evolution
Paper: arXiv:2603.01145 | Mar 2026
Use case: DTC copywriting skill accumulation + WF-D product selection specialization
"""
from __future__ import annotations

import hashlib
import json
import time
from dataclasses import dataclass, field
from typing import Any


# ─── 数据类 ───────────────────────────────────────────────────────────────

@dataclass
class SkillArtifact:
    """Skill 条目:可复用的任务执行模式,版本化管理"""
    skill_id: str
    version: int                    # 版本号,从1开始递增
    task_domain: str                # 任务领域(如 "copywriting", "product_selection")
    trigger_pattern: str            # 触发模式(自然语言描述的适用场景)
    trigger_keywords: list[str]     # 关键词列表,用于快速匹配
    instructions: str               # 执行指令(结构化文本)
    usage_count: int = 0            # 使用次数
    fitness: float = 0.5            # 0-1,基于用户反馈和成功率
    created_at: float = field(default_factory=time.time)
    updated_at: float = field(default_factory=time.time)
    parent_skill_id: str = ""       # 合并来源(如果是从其他 Skill 合并而来)


@dataclass
class ConversationTurn:
    """单次对话轨迹条目"""
    turn_id: str
    user_input: str
    agent_response: str
    task_domain: str
    quality_score: float            # 0-1,用户反馈/自动评估
    timestamp: float = field(default_factory=time.time)
    tags: list[str] = field(default_factory=list)


# ─── SkillExtractor(技能提炼器)────────────────────────────────────────

class SkillExtractor:
    """从对话轨迹中识别可复用模式,生成 SkillArtifact 草稿"""

    DOMAIN_PATTERNS: dict[str, list[str]] = {
        "copywriting": ["文案", "描述", "产品介绍", "copywriting", "欧美妈妈"],
        "product_selection": ["选品", "奶粉", "品类", "竞争", "BSR", "评分"],
        "customer_service": ["退款", "客诉", "售后", "差评", "投诉"],
        "supply_chain": ["补货", "备货", "库存", "供应链", "物流"],
    }

    def detect_domain(self, text: str) -> str:
        """简单关键词匹配检测任务领域"""
        for domain, keywords in self.DOMAIN_PATTERNS.items():
            if any(kw in text for kw in keywords):

8. 论文来源

  • 2603.01145