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%
业务痛点
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