
# 自定义智能体
智能体（Agent）是面向多样化开发场景的编程助手。华为云码道代码智能体不仅内置了多种智能体，还支持自定义智能体功能。在自定义智能体中，通过灵活配置提示词（Prompt）、技能（Skill）及工具集，您可以打造专属助手，从而更高效地应对复杂开发任务。
华为云码道代码智能体支持创建**本地** 和**云端**两种类型的智能体：本地智能体在客户端创建，云端智能体在控制台创建。
本章节介绍在客户端管理本地智能体的操作，如需在控制台管理云端智能体，请参考[管理智能体中心](https://support.huaweicloud.com/usermanual-enterprise/codeartsagent_enterprise_0027.html)。
#### 本地自定义智能体分类
 表1本地自定义智能体分类 
| 作用范围 | 说明                                                                                                            |
|:---|:---|
| 项目级  | 仅针对当前项目生效，随代码库分发，存储在本地。 存储路径：项目根目录的"./.codeartsdoer/agents"          |
| 个人级  | 针对当前用户下的所有项目生效，存储在本地。 存储位置：本地的"%USERPROFILE%/.codeartsdoer/agents/" |
   
#### 通过界面创建本地自定义智能体
1. 参考[快速启动](https://support.huaweicloud.com/usermanual-codeartsagent/codeartsagent_ug_0002.html)操作，登录华为云码道代码智能体IDE。
2. 单击华为云码道代码智能体IDE右上角的设置图标 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002577621922.png)，进入全局设置页面。
3. 在设置页面的左侧导航栏中，选择"智能体"，进入"智能体"页面。
4. 单击"创建智能体"，进入创建智能体页面。
5. 设置智能体参数，单击"创建"。 
   图1创建本地自定义智能体   
   ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002655808892.png "点击放大")
   表2创建本地自定义智能体参数说明 
   | 参数    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   |:---|:---|
   | 智能体头像 | 系统预置了多种风格的自定义智能体头像。单击头像上的 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002527524034.png)，即可根据需求选择合适的风格。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | 智能体名称 | 新建自定义智能体的名称。 命名规范：长度2\~20字符，由中文、英文字母、数字、下划线和中划线（-）组成，且必须以中文或英文字母开头。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   | 作用域   | 定义自定义智能体的使用范围。 - 项目级：该智能体只在当前项目可用，其他项目无法调用。    - 个人级：该智能体在当前用户的所有项目中均可调用。                                                                                                                                                                                                                                                            |
   | 智能体类型 | 选择智能体的工作模式，影响其行为逻辑和能力边界。 - 主/子智能体：既可作为子智能体被主智能体调用，也可作为主智能体调用子智能体。  - 主智能体：独立运行处理用户请求，不能被其他智能体调用。  - 子智能体：可被主智能体调用，用于完成特定任务。                                                                                                                                                                             |
   | 描述    | 简要说明这个智能体能做什么，帮助用户理解其功能，长度不能超过5000个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | 提示词   | 设定智能体的角色、语气、工作流程、规则规范等系统指令，相当于给AI的"人设+行为准则"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | 技能    | 为智能体关联技能，使其具备执行某些专业任务的能力。 说明： 华为云码道代码智能体对智能体关联的技能数量没有硬性限制，**建议不要超过20个，确保获得最优使用体验。**                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | MCP工具 | 仅当"作用域"设置为"项目级"时，才显示该配置项。 为智能体接入外部工具或服务，让它能够与外界进行交互，例如获取实时信息、操作各类软件等。 最多支持添加80个MCP工具，建议同时启用的工具数量控制在8个以内，启用3个可获得最优使用体验。                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | 内置工具  | 智能体本身自带的、开箱即用的工具。 - 阅读：检索并查看文件内容。  - 编辑：对文件进行新增、修改或删除操作。  - 终端：在命令行环境中执行系统命令。  - 预览：实时预览生成的前端页面效果。  - 访问网页：抓取并读取网页内容。   |
      
   
   
