CodeArts Doer代码智能体支持通过引入上下文信息来提升问答准确性。上下文能帮助智能体更准确地理解您的问题背景与意图,从而提供更贴合实际、更具价值的解答。
当前支持多种上下文来源,包括File(文件)、Folder(文件夹)、Symbol、Git、Terminal(终端)、Problems(报错信息)和Knowledge Bases(知识库)等。所有上下文可自由组合,并与用户输入无缝联动,构建更丰富、更准确的问答场景。
使用上下文存在哪些约束与限制
- 一次最多支持添加20个上下文。
- DTAgent智能体和Workspace智能体不支持引用Git。
- CodeAgent智能体不支持引用Knowledge Bases。
- 仅CodeAgent智能体支持引用Expert Rules。
- JetBrains系列IDE 25.2版本默认会启用2025重制版(Reworked 2025)终端引擎,2025重制版终端引擎会导致引用Terminal异常,无法正常获取到终端输出。请先将终端引擎切回经典(Classic)模式。
- 在IntelliJ IDEA工具栏的左下方,单击
图标,打开终端。
- 单击终端右上角的
图标,选择“终端引擎 > 经典”,将终端引擎设置为“经典”。
图1 切换终端引擎
如何添加上下文
- 参考安装并登录中操作,登录CodeArts Doer代码智能体。
- 单击IDE侧边栏的CodeArts Doer代码智能体图标
,打开聊天窗口。
不同IDE中,图标可能显示为彩色
,以实际IDE中显示为准。
- 在聊天界面的输入框中,单击“添加上下文”或输入“#”,弹出选择窗口后即可添加所需的上下文。
图2 在聊天界面的输入框添加上下文
如果您使用的是IntelliJ IDEA工具中安装的CodeArts Doer代码智能体插件,还支持在代码编码区单击右键选择“CodeArts Doer代码智能体:编辑区对话”。随后在输入框中输入“#”,触发上下文添加窗口。
图3 在代码编辑区添加上下文
支持的上下文类型
代码智能体支持多种上下文类型,并可灵活组合使用,用户输入也可以与上下文结合,共同构成完整的需求表达。当前支持的上下文类型包括:File(文件)、Folder(文件夹)、Symbol、Git、Terminal(终端)、Problems(报错信息)和Knowledge Bases(知识库)等,以下将对每种类型进行详细介绍。
File
通过File,可以对一个或多个文件进行提问,也可以对其进行编辑。
例如,在CodeArts Doer代码智能体聊天窗口的输入框中,单击“添加上下文”,选择“File”并从列表中选择您需要的文件。如果需要添加多个文件,只需在输入框中输入“#”,即可再次打开上下文窗口继续添加。
Folder
通过Folder,可以对指定文件夹内的所有内容进行查询与修改。在需要对某个代码模块进行批量操作时,只需选择对应的工程目录,即可高效完成相关任务。
例如,在CodeArts Doer代码智能体聊天窗口的输入框中,单击“添加上下文”,选择“Folder”并从列表中选择您需要的文件夹。如果需要添加多个文件夹,只需在输入框中输入“#”,即可再次打开上下文窗口继续添加。
Symbol
通过Symbol,引用函数、类、变量等代码符号作为上下文。
例如,在CodeArts Doer代码智能体聊天窗口的输入框中,单击“添加上下文”,选择“Symbol”并从列表中选择需要引用的函数、类和变量等。
如果是IntelliJ IDEA工具中安装的CodeArts Doer代码智能体且模型选择UT智能体时,不支持添加Symbol类型的上下文。
Git
通过Git,可以对提交到代码仓库中的代码变更内容进行高效地分析,帮助开发者轻松查看每次代码变更,清晰掌握项目演进和质量趋势。
例如,在CodeArts Doer代码智能体聊天窗口的输入框中,单击“添加上下文”,选择“Git”,选择对应的commit代码,然后输入对应的问题进行提问。
如果是IntelliJ IDEA工具中安装的CodeArts Doer代码智能体且模型选择UT智能体时,不支持添加Symbol类型的上下文。
Terminal
通过Terminal,快速定位历史命令和执行结果。
例如,在CodeArts Doer代码智能体聊天窗口的输入框中,单击“添加上下文”,选择“Terminal”,然后根据需要选取“TerminalFull”(完整终端历史)或“TerminalLastCommand”(最后一次终端命令)。
Problems
通过Problems,快速引用编译报错信息,并对所有问题进行全量分析,提供相应的解决方案。
例如,在CodeArts Doer代码智能体聊天窗口的输入框中,单击“添加上下文”,选择“Problems”,即可对报错信息进行提问。
Knowledge Bases
通过Knowledge Bases,对整体知识体系进行提问,从而提升代码生成和研发领域问答场景的能力。使用Knowledge Bases前需要提前创建好知识库,具体操作请参见知识库集合。
例如,在CodeArts Doer代码智能体聊天窗口的输入框中,单击“添加上下文”,选择“Knowledge Bases”,然后从已创建的知识库集合中,选择您需要的知识库和知识集。
Rules
CodeArts Doer代码智能体切换为智能体模式时,才支持创建Rules。
通过自定义规则(Rules),可以帮助AI更好地理解代码库结构并遵循项目规范。这些规则可由智能体自动加载或调用,并能与代码库保持同步,确保一致性与准确性。
- 在聊天窗口的输入框中,单击
,选择“智能体”。
图4 选择CodeAgent类型智能体
- 在聊天窗口的输入框中,单击“添加上下文”,打开上下文选择窗口。
- 在上下文列表中单击“Rules”,再单击“新建Rule”,进入新建规则页面。
- 输入新建规则的名称并选择生效场景(自动应用和手动触发),单击“确定”,完成规则的创建。
- 自动应用:自动应用于所有会话(含CodeArts Doer代码智能体编辑区),规则默认生效。
- 手动触发:仅当在对话中输入“#”时,规则才会被调用并生效。
将编辑器的内容作为上下文
在CodeArts Doer代码智能体中编辑代码文件时,CodeArts Doer代码智能体默认能够查看到当前文件。您可以直接向CodeArts Doer代码智能体提问与当前文件相关的问题。例如,对文件中的某一段代码进行提问。
在代码编辑器中,选中对应的代码。单击右键选择“CodeArts Doer代码智能体:将代码添加到聊天窗”,将选中的内容作为上下文添加到研发问答的聊天框中。
图5 将编辑器的内容作为上下文