给 bingirl & 华为云杭州团队

AI 辅助

云计算内核开发 × AI 辅助编程
从 KVM 虚拟化到 eBPF 性能分析,AI 让开发更高效。

5 个核心步骤
4 类 AI 工具
效率提升可能
ai-assistant.sh
$ claude "优化这段 C 代码的性能"
// 原代码存在不必要的内存拷贝
// 优化方案:使用指针传递 + 零拷贝技术

void process_data(const char* input, size_t len) {
    // 直接操作输入缓冲区,避免拷贝
    const char* ptr = input;
    while (len--) {
        process_byte(*ptr++);
    }
}
$ _

AI 编程工具有 4 种类型

理解这 4 类工具,你就掌握了 AI 编程的完整版图。 它们就像开发工具链中的不同角色,各司其职。

Chat 型 AI

技术顾问角色

ChatGPT Claude.ai Gemini
适用场景:
  • 架构设计讨论
  • 技术方案评估
  • 代码审查建议
  • 问题诊断分析
💡 就像有一个随时在线的资深架构师,可以讨论任何技术问题

AI 插件

IDE 代码补全助手

GitHub Copilot Codeium Tabnine
适用场景:
  • 代码补全
  • 函数生成
  • 注释生成代码
  • 快速原型
💡 就像超强的自动补全,你写个注释它就能帮你写出完整函数

AI CLI

命令行 AI 工具

aider Amazon Q shell-ai
适用场景:
  • 命令生成
  • 脚本编写
  • DevOps 自动化
  • 日志分析
💡 就像有一个熟悉所有命令行工具的运维专家,随时帮你写脚本

选什么工具?

基于 C/云计算开发场景,我们重点推荐 Claude Code。 以下是详细的对比分析。

重点推荐

Claude Code

Anthropic 官方出品的 AI 编程助手

强大的代码理解能力

能理解复杂项目结构,C 语言指针、内存管理等都不在话下

命令行原生

直接在终端使用,完美契合云计算开发者的工作流

安全的代码处理

支持私有部署,敏感代码不出本地

多文件协作

能同时处理多个相关文件,理解项目级别的依赖关系

工具对比

工具 类型 优点 缺点 最适合场景
Claude Code AI IDE/CLI 代码理解强、命令行原生、安全可控 需要订阅 C/云计算、复杂项目
Cursor AI IDE VS Code 体验、上手简单 GUI 依赖、云端处理 Web 开发、快速原型
GitHub Copilot AI 插件 补全精准、生态成熟 单文件思维、项目理解弱 日常编码、函数生成
aider AI CLI 开源免费、Git 集成 需要自己配置模型 开源爱好者、定制需求

5 步让 AI 帮你写代码

这是一套经过验证的实战流程,适用于任何 AI 编程工具。 掌握这 5 步,你就能高效地与 AI 协作。

01

明确需求

清晰描述你想要实现什么。越具体,AI 的输出越精准。

示例
❌ 模糊的描述:
"帮我写个网络程序"

✓ 清晰的描述:
"用 C 语言实现一个高性能 TCP 服务器:
- 使用 epoll 实现多路复用
- 支持至少 10000 并发连接
- 每个连接需要独立的读缓冲区
- 目标平台是 Linux (CentOS 7)"
💡 技巧:说明语言、平台、性能要求、约束条件
02

选择工具

根据任务类型选择合适的 AI 工具。

🔧 完整功能开发

Claude Code / Cursor

📝 快速函数补全

GitHub Copilot

🤔 架构讨论

Claude.ai / ChatGPT

⚙️ 脚本/运维

AI CLI 工具

03

投喂上下文

让 AI 了解你的项目背景。上下文越充分,结果越准确。

📁 项目结构

告诉 AI 你的项目是如何组织的

📄 相关代码

提供需要参考或修改的现有代码

📋 编码规范

说明命名风格、错误处理方式等

⚠️ 约束条件

性能要求、兼容性、安全限制

Claude Code 示例
# 在项目根目录启动 Claude Code
cd ~/my-project
claude

# Claude 会自动读取:
# - CLAUDE.md (项目说明)
# - 相关源文件
# - Git 历史
04

生成代码

AI 生成代码后,你需要审查和验证。

