
# 添加上下文
华为云码道代码智能体支持通过引入上下文信息来提升问答准确性。上下文能帮助智能体更准确地理解您的问题背景与意图，从而提供更贴合实际、更具价值的解答。
当前支持多种上下文类型，包括File（文件）、Folder（文件夹）、Symbol、Git、Terminal（终端）、Problems（报错信息）和Knowledge Bases（知识库）等。所有上下文可自由组合，并与用户输入无缝联动，构建更丰富、更准确的问答场景。
#### 约束与限制
表1约束与限制 
| 限制类别 | 具体限制                                                                                                                                                                                                                                   |
|:---|:---|
| 数量限制 | 一次最多支持添加**20个**上下文。                                                                                                                                                                                                                    |
| 大小限制 | 上下文大小不得超过**当前所用模型** **上下文长度的** **4倍**。 例如，使用GLM-5.2模型（上下文长度202.8K Token）时，如果以File作为上下文，则File文件的大小应控制在811.2K Token以内（202.8K × 4）。各模型支持的上下文长度，请参见[表2]。 |
   
#### 添加上下文
1. 参考[快速启动](https://support.huaweicloud.com/usermanual-codeartsagent/codeartsagent_ug_0002.html)操作，登录华为云码道代码智能体IDE。
2. 添加上下文。 
   - 方式一：输入框中输入"#"，在弹出的菜单中选择所需的上下文。
   
   - 方式二：单击输入框中的 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002626932982.png)，选择"添加上下文"，在弹出的菜单中选择所需的上下文。
   
   
   
   
3. 上下文使用示例。 
   例如，当您打开一个项目并需要修复登录功能的bug时，华为云码道代码智能体可根据上下文智能辅助，帮助您更快定位并解决问题，提升开发效率。
   - 添加File：src/auth/login.js，查看登录逻辑。
   
   - 添加Folder：src/components，查看现有结构。
   
   - 添加Git：查看最近相关提交，了解变更历史。
   
   - 添加Problems：查看错误日志，了解具体错误信息。
   
   - 添加Terminal：测试输出，查看测试失败详情。
   
   - 添加Rules：安全规范，确保修复符合安全要求。
   
   
   
   
 
