Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/mindspore-ai/akg --skill op-task-extractor명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
SOC 직업 분류 기준
| name | op-task-extractor |
| description | 从用户提供的代码或自然语言描述,构建标准化的单文件自包含任务代码。 |
| argument-hint | 需要提供:1) 用户代码文件路径或自然语言描述;2) 可选:shape/dtype 信息来源文件路径 |
将用户的输入(代码文件或自然语言描述)转化为标准格式的 {op_name}.py 任务文件,并通过验证脚本确认可执行。
需要为后续算子生成工作流准备标准化任务文件时
Step 1 判断输入类型
├─ 用户提供了符合格式要求的代码文件 → 保存为 {op_name}.py → Step 4(验证)
│ ├─ 通过 → 返回(任务结束)
│ └─ 失败 → Step 2(分析并重写)
└─ 用户提供自然语言描述 → Step 2
Step 2 代码分析 & 依赖追踪
Step 3 构建 {op_name}.py(参考末尾「输出格式」)
Step 4 运行验证脚本(必须执行)
Step 5 用户确认
{op_name}.py,跳到 Step 4 运行验证脚本framework, backend, arch 配置按末尾「输出格式」生成文件,用 PyTorch/Python 实现:
Model.forward() 中Model.__init__()get_inputs() 和 get_init_inputs()使用命令模板执行 @scripts/validate_kernelbench_task.py:
python <本skill绝对路径>/scripts/validate_kernelbench_task.py \
/abs/path/{op_name}.py --json
验证脚本同时执行静态检查(4 个组件齐全)和运行时检查(实例化、前向传播、NaN/Inf、一致性)。
结果处理:
[VALID] + 来源是 Step 1 的用户原始文件 → 直接返回,任务结束[VALID] + 来源是 Step 3 新生成的文件 → 进入 Step 5[INVALID] → 根据错误信息修复代码,重新验证(最多 2 次)任务描述文件内容非用户提供的原始代码时,必须执行
将完整的 {op_name}.py 内容展示给用户,使用 question 工具请求确认。
不通过则结合用户反馈返回 Step 3。
| 约束 | 说明 |
|---|---|
| 自包含 | 所有依赖函数必须内联,禁止 import 项目内模块 |
| 可执行 | Model(*get_init_inputs()).forward(*get_inputs()) 必须直接运行 |
| 确定性 | 给定相同输入,输出必须一致 |
| 无 NaN/Inf | forward 输出不能包含 NaN 或 Inf |
| 禁止重写 | 原始函数可运行就直接复用,一行都不改 |
| 返回一致 | 返回类型/形状必须与原始实现一致 |
| 合理输入 | get_inputs 应提供合理大小的输入(不能过小或过大) |
最终文件必须是单一自包含 Python 文件,包含以下 4 个部分:
# 1. Imports 区(只允许标准库和 PyTorch 相关包)
import torch
import torch.nn as nn
# 2. Model 类
class Model(nn.Module):
def __init__(self, <init_params>):
super(Model, self).__init__()
def forward(self, <forward_inputs>) -> torch.Tensor:
return output
# 3. get_inputs():返回 forward() 的输入参数列表
def get_inputs():
input1 = torch.randn(batch_size, dim)
input2 = torch.randn(batch_size, dim)
return [input1, input2]
# 4. get_init_inputs():返回 __init__() 的初始化参数列表
def get_init_inputs():
return [dim_value]