6. 验证自定义智能体。 
   - 自定义智能体创建后，在对应类别页签中（"项目级"/"个人级"），可查看到已创建的智能体，且状态为已开启。
   
   - 在聊天界面的输入框中，单击"智能体"，在自定义智能体列表中可查看到目标智能体。
     ![](https://support.huaweicloud.com/usermanual-codeartsagent/public_sys-resources/note_3.0-zh-cn.png)
     如果您创建的是**子智能体**，则不会在自定义智能体中显示。
     
   
   
   
   
 
#### 通过Markdown文件创建自定义智能体
华为云码道代码智能体支持通过新建Markdown文件，配置**本地** **项目级** 或**本地个人级** 智能体。**存在** **同名的项目级和个人级智能体** **时，** **项目级智能体优先级高于个人级智能体**。
- [智能体文件格式]
- [添加项目级智能体]
- [添加个人级智能体]
- [创建智能体示例]
智能体采用Markdown文件格式编写，文件头部配置YAML Frontmatter元信息，主体承载Prompt角色指令。
```
---
name: agent-name         # 智能体名称
mode: subagent           # 智能体模式
description: Agent desc  # 智能体功能描述
tools:                   # 工具权限配置
  tool1: true           # 允许使用tool1
  tool2: false            # 禁止使用tool2
---
# 提示词
这里是智能体的系统提示词内容
```
上述智能体各参数填写规范如下表所示：
表3Markdown文件参数说明 
| 参数          | 是否必选 | 参数类型                                                | 默认值 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|:---|
| name        | 是    | String                                              | 不涉及 | 新建智能体的名称。                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| mode        | 否    | String                                              | 不涉及 | 设置智能体的角色。 - subagent：只能作为子智能体，可被主智能体调用。  - primary：只能作为主智能体，不能被其他智能体调用。  - all：既可作为子智能体被主智能体调用，也可作为主智能体调用子智能体。   |
| description | 是    | String                                              | 不涉及 | 智能体的描述信息。                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| tools       | 否    | [Object] | 不涉及 | 控制智能体可使用的工具权限，华为云码道代码智能体支持的工具如[表5]所示，您也可以使用"\*"匹配所有工具。 示例： ``` tools： "*":false    #表示禁用所有工具 ```                                                                                                                                                                                                                      |
| 提示词         | 是    | String                                              | -   | 智能体的系统提示词。                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   
 表4tools对象取值说明 
| 参数    | 说明      |
|:---|:---|
| true  | 允许使用该工具 |
| false | 禁止使用该工具 |
   
 表5华为云码道代码智能体支持的工具 
| 工具        | 说明     |
|:---|:---|
| read      | 读取文件   |
| write     | 写入文件   |
| edit      | 编辑文件   |
| bash      | 执行命令   |
| glob      | 文件模式匹配 |
| grep      | 内容搜索   |
| list      | 列出目录   |
| task      | 子任务    |
| webfetch  | 获取网页   |
| websearch | 搜索网页   |
| question  | 询问用户   |
   
为**当前项目** 定制的智能体，随代码库一并分发。**项目级智能体添加后立即生效。若为子智能体，其** **何时被使用由主智能体决定。**您可以通过以下任一方法添加项目级智能体。
- **方式一：新建项目级智能体**
  1. 参考[快速启动](https://support.huaweicloud.com/usermanual-codeartsagent/codeartsagent_ug_0002.html)操作，登录华为云码道代码智能体IDE。
  
  2. 在"资源管理器"的"./.codeartsdoer/agents"文件夹上，单击鼠标右键选择"新建 \> 文件"，新建一个Markdown格式的文件。 智能体名称由小写字母、数字和连字符（-）组成，开头和结尾不能是连字符，且连字符不可连续使用，长度1\~64字符。例如code-reviewer。
     
  
  3. 在code-reviewer.md文件中编写智能体，完成后按快捷键（Windows/Linux："Ctrl+S"；macOS:"Command(⌘)+S"）保存。
   
- **方式二：将已存在的智能体放置到指定路径**
  将本地已存在的智能体放置到项目根目录的"./.codeartsdoer/agents"路径中。
  
 
**个人级智能体添加后立即生效。若为子智能体，其何时被使用由主智能体决定。**您可以通过以下任一方法添加个人级智能体。
- **方式一：新建个人级智能体**
  1. 在本地的"%USERPROFILE%/.codeartsdoer/agents/"路径中，新建一个Markdown格式的智能体文件。 智能体名称由小写字母、数字和连字符（-）组成，开头和结尾不能是连字符，且连字符不可连续使用，长度1\~64字符。例如code-analyzer。
     
  
  2. 在code-analyzer.md文件中编写智能体，完成后按快捷键（Windows/Linux："Ctrl+S"；macOS:"Command(⌘)+S"）保存。
   
- **方式二：将已存在的智能体放置到指定路径**
  将本地已存在的智能体放置到"%USERPROFILE%/.codeartsdoer/agents/"路径中。
  
 
下面以创建一个**项目级子智能**体为例，向您介绍如何创建和使用智能体。
1. 在"资源管理器"的"./.codeartsdoer/agents"文件夹上，单击鼠标右键选择"新建 \> 文件"，新建一个Markdown格式的文件，文件名为code-analyzer.md。
2. 在创建的"code-analyzer.md"文件中，添加如下内容并保存。 
   ![](https://support.huaweicloud.com/usermanual-codeartsagent/public_sys-resources/caution_3.0-zh-cn.png)
   .md文件名字需要与.md文件中的"name"字段保持一致，否则您的子智能体会运行失败。例如，示例中的.md文件名字与"name"字段均为"code-analyzer"。
   ```
   ---
   name: code-analyzer
   mode: subagent
   description: 代码分析专家，只读取不修改
   tools:
     read: true
     glob: true
     grep: true
     list: true
   ---
   你是一个代码分析专家。你的任务是：
   1. 分析代码结构和质量
   2. 识别潜在问题和改进点
   3. 提供优化建议
   请仔细分析代码，但不要修改任何文件。
   ```
   文件保存成功后，在华为云码道代码智能体IDE设置页面的"智能体 \> 项目级"页签中，可查看到目标智能体，且状态为已启用。
   图2查看目标智能体   
   ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002595031838.png "点击放大")
   
   
3. 添加待检查的代码文件，并调用子智能体检查代码质量。 
   1. 在华为云码道代码智能体聊天窗口的输入框中，输入"#"，选择"File"并从列表中选择您需要的文件。
   
   2. 输入相关指令，如"使用code-analyzer检查代码质量"，单击发送图标 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002625165910.png)。
   
   3. 查看子智能体调用结果。 智能体会调用子智能体，并在回复中显示调用的子智能体名称。
      图3子智能体使用示例   
      ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002685985509.png "点击放大") 
   
   
   
   
 
