开发者
资源
文档评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

通过Skill接入DevKit AI服务

DevKit AI提供名为“vectorization_workflow”的工具,该工具可根据用户指定的项目目录或源码文件,进行源码优化并输出相应报告。

前提条件

  • 已完成DevKit AI工具config.yaml文件中的大模型配置,配置方式可参考2.3章节安装步骤中的步骤4 ~ 步骤5。
  • 已完成天秤源码优化工作流Skill配置,天秤源码优化工作流Skill可在开源仓获取,配置方式可参考Skill管理。
  • 已更新下载DevKit AI Skills并启动DevKit AI服务,更新下载与启动方式可参考2.3章节安装步骤中的步骤8 ~ 步骤9。

使用示例

此处以包管理配置自动下载天秤源码优化工具,对“/code/faiss-1.7.4”项目下的distances_simd.cpp文件进行源码优化为例,请根据实际情况进行修改。

  1. 在Cline中配置Skill。

    Cline中配置的Skill可在DevKit AI包中的“DevKit-AI-x.x.x-Linux-Kunpeng/skills/SKILL.md”中获取,配置方式可参考为第三方Agent配置Skill。

  2. 输入自然语言可执行源码优化。
    请按照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

补丁应用

  • 有扫描出可优化结果时,HTML报告中包含:项目源码、优化后代码、性能收益分析以及是否AI生成标识。
  • 没有扫描出可优化结果时,不输出该文件。

workspace/patch/devkit-vectorization.patch

补丁应用

git patch文件(origin vs result的diff比较,如果没有扫描出可优化结果,则不输出该文件。)