Skill Evolution 工具集

本目录包含 Skill 自进化系统的 CLI 工具和验证脚本。

文件说明

文件 功能
run_skill_evolution.py 四模式 Skill 生成 CLI(不依赖 Agent 框架)
verify_evolved_skill.py 验证 evolved skill 对算子生成效果的 A/B 对比脚本
run_ab_test.py 批量 A/B 测试运行器(多 group 多算子)
ab_test_utils.py A/B 测试工具函数(运行管理、日志解析、结果收集)
tracking.md 实验结果跟踪文档

Skill Evolution 模式速查

模式 场景 输入
search_log adaptive_search 跑完后,从搜索日志提取进化链 diff 生成优化经验 节点 logs 目录
expert_tuning 用户交互式调优后,从对话历史提取"建议→代码→性能"因果链 对话目录
error_fix 从失败→成功的修复记录中提取调试经验,持续追加到同一 skill 节点 logs 目录
organize ~/.akg/evolved_skills/{dsl}/ 下 skill 过多时,fix 拆分 + improvement 合并去重 DSL 名称

快速上手

1. 生成 Skill

cd akg_agents

# 从搜索日志生成
python examples/kernel_related/skill_evolution/run_skill_evolution.py search_log /path/to/logs relu

# 从人工调优生成
python examples/kernel_related/skill_evolution/run_skill_evolution.py expert_tuning ~/.akg/conversations/cli_xxx relu

# 从错误修复生成
python examples/kernel_related/skill_evolution/run_skill_evolution.py error_fix /path/to/logs matmul

# 合并已有 skill
python examples/kernel_related/skill_evolution/run_skill_evolution.py organize triton_cuda

2. 验证 Skill 效果

verify_evolved_skill.py 支持通过 --skill-paths 指定要验证的 skill(文件、目录或多个混合),默认 DSL 为 triton_ascend

# 验证单个 skill 文件
python examples/kernel_related/skill_evolution/verify_evolved_skill.py \
    --task-file /path/to/op_task.py \
    --skill-paths ~/.akg/evolved_skills/triton-cuda/triton-cuda-error-fix/SKILL.md
    --dsl triton_cuda --backend cuda --arch a100

# 混合多个路径
python examples/kernel_related/skill_evolution/verify_evolved_skill.py \
    --task-file /path/to/op_task.py \
    --skill-paths /path/to/error-fix/SKILL.md /path/to/exp-skill/

# 仅跑 B 组
python examples/kernel_related/skill_evolution/verify_evolved_skill.py \
    --task-file /path/to/op_task.py \
    --skill-paths /path/to/SKILL.md \
    --mode B

默认使用 --task-type profile 同时验证正确性和性能(Speedup / GenTime),如只需正确性验证可传 --task-type precision_only

验证原理:使用 kernelgen_only_workflow,A 组仅加载 guides/ 下原始 skill,B 组通过 KernelGen.extra_skills 在 LLM 精筛完成后追加指定 skill(不参与粗筛和精筛,确保一定被选中),对比两组的 Speedup 和 GenTime。

3. 批量 A/B 测试

# 运行 Group 1 的批量对比
python examples/kernel_related/skill_evolution/run_ab_test.py --group 1 --mode both --device 0

详细文档参见 docs/v2/CN/SkillEvolution.md