检查逻辑是否正确
验证边界条件处理
确认内存安全(C 语言)
检查错误处理完整性
验证是否符合编码规范
⚠️
重要提醒

AI 生成的代码不是 100% 正确的。作为资深开发者,你的审查是必不可少的环节。

05

调试优化

遇到问题?让 AI 帮你调试。迭代优化直到满意。

调试对话示例
你: 代码编译报错了,错误信息是:
    "undefined reference to 'epoll_create1'"

AI: 这个错误说明你的系统 epoll 支持可能有问题。
    请检查:
    1. 内核版本 (需要 2.6.27+)
    2. 编译时是否正确链接

    尝试在编译命令中添加 -lrt 参数:
    gcc -o server server.c -lrt

你: 加了 -lrt 还是报错

AI: 让我看看你的代码... 问题出在头文件。
    epoll_create1 需要 _GNU_SOURCE 宏。

    在文件开头添加:
    #define _GNU_SOURCE
    #include <sys/epoll.h>
提问 → 获得解答 → 尝试 → 反馈结果 → 继续优化

C/云计算实战场景

这些是 C/云计算开发者最常遇到的场景, 每个场景都附有可直接使用的提示词模板。

场景描述

有一个处理网络数据包的函数,在高并发下性能不够理想,需要优化。

提示词模板

请帮我优化这个 C 函数的性能:

[code here]

当前问题:
- 在 10k 并发下 CPU 使用率过高 (80%+)
- 函数被频繁调用,是热点路径

优化目标:
- 降低 CPU 使用率
- 减少内存分配次数
- 保持代码可读性

环境信息:
- 目标平台:Linux x86_64
- 编译器:GCC 9+
- 可使用 SIMD 指令

AI 通常会建议

  • 减少内存分配(预分配、对象池)
  • 避免不必要的拷贝(指针传递)
  • 使用更高效的数据结构
  • SIMD 向量化
  • 缓存友好的内存布局

场景描述

需要编写一个自动化脚本,监控服务器状态并在异常时发送告警。

提示词模板

请帮我写一个服务器监控脚本:

需求:
1. 监控 CPU、内存、磁盘使用率
2. 监控指定进程是否存活
3. 监控 TCP 端口是否可连接
4. 异常时通过企业微信发送告警

技术要求:
- 使用 Bash 或 Python
- 兼容 CentOS 7 / Ubuntu 20.04
- 低资源占用
- 支持配置文件

输出要求:
- 完整脚本代码
- 配置文件模板
- systemd service 文件

场景描述

有一个复杂的 C 模块,需要为其他团队生成 API 文档。

提示词模板

请为以下 C 代码生成 API 文档:

[code here]

文档要求:
1. 每个公开函数的说明
2. 参数说明(类型、含义、约束)
3. 返回值说明
4. 使用示例
5. 线程安全性说明
6. 错误处理指南

格式要求:
- Markdown 格式
- 中文文档
- 包含代码高亮

场景描述

有一段 10 年前的 C 代码,需要重构以提高可维护性和安全性。

提示词模板

请帮我重构这段 C 代码:

[code here]

重构目标:
1. 提高代码可读性
2. 修复潜在的内存安全问题
3. 添加适当的错误处理
4. 拆分过长的函数

约束条件:
- 保持 API 兼容性
- 不改变核心逻辑
- 兼容 GCC 4.8+ (CentOS 7)

请分步骤进行:
1. 先分析现有代码的问题
2. 给出重构方案
3. 逐步实现
4. 说明每个改动的原因

场景描述

程序在高并发下偶现崩溃,怀疑是竞态条件。

提示词模板

请帮我诊断这个崩溃问题:

程序信息:
- 多线程网络服务
- 使用 pthread + epoll
- 偶现崩溃(约每 100 小时一次)

崩溃信息:
[crash log / core dump backtrace here]

相关代码:
[code here]

请分析:
1. 可能的竞态条件在哪里
2. 如何修复
3. 如何添加防护措施
4. 建议的测试方法

场景描述

华为云 ECS 实例运行高负载计算任务,需要优化内核调度参数以减少延迟抖动,提升实时性能。

提示词模板

请帮我优化华为云 ECS 的内核调度参数:

