本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
上下文管理
管理上下文
上下文文件包含您希望 Amazon Q 在对话中考虑的信息。这些信息可能包括项目要求、编码标准、开发规则或任何其他有助于 Amazon Q 提供更多相关响应的信息。
有两种配置上下文的方法:
-
代理资源(推荐):代理配置文件中定义的永久上下文
-
会话上下文:在聊天会话期间使用
/context
命令添加临时上下文
使用代理资源配置永久上下文
配置上下文的推荐方法是通过代理配置文件中的resources
字段。这将创建每次使用代理时都可用的持久上下文。
在代理配置中向resources
数组添加文件路径或 glob 模式:
{ "name": "my-agent", "description": "My development agent", "resources": [ "file://README.md", "file://.amazonq/rules/**/*.md", "file://docs/**/*.md", "file://src/config.py" ] }
资源必须以为前缀file://
才能包含为上下文文件。这些文件将在使用此代理的所有聊天会话中自动可用。
添加临时会话上下文
您可以使用/context add
命令将文件临时添加到当前的聊天会话中。这些新增内容仅适用于当前会话,并且在您开始新的聊天会话时不会保留。
q chat > /context add README.md Added 1 path(s) to context. Note: Context modifications via slash command is temporary.
你也可以使用 glob 模式一次添加多个文件:
q chat > /context add docs/*.md Added 3 path(s) to context. Note: Context modifications via slash command is temporary.
要使上下文更改永久化,请改为将文件添加到代理的resources
字段中。
查看上下文
要查看当前的上下文,请使用以下/context show
命令:
q chat > /context show 👤 Agent (my-agent): README.md (1 match) .amazonq/rules/**/*.md (3 matches) docs/**/*.md (5 matches) 💬 Session (temporary): <none> 5 matched files in use: 👤 README.md (~250 tkns) 👤 .amazonq/rules/security.md (~180 tkns) 👤 .amazonq/rules/coding-standards.md (~320 tkns) 👤 docs/architecture.md (~150 tkns) 👤 docs/best-practices.md (~200 tkns) Total: ~1100 tokens
输出显示:
-
👤 代理:来自代理
resources
字段的永久上下文 -
💬 会话:在当前会话期间添加的临时上下文
移除上下文
要从当前会话上下文中删除文件,请使用以下/context rm
命令:
q chat > /context rm src/temp-file.py Removed 1 path(s) from context. Note: Context modifications via slash command is temporary.
要清除所有会话上下文,请使用以下/context clear
命令:
q chat > /context clear Cleared context Note: Context modifications via slash command is temporary.
注意:您无法使用/context
命令移除代理定义的上下文。要永久删除上下文,请编辑代理的resources
字段。
常见使用案例
以下是上下文管理的一些常见用例:
使用项目规则
Amazon Q 支持可以定义安全准则和限制的项目级规则。这些规则是在项目.amazonq/rules
目录下的 Markdown 文件中定义的。
例如,您可以创建指定以下内容的规则:
-
Amazon Q 应该避免访问哪些目录
-
生成代码的安全要求
-
编码标准和最佳实践
包含项目规则的推荐方法是通过代理配置:
{ "name": "my-project-agent", "resources": [ "file://.amazonq/rules/**/*.md", "file://README.md", "file://docs/architecture.md" ] }
您也可以临时将项目规则添加到当前会话中:
q chat > /context add .amazonq/rules/*.md Added 3 path(s) to context. Note: Context modifications via slash command is temporary.
有关创建和使用项目规则的更多信息,请参阅 IDE 文档中的创建项目规则以用于 Amazon Q Developer 聊天室。
从会话上下文迁移到代理资源
如果您发现自己使用/context add
命令反复添加相同的上下文文件,请考虑将它们移至代理的resources
字段以保持不变:
-
记下你经常添加的文件
/context add
-
编辑您的代理配置文件
-
将文件路径添加到带
file://
前缀的resources
数组 -
保存代理配置
迁移示例:
# Instead of running these commands every session: > /context add README.md > /context add docs/*.md > /context add .amazonq/rules/*.md # Add them to your agent config once: { "resources": [ "file://README.md", "file://docs/**/*.md", "file://.amazonq/rules/**/*.md" ] }