华为云码道(CodeArts)代码智能体支持通过引入上下文信息来提升问答准确性。上下文能帮助智能体更准确地理解您的问题背景与意图,从而提供更贴合实际、更具价值的解答。
当前支持多种上下文来源,包括File(文件)、Folder(文件夹)、Symbol、Git、Terminal(终端)、Problems(报错信息)和Knowledge Bases(知识库)等。所有上下文可自由组合,并与用户输入无缝联动,构建更丰富、更准确的问答场景。
约束与限制
表1 约束与限制 限制类别 | 具体限制 |
|---|
数量限制 | - 智能体:一次最多支持添加5个上下文。
- 智能问答:一次最多支持添加20个上下文。
- UT智能体:一次最多支持添加1个上下文。
|
大小限制 | 上下文大小不得超过当前所用模型上下文长度的4倍。 例如,使用DeepSeek‑V3.2模型(上下文长度160K Token)时,如果以File作为上下文,则File文件的大小应控制在640K Token以内(160K × 4)。各模型支持的上下文长度,请参见表2。 |
JetBrains限制 | JetBrains系列 IDE 25.2版本默认会启用2025重制版(Reworked 2025)终端引擎,2025重制版终端引擎会导致引用Terminal异常,无法正常获取到终端输出。请先将终端引擎切回 经典(Classic)模式。 - 在IntelliJ IDEA工具栏的左下方,单击终端图标
,打开终端。 - 单击终端右上角的
,选择“终端引擎 > 经典”,将终端引擎设置为“经典”。
|
如何添加上下文
- 参考快速启动操作,登录华为云码道。
- 打开华为云码道聊天窗口。
- 华为云码道IDE:单击IDE顶部菜单栏中的展开AI侧栏图标
,打开华为云码道聊天窗口。 - Visual Studio Code:单击Visual Studio Code侧边栏图标
,打开华为云码道聊天窗口。 - JetBrains:以IntelliJ IDEA为例,单击IntelliJIDEA侧边栏图标
,打开华为云码道聊天窗口。

不同工具中华为云码道的界面风格有所差异,本章以其在IDE工具中的界面为例进行介绍,实际操作请以所用工具的显示为准。
- 以华为云码道IDE为例,当您在聊天界面的输入框中,输入符号“#”,弹出选择窗口后即可添加所需的上下文。
图1 在聊天界面的输入框添加上下文

如果您使用的是JetBrains系列开发工具(如IntelliJ IDEA),还支持在代码编码区单击右键选择“CodeArts代码智能体:编辑区对话”。随后在输入框中输入“#”,触发上下文添加窗口。
图2 在代码编辑区添加上下文
- 上下文使用示例。
例如,当您打开一个项目并需要修复登录功能的bug时,华为云码道可根据上下文智能辅助,帮助您更快定位并解决问题,提升开发效率。
- 添加File:src/auth/login.js,查看登录逻辑。
- 添加Folder:src/components,查看现有结构。
- 添加Git:查看最近相关提交,了解变更历史。
- 添加Problems:查看错误日志,了解具体错误信息。
- 添加Terminal:测试输出,查看测试失败详情。
- 添加Rules:安全规范,确保修复符合安全要求。
支持的上下文类型
华为云码道支持多种上下文类型,并可灵活组合使用,用户输入也可以与上下文结合,共同构成完整的需求表达。当前支持的上下文类型包括:File(文件)、Folder(文件夹)、Symbol、Git、Terminal(终端)、Problems(报错信息)和Knowledge Bases(知识库)等,以下将对每种类型进行详细介绍。
File
通过File,可以对一个或多个文件进行提问,也可以对其进行编辑。
例如,在华为云码道聊天窗口的输入框中,输入符号“#”,选择“File”并从列表中选择您需要的文件。如果需要添加多个文件,只需在输入框中再次输入“#”,即可打开上下文窗口继续添加。
Folder
通过Folder,可以对指定文件夹内的所有内容进行查询与修改。在需要对某个代码模块进行批量操作时,只需选择对应的工程目录,即可高效完成相关任务。
例如,在华为云码道聊天窗口的输入框中,输入符号“#”,选择“Folder”并从列表中选择您需要的文件夹。如果需要添加多个文件夹,只需在输入框中再次输入“#”,即可打开上下文窗口继续添加。
Symbol
通过Symbol,引用函数、类、变量等代码符号作为上下文。
例如,在华为云码道聊天窗口的输入框中,输入符号“#”,选择“Symbol”并从列表中选择需要引用的函数、类和变量等。

