华为云码道(CodeArts)代码智能体支持通过引入上下文信息来提升问答准确性。上下文能帮助智能体更准确地理解您的问题背景与意图,从而提供更贴合实际、更具价值的解答。
当前支持多种上下文类型,包括File(文件)、Folder(文件夹)、Symbol、Git、Terminal(终端)、Problems(报错信息)和Knowledge Bases(知识库)等。所有上下文可自由组合,并与用户输入无缝联动,构建更丰富、更准确的问答场景。
约束与限制
表1 约束与限制 | 限制类别 | 具体限制 |
| 数量限制 | - 智能体/自定义智能体:一次最多支持添加5个上下文。
- 智能问答:一次最多支持添加20个上下文。
|
| 大小限制 | 上下文大小不得超过当前所用模型上下文长度的4倍。 例如,使用DeepSeek-V3.2模型(上下文长度160K Token)时,如果以File作为上下文,则File文件的大小应控制在640K Token以内(160K × 4)。各模型支持的上下文长度,请参见表2。 |
添加上下文
- 参考快速启动操作,登录华为云码道。
- 在聊天界面的输入框下方选择,切换到智能问答模式。右侧显示当前选用的模型,您可在下拉框中切换不同大语言模型。
如果没有正常显示华为云码道的聊天窗口,请在顶部菜单栏的右上方,单击展开AI侧栏图标
,即可打开华为云码道。
- 在输入框中输入“#”,弹出选择窗口后即可添加所需的上下文。
图1 在输入框添加上下文
- 上下文使用示例。
例如,当您打开一个项目并需要修复登录功能的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”并从列表中选择需要引用的函数、类和变量等。
华为云码道切换为智能体模式时,不支持添加Symbol类型的上下文。
Git
通过Git可对提交至代码仓库的代码变更内容进行高效分析,帮助开发者轻松查看每次代码变动,清晰掌握项目演进历程和质量趋势。
操作步骤如下:
在华为云码道聊天窗口的输入框中,输入“#”,选择“Git”并从列表中选择需要引用的commit代码或Checkpoint(检查点)。
Terminal
通过Terminal,快速定位历史命令和执行结果。
操作步骤如下:
在华为云码道聊天窗口的输入框中,输入“#”,选择“Terminal”,然后根据需要选取“TerminalFull”(完整终端历史)或“TerminalLastCommand”(最后一次终端命令)。
Problems
通过Problems,快速引用编译报错信息,并对所有问题进行全量分析,提供相应的解决方案。
操作步骤如下:
在华为云码道聊天窗口的输入框中,输入“#”,选择“Problems”,即可对报错信息进行提问。
Knowledge Bases
通过Knowledge Bases,对整体知识体系进行提问,从而提升代码生成和研发领域问答场景的能力。使用Knowledge Bases前需提前创建对应的知识库,具体操作请参见知识库。
操作步骤如下:
在华为云码道聊天窗口的输入框中,输入“#”,选择“Knowledge Bases”,然后从已创建的知识库集合中,选择您需要的知识库和知识集。
Rules
通过自定义规则(Rules),可以帮助华为云码道更好地理解代码库结构并遵循项目规范。这些规则可由华为云码道自动加载或调用,也可由您手动触发。使用规则前需提前创建对应的规则,具体操作请参考规则。
手动触发的操作步骤如下:
在华为云码道聊天窗口的输入框中,输入“#”,选择“Rules”并从列表中选择您需要的规则。如果需要添加多个规则,只需在输入框中再次输入“#”,即可打开上下文窗口继续添加。
将编辑器的内容作为上下文
在华为云码道中编辑代码文件时,华为云码道默认能够查看到当前文件。您可以直接向华为云码道提问与当前文件相关的问题。例如,对文件中的某一段代码进行提问。
在代码编辑器中,选中对应的代码。单击右键选择“华为云码道(CodeArts)代码智能体:将代码添加到聊天窗”,将选中的内容作为上下文添加到研发问答的聊天框中。
图2 将编辑器的内容作为上下文
上下文压缩
华为云码道提供了一个上下文窗口(如图3),可实时显示本轮对话的上下文使用率(即已使用的Token占比),帮助您直观掌握当前上下文用量,避免因超出限制影响对话的连贯性。
当您围绕同一主题持续深入开发,对话内容不断累积,上下文窗口即将溢出时,您可以通过上下文压缩能力压缩当前对话。华为云码道会自动为您概括上下文,在降低使用成本的同时,提升响应效率。
当您想要讨论一个全新的话题或者开始一个新的任务时,建议您开启一个新的对话。这样可以有效地避免无关历史记录的干扰,使华为云码道能够更准确地理解和响应您的需求。
图3 上下文窗口
表2 上下文压缩规则说明 | 模式 | 模型 | 上下文限制 | 上下文压缩方式 |
| 智能问答 | DeepSeek-V3.2 | 160.0K,单位Token | - 手动压缩:上下文用量超过10%时,单击“压缩对话”,可以进行手动压缩。
- 自动压缩:本轮对话加历史对话超过90%时,上下文自动进行压缩。
|
| GLM-5 GLM-5.1 | 198.0K,单位Token |
| 智能体 自定义智能体 | DeepSeek-V3.2 | 160.0K,单位Token | 自动压缩。本轮对话加历史对话超过90%时,上下文自动进行压缩。 |
| GLM-4.7-ArkTS-SPARK GLM-5 GLM-5.1 | 198.0K,单位Token |