上下文引用
資料已在檔案、網頁或工具結果中時,直接在提示詞裡指向它:
根据 @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 項 |
失敗會附警告,不會假裝已經讀到資料。公開網頁仍可能不可信,依據內容採取行動前核對來源。要實際修改檔案,見檔案與終端機;找舊聊天見工作階段搜尋。