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

使用示例(通过Skill接入第三方Agent)

工作流程

意图解析 → 场景配置 → 文件生成 → 验证输出

操作步骤

以智能编程助手OpenCode中生成Spark场景的调优模板为例。

  1. 下载kat-gen功能包,解压后将kat-gen文件夹上传到OpenCode的“skills/”目录下。
  2. 打开AI对话窗口,输入“./kat-gen”启动KAT调优模板生成助手,选择调优场景。
    支持以下调优场景,请输入场景编号或名称:
    
    1. Redis            6. Vastbase
    2. Rocksdb          7. Flink
    3. MYSQL            8.Hive
    4. PostgreSQL       9.KAfka
    5. openGauss       10. Spark
                       11. 其他(自定义场景)
    
    请输入:

    输入“10”,选择Spark场景。

  3. 进行基础配置,选择Spark调优的部署方式和启用的参数组。
    部署方式选择“本机调优”。
    Spark 调优的部署方式?
    1. 本机调优
       Spark和压测在同一台机器上运行
    2. 存在远程操作
       应用或压测涉及远程节点,需 SSH 连接
    3. Type something.

    部署方式选择完成后,选择参数组“应用参数(Spark)”。

    启用哪些参数组?(可多选)
    1. [ ] 应用参数(Spark)
    Spark 应用级调优参数
    2. [ ] System参数
    内核/网络/I0/hugepages 等系统级参数
    3. [ ] Kunpeng uarch参数
    Kunpeng 微架构调优参数(仅支持特定内核版本)
    4. [ ] Type something
  4. 提供应用配置路径等信息。
    本机调优,未检测到 Spark 安装。请提供 Spark 配置信息(每行一个,有默认值的已标注供参考):
    
    1. spark_home(Spark 安装路径,如 /opt/spark):
    2. master(默认 yarn,直接回车采用默认):
    3. database name(TPC-DS 数据库名称):
    4. sql_file(TPC-DS SQL 脚本绝对路径):

    一次性输入应用配置路径等信息,输入完成后回车。

    spark_home:/home/bigdata/spark/
    database_name:tpcds_orc_hive_10
    sql_file:/home/bigdata/TPC-DS-Kunpeng/spark-queries-tpcds/q1.sql
  5. 选择压测工具并确认命令。(默认使用内置的压测工具和压测命令,可根据实际场景替换。)
  6. 审查配置总览,确认后生成模板文件。

    配置总览如下:

    已收集到所有配置信息,展示结构化配置总览:
    ===配置总览===
    调优场景:Spark
    部署方式:本机调优
    SPARK_HOME:/home/bigdata/spark
    Master:yarn
    数据库名:tpcds_orc_hive_10
    SQL脚本:/home/bigdata/TPC-DS-Kunpeng/spark-queries-tpcds/q1.sql
    压测工具:TPC-DS(内置)
    压测命令:/home/bigdata/spark/bin/spark-sql --master yarn --deploy-mode client --database tpcds_orc_hive_10 -f /home/bigdata/TPC-DS-Kunpeng/spark-queries-tpcds/q1.sql 2>&1
    提取管道:grep -i 'Time taken' | awk -F 'Time taken: ' '{print $2}' | awk -F 'seconds' '{print $1}'
    调优轮次:50
    调优方向:越高越好
    启用参数组:Spark(44个参数)
    
    执行流程:
      ┌─ 初始化(执行 1 次)───────────────────────────────────────┐
      │ set_up           [本机]      获取 Spark 默认参数
      │ backup_cmd       [本机]      备份 spark-defaults.conf → kat 副本
      └──────────────────────────────────────────────────┘
                             
      ┌─ 调优循环(×50 轮)───────────────────────────────────────┐
      │ round_set_up     [本机]      从备份恢复 spark-defaults.conf
      │ assign_cmd       [本机]      逐参数写入 spark-defaults.conf
      │ execute_after_…  [本机]      处理 offHeap 依赖并打印配置
      │ run_test[0]      [本机]      JVM 参数注入到 conf
      │ run_test[1]      [本机]      spark-sql 压测 → 提取耗时
      │ round_tear_down  [本机]      (空)
      └───────────────────────────────────────────────────┘
    
      ┌─ 收尾(执行 1 次)─────────────────────────────────────────┐
      │ tear_down        [本机]      (空)
      │ recover_cmd      [本机]      恢复原始 spark-defaults.conf
      └───────────────────────────────────────────────────┘
    选择“确认生成”生成模板文件。
    确认生成?
    1. 确认生成
    生成 task 和 param YAML 文件
    2. 修改路径/命令
    回到步骤 2.2 重新收集路径
    3. 修改参数组
    回到步骤 2.1 重新选择参数组
    4. 完全重新配置
    退出本 skill,重新启动
    5. Type your own answer

    模板文档生成在当前目录的template_Spark_{YYYYMMDD_HHMMSS}/目录下。

    YAML 语法和 Shell 语法校验均通过。
    
    —— 调优信息汇总 ——
    
    调优场景: Spark (TPC-DS)
    部署方式: 本机调优
    应用服务器: 本机
    压测服务器: 本机
    SPARK_HOME: /home/bigdata/spark
    Master: yarn
    数据库名: tpcds_orc_hive_10
    SQL 脚本: /home/bigdata/TPC-DS-Kunpeng/spark-queries-tpcds/q1.sql
    调优轮次: 50
    调优方向: 越高越好(执行时间)
    启用参数组:
    
    - Spark 应用参数(44 个参数, enable=True)
    - System (enable=False)
    - Kunpeng uarch (enable=False)
    
    生成文件:
    - /home/.opencode/bin/template_Spark_20260727_194349/task_Spark_System.yaml
    - /home/.opencode/bin/template_Spark_20260727_194349/param_Spark_System.yaml

快速生成

当AI对话窗口中给定的对话已包含足够信息时,可跳过部分交互步骤。

对话示例

交互轮次

帮我生成本机Redis调优模板

1轮(仅确认)

生成Redis调优

2轮(问部署方式 + 确认)

帮我生成远程MySQL调优

3轮(问Host + 路径 + 确认)

输出产物

生成的模板文件位于当前目录的template_{App}_{YYYYMMDD_HHMMSS}/目录下。

文件

说明

task_{App}_System.yaml

调优任务模板,定义生命周期命令、参数组配置。

param_{App}_System.yaml

参数定义模板,包含所有可调优参数及其范围。

生成完成后SKILL会对模板进行自动校验:

  • YAML语法校验
  • Shell语法校验