环境信息:
- 华为云 ECS(鲲鹏 920 / x86 可选)
- OS:openEuler 22.03 / CentOS 7.9
- 内核:5.10+ / 4.19 LTS
- 工作负载:实时数据处理的计算密集型任务

当前问题:
- CPU 调度延迟抖动较大(p99 > 500us)
- 多核负载不均衡
- 中断处理占用过多 CPU 时间

优化目标:
- 降低调度延迟和抖动
- 提高 CPU 缓存命中率
- 优化 NUMA 亲和性
- 隔离关键业务 CPU

请提供:
1. 内核启动参数调优建议(isolcpus、nohz_full 等)
2. sysctl 调度器参数配置
3. IRQ 亲和性配置脚本
4. cgroups v2 资源隔离方案
5. 验证和监控方法

常用调优参数

  • isolcpus=1-3 隔离 CPU 核心
  • nohz_full=1-3 禁用时钟中断
  • rcu_nocbs=1-3 RCU 回调卸载
  • kernel.sched_min_granularity_ns 最小调度粒度
  • kernel.sched_wakeup_granularity_ns 唤醒粒度

场景描述

华为云上的 KVM 虚拟机网络 I/O 性能不达标,需要调优 virtio 和后端驱动。

提示词模板

请帮我优化 KVM 虚拟机的网络 I/O 性能:

环境信息:
- 宿主机:华为云物理机,openEuler 22.03
- 虚拟机:CentOS 7.9,virtio-net 网卡
- 业务:高吞吐量网络转发(10Gbps+)
- CPU:支持 DPDK 和 vhost-user

当前问题:
- 网络吞吐量只能达到 6Gbps
- CPU 在软中断上消耗过高(30%+)
- P99 延迟不稳定

请提供优化方案:
1. virtio-net 参数调优(多队列、合并缓冲区)
2. vhost-net vs vhost-user 选择建议
3. CPU 亲和性绑定(vCPU 和 vhost 线程)
4. 内存大页配置(HugePages)
5. 中断合并和 RSS 配置
6. 性能测试和验证方法

关键调优点

  • virtio-net 多队列:MQ=on, vectors=多队列数*2+2
  • vhost 后端线程 CPU 亲和性绑定
  • 启用 RSS 和中断合并减少 CPU 开销
  • 大页内存减少 TLB miss

场景描述

Kubernetes 集群中某容器频繁 OOM,或 CPU 资源被其他容器抢占导致性能抖动。

提示词模板

请帮我分析和解决容器资源问题:

环境信息:
- Kubernetes 1.25+
- 容器运行时:containerd / docker
- 内核:支持 cgroups v2
- 节点:华为云 ECS(8C32G)

问题描述:
- 容器内存使用接近 limit 但未 OOM,性能下降
- CPU 使用率波动大,疑似被其他容器抢占
- 需要精确控制资源分配

请提供:
1. cgroups v2 资源限制配置方法
2. CPU quota 和 shares 的正确使用
3. 内存 OOM 评分和优先级设置
4. 如何分析和排查资源争抢问题
5. Prometheus 监控指标推荐
6. 资源 Request/Limit 最佳实践

常用命令

  • cat /sys/fs/cgroup//memory.max
  • cat /sys/fs/cgroup//cpu.max
  • systemd-run --scope -p MemoryMax=1G
  • kubectl describe pod 查看资源状态

场景描述

需要开发一个内核模块实现自定义的系统调用拦截或设备驱动。

提示词模板

请帮我开发一个 Linux 内核模块:

需求描述:
- 功能:实现一个字符设备驱动,支持 read/write/ioctl
- 平台:openEuler / CentOS,内核 4.19+
- 需要支持多个进程并发访问

技术要求:
1. 使用内核互斥锁保护共享数据
2. 实现 poll/waitqueue 支持阻塞读
3. 使用 kmalloc/vmalloc 管理内核内存
4. 支持 ioctl 进行配置控制
5. 提供 /proc 接口查看状态

请提供:
1. 完整的内核模块代码框架
2. Makefile 和 Kconfig 配置
3. 用户态测试程序
4. 常见内核编程注意事项
5. 调试方法(dmesg、ftrace、kgdb)

内核开发注意事项

  • 禁止长时间持有自旋锁
  • 原子上下文不能睡眠
  • 使用 copy_to_user/copy_from_user 访问用户空间
  • 正确处理错误码(-EFAULT, -EINVAL 等)