#### 使用自定义智能体
1. 在聊天界面的输入框下方选择自定义的智能体（如Python调试专家），切换到自定义智能体模式。右侧显示当前选用的模型，您可在下拉框中切换不同大语言模型。 
   ![](https://support.huaweicloud.com/usermanual-codeartsagent/public_sys-resources/note_3.0-zh-cn.png)
   如果没有正常显示华为云码道代码智能体的聊天窗口，请在顶部菜单栏的右上方，单击**展开AI侧栏** 图标 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002577501958.png)，即可打开华为云码道代码智能体。
   
   
2. 在聊天界面的输入框中，输入相关指令（如输入一段包含错误的Python代码片段），单击发送图标 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002625165910.png)或使用"Enter"快捷键发送。
3. 查看智能体执行结果。 
   智能体会自动检测代码片段中包含的语法或逻辑错误，并提供准确的修复建议及修正后的代码。
   图4智能体执行结果   
   ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002656101594.png "点击放大")
   
   
 
#### 修改本地自定义智能体使用的默认模型
自定义智能体创建后，其模型使用遵循以下规则：**主智能体** 默认沿用系统内置**智能体** 的模型（假设，系统内置智能体选用GLM-5.2作为大语言模型，则自定义智能体的模型默认为GLM-5.2），**子智能体**则直接继承调用它的主智能体所使用的模型。如果需要修改自定义智能体默认使用的模型，可通过修改自定义智能体的配置文件来实现。
1. 进入自定义智能体配置文件所在目录。 
   以**项目级** 自定义智能体为例，在本地机器上，进入项目目录的"./.codeartsdoer/agents/"。您也可以直接在华为云码道代码智能体IDE工具的资源管理器中定位到对应目录。其他类型的自定义智能体Markdown文件存放路径，请参见[表1]。
   
   
