上下文引用
资料已在文件、网页或工具结果中时,直接在提示词里指向它:
根据 @file:workspace/notes.md:12-48 整理结论,并与 @url:https://example.com/policy 对照。
运行时在模型请求前展开支持的引用,并为本次运行保存引用元数据。引用内容只是资料,不能覆盖系统指令、当前请求或工具配置。
先弄清路径起点
@file 的相对路径从 Profile Home 起算,默认 Workspace 文件通常写作 workspace/文件名。绝对路径需通过安全检查。大文件应选行范围,二进制不会按文本插入;媒体附件是否能理解取决于具体入口和配置。
目录与 Git 则以会话的 Workspace 为根:@folder:reports 只列直接子项,不递归塞入全部内容;Git 引用要求该目录属于 Git 工作树。它们不能通过路径或符号链接逃出允许根目录。
语法速查
| 写法 | 用途 |
|---|---|
@file:PATH | 文本文件 |
@file:PATH:START-END | 指定行段 |
@folder:PATH | 单层目录清单 |
@diff | 未暂存改动 |
@staged | 已暂存改动 |
@git:N | 最近 N 个提交的 Patch |
@url:https://example.com/page | 公开 HTTP(S) 页面正文 |
@result:RESULT_ID | 当前 Session 保存的工具结果证据 |
URL 不接受私有/内网目标或其他 scheme。工具 Result ID 不能跨会话借用,别的会话 ID 视为不存在。Git 运行有时限与输出上限,变化路径预检涉及受保护敏感文件时拒绝整个引用。
读不到时怎样缩小问题
一条提示词最多 8 个引用,默认每项 64 KiB,总展开文本 192 KiB;网页抽取和 Git 捕获另有有限预算。受保护凭据路径会被拒绝,识别出的秘密材料会遮蔽。
| Warning | 处理 |
|---|---|
| malformed context reference | 核对冒号、行范围与正整数提交数 |
| reference not found | 检查路径、URL、仓库和当前会话的 Result ID |
| reference blocked | 避开凭据、私网目标及越界路径 |
| reference too large | 改成行范围,减少资料量 |
| reference limit exceeded | 拆成多轮,每次少于或等于 8 项 |
失败会附警告,不会假装已经读到资料。公开网页仍可能不可信,依据内容采取行动前核对来源。要实际修改文件,见文件与终端;找旧聊天见会话搜索。