场景描述

高并发网络服务器需要优化 Linux 网络协议栈,提升吞吐量和降低延迟。

提示词模板

请帮我优化 Linux 网络协议栈性能:

场景信息:
- 服务器:华为云 ECS,25G 网卡
- 业务:高并发 TCP 服务(10万+ 连接)
- 目标:降低延迟,提高吞吐量

当前配置:
[sysctl -a | grep net 的关键参数]

请提供优化方案:
1. 内核网络参数调优(sysctl.conf)
   - TCP 缓冲区大小
   - 连接队列长度
   - TIME_WAIT 处理
   - 拥塞控制算法选择

2. 网卡多队列和 RSS 配置

3. 是否需要 XDP/DPDK 加速?适用场景?

4. 监控和问题排查工具
   - ss、netstat、ethtool
   - perf、bcc 工具

5. 性能测试方法(iperf3、wrk)

关键网络参数

  • net.core.somaxconn - listen 队列最大长度
  • net.ipv4.tcp_tw_reuse - TIME_WAIT 复用
  • net.ipv4.tcp_congestion_control - 拥塞控制(BBR/CUBIC)
  • net.core.rmem_max/wmem_max - 缓冲区上限

场景描述

数据库服务器 I/O 延迟高,需要优化存储子系统配置。

提示词模板

请帮我优化存储 I/O 性能:

环境信息:
- 存储:华为云 EVS(SSD / 高IO)
- 文件系统:ext4 / xfs
- 业务:MySQL / PostgreSQL 数据库
- 问题:随机读写延迟高,IOPS 上不去

当前配置:
- I/O 调度器:[cat /sys/block/sda/queue/scheduler]
- 文件系统挂载参数:[mount | grep data]

请提供优化方案:
1. I/O 调度器选择(none/mq-deadline/kyber/bfq)
2. 块设备队列深度调整
3. 文件系统挂载参数优化
4. 预读和缓存配置
5. NUMA 相关的存储优化
6. 性能测试和验证方法(fio 配置)

I/O 调度器选择

  • none/noop - NVMe SSD 推荐
  • mq-deadline - 通用场景,延迟可控
  • bfq - 桌面/低优先级后台任务
  • kyber - 低延迟块设备

场景描述

生产环境性能瓶颈分析,需要使用性能剖析工具定位热点。

提示词模板

请帮我分析程序性能瓶颈:

程序信息:
- 语言:C/C++
- 场景:CPU 密集型计算 / I/O 密集型服务
- 问题:性能不达标,需要定位瓶颈

已收集的数据:
- perf record -g -p  采样数据
- [或者提供 perf report 输出]

请帮我:
1. 分析 perf 报告,找出热点函数
2. 生成火焰图的命令和方法
3. 使用 BCC 工具进一步分析
   - profile: CPU 采样
   - offcputime: 休眠时间分析
   - biolatency: 块 I/O 延迟
   - tcpretrans: TCP 重传
4. 常见性能反模式识别
5. 优化建议

性能分析工具清单

  • perf - Linux 性能分析神器
  • FlameGraph - 火焰图可视化
  • BCC/eBPF - 内核级追踪
  • strace - 系统调用追踪
  • valgrind - 内存和缓存分析

Claude Code Skills 指南

Skills 是 Claude Code 的扩展能力,让 AI 掌握特定领域的专业知识和工作流程。 掌握 Skills,让你的开发效率倍增。

核心概念

什么是 Agent Skills?

Skill = 领域知识 + 工作流程 + 最佳实践

📚
领域知识库

预置的专业知识,如内核开发规范、云计算最佳实践

🔄
工作流程模板

标准化的任务执行流程,确保质量和一致性

自动化触发

检测到相关任务时自动激活,无需手动调用

🎯
上下文感知

理解项目背景,提供精准的建议和代码

云计算开发者必备 Skills

Linux 内核

驱动开发、内核调优、性能剖析

golang-patterns systemd
适用场景:
  • 调度器参数调优
  • 内核模块开发
  • eBPF/BCC 工具使用
  • 性能问题诊断

容器 & K8s

Docker、Kubernetes、云原生

docker-patterns deployment-patterns
适用场景:
  • 容器镜像优化
  • K8s 部署配置
  • 资源限制调优
  • CI/CD 流水线

