上下文管理 - Amazon Q 开发者版

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

上下文管理

管理上下文

上下文文件包含您希望 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字段以保持不变:

  1. 记下你经常添加的文件 /context add

  2. 编辑您的代理配置文件

  3. 将文件路径添加到带file://前缀的resources数组

  4. 保存代理配置

迁移示例:

# 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" ] }