通过Skill接入DevKit AI服务
DevKit AI提供名为“vectorization_workflow”的工具,该工具可根据用户指定的项目目录或源码文件,进行源码优化并输出相应报告。
前提条件
使用示例
此处以包管理配置自动下载天秤源码优化工具,对“/code/faiss-1.7.4”项目下的distances_simd.cpp文件进行源码优化为例,请根据实际情况进行修改。
- 在Cline中配置Skill。
Cline中配置的Skill可在DevKit AI包中的“DevKit-AI-x.x.x-Linux-Kunpeng/skills/SKILL.md”中获取,配置方式可参考为第三方Agent配置Skill。
- 输入自然语言可执行源码优化。
请按照skill,帮我把D:\code\faiss-1.7.4\faiss-1.7.4这个项目中的D:\code\faiss-1.7.4\faiss-1.7.4\faiss\utils\distances_simd.cpp这个文件进行c++源码向量化优化
返回信息如下:



向量化优化已完成,请根据实际情况自行选择下载内容。此处以下载全部结果为例,将优化后的结果文件下载到本地。

源码优化任务结束,已成功完成“/code/faiss-1.7.4”项目中distances_simd.cpp文件的C++源码向量化优化。
输出产物
源码优化完成后,结果目录下会生成以下关键产物,具体产物以实际运行结果为准。
|
文件/目录 |
阶段 |
说明 |
|---|---|---|
|
workspace/ |
项目预处理 |
工作区根目录 |
|
workspace/origin/ |
项目预处理 |
原始项目备份 |
|
workspace/vectorization_result/ |
项目预处理 |
天秤源码优化工具报告输出目录 |
|
workspace/patch/ |
项目预处理 |
最终报告和patch文件输出目录 |
|
workspace/unit_test/ |
项目预处理 |
单元测试编译运行目录 |
|
workspace/workflow.log |
项目预处理 |
全流程日志(项目预处理阶段创建,后续阶段持续写入。) |
|
workspace/vectorization_result/Vectorization_Source_*.json |
向量化扫描 |
天秤源码优化工具中间结果文件(如果没有扫描出可优化结果,则不输出该文件。) |
|
workspace/vectorization_result/Vectorization_Source_*.html |
向量化扫描 |
天秤源码优化工具可视化结果文件(如果没有扫描出可优化结果,则不输出该文件。) |
|
workspace/vectorization_result/Vectorization_Optimization_Result_*.json |
向量化扫描 |
天秤源码优化工具改写结果文件 |
|
workspace/vectorization_result/Vectorization_Optimization_Result_*/ |
向量化扫描 |
全项目分析模式下天秤源码优化工具结果目录 |
|
workspace/unit_test/unit_test_tool_*.cpp |
工具补丁验证 |
工具补丁的单元测试源码(AI生成) |
|
workspace/unit_test/unit_test_tool_* |
工具补丁验证 |
工具补丁单元测试源码编译成的二进制文件路径 |
|
workspace/unit_test/unit_test_ai_*.cpp |
AI补丁改写及验证 |
AI补丁的单元测试源码(AI生成) |
|
workspace/unit_test/unit_test_ai_* |
AI补丁改写及验证 |
AI补丁单元测试源码编译成的二进制文件路径 |
|
workspace/result/ |
补丁应用 |
使用天秤源码优化工具进行向量化扫描和补丁应用后的结果目录(该目录会在预处理阶段存储项目修改副本,作为后续向量化扫描及补丁应用的处理对象。) |
|
workspace/patch/{task_name}.html |
补丁应用 |
|
|
workspace/patch/devkit-vectorization.patch |
补丁应用 |
git patch文件(origin vs result的diff比较,如果没有扫描出可优化结果,则不输出该文件。) |