性能优化

性能剖析、火焰图、调优建议

postgres-patterns clickhouse-io
适用场景:
  • CPU 热点分析
  • 内存泄漏排查
  • I/O 性能调优
  • 数据库优化

如何使用 Skills

01

查看可用 Skills

在 Claude Code 中查看已安装的 Skills 列表

# 在 Claude Code 中输入
/skills

# 或查看特定 skill 的帮助
/skill-creator --help
02

安装新 Skill

从社区或官方仓库安装 Skills

# 安装官方 skill
/skill-install cpp-coding-standards

# 安装社区 skill
/skill-install github.com/user/kernel-debug-skill
03

触发 Skill

Skills 会在检测到相关任务时自动激活

# 自动触发示例
你: "帮我优化这个 C 函数的性能"
# Claude 自动激活 cpp-coding-standards skill

# 手动调用
你: "/tdd 实现一个线程安全的队列"
# 强制使用 TDD 工作流
04

创建自定义 Skill

为团队创建专属的 Skills

# 创建新 skill
/skill-creator

# Skill 文件结构
~/.claude/skills/
├── my-kernel-skill/
│   ├── SKILL.md      # Skill 定义
│   ├── knowledge/    # 知识库
│   └── templates/    # 模板文件
☁️
华为云计算内核调度 Skills 推荐

虽然没有华为云官方的 Skill,但以下 Skills 对云计算内核开发非常有帮助:

🔧

内核开发 Skills

📊

性能分析 Skills

🚀

DevOps Skills

快速上手:云计算内核开发场景

示例:使用 Skills 优化内核调度参数

# 步骤 1:描述你的任务
你: 我需要优化华为云 ECS 的内核调度参数,降低实时任务的延迟抖动。
    当前环境是 openEuler 22.03,鲲鹏 920 处理器。

# Claude 自动识别场景,可能激活以下 Skills:
# - cpp-coding-standards(如果需要编写 C 代码)
# - security-review(如果涉及安全相关配置)
# - backend-patterns(系统设计建议)

# 步骤 2:Claude 会提供专业的调优建议
AI: 我来帮你优化内核调度参数。针对鲲鹏 920 + openEuler 22.03,
    建议从以下几个方面入手:

    1. 内核启动参数...
    2. sysctl 配置...
    3. IRQ 亲和性...

# 步骤 3:请求生成具体配置
你: 请生成完整的 sysctl 配置文件和验证脚本

# 步骤 4:Claude 生成可用的代码和配置
AI: [生成 sysctl.conf 配置]
    [生成验证脚本]
    [提供测试方法]
💡

Skills 会在需要时自动激活,无需刻意记忆

🎯

描述任务越具体,AI 的建议越精准

🔄

遇到问题可以持续对话,逐步优化

AI 辅助云计算内核开发方案

专为华为云杭州团队设计,覆盖虚拟化内核、鲲鹏/昇腾适配、高性能 I/O 等核心领域。

技术栈 → AI 辅助方案映射

技术领域 核心工具 AI 辅助方案 推荐 Skills/MCP
C/C++ 内核 Linux Kernel 5.10+ 代码生成、内存安全检查、性能优化 cpp-coding-standards, security-review
虚拟化技术 KVM/QEMU, DPDK, SR-IOV 驱动开发、I/O 路径分析、性能调优 docker-patterns, backend-patterns
eBPF/性能监控 BCC, bpftrace, perf 脚本生成、数据分析、火焰图解读 performance-analysis (自定义)
硬件适配 鲲鹏/昇腾 SDK, 擎天卡 驱动适配、汇编优化、SIMD 指令 arm-optimization (自定义)
云原生/Go Kubernetes, Containerd Operator 开发、CRD 设计、控制器逻辑 golang-patterns, k8s-patterns
测试/CI CodeArts, Jenkins 测试用例生成、流水线配置、代码审查 tdd-workflow, code-review
本项目专属

本仓库提供的 Skills

可直接复制到 ~/.claude/skills/ 目录使用

📁 Skills 目录结构

