模式一:基于自然语言交互的Agent问答
DevKit AI提供名为“vectorization_workflow”的工具,该工具可根据用户指定的项目目录或源码文件,进行源码优化并输出相应报告。
工作流程
用户输入自然语言命令 → 意图分析、参数提取 → 源码优化工作流调用执行 → 优化总结报告
工作目录
{project_name}_{id}/ # 工作区根目录(权限0o700)
├── workflow.log # 全量日志文件
├── origin/ # 原始项目只读备份(权限0o700)
├── result/ # 优化后的项目(权限0o700)
├── vectorization_result/ # 天秤工具输出目录
├── patch/ # 补丁文件和HTML报告目录
└── unit_test/ # 单元测试源文件(.cpp)和编译二进制目录
前提条件
- 已完成DevKit AI工具config.yaml文件中的大模型配置,配置方式可参考2.3章节安装步骤中的步骤4 ~ 步骤5。
- 已完成天秤源码优化工作流Skill配置,天秤源码优化工作流Skill可在开源仓获取,配置方式可参考Skill管理。
- 已更新下载DevKit AI Skills并启动DevKit AI CLI,更新下载与启动方式可参考启动DevKit AI CLI。
操作步骤
此处以包管理配置自动下载天秤源码优化工具,对“home/faiss-1.7.4”项目下的distances_simd.cpp文件进行源码优化为例,请根据实际情况进行修改。
- 进入DevKit AI工具解压后目录,执行命令行工具。
./devkitai
返回信息如下:[新会话ID] 20260820_015643_abd2 >>>
- 输入自然语言执行源码优化。
请帮我优化/home/faiss-1.7.4项目中的/home/faiss-1.7.4/faiss/utils/distances_simd.cpp文件
返回信息如下:
>>> 请帮我优化/home/faiss-1.7.4项目中的/home/faiss-1.7.4/faiss/utils/distances_simd.cpp文件 DevKit AI: [主Agent] > 我来帮你优化这个文件。这个任务涉及向量化优化,我先读取相关的技能说明文件,同时查看目标文件内容。 [主Agent 工具启动] -> 工具名: read_file | 入参: {'file_path': '/home/skills/vectorization-optimization/SKILL.md', 'limit': 1000} [主Agent 工具启动] -> 工具名: read_file | 入参: {'file_path': '/home/faiss-1.7.4/faiss/utils/distances_simd.cpp', 'limit': 100}我已读取了技能说明和目标文件。根据技能规范,这是一个 C/C++ 源码向量化优化任务,需要使用 `devkitai vectorization_workflow` 命令。 用户提供了: - 项目路径:`/home/faiss-1.7.4`(`--project-dir`) - 文件路径:`/home/faiss-1.7.4/faiss/utils/distances_simd.cpp`(`--file-path`,单文件模式) - 未提到指令集,默认使用 `--simd-target neon` - 未提到其他可选参数 用户给出了完整的项目路径和文件路径,根目录层级明确(文件在 `/home/faiss-1.7.4/faiss/utils/` 下,项目根目录就是 `/home/faiss-1.7.4`)。这是单文件模式优化。 现在我先验证项目路径和文件是否存在,然后构建并执行命令。 [主Agent 工具启动] -> 工具名: execute | 入参: {'command': 'ls -d /home/faiss-1.7.4 && ls /home/faiss-1.7.4/faiss/utils/distances_simd.cpp'}/home/faiss-1.7.4 /home/faiss-1.7.4/faiss/utils/distances_simd.cpp 项目路径和文件都存在。现在构建并执行向量化优化命令。根据技能规范,这是单文件模式,使用默认 NEON 指令集,不添加任何用户未提到的可选参数。 [主Agent 工具启动] -> 工具名: execute | 入参: {'command': 'cd /home/DevKit-AI-x.x.x-Linux-Kunpeng && ./devkitai vectorization_workflow --project-dir /home/faiss-1.7.4 --file-path /home/faiss-1.7.4/faiss/utils/distances_simd.cpp --simd-target neon', 'timeout': 1800}[2026-08-20 15:23:50] 工作流初始化完成 [2026-08-20 15:23:50] [2026-08-20 15:23:50] ############################################################ [2026-08-20 15:23:50] # 向量化优化工作流开始执行 [2026-08-20 15:23:50] # 分析模式: targeted | SIMD: neon | 工具补丁测试: 开 | 策略库: 开启 | 工具并发: 自动 | AI并发: 自动 [2026-08-20 15:23:50] ############################################################ [2026-08-20 15:23:50] [2026-08-20 15:23:50] ============================================================ [2026-08-20 15:23:50] [Phase 1] 项目预处理 [2026-08-20 15:23:50] ============================================================ [2026-08-20 15:23:50] 源项目目录: /home/faiss-1.7.4 [2026-08-20 15:23:50] 目标文件路径: /home/faiss-1.7.4/faiss/utils/distances_simd.cpp [2026-08-20 15:23:50] 分析模式: targeted [2026-08-20 15:23:50] [2026-08-20 15:23:50] ============================================================ [2026-08-20 15:23:50] [校验] 输入参数与操作权限检查 [2026-08-20 15:23:50] ============================================================ [2026-08-20 15:23:50] [Check] ✓ 源项目目录 目录存在: /home/faiss-1.7.4 [2026-08-20 15:23:50] [Check] ✓ 源项目目录 当前用户可读: /home/faiss-1.7.4 [2026-08-20 15:23:50] [Check] ✓ 源项目录 当前用户可进入: /home/faiss-1.7.4 [2026-08-20 15:23:50] [Check] ✓ 当前服务器架构: aarch64 [2026-08-20 15:23:50] [Check] ✓ CPU 支持 NEON(ASIMD) 指令集 [2026-08-20 15:23:50] [Check] ✓ 工作区父目录 目录存在: /home [2026-08-20 15:23:50] [Check] ✓ 工作区父目录 当前用户可读: /home [2026-08-20 15:23:50] [Check] ✓ 作区父目录 当前用户可写可进入: /home [2026-08-20 15:23:50] [Check] ✓ 目标文件 文件存在: /home/faiss-1.7.4/faiss/utils/distances_simd.cpp [2026-08-20 15:23:50] [Check] ✓ 目标文件 当前用户可读: /home/faiss-1.7.4/faiss/utils/distances_simd.cpp [2026-08-20 15:23:50] [Check] ✓ 目标文件 在项目目录内: /home/faiss-1.7.4/faiss/utils/distances_simd.cpp [2026-08-20 15:23:50] [Check] ✓ 目标文件后缀合法: .cpp [2026-08-20 15:23:50] [Install] 正在安装 tiancheng... [2026-08-20 15:23:50] [Check] ✓ tiancheng 已安装: /home/DevKit-AI-x.x.x-Linux-Kunpeng/_internal/products/tiancheng/tiancheng [2026-08-20 15:23:50] [Check] ✓ 系统命令可用: g++ -> /usr/bin/g++ [2026-08-20 15:23:50] [Check] ✓ 项目目录含 C/C++ 源文件 [2026-08-20 15:23:50] ============================================================ [2026-08-20 15:23:50] [Step] workflow.log 已创建: /home/faiss-1.7.4_7dfb/workflow.log [2026-08-20 15:23:50] [Step] 备份原始项目 → /home/faiss-1.7.4_7dfb/origin [2026-08-20 15:23:50] 目录复制完成: /home/faiss-1.7.4 -> /home/faiss-1.7.4_7dfb/origin [2026-08-20 15:23:50] [Step] 创建修改副本 → /home/faiss-1.7.4_7dfb/result [2026-08-20 15:23:50] 目录复制完成: /home/faiss-1.7.4 -> /home/faiss-1.7.4_7dfb/result [2026-08-20 15:23:50] [Done] 工作区: /home/faiss-1.7.4_7dfb | 耗时: 0.37s [2026-08-20 15:23:50] ============================================================ [2026-08-20 15:23:50] [2026-08-20 15:23:50] ============================================================ [2026-08-20 15:23:50] [Phase 2] 向量化分析工具调用 [2026-08-20 15:23:50] ============================================================ [2026-08-20 15:23:50] 工具路径: /home/DevKit-AI-x.x.x-Linux-Kunpeng/_internal/products/tiancheng/tiancheng [2026-08-20 15:23:50] 分析模式: targeted [2026-08-20 15:23:50] 分析文件: /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [2026-08-20 15:23:50] [Step] 执行向量化扫描... [2026-08-20 15:23:51] [Done] 扫描完成 | 耗时: 0.88s [2026-08-20 15:23:51] [Step] 加载分析报告... [2026-08-20 15:23:51] [Result] 工具补丁: 8 | AI补丁: 5 | 总计: 13 [2026-08-20 15:23:51] ============================================================ [2026-08-20 15:23:51] [2026-08-20 15:23:51] ============================================================ [2026-08-20 15:23:51] [Router] 进入补丁验证流程 | 工具: 8 | AI: 5 | 总计: 13 [2026-08-20 15:23:51] ============================================================ [2026-08-20 15:23:51] [2026-08-20 15:23:51] ============================================================ [2026-08-20 15:23:51] [Phase 3] 工具补丁并行验证 [2026-08-20 15:23:51] ============================================================ [2026-08-20 15:23:51] 补丁数量: 8 | 并发线程: 8 | 最大测试重试: 1 [2026-08-20 15:23:51] ---------------------------------------- [2026-08-20 15:23:51] [Step] 预初始化LLM实例... [2026-08-20 15:23:53] [Step] LLM实例初始化完成 [2026-08-20 15:24:36] [PASS] 工具补丁 #4 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [218-221] | 性能提升 +310.5% (702.0ns → 171.0ns, speedup=4.11) [2026-08-20 15:24:50] [PASS] 工具补丁 #7 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [1822-1824] | 性能提升 +298.9% (359.0ns → 90.0ns, speedup=3.99) [2026-08-20 15:24:53] [PASS] 工具补丁 #6 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [1606-1607] | 性能提升 +923.7% (952.0ns → 93.0ns, speedup=10.24) [2026-08-20 15:24:54] [PASS] 工具补丁 #5 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [1502-1503] | 性提升 +285.1% (516.0ns → 134.0ns, speedup=3.85) [2026-08-20 15:25:04] [PASS] 工具补丁 #3 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [205-207] | 性能提升 +335.4% (688.0ns → 158.0ns, speedup=4.35) [2026-08-20 15:25:12] [FALLBACK] 工具补丁 #2 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [192-194] | 性能数据: N/A → 回退到AI改写 [2026-08-20 15:25:14] [PASS] 工具补丁 #0 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [66-69] | 能提升 +315.4% (702.0ns → 169.0ns, speedup=4.15) [2026-08-20 15:25:25] [PASS] 工具补丁 #1 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [103-105] | 性能提升 +334.3% (688.5ns → 158.5ns, speedup=4.34) [2026-08-20 15:25:25] 工具补丁 完成 | 8/8 | 耗时: 92.3s [2026-08-20 15:25:25] ---------------------------------------- [2026-08-20 15:25:25] [Summary] 通过: 7/8 | 回退AI: 1 | 时: 92.32s [2026-08-20 15:25:25] ============================================================ [2026-08-20 15:25:25] [2026-08-20 15:25:25] ============================================================ [2026-08-20 15:25:25] [Phase 4] AI补丁并行改写+验证 [2026-08-20 15:25:25] ============================================================ [2026-08-20 15:25:25] 补丁数量: 6 | 并发线程: 6 | AI改写重试上限: 3 | 测试重试上限: 2 | 策略库: 开启 [2026-08-20 15:25:25] ---------------------------------------- [2026-08-20 15:25:25] [Step] 预初始化LLM实例... [2026-08-20 15:25:25] [Step] LLM实例初始化完成 [2026-08-20 15:29:53] [PASS] AI补丁 #0 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [76-78] | 性提升 -0.0% (3143.04ms → 3144.35ms, speedup=1.00) [2026-08-20 15:31:05] [PASS] AI补丁 #1 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [128-133] | 性能提升 +88.0% (719.95ms → 383.00ms, speedup=1.88) [2026-08-20 15:31:29] [PASS] AI补丁 #2 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [152-157] | 性能提 +26.9% (467.0ns → 368.0ns, speedup=1.27) [2026-08-20 15:32:12] [PASS] AI补丁 #5 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [192-194] | 性能提 -0.4% (695.4ns → 698.0ns, speedup=1.00) [2026-08-20 15:35:30] [PASS] AI补丁 #4 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [1744-1750] | 性能升 +0.3% (1.1us → 1.1us, speedup=1.00) [2026-08-20 15:36:03] [FAIL] AI补丁 #3 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [1627-1633] | 证失败,跳过 [2026-08-20 15:36:03] AI补丁 完成 | 6/6 | 耗时: 637.2s [2026-08-20 15:36:03] ---------------------------------------- [2026-08-20 15:36:03] [Summary] AI通过: 5/6 | 全部通过: 12 (工具+AI) | 耗时: 637.17s [2026-08-20 15:36:03] ============================================================ [2026-08-20 15:36:03] [2026-08-20 15:36:03] ============================================================ [2026-08-20 15:36:03] [Router] 验证通过 12 个补丁,进入应用阶段 [2026-08-20 15:36:03] ============================================================ [2026-08-20 15:36:03] [2026-08-20 15:36:03] ============================================================ [2026-08-20 15:36:03] [Phase 5] 补丁应用 [2026-08-20 15:36:03] ============================================================ [2026-08-20 15:36:03] [2026-08-20 15:36:03] ============================================================ [2026-08-20 15:36:03] [Final Summary] 补丁处理最终总结 [2026-08-20 15:36:03] ============================================================ [2026-08-20 15:36:03] 工具补丁 (8 个): [2026-08-20 15:36:03] [PASS] #4 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [218-221] 功能:通过 测试迭代:1 性能:+310.5% [2026-08-20 15:36:03] [PASS] #7 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [1822-1824] 功能:通过 测迭代:1 性能:+298.9% [2026-08-20 15:36:03] [PASS] #6 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [1606-1607] 功能:通过 测试迭代:1 性能:+923.7% [2026-08-20 15:36:03] [PASS] #5 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [1502-1503] 功能:通过 测试迭代:1 性能:+285.1% [2026-08-20 15:36:03] [PASS] #3 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [205-207] 功能:通过 测试迭代:2 性能:+335.4% [2026-08-20 15:36:03] [FALLBACK] #2 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [192-194] 功能:回退AI 测试迭:2 性能:N/A [2026-08-20 15:36:03] [PASS] #0 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [66-69] 功能:通过 测试迭代:1 性能:+315.4% [2026-08-20 15:36:03] [PASS] #1 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [103-105] 功能:通过 测试迭代:2 性能:+334.3% [2026-08-20 15:36:03] AI补丁 (6 个): [2026-08-20 15:36:03] [PASS] #0 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [76-78] 功能:通过 改写:2 测试迭代:1 性能:-0.0% [2026-08-20 15:36:03] [PASS] #1 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [128-133] 功能:通过 改写:2 测试迭代:1 性能:+88.0% [2026-08-20 15:36:03] [PASS] #2 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [152-157] 功能:通过 改写:2 测试迭代:1 性能:+26.9% [2026-08-20 15:36:03] [PASS] #5 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [192-194] 功能:通过 改写:3 测试迭代:1 性能:-0.4% [2026-08-20 15:36:03] [PASS] #4 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [1744-1750] 功能:通过 改写:4 测试迭代:2 性能:+0.3% [2026-08-20 15:36:03] [FAIL] #3 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [1627-1633] 功能:失败 改写:4 测试迭代:1 性能:N/A [2026-08-20 15:36:03] ---------------------------------------- [2026-08-20 15:36:03] 总计: 14 个补丁 | 通过: 12 | 失败/回退: 2 [2026-08-20 15:36:03] ============================================================ [2026-08-20 15:36:03] 待应用补丁: 12 个 [2026-08-20 15:36:03] [去] 去重后补丁: 12 个 (移除 0 个重叠) | 耗时:0.000s [2026-08-20 15:36:03] 涉及文件: 1 个 [2026-08-20 15:36:03] ---------------------------------------- [2026-08-20 15:36:03] [File] /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp | 补丁数: 12 [2026-08-20 15:36:03] [tool] 应用补丁 [1822-1824] | 替换 3 行 → 9 行 [2026-08-20 15:36:03] [AI] 应用补丁 [1744-1750] | 替换 7 行 → 8 行 [2026-08-20 15:36:03] [tool] 应用补丁 [1606-1607] | 换 2 行 → 4 行 [2026-08-20 15:36:03] [tool] 应用补丁 [1502-1503] | 替换 2 行 → 5 行 [2026-08-20 15:36:03] [tool] 应用补丁 [218-221] | 替换 4 行 → 11 行 [2026-08-20 15:36:03] [tool] 应用补丁 [205-207] | 替换 3 行 → 9 行 [2026-08-20 15:36:03] [AI] 应用补丁 [192-194] | 替换 3 行 → 13 行 [2026-08-20 15:36:03] [AI] 应用补丁 [152-157] | 替换 6 行 → 31 行 [2026-08-20 15:36:03] [AI] 应用补丁 [128-133] | 替换 6 行 → 29 [2026-08-20 15:36:03] [tool] 应用补丁 [103-105] | 替换 3 行 → 9 行 [2026-08-20 15:36:03] [AI] 应用补丁 [76-78] | 替换 3 行 → 13 行 [2026-08-20 15:36:03] [tool] 应用补丁 [66-69] | 替换 4 行 → 11 行 [2026-08-20 15:36:03] [Header] distances_simd.cpp | found=False | target=arm_neon.h [2026-08-20 15:36:03] [Header] 已添加 #include <arm_neon.h> [2026-08-20 15:36:03] 写入成功 | 应用 12 个补丁 [2026-08-20 15:36:03] ---------------------------------------- [2026-08-20 15:36:03] [Summary] 应用补丁: 12/12 | 涉及文件: 1 | 耗时: 0.03s [2026-08-20 15:36:03] [ReportData] 源文件(只读): Vectorization_Source_20260820_152350_537_5455.json [2026-08-20 15:36:03] [ReportData] 保 distances_simd.cpp 行66-69 [2026-08-20 15:36:03] [ReportData] 保留 distances_simd.cpp 行76-78 [2026-08-20 15:36:03] [ReportData] 保留 distances_simd.cpp 行103-105 [2026-08-20 15:36:03] [ReportData] 保留 distances_simd.cpp 行128-133 [2026-08-20 15:36:03] [ReportData] 保留 distances_simd.cpp 行152-157 [2026-08-20 15:36:03] [ReportData] 保留 distances_simd.cpp 行192-194 [2026-08-20 15:36:03] [ReportData] 保留 distances_simd.cpp 行205-207 [2026-08-20 15:36:03] [ReportData] 保留 distances_simd.cpp 行218-221 [2026-08-20 15:36:03] [ReportData] 保留 distances_simd.cpp 行1502-1503 [2026-08-20 15:36:03] [ReportData] 保留 distances_simd.cpp 行1606-1607 [2026-08-20 15:36:03] [ReportData] 保留 distances_simd.cpp 行1744-1750 [2026-08-20 15:36:03] [ReportData] 保留 distances_simd.cpp 行1822-1824 [2026-08-20 15:36:03] [ReportData] loop_list 过滤: 保留 12/22 (移除 10 个未命中补丁) [2026-08-20 15:36:03] [ReportData] 已移除 func_results (暂不展示) [2026-08-20 15:36:03] [ReportData] task_info 已覆写 task_name=Vectorization_Patch_Result_20260820_153603_155_1904006 [2026-08-20 15:36:03] [HTMLReport] 模板: Vectorization_Source_20260820_152350_537_5455.html [2026-08-20 15:36:03] [HTMLReport] 替换JS变量: vecReportData ✓ [2026-08-20 15:36:03] [HTMLReport] 替换JS变量: taskInfoReportData ✓ [2026-08-20 15:36:03] [HTMLReport] 报告已生成: /home/faiss-1.7.4_7dfb/patch/Vectorization_Patch_Result_20260820_153603_155_1904006.html [2026-08-20 15:36:03] [GitPatch] patch 已生成: /home/faiss-1.7.4_7dfb/patch/devkit-vectorization.patch (8908 bytes) [2026-08-20 15:36:03] ============================================================ [2026-08-20 15:36:03] [2026-08-20 15:36:03] ############################################################ [2026-08-20 15:36:03] # 工作流执行完 [2026-08-20 15:36:03] # 端到端总耗时: 733.70s [2026-08-20 15:36:03] # 各阶段耗时(wall-clock): [2026-08-20 15:36:03] # Phase1 预处理: 0.37s [2026-08-20 15:36:03] # Phase2 向量化: 0.89s [2026-08-20 15:36:03] # Phase3 工具补: 92.32s [2026-08-20 15:36:03] # Phase4 AI补丁: 637.17s [2026-08-20 15:36:03] # Phase5 补丁应用: 0.72s [2026-08-20 15:36:03] # 阶段合计: 731.47s [2026-08-20 15:36:03] ############################################################ 命令执行成功(退出码 0)。输出较大,我来查看关键结果信息,先找到工作区路径和 Summary 部分。 [主Agent 工具启动] -> 工具名: grep | 入参: {'pattern': '工作区', 'path': '/large_tool_results/call_fix_4dca7d5367dc', 'output_mode': 'content'} [主Agent 工具启动] -> 工具名: grep | 入参: {'pattern': 'Summary', 'path': '/large_tool_results/call_fix_4dca7d5367dc', 'output_mode': 'content'}grep 搜索范围太广了,让我直接在本次执行结果文件中搜索关键信息。 [主Agent 工具启动] -> 工具名: read_file | 入参: {'file_path': '/large_tool_results/call_fix_4dca7d5367dc', 'offset': 0, 'limit': 50}工作区路径为 /home/faiss-1.7.4_7dfb。让我查看输出末尾的 Summary 部分。 [主Agent 工具启动] -> 工具名: read_file | 入参: {'file_path': '/large_tool_results/call_fix_4dca7d5367dc', 'limit': 100, 'offset': 1700}输出被截断了,终端输出只到工具补丁测试阶段。工作流实际已完成(退出码 0),但 Summary 信息可能在 workflow.log 中。让我查看工作区的 workflow.log 获取完整的 Summary。 [主Agent 工具启动] -> 工具名: execute | 入参: {'command': 'ls /home/faiss-1.7.4_7dfb/'}origin patch result unit_test vectorization_result workflow.log [主Agent 工具启动] -> 工具名: execute | 入参: {'command': 'grep -n "Summary\\|Final\\|通过\\|回退\\|失败\\|性能\\|提升\\|Tool#\\|AI补丁\\|工具补丁" /home/faiss-1.7.4_7dfb/workflow.log | tail -80'}100:2026-08-20 15:24:55,361 [ERROR] [Tool#1[T1]] 运行 | FUNCTIONAL_FAIL | 耗时:0.00s 101:2026-08-20 15:24:55,362 [ERROR] 功能验证失败[1]: stderr: 104:2026-08-20 15:24:55,362 [INFO] [Tool#1[T1]] FUNCTIONAL_FAIL | 错误摘要: stderr: 107:2026-08-20 15:24:55,362 [INFO] [Tool#1[T2]] 测试 attempt 2/2 108:2026-08-20 15:25:03,346 [INFO] [Tool#3[T2]] 测试生成 | 成功 | 长度:2812 | 耗时:15.80s 109:2026-08-20 15:25:04,114 [INFO] [Tool#3[T2]] 编译 | 成功 | 耗时:0.77s 110:2026-08-20 15:25:04,962 [INFO] [Tool#3[T2]] 运行 | PASS | 功能通过 | 耗时:0.85s 111:2026-08-20 15:25:04,962 [INFO] [Tool#3[T2]] PASS | 功能通过 | 性能提升 +335.4% (688.0ns → 158.0ns, speedup=4.35) 112:2026-08-20 15:25:04,962 [INFO] [PASS] 工具补丁 #3 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [205-207] | 性能提升 +335.4% (688.0ns → 158.0ns, speedup=4.35) 113:2026-08-20 15:25:11,003 [INFO] [Tool#2[T2]] 测试生成 | 成功 | 长度:2579 | 耗时:20.68s 114:2026-08-20 15:25:11,498 [INFO] [Tool#2[T2]] 编译 | 成功 | 耗时:0.49s 115:2026-08-20 15:25:12,491 [ERROR] [Tool#2[T2]] 运行 | 崩溃(SIGSEGV) | 耗时:0.99s 118:2026-08-20 15:25:12,492 [INFO] [Tool#2[T2]] RUN_ERROR | 错误摘要: 运行崩溃 (SIGSEGV, 信号-11) | stderr: 120:2026-08-20 15:25:12,492 [WARNING] [Tool#2] FAIL | 测试自重试超限 (1) | 回退到AI改写 121:2026-08-20 15:25:12,492 [INFO] [FALLBACK] 工具补丁 #2 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [192-194] | 性能数据: N/A → 回退到AI改写 122:2026-08-20 15:25:14,258 [INFO] [Tool#0[T1]] 试生成 | 成功 | 长度:2701 | 耗时:75.64s 123:2026-08-20 15:25:14,838 [INFO] [Tool#0[T1]] 编译 | 成功 | 耗时:0.58s 124:2026-08-20 15:25:14,927 [INFO] [Tool#0[T1]] 运行 | PASS | 功能通过 | 耗时:0.09s 125:2026-08-20 15:25:14,927 [INFO] [Tool#0[T1]] PASS | 功能通过 | 性能提升 +315.4% (702.0ns → 169.0ns, speedup=4.15) 126:2026-08-20 15:25:14,927 [INFO] [PASS] 工具补丁 #0 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [66-69] | 性能提升 +315.4% (702.0ns → 169.0ns, speedup=4.15) 127:2026-08-20 15:25:24,202 [INFO] [Tool#1[T2]] 测试生成 | 成功 | 长度:3228 | 耗时:28.82s 128:2026-08-20 15:25:25,069 [INFO] [Tool#1[T2]] 编译 | 成功 | 耗时:0.87s 129:2026-08-20 15:25:25,919 [INFO] [Tool#1[T2]] 运行 | PASS | 功能通过 | 耗时:0.85s 130:2026-08-20 15:25:25,919 [INFO] [Tool#1[T2]] PASS | 功能通 | 性能提升 +334.3% (688.5ns → 158.5ns, speedup=4.34) 131:2026-08-20 15:25:25,919 [INFO] [PASS] 工具补丁 #1 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [103-105] | 性能提升 +334.3% (688.5ns → 158.5ns, speedup=4.34) 133:2026-08-20 15:25:25,920 [INFO] [Summary] 通过: 7/8 | 回退AI: 1 | 耗时: 92.32s 137:2026-08-20 15:25:25,922 [INFO] [Phase 4] AI补丁并行改写+验证 174:2026-08-20 15:27:35,598 [INFO] [AI#0[R2]] AI改写(开思考) | (携带错误反馈: AI生成优化代码失败:返回空代码...) 176:2026-08-20 15:27:35,798 [INFO] [AI#4[R2]] AI改写(开思考) | (携带误反馈: AI生成优化代码失败:返回空代码...) 178:2026-08-20 15:27:45,490 [INFO] [AI#5[R2]] AI改写(开思) | (携带错误反馈: AI生成优化代码失败:返回空代码...) 180:2026-08-20 15:27:58,859 [INFO] [AI#3[R2]] AI写(开思考) | (携带错误反馈: AI生成优化代码失败:返回空代码...) 182:2026-08-20 15:28:03,599 [INFO] [AI#1[R2]] AI改写(开思考) | (携带错误反馈: AI生成优化代码失败:返回空代码...) 184:2026-08-20 15:28:18,486 [INFO] [AI#2[R2]] AI改写(开思考) | (携带错误反馈: AI生成优化代码失败:返回空代码...) 188:2026-08-20 15:29:37,654 [INFO] [AI#4[R3]] AI改写(开思考) | (携带错误反馈: AI生成优化代码失败:返回空代码...) 194:2026-08-20 15:29:53,629 [INFO] [AI#0[R2][T1]] PASS(功能通过) | 性能无提升 性能提升 -0.0% (3143.04ms → 3144.35ms, speedup=1.00) | 直接通过 195:2026-08-20 15:29:53,630 [INFO] [PASS] AI补丁 #0 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [76-78] | 性能提升 -0.0% (3143.04ms → 3144.35ms, speedup=1.00) 201:2026-08-20 15:30:16,952 [INFO] [AI#5[R3]] AI改写(开思考) | (携带错误反馈: AI生成优化代码失败:返回空代码...) 204:2026-08-20 15:31:05,580 [INFO] [AI#1[R2][T1]] 运行 | PASS | 功能通过 | 耗时:1.10s 205:2026-08-20 15:31:05,580 [INFO] [AI#1[R2][T1]] PASS | 功能通过 | 性能提升 +88.0% (719.95ms → 383.00ms, speedup=1.88) 206:2026-08-20 15:31:05,581 [INFO] [PASS] AI补丁 #1 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [128-133] | 性能提升 +88.0% (719.95ms → 383.00ms, speedup=1.88) 209:2026-08-20 15:31:29,158 [INFO] [AI#2[R2][T1]] 运行 | PASS | 功能通过 | 耗时:0.84s 210:2026-08-20 15:31:29,158 [INFO] [AI#2[R2][T1]] PASS | 功能通过 | 性能提升 +26.9% (467.0ns → 368.0ns, speedup=1.27) 211:2026-08-20 15:31:29,159 [INFO] [PASS] AI补丁 #2 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [152-157] | 性能升 +26.9% (467.0ns → 368.0ns, speedup=1.27) 217:2026-08-20 15:31:41,653 [ERROR] 功能验证失败[3]: stderr: 225:2026-08-20 15:31:52,607 [INFO] [AI#3[R3]] AI改写(开思考) | (携带错误反馈: 【失败类别】functional_mismatch 229:2026-08-20 15:31:54,326 [INFO] [AI#4[R4]] AI改写(开思考) | (携带错误反馈: AI生成优化代码失败:返回空代码...) 233:2026-08-20 15:32:12,934 [INFO] [AI#5[R3][T1]] PASS(功能通过) | 性能无提升 性能提升 -0.4% (695.4ns 698.0ns, speedup=1.00) | 直接通过 234:2026-08-20 15:32:12,934 [INFO] [PASS] AI补丁 #5 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [192-194] | 性能提升 -0.4% (695.4ns → 698.0ns, speedup=1.00) 238:2026-08-20 15:34:04,256 [INFO] [AI#3[R4]] AI改写(开思考) | (携带错误反馈: AI生成优化代码失败:返回空代码...) 240:2026-08-20 15:34:43,981 [ERROR] [AI#4[R4][T1]] 编译 | 失败 | 耗时:0.52s 241:2026-08-20 15:34:43,981 [ERROR] 编译失败[4]: unit_test_ai_4.cpp:8:56: warning: ‘neon_vector_type’ attribute directive ignored [-Wattributes] 246:2026-08-20 15:34:50,826 [INFO] [AI#4[R4][T1]] 分析Agent | 根因: 单元测试代码中手动重定义了NEON向量类型别名,导致编译报冲突错误。具体而言,测试代码第8-9行使用__attribute__((neon_vector_type(4)))重定义了float32x4_t和uint32x4_t但在第5行已经包含了<arm_neon.h>头文件,该头文件内部已经通过typedef __Float32x4_t float32x4_t等方式声明了这些类型。测试代码的重复typedef不仅引发了conflicting declaration编译错误,而且其使用的neon_vector_type属性是GCC内部属性,在标准包含arm_neon.h的语境下会被编译器忽略并产生警告。AI优化代码本身逻辑正确,编译失败完全由测试代码错误的类型重定义引起。 247:2026-08-20 15:34:50,826 [INFO] [AI#4[R4][T1]] 分析Agent | 修复: 直接删除单元测试代码中第8-9行对float32x4_t和uint32x4_t的typedef重定义。同删除size_t和uint32_t的冗余typedef(第7、10行),改用#include <cstddef>和#include <cstdint>引入标准定义。于<arm_neon.h>已经提供了所有正确的NEON类型定义,手动重定义不仅多余而且极易引发类型冲突。复后即可正常编译验证AI优化代码的性能与正确性。 252:2026-08-20 15:35:30,691 [INFO] [AI#4[R4][T2]] 运 | PASS | 功能通过 | 耗时:0.22s 253:2026-08-20 15:35:30,691 [INFO] [AI#4[R4][T2]] PASS | 功能通过 | 性能提升 +0.3% (1.1us → 1.1us, speedup=1.00) 254:2026-08-20 15:35:30,692 [INFO] [PASS] AI补丁 #4 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [1744-1750] | 性能提升 +0.3% (1.1us → 1.1us, speedup=1.00) 257:2026-08-20 15:36:03,112 [INFO] [FAIL] AI补丁 #3 | /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [1627-1633] | 验证失败,跳过 259:2026-08-20 15:36:03,115 [INFO] [Summary] AI通过: 5/6 | 全部通过: 12 (工具+AI) | 耗时: 637.17s 263:2026-08-20 15:36:03,117 [INFO] [Router] 验证通过 12 个补丁,进入应用阶段 271:2026-08-20 15:36:03,120 [INFO] [Final Summary] 补丁理最终总结 273:2026-08-20 15:36:03,120 [INFO] 工具补丁 (8 个): 274:2026-08-20 15:36:03,120 [INFO] [PASS] #4 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [218-221] 功能:通过 测试迭代:1 性能:+310.5% 275:2026-08-20 15:36:03,120 [INFO] [PASS] #7 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [1822-1824] 功能:通 测试迭代:1 性能:+298.9% 276:2026-08-20 15:36:03,120 [INFO] [PASS] #6 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [1606-1607] 功能:通过 测试迭代:1 性能:+923.7% 277:2026-08-20 15:36:03,120 [INFO] [PASS] #5 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [1502-1503] 功能:通过 测试迭代:1 性能:+285.1% 278:2026-08-20 15:36:03,120 [INFO] [PASS] #3 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [205-207] 功能:通过 测试迭代:2 性能:+335.4% 279:2026-08-20 15:36:03,121 [INFO] [FALLBACK] #2 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [192-194] 功能:回退AI 测试迭代:2 性能:N/A 280:2026-08-20 15:36:03,121 [INFO] [PASS] #0 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [66-69] 功能:通过 测试迭代:1 性能:+315.4% 281:2026-08-20 15:36:03,121 [INFO] [PASS] #1 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [103-105] 功能:通过 测试迭代:2 性能:+334.3% 282:2026-08-20 15:36:03,121 [INFO] AI补丁 (6 个): 283:2026-08-20 15:36:03,121 [INFO] [PASS] #0 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [76-78] 功能:通过 改写:2 测试迭代:1 性能:-0.0% 284:2026-08-20 15:36:03,121 [INFO] [PASS] #1 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [128-133] 能:通过 改写:2 测试迭代:1 性能:+88.0% 285:2026-08-20 15:36:03,121 [INFO] [PASS] #2 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [152-157] 功能:通过 改写:2 测试迭代:1 性能:+26.9% 286:2026-08-20 15:36:03,121 [INFO] [PASS] #5 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [192-194] 功能:通过 改写:3 测迭代:1 性能:-0.4% 287:2026-08-20 15:36:03,121 [INFO] [PASS] #4 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [1744-1750] 功能:通过 改写:4 测试迭代:2 性能:+0.3% 288:2026-08-20 15:36:03,121 [INFO] [FAIL] #3 /home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp [1627-1633] 功能:失败 改写:4 测试迭代:1 性能:N/A 290:2026-08-20 15:36:03,121 [INFO] 总计: 14 个补丁 | 通过: 12 | 失败/回退: 2 313:2026-08-20 15:36:03,152 [INFO] [Summary] 应用补丁: 12/12 | 涉及文件: 1 | 耗时: 0.03s 343:2026-08-20 15:36:03,844 [INFO] # Phase3 工具补丁: 92.32s 344:2026-08-20 15:36:03,844 [INFO] # Phase4 AI补丁: 637.17s 现在查看产物目录中的 HTML 报告和 patch 文件。 [主Agent 工具启动] -> 工具名: execute | 入参: {'command': 'ls -la /home/faiss-1.7.4_7dfb/patch/'}total 284 drwx------. 2 root root 4096 Aug 20 15:36 . drwx------. 7 root root 4096 Aug 20 15:36 .. -rw-------. 1 root root 8994 Aug 20 15:36 devkit-vectorization.patch -rw-------. 1 root root 266611 Aug 20 15:36 Vectorization_Patch_Result_20260820_153603_155_1904006.html 优化工作流已成功完成。以下是完整的执行结果总结: --- 向量化优化执行完成,命令退出码 0,工作区路径:/home/faiss-1.7.4_7dfb 优化目标文件:/home/faiss-1.7.4/faiss/utils/distances_simd.cpp 分析模式:单文件(targeted)| 指令集:NEON | 天秤工具路径:/home/DevKit-AI-x.x.x-Linux-Kunpeng/_internal/products/tiancheng/tiancheng 补丁处理结果总览: - 总计生成 14 个补丁 - 通过 12 个(工具补丁 7 个 + AI 补丁 5 个) - 失败/回退 2 个(工具补丁 #2 回退AI后由AI补丁 #5 接管并通过;AI补丁 #3 验证失败跳过) 工具补丁(8个)通过情况: - #0 [行66-69] 功能通过 性能提升 +315.4% (702.0ns → 169.0ns, speedup=4.15) - #1 [行103-105] 功能通过 性能提升 +334.3% (688.5ns → 158.5ns, speedup=4.34) - #2 [行192-194] 工具测试失败(运行崩溃SIGSEGV),回退AI改写 - #3 [行205-207] 功能通过 性能提升 +335.4% (688.0ns → 158.0ns, speedup=4.35) - #4 [行218-221] 功能通过 性能提升 +310.5% - #5 [行1502-1503] 功能通过 性能提升 +285.1% - #6 [行1606-1607] 功能通过 性能提升 +923.7% - #7 [行1822-1824] 功能通过 性能提升 +298.9% AI补丁(6个)通过情况: - #0 [行76-78] 功能通过 性能提升 -0.0%(无提升但功能正确,直接通过) - #1 [行128-133] 功能通过 性能提升 +88.0% (719.95ms → 383.00ms, speedup=1.88) - #2 [行152-157] 功能通过 性能提升 +26.9% (467.0ns → 368.0ns, speedup=1.27) - #3 [行1627-1633] 验证失败(功能不匹配),跳过 - #4 [行1744-1750] 功能通过 性能提升 +0.3% - #5 [行192-194] 功能通过 性能提升 -0.4%(接替工具补丁#2) 耗时统计: - Phase 3 工具补丁阶段:92.32s - Phase 4 AI补丁阶段:637.17s 产物文件位置: - 优化后源码:/home/faiss-1.7.4_7dfb/result/faiss/utils/distances_simd.cpp - HTML 报告:/home/faiss-1.7.4_7dfb/patch/Vectorization_Patch_Result_20260820_153603_155_1904006.html - git patch:/home/faiss-1.7.4_7dfb/patch/devkit-vectorization.patch - 完整日志:/home/faiss-1.7.4_7dfb/workflow.log 本次优化效果显著,12 个补丁成功应用,其中工具补丁性能提升最高达 +923.7%,多个补丁达到 3 倍以上加速。是否还需要其他帮助?
输出产物
源码优化完成后,工作目录下会生成以下产物。
文件/目录 |
阶段 |
说明 |
|---|---|---|
workspace/ |
源码优化工作流调用执行 |
工作区根目录 |
workspace/origin/ |
源码优化工作流调用执行 |
原始项目备份 |
workspace/vectorization_result/ |
源码优化工作流调用执行 |
天秤源码优化工具报告输出目录 |
workspace/patch/ |
源码优化工作流调用执行 |
最终报告和patch文件输出目录 |
workspace/result/ |
源码优化工作流调用执行 |
使用天秤源码优化工具进行向量化扫描和补丁应用后的结果目录(该目录会在预处理阶段存储项目修改副本,作为后续向量化扫描及补丁应用的处理对象。) |
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生成) |
workspace/unit_test/unit_test_ai_* |
源码优化工作流调用执行 |
AI补丁单元测试源码编译成的二进制文件路径 |
workspace/patch/{task_name}.html |
源码优化工作流调用执行 |
|
workspace/patch/devkit-vectorization.patch |
源码优化工作流调用执行 |
git patch文件(origin vs result的diff比较,如果没有扫描出可优化结果,则不输出该文件。) |