2. 打开自定义智能体的Markdown文件，增加**model** 字段并保存文件（Windows/Linux："Ctrl+S"；macOS:"Command(⌘)+S"）。
   
   在华为云码道代码智能体中，通过配置**model**字段为自定义智能体指定默认模型。您可以针对特定任务动态切换最优模型，从而平衡性能与成本。例如，在规划阶段采用轻量级高速模型以提升响应速度，而在实现阶段则调用高能力模型以确保执行质量。
   model值的格式为"provider/model-id"，其中"provider"为模型供应商（在华为云码道代码智能体中请配置为inferhub-provider），"model-id"为具体模型的ID。
   ![](https://support.huaweicloud.com/usermanual-codeartsagent/public_sys-resources/caution_3.0-zh-cn.png)
   如果配置的模型不存在或无权限，**主智能体** 会自动切换至内置智能体的默认模型，**子智能体**则会继承主智能体的模型。
   ```
   ---
   description: 专注于Python代码错误排查与优化，预期专业且简洁。
   mode: primary
   model: inferhub-provider/GLM-5.2
   permission:
     skill:
       '*': deny
   disable: false
   scope: project
   avatar: avatar1
   ---
   ```
   表6华为云码道代码智能体系统内置模型ID 
   | 模型名                 | 模型ID                |
   |:---|:---|
   | GLM-5.2             | GLM-5.2             |
   | GLM-5.2-ArkTS-SPARK | glm-5.2-sft-harmony |
   | OpenPangu-2.0-Flash | openpangu-2.0-flash |
   | OpenPangu-2.0-Pro   | openpangu-2.0-pro   |
      
   
   
3. 返回华为云码道代码智能体IDE设置页面，在"智能体"中单击 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002583205122.png)，刷新智能体配置。
4. 查看自定义智能体默认使用的大语言模型。 
   在聊天界面的输入框中，切换至目标自定义智能体后，系统将自动应用由Markdown配置文件设定的默认模型（如GLM-5.2）。
   
   
 
#### 管理本地自定义智能体
华为云码道代码智能体IDE具备自定义智能体的全生命周期管理能力。用户可根据实际业务需求，对已创建的智能体进行高效管控与持续优化。
表7管理本地自定义智能体 
| 操作                   | 具体步骤                                                                                                                                                                                                                                                    |
|:---|:---|
| 启用或停用本地自定义智能体        | 在设置页面的"智能体 \> 项目级"/"智能体 \> 个人级"页签中，单击目标智能体上的 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002655524203.png)/![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002625552926.png)，即可启用或停用该智能体。 |
| 编辑本地自定义智能体           | 在设置页面的"智能体 \> 项目级"/"智能体 \> 个人级"页签中，将鼠标悬浮在目标智能体上，单击 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002577609368.png)，即可对智能体进行编辑。                                                                                           |
| 删除本地自定义智能体           | 在设置页面的"智能体 \> 项目级"/"智能体 \> 个人级"页签中，将鼠标悬浮在目标智能体上，单击 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002608049329.png)。在弹出的确认对话框中单击"确认"，即可完成删除。 **智能体删除后不可恢复，请确保该智能体已不再使用后再执行此操作。**  |
| 从云端同步自定义智能体到本地       | 用户登录华为云码道代码智能体客户端时，系统会将云端用户可见的智能体缓存到本地。此后，缓存**每24小时** 自动刷新一次，确保与云端信息保持同步。您也可以在"智能体"页面，单击刷新图标 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002608209247.png)，进行手动刷新。                                                     |
| 启用或停用从云端同步到本地的自定义智能体 | 在设置页面的"智能体 \> 企业级"/"智能体 \> 团队级"页签中，单击目标智能体上的 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002655524203.png)/![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002625552926.png)，即可启用或停用该智能体。 |
| 查看从云端同步到本地的自定义智能体配置  | 在设置页面的"智能体 \> 企业级"/"智能体 \> 团队级"/"智能体 \> 个人级 \> 云端"中，将鼠标悬浮在目标智能体上，单击 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002618034021.png)，即可查看智能体配置详情。                                                                         |
   