skills/
├── README.md                 # Skill 创建完整指南 ⭐
├── kernel-scheduler-tuning/  # 内核调度参数优化
├── smoke-test-ops/           # 冒烟测试专家
├── cloud-performance-analysis/ # 云性能分析 (perf/eBPF)
├── kernel-debug-assistant/   # 内核调试助手
├── kvm-virt-optimization/    # KVM 虚拟化优化
├── huawei-kvm-debug/         # 华为云 KVM 诊断 ⭐
└── kunpeng-perf-tuning/      # 鲲鹏 920 性能调优 ⭐
📖 如何创建自定义 Skill?

查看 skills/README.md 获取完整的 Skill 创建指南,包括模板、最佳实践和华为云专用示例。

🚀 安装方法

# 克隆仓库
git clone https://github.com/jiangbingo/ai-coding-guide.git

# 复制 Skills 到 Claude Code
cp -r ai-coding-guide/skills/* ~/.claude/skills/

# 验证安装
claude skills list

💡 使用示例

kernel-scheduler-tuning
你: 我的鲲鹏 920 服务器实时任务有 500us 延迟抖动,帮我优化。

AI: [自动激活 kernel-scheduler-tuning]
→ 收集 CPU 拓扑和 NUMA 信息
→ 分析当前隔离配置
→ 生成 GRUB 和 sysctl 优化方案
smoke-test-ops
你: 帮我做一个 openEuler 内核的冒烟测试。

AI: [自动激活 smoke-test-ops]
→ 检查内核版本和 KVM 支持
→ 测试虚拟机生命周期
→ 验证网络和存储 I/O
→ 生成测试报告
cloud-performance-analysis
你: KVM 宿主机 CPU 使用率很高,帮我分析热点。

AI: [自动激活 cloud-performance-analysis]
→ 采集 perf 数据和火焰图
→ 识别 Top 5 热点函数
→ 分析性能反模式
→ 给出优化建议
kernel-debug-assistant
你: 内核模块崩溃了,Call Trace 如下...

AI: [自动激活 kernel-debug-assistant]
→ 解析 Call Trace 定位崩溃函数
→ 分析根因(空指针/竞态/内存越界)
→ 生成修复补丁代码
→ 提供预防措施
kvm-virt-optimization
你: 需要在鲲鹏 920 上部署 NFV 虚拟机,要求 20Gbps+ 吞吐。

AI: [自动激活 kvm-virt-optimization]
→ 分析 NUMA 拓扑和 CPU 隔离
→ 生成 libvirt XML 优化配置
→ 配置 virtio 多队列和 vhost 绑定
→ 提供性能验证方法

华为云计算内核 Skills 清单

实践指南

多 Agent 协作实战

如何在 Claude Code 中实践多 Agent 协作架构

🎯 协作模式详解

模式 1:并行分析
多个 Agent 同时分析不同方面
├── [Perf Agent] → CPU 热点
├── [KVM Agent] → VM Exit
├── [NUMA Agent] → 内存亲和性
└── 最后汇总结果

适用:全面性能评估

模式 2:流水线
任务按顺序通过多个 Agent
Step 1: [Perf] 识别瓶颈
    ↓
Step 2: [KVM] 深入分析
    ↓
Step 3: [Tuner] 生成方案
    ↓
Step 4: [Test] 验证效果

适用:问题 → 解决 → 验证

模式 3:条件分支
根据分析结果决定下一步
[Perf Agent] 分析
    ├── CPU 限流? → [Kernel Agent]
    ├── 跨 NUMA? → [NUMA Agent]
    └── VM Exit? → [KVM Agent]

适用:根因不明确

模式 4:专家会诊
一个 Agent 遇到难题,咨询其他
[Debug Agent] 发现崩溃
    ├── 咨询 [Kernel Agent]
    ├── 咨询 [Memory Agent]
    └── 确认根因

适用:复杂问题诊断

📋 实战案例:KVM 网络优化

用户: 鲲鹏 920 + openEuler,virtio 网卡只能跑到 6Gbps,需要优化到 20Gbps+

## Claude Code 执行流程

### Step 1: Orchestrator 任务分解
目标: 网络吞吐优化 6Gbps → 20Gbps
平台: 鲲鹏 920 + openEuler
类型: KVM 虚拟化网络

### Step 2: 并行诊断(3 个 Agent 同时工作)

[Perf Agent] 分析性能数据...
→ virtio_net 处理占用 15% CPU
→ 中断处理占用 8% CPU
→ 热点: virtnet_send_command

[KVM Agent] 分析虚拟化配置...
→ virtio 队列数: 1 (瓶颈!)
→ vhost 线程: 未绑定 CPU
→ RSS: 未启用

[NUMA Agent] 分析 NUMA 亲和性...
→ vCPU 分布在 Node 0
→ 网卡在 Node 1
→ 跨 NUMA 访问: 38% (性能损失!)

### Step 3: 汇总诊断结果
├── 瓶颈 1: virtio 单队列 (影响 40%)
├── 瓶颈 2: 跨 NUMA 访问 (影响 30%)
└── 瓶颈 3: vhost 线程竞争 (影响 15%)

### Step 4: [Tuner Agent] 生成优化方案
1. 启用 virtio 多队列 (8 队列)
   <driver name='vhost' queues='8'/>
2. vhost 线程绑定到独立 CPU
   <emulatorpin cpuset='2-3'/>
3. NUMA 亲和性优化
   <numatune><memory mode='strict' nodeset='0'/></numatune>

### Step 5: [Test Agent] 生成验证脚本
#!/bin/bash
# 预期吞吐: > 20Gbps
iperf3 -c server -t 60 -P 8

### Step 6: [Report Agent] 生成最终报告
原始吞吐: 6Gbps → 优化后: 25Gbps (预期)
提升: 316%

🔧 如何在 Claude Code 中实践

# 方法 1:明确指示多 Agent 协作

你: 请同时启动以下分析:
    1. [Perf Agent] 分析 CPU 热点
    2. [KVM Agent] 分析 VM Exit 分布
    3. [NUMA Agent] 分析 NUMA 访问模式
    完成后汇总结果。

# 方法 2:流水线模式

你: 按 KVM 网络优化流程执行:
    Step 1: [Perf] 采集性能数据
    Step 2: [KVM] 分析虚拟化开销
    Step 3: [Tuner] 生成优化方案
    Step 4: [Test] 生成验证脚本

# 方法 3:条件分支

你: 首先做性能分析。
    如果发现 CPU 限流 > 10%,启动调度器优化。
    如果发现跨 NUMA > 20%,启动 NUMA 优化。
    如果发现 VM Exit 频繁,启动 KVM 优化。

📚 完整文档

详细的多 Agent 协作架构设计、协作协议、最佳实践,请查看:

📖 多 Agent 架构完整指南 🛠️ Skill 创建教程

华为云团队快速上手指南

1

安装 Claude Code
curl -fsSL https://claude.ai/install.sh | sh

2

配置项目 CLAUDE.md
创建项目知识库,说明内核版本、目标平台、编码规范

3

安装云计算 Skills
cp skills/* ~/.claude/skills/

典型工作流示例

# 场景:KVM 虚拟机网络 I/O 性能调优

# 1. 描述任务
你: 帮我分析 KVM 虚拟机的网络 I/O 性能问题。
    环境:鲲鹏 920 + openEuler 22.03 + virtio-net
    问题:吞吐量只能达到 6Gbps,目标是 20Gbps+

# 2. AI 自动激活相关 Skills
AI: [激活 kernel-scheduler-tuning 和 smoke-test-ops]
    我来帮你分析 KVM 网络性能问题。

    收集 virtio 相关的性能数据...
    追踪网络 I/O 路径...

    分析结果:
    1. vhost 线程在 CPU 0 上,与网络中断竞争
    2. virtio 队列数只有 1,未充分利用多核
    3. 未启用 RSS 和中断合并

# 3. 生成优化方案
你: 请生成完整的优化配置

AI: [生成 XML 配置] [生成 sysctl 配置] [生成 vhost 绑定脚本]

# 4. 验证效果
你: 应用后如何验证?

AI: [生成测试脚本] [提供预期指标] [告警阈值建议]
📦

MCP Server 模板

📚

内部资源

🎓

培训资源

继续学习

掌握基础后,这些资源能帮你更深入地使用 AI 编程工具。

下一步行动

1

安装 Claude Code 或选择一个 AI 工具

2

用本文的提示词模板试一个简单任务

3

逐步把 AI 融入你的日常工作流

"AI 不会取代程序员,但会用 AI 的程序员会取代不会用的。"