# 通过华为云码道CodeArts代码智能体实现编译构建智能化
编译构建服务（CodeArts Build）支持以"CodeArts工具链插件式与[华为云码道CodeArts代码智能体](https://codearts.huaweicloud.com/)集成。CodeArts工具链插件通过灵活配置提示词（Prompt）、技能（Skill）等指令可让智能体更高效完成编译构建任务相关操作。
用户无需学习控制台的相关操作，就可以直接在华为云码道CodeArts代码智能体聊天窗口通过自然语言指令，让编译构建实现智能化，高效地完成编译构建任务管理、任务执行与记录、模板管理等日常操作。
#### 核心价值
- **免切换操作**：无需登录编译构建控制台，无需在控制台各个界面来回操作切换，即可在智能体聊天窗口完成编译构建任务相关操作。
- **自然语言交互**: "对话即操作"，通过指令即可完成任务创建、构建触发、记录查询等操作。
- **全场景覆盖**：覆盖任务管理、构建执行、模板管理、日志管理、任务组管理、Keystore管理六大场景。
- **研发流程贯通：**与需求管理、流水线、代码托管、制品仓库等服务联动，实现端到端研发流程。
 
#### 工作原理
编译构建服务通过CodeArts工具链插件，将自身API能力暴露给华为云码道CodeArts代码智能体调用。智能体理解用户的自然语言指令后，通过KooCLI调用编译构建API执行对应操作，并将结果返回至聊天窗口。
图1交互流程   
![](https://support.huaweicloud.com/usermanual-codeci/zh-cn_image_0000002699471446.png)
#### CodeArts工具链插件
CodeArts工具链插件将需求管理、代码托管、代码检查、测试、流水线与编译构建、制品管理、部署发布等CodeArts研发服务以技能（Skill）和子代理（Subagent）形式集成在代码智能体中。用户安装插件后，无需切换控制台，直接在智能体聊天窗口通过自然语言指令即可触发对应服务操作。主Agent接收用户指令后，通过Skill获取执行规范与路由策略：交互式操作由Skill引导完成，复杂编排任务委托SubAgent在隔离上下文中自主执行并返回结果。CodeArts工具链插件包含的skill及subagent详情请查阅[CodeArts全量Subagent和Skill](https://support.huaweicloud.com/bestpractice-codeartsagent/codeartsagent_bp_0055.html#section1)。
编译构建服务在CodeArts工具链插件中提供了一个技能（Skill）和一个子代理（Subagent）。
技能（codearts-build-expert）是编译构建的交互式执行专家，覆盖创建构建任务、更新构建任务、查询自定义模板、创建模板、下载全量日志等全场景，能理解用户的自然语言意图并逐步引导完成操作；当操作复杂度高、涉及批量处理或多步编排时，技能会将任务转交给子代理（codearts-build-assistant）执行。子代理在独立上下文中自主运行，不占用主会话资源，可自动完成执行构建任务、按项目查询任务列表、查询运行状态、查询构建详情等复杂编排任务，完成后返回结构化结果报告。两者协同构成了编译构建插件的两层执行架构，使智能体能灵活应对从单次查询到批量编排的全场景需求。
#### 适用场景
在进行编译构建时，以下场景均可让华为云码道CodeArts代码智能体完成。
| 场景分类     | 场景说明                                                                                                    | 自然语言指令示例                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| 任务管理     | 包括创建构建任务、更新构建任务、删除任务、收藏任务、取消收藏、禁用任务、查询资源规格、启用任务、查任务详情。                                                 | - 创建一个名为"my-build-task"的构建任务，使用Maven构建模板。  - 更新构建任务"my-build-task"，将构建超时时间改为30分钟。  - 查询可用的构建资源规格。                                                                          |
| 任务执行与记录  | 包括触发构建、停止构建、全局任务列表、查询项目构建记录、查询构建次数、按任务查询构建记录、查询构建成功率、查询构建耗时、查询运行状态、查询构建详情、查询构建记录详情、查询阶段/步骤状态、按项目查询任务列表。 | - 查询所有构建任务列表。  - 查询构建任务"my-build-task"的构建成功率。  - 查看构建记录#123各阶段和步骤的执行状态。  - 查询项目"my-project"下的构建任务列表。   |
| 模板管理       | 包括查询官方模板、查询自定义模板、创建模板、查询模板详情、删除模板。                                                                     | - 创建一个名为"my-template"的构建模板，基于Maven构建。  - 查看构建模板"my-template"的详情。                                                                                                                                                                                |
| 日志管理     | 包括下载全量日志、下载步骤日志。                                                                                       | 下载构建记录#123第2步的日志。                                                                                                                                                                                                                                                                                                                                                                     |
| 任务组管理      | 包括查分组树、创建分组、修改分组、删除分组、移动任务到分组。                                                                            | - 创建一个名为"Group"的任务分组。  - 将构建任务"my-build-task"移动到分组"Group"中。                                                                                                                                                                                   |
| Keystore管理 | 包括查凭证列表、上传凭证、下载凭证。                                                                                      | - 上传Keystore凭证，别名为"my-release-key"。  - 查询Keystore凭证列表。                                                                                                                                                                                    |
   
#### 前提条件
| 序号 | 条件项                                                                                                           | 说明                                          |
|:---|:---|:---|
| 1 | 已安装[华为云码道CodeArts代码智能体](https://support.huaweicloud.com/qs-codeartsagent/codeartsagent_qs_0001.html)并完成账号登录。 | 编译构建智能化需在码道代码智能体中体现。                       |
| 2 | 已[购买CodeArts Build](https://support.huaweicloud.com/usermanual-codeci/codeci_ug_0001.html)。                   | 通过码道代码智能体使用编译构建服务的相关功能，需已购买CodeArts Build。 |
| 3   | 已[配置CodeArts Build项目级角色权限](https://support.huaweicloud.com/usermanual-codeci/codeci_ug_2000.html)。              | 通过码道代码智能体使用编译构建服务的相关功能，需已先配置完相关权限。           |
| 4   | 本操作执行工具调用、大模型推理会消耗码道代码智能体账号下的token或者积分。                                                                                                                                                     ||
   
#### 操作步骤
1. 单击[下载CodeArts工具链插件](https://cnnorth4-cloudide-marketplace.obs.cn-north-4.myhuaweicloud.com/codearts/codeartsplugin/1.0.0/CodeArtsPlugin_resource_26.0924.1549_all.tar.gz)。
2. 单击执行插件包中install.bat脚本，完成插件和KooCLI安装。
3. 完成[KooCLI初始化配置](https://support.huaweicloud.com/usermanual-hcli/hcli_03_002.html)，将常用的永久AK/SK和区域信息存储在配置文件中，避免执行操作时频繁输入这些固定信息。
4. 打开华为云码道代码智能体聊天窗口，用自然语言告诉它你想做什么，就可以开始使用。 
   ![](https://support.huaweicloud.com/usermanual-codeci/public_sys-resources/note_3.0-zh-cn.png)
   - 首次使用CodeArts Agent执行编译构建任务相关操作时，分析过程时间较长，随着指令使用的次数增加，分析速度会逐步提升，响应时间逐渐缩短。
   
   
   
   - 不同CodeArts代码智能体客户端的界面风格有所差异，实际操作请以所用工具的显示为准。
    
   
   
 
#### 场景一：任务管理
以下指令以创建构建任务为例：
```
创建一个名为my-build-task的构建任务，任务信息如下：
所在项目：project
所在分组：group
代码源：Repo
代码仓分支：master
超时时间：60min
```
智能体开始分析任务并执行，整个过程在对话流里实时显示。创建成功后，用户可以在构建任务列表页面查看已构建的任务。
效果示例：
![](https://support.huaweicloud.com/usermanual-codeci/zh-cn_image_0000002719965096.png)
#### 场景二：任务执行与记录
以下指令以停止构建任务为例：
```
停止当前正在运行的构建任务my-build-task
```
智能体开始分析任务并执行。
效果示例：
![](https://support.huaweicloud.com/usermanual-codeci/zh-cn_image_0000002750409863.png)
#### 场景三：模板管理
以下指令以查询自定义构建模板为例：
```
请帮我查询当前项目下所有自定义构建模板
```
智能体开始分析任务并执行。
效果示例：
![](https://support.huaweicloud.com/usermanual-codeci/zh-cn_image_0000002720805946.png)
#### 场景四：日志管理
以下指令以获取全量日志为例：
```
请帮我获取构建任务my-build-task的全量运行日志
```
智能体开始分析任务并执行，码道代码智能体将全量日志保存在本地相关路径下，以便用户随时查看。
效果示例：
![](https://support.huaweicloud.com/usermanual-codeci/zh-cn_image_0000002750429901.png)
#### 场景五：任务组管理
以下指令以修改分组信息为例：
```
请帮我将分组名称5678改为Group2
```
智能体开始分析任务并执行。
效果示例：
![](https://support.huaweicloud.com/usermanual-codeci/zh-cn_image_0000002720962660.png)
#### 场景六：Keystore管理
以下指令以下载Keystore为例：
```
请帮我下载Keystore文件
```
智能体开始分析任务并执行，码道代码智能体将Keystore文件保存在本地相关路径下，以便用户随时查看。
效果示例：
![](https://support.huaweicloud.com/usermanual-codeci/zh-cn_image_0000002750442955.png)
#### 操作技巧
- 描述尽量详细：在指令中明确任务名称、项目名称、构建记录ID等关键信息，有助于智能体更准确地执行。
- 分步骤执行：复杂任务建议分步骤执行（如先查询任务列表，再触发构建），便于逐步确认结果。
- 善用上下文引用：在指令中引用当前打开的文件、Git分支等信息，可提升智能体理解的准确度。
- 关注执行结果：关键操作（如删除任务、删除模板）请仔细检查智能体返回的结果后再确认。
 