华为云码道切换为智能体或UT智能体模式时,不支持添加Symbol类型的上下文。
Git
通过Git,可以对提交到代码仓库中的代码变更内容进行高效分析,帮助开发者轻松查看每次代码变更,清晰掌握项目演进和质量趋势。
例如,在华为云码道聊天窗口的输入框中,输入符号“#”,选择“Git”,选择对应的commit代码,然后输入对应的问题进行提问。

在JetBrains系列开发工具(如IntelliJ IDEA)中,当模型选择UT智能体时,暂不支持添加Git类型的上下文。
Terminal
通过Terminal,快速定位历史命令和执行结果。
例如,在华为云码道聊天窗口的输入框中,输入符号“#”,选择“Terminal”,然后根据需要选取“TerminalFull”(完整终端历史)或“TerminalLastCommand”(最后一次终端命令)。
Problems
通过Problems,快速引用编译报错信息,并对所有问题进行全量分析,提供相应的解决方案。
例如,在华为云码道聊天窗口的输入框中,输入符号“#”,选择“Problems”,即可对报错信息进行提问。
Knowledge Bases
通过Knowledge Bases,对整体知识体系进行提问,从而提升代码生成和研发领域问答场景的能力。使用Knowledge Bases前需要提前创建好知识库,具体操作请参见知识库。
例如,在华为云码道聊天窗口的输入框中,输入符号“#”,选择“Knowledge Bases”,然后从已创建的知识库集合中,选择您需要的知识库和知识集。

华为云码道切换为智能体或UT智能体模式时,不支持添加Knowledge Bases类型的上下文。
Rules
通过自定义规则(Rules),可以帮助华为云码道更好地理解代码库结构并遵循项目规范。这些规则可由智能体自动加载或调用,并能与代码库保持同步,确保一致性与准确性。使用规则前需要提前创建好规则,具体操作请参考规则。

在JetBrains系列开发工具(如IntelliJ IDEA)中,当模型选择UT智能体时,暂不支持添加Rules类型的上下文。
将编辑器的内容作为上下文
在华为云码道中编辑代码文件时,华为云码道默认能够查看到当前文件。您可以直接向华为云码道提问与当前文件相关的问题。例如,对文件中的某一段代码进行提问。
在代码编辑器中,选中对应的代码。单击右键选择“CodeArts代码智能体:将代码添加到聊天窗”,将选中的内容作为上下文添加到研发问答的聊天框中。
图3 将编辑器的内容作为上下文
上下文压缩
华为云码道提供了一个上下文窗口(如图4),可实时显示本轮对话的上下文使用率(即已使用的Token占比),帮助您直观掌握当前上下文用量,避免因超出限制影响对话的连贯性。
当您围绕同一主题持续深入开发,对话内容不断累积,上下文窗口即将溢出时,您可以通过上下文压缩能力压缩当前对话。华为云码道会自动为您概括上下文,在降低使用成本的同时,提升响应效率。

- 当您想要讨论一个全新的话题或者开始一个新的任务时,建议您开启一个新的对话。这样可以有效地避免无关历史记录的干扰,使华为云码道能够更准确地理解和响应您的需求。
- 在JetBrains系列开发工具(如IntelliJ IDEA)中,当模型选择UT智能体时,暂不支持上下文压缩。
图4 上下文窗口
表2 上下文压缩规则说明 模式 | 模型 | 上下文限制 | 上下文压缩方式 |
|---|
智能问答 | DeepSeek-V3.2 | 160.0K,单位Token | - 手动压缩:上下文用量超过10%时,单击“压缩对话”,可以进行手动压缩。
- 自动压缩:本轮对话加历史对话超过90%时,上下文自动进行压缩。
|
GLM-4.7 GLM-5 | 198.0K,单位Token |
智能体 | DeepSeek-V3.2 | 128.0K,单位Token | 自动压缩。本轮对话加历史对话超过90%时,上下文自动进行压缩。 |
GLM-4.7 GLM-5 GLM-4.7-SFT-ARKTS | 192.0K,单位Token |