Agent 上下文(Agent Context)

如何将区块、图片、文件和 URL 直接作为上下文附加给 agent,从而影响提示词(prompt)行为。

在 Warp 中,你可以将多种类型的输入直接传递给 agent,以引导其行为并提升响应质量。这些输入包括终端输出中的区块(blocks)、图片、文件、代码和公共网站。

这些输入被称为 agent context:即你在会话期间手动提供的临时信息。

这与其他持久或自动的上下文来源(如 RulesWarp Drive as Agent Mode ContextModel Context Protocol)是不同的。如果这些上下文存在,agent 也会一并利用。


附加区块(blocks)作为上下文

Warp 可以从你的终端会话中收集上下文,并将每条命令根据你的当前会话和环境进行定制。

你可以在对 Agent Mode 发起查询时,将一个区块作为上下文附加进来。在终端中的区块上,点击带有 AI 火花图标的按钮,选择 “Attach as Agent Mode context”(作为 Agent Mode 上下文附加)。

区块附加示意图

比如最常见的场景是:你遇到报错时,把错误区块附加给 Agent,然后输入 “fix it”(修复它)。

如果你已经处于 Agent Mode,会话中可以用以下方式手动添加或移除上下文区块:

macOS

附加前一个区块

  • 使用 CMD-UP 附加上一个区块为上下文。按住 CMD 键可以用上下方向键选择多个区块。
  • 你也可以使用鼠标,按住 CMD 点击其他区块以扩展选中范围。

移除区块

  • 使用 CMD-DOWN 逐个移除上下文中的区块。
  • 用鼠标时,按住 CMD 点击已附加的区块即可移除。

如果你启用了 “Pin to the top” 的输入位置(Input Position),那么操作方向会相反:CMD-DOWN 用于附加,CMD-UP 用于移除。

Windows 和 Linux

附加前一个区块

  • 使用 CTRL-UP 附加前一个区块为上下文。按住 CTRL 可以用上下键选择其他区块。
  • 使用鼠标时,按住 CTRL 并点击多个区块以附加。

移除区块

  • 使用 CTRL-DOWN 移除上下文中的区块。
  • 使用鼠标时,按住 CTRL 点击要移除的区块即可。

在启用了 “Pin to the top” 输入方式时,CTRL-DOWN 用于附加,CTRL-UP 用于移除。


附加图片作为上下文

你可以将图片直接附加到 Agent 的提示词中,为其提供视觉上下文。这在你需要提供截图、图表或视觉示例时特别有用。

在输入区域的工具栏中使用上传图片按钮即可上传图片,工具栏位置取决于你所使用的输入模式:

上传图片示例(左下)

上传图片示例(右下)

支持的图片格式包括:.jpg.jpeg.png.gif

每次请求最多可上传 5 张图片,每次会话最多上传 20 张图片。所有图片都将发送到模型提供方后立即丢弃,Warp 不会存储任何图片。

模型行为与图片处理

Warp 支持的所有模型(详见 Model Choice)都可以解析图片输入。

附加图片会按数量消耗额外的请求。为了控制开销,Warp 会自动调整图片大小,以减少 tokens 使用并确保图片尺寸在模型支持范围内。

目前仅支持从本地设备选择图片;URL 附加、复制粘贴和拖放功能暂未开放,但已在开发计划中。


使用 @ 引用文件和代码

你可以使用 @ 符号将特定文件或文件夹附加到提示词中作为上下文。当你位于一个 Git 仓库中时,输入 @ 会打开一个上下文菜单,用于搜索并选择要附加的文件或目录。

该功能支持自然语言提示(与 Agents 对话时)和传统的终端命令中路径引用。

注意:搜索路径始终是相对于 Git 仓库的根目录进行的,即使你当前工作目录在子目录中,也可以引用任何被 Git 跟踪的文件或目录。

使用 @ 附加文件

此外,无需提前进行代码索引(如使用 Codebase Context)。只要目录初始化了 Git,搜索就可以立即使用,并会遵守 .gitignore 的排除规则。

使用 @app 过滤文件

你也可以通过输入 @styles 来引用一个文件夹或该文件夹下的所有文件:

引用文件夹中的全部文件


通过 URL 引用网站

你可以将公共 URL 附加到提示中,以便提供网页内容作为上下文。当 URL 被包含时,agent 会抓取该页面内容,并提取有用信息来生成更好的回答。

注意事项:

  • 仅支持公开可访问的网页;
  • 整个网页内容将被发送到模型中;
  • 页面越长,AI 请求的 token 消耗可能越多。

⚠️ 注意:这不是网页搜索功能。Agent 目前 不具备浏览网页或实时搜索的能力,只会使用你指定的 URL 页面内容作为上下文。