#### 支持的上下文类型
华为云码道代码智能体支持多种上下文类型，并可灵活组合使用，用户输入也可以与上下文结合，共同构成完整的需求表达。当前支持的上下文类型包括：File（文件）、Folder（文件夹）、Symbol、Git、Terminal（终端）、Problems（报错信息）和Knowledge Bases（知识库）等，以下将对每种类型进行详细介绍。
#### File
通过File，可以对一个或多个文件进行提问，也可以对其进行编辑。
操作步骤如下：
在华为云码道代码智能体聊天窗口的输入框中输入"#"，或单击 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002626932982.png)选择"添加上下文"，再选择"File"并从列表中选择您需要的文件。如果需要添加多个文件，重复上述操作即可。
![](https://support.huaweicloud.com/usermanual-codeartsagent/public_sys-resources/note_3.0-zh-cn.png)
单击输入框内引用的文件，即可定位到目标文件。
#### Folder
通过Folder，可以对指定文件夹内的所有内容进行查询与修改。在需要对某个代码模块进行批量操作时，只需选择对应的工程目录，即可高效完成相关任务。
操作步骤如下：
在华为云码道代码智能体聊天窗口的输入框中输入"#"，或单击 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002626932982.png)选择"添加上下文"，再选择"Folder"并从列表中选择您需要的文件夹。如果需要添加多个文件夹，重复上述操作即可。
![](https://support.huaweicloud.com/usermanual-codeartsagent/public_sys-resources/note_3.0-zh-cn.png)
单击输入框内引用的文件夹，即可在资源管理器快速打开目标文件夹。
#### Symbol
通过Symbol，引用函数、类、变量等代码符号作为上下文。
操作步骤如下：
在华为云码道代码智能体聊天窗口的输入框中输入"#"，或单击 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002626932982.png)选择"添加上下文"，再选择"Symbol"并从列表中选择需要引用的函数、类和变量等。
![](https://support.huaweicloud.com/usermanual-codeartsagent/public_sys-resources/note_3.0-zh-cn.png)
华为云码道代码智能体切换为**智能体、自定义智能体**模式时，不支持添加Symbol类型的上下文。
#### Git
通过Git可对提交至代码仓库的代码变更内容进行高效分析，帮助开发者轻松查看每次代码变动，清晰掌握项目演进历程和质量趋势。
操作步骤如下：
在华为云码道代码智能体聊天窗口的输入框中输入"#"，或单击 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002626932982.png)选择"添加上下文"，再选择"Git"并从列表中选择需要引用的commit代码或Checkpoint（检查点）。
#### Terminal
通过Terminal，快速定位历史命令和执行结果。
操作步骤如下：
在华为云码道代码智能体聊天窗口的输入框中输入"#"，或单击 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002626932982.png)选择"添加上下文"，再选择"Terminal"，然后根据需要选取"TerminalFull"（完整终端历史）或"TerminalLastCommand"（最后一次终端命令）。
#### Problems
通过Problems，快速引用编译报错信息，并对所有问题进行全量分析，提供相应的解决方案。
操作步骤如下：
在华为云码道代码智能体聊天窗口的输入框中输入"#"，或单击 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002626932982.png)选择"添加上下文"，再选择"Problems"，即可对报错信息进行提问。
#### Knowledge Bases
通过Knowledge Bases，对整体知识体系进行提问，从而提升代码生成和研发领域问答场景的能力。使用Knowledge Bases前需提前创建对应的知识库，具体操作请参见[知识库](https://support.huaweicloud.com/usermanual-codeartsagent/codeartsagent_ug_0013.html)。
操作步骤如下：
在华为云码道代码智能体聊天窗口的输入框中输入"#"，或单击 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002626932982.png)选择"添加上下文"，再选择"Knowledge Bases"，然后从已创建的知识库集合中，选择您需要的知识库和知识集。
#### Rules
通过自定义规则（Rules），可以帮助华为云码道代码智能体更好地理解代码库结构并遵循项目规范。这些规则可由华为云码道代码智能体自动加载或调用，也可由您手动触发。使用规则前需提前创建对应的规则，具体操作请参考[规则](https://support.huaweicloud.com/usermanual-codeartsagent/codeartsagent_ug_0019.html)。
手动触发的操作步骤如下：
在华为云码道代码智能体聊天窗口的输入框中输入"#"，或单击 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002626932982.png)选择"添加上下文"，再选择"Rules"并从列表中选择您需要的规则。如果需要添加多个规则，重复上述操作即可。
#### 将编辑器的内容作为上下文
在华为云码道代码智能体中编辑代码文件时，华为云码道代码智能体默认能够查看到当前文件。您可以直接向华为云码道代码智能体提问与当前文件相关的问题。例如，对文件中的某一段代码进行提问。
在代码编辑器中，选中对应的代码。单击右键选择"华为云码道（CodeArts）代码智能体：将代码添加到聊天窗"，将选中的内容作为上下文添加到聊天界面的输入框中。
#### 上下文压缩
华为云码道代码智能体提供了一个上下文窗口，可实时显示本轮会话的上下文使用率（即已使用的Token占比），帮助您直观掌握当前上下文用量，避免因超出限制影响会话的连贯性。
当您围绕同一主题持续深入开发，会话内容不断累积，上下文窗口即将溢出时，您可以通过上下文压缩能力压缩当前会话。华为云码道代码智能体会自动为您概括上下文，在降低使用成本的同时，提升响应效率。
![](https://support.huaweicloud.com/usermanual-codeartsagent/public_sys-resources/note_3.0-zh-cn.png)
当您想要讨论一个全新的话题或者开始一个新的任务时，建议您开启一个新的对话。这样可以有效地避免无关历史记录的干扰，使华为云码道代码智能体能够更准确地理解和响应您的需求。
图1上下文窗口   
![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002743174257.png)
 表2上下文压缩规则说明 
| 模式                                                                                              | 模型                                                                        | 上下文长度          | 上下文压缩方式                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| 智能问答                                                                                            | GLM-5.2                                                                   | 202.8K，单位Token | - 手动压缩：上下文用量超过10%时，单击"压缩对话"，可以进行手动压缩。  - 自动压缩：本轮对话加历史对话超过90%时，上下文自动进行压缩。   |
| 智能体 鸿蒙开发 自定义智能体 | GLM-5.2-ArkTS-SPARK GLM-5.2       | 202.8K，单位Token | 自动压缩。本轮对话加历史对话超过90%时，上下文自动进行压缩。                                                                                                                                                                                                                                             |
| 智能体 鸿蒙开发 自定义智能体 | OpenPangu-2.0-Flash OpenPangu-2.0-Pro | 524.3K，单位Token | 自动压缩。本轮对话加历史对话超过90%时，上下文自动进行压缩。                                                                                                                                                                                                                                             |
   
