SuperAPI AI 工具集

shinka-convert

通用与其它

查看项目

更新于 10-15 22:33

技能介绍

用途:把现有项目改写为 Shinka 可运行的任务。它是 shinka-setup(从自然语言新建任务)之外的另一种起点;转换后仍可交给 shinka-run 启动演化。

适用时机:用户希望用 Shinka/ShinkaEvolve 优化已有脚本或仓库;或需要适配 Shinka 的输出签名、metrics.json、correct.json、EVOLVE-BLOCK 标记;或想从当前目录生成 sidecar 任务。不适用于:仅凭自然语言描述新建脚手架;或 evaluate.py 与 initial.<ext> 已存在、只需启动演化时改用 shinka-run。

用户输入:先接受自由描述,必要时仅追问高影响细节,包括要优化的行为或文件/函数、评分方向与主指标、正确性/运行时长/内存/确定性/风格/可编辑范围等约束、原始源码是否必须保持不变、所需数据资产与依赖。

默认输出:在 ./shinka_task/ 生成任务目录,包含 evaluate.py、run_evo.py、shinka.yaml、initial.<ext>,以及评估所需的最小可运行源码快照。除非明确要求原地转换,否则不改动原始源码树。

工作流:检查当前目录,识别语言、入口、包结构、依赖与现有输出,以代码证据为准;按说明推断可演化区域,模糊时追问,并尽量缩小可变范围;选择最小可运行快照范围;创建任务目录(默认 ./shinka_task/,未经同意不覆盖已有目录);把快照重写为稳定契约,保持演化区域外行为与 CLI 行为不变,候选入口命名为 initial.<ext>,并用紧凑的 EVOLVE-BLOCK-START/END 标记;生成评估器:Python 优先暴露 run_experiment(...) 并用 run_shinka_eval,非 Python 用子进程并写 metrics.json 与 correct.json;生成 run_evo.py 和 shinka.yaml,确保 init_program_path 与语言匹配候选文件且可直接兼容 shinka-run;交接前冒烟测试,运行 python evaluate.py --program_path <initial file> --results_dir /tmp/shinka_convert_smoke,确认无异常且写出必需指标与正确性输出;最后询问用户手动运行演化还是使用 shinka-run。

评估契约:metrics 必须含 combined_score、public、private、extra_data、text_feedback;正确性必须含 correct、error。除非用户定义反向指标并在聚合时转换,combined_score 越高越好。

限制:可变区域应保持紧凑,默认不把整个项目设为可变;尽量保留演化区域外的正确性检查;评估宜确定且种子稳定。资料未提供收费、价格或性能数据。