提供代理程式有用的儲存庫上下文
已完成提供現行指令、相關程式碼和可執行的檢查命令,同時避免暴露不必要資訊。
檢查理解程度儲存庫指南建議的命令已不存在。代理程式應該怎麼做?進行練習
學習目標
- 為儲存庫任務準備聚焦的上下文。
- 辨識過時或互相衝突的指令。
- 不讓存取憑證或不相關的私密資料進入任務上下文。
從目前工作目錄開始
代理程式需要知道正在修改哪個儲存庫和分支,也要知道工作目錄中是否有不相關變更。這些事實會影響哪些內容能安全編輯,以及應如何解讀最終 diff。
實作前,請代理程式檢查專案指令和套件設定。從其他儲存庫記住的命令,可能不適用於此。熟悉框架名稱,也不能證明已安裝版本或專案慣例。
小變更可先提供相關模組、呼叫端、測試和架構決策。調查發現具體需要時,再補充資訊。
用儲存庫指令記錄穩定規則
指令檔可以描述受支援命令、模組邊界、審查要求,以及需要負責人決定的操作。AGENTS.md 慣例提供程式設計工具容易辨識的位置,存放這些資訊。工具支援程度和指令優先順序可能不同,應檢查實際行為。
將穩定專案規則保留在儲存庫,目前任務則放在任務說明中。不要把指令檔變成所有對話的歷史,或暫時計畫清單。
有用指令會說:「路由改變存取行為時,執行授權整合測試。」模糊指令則說:「隨時注意安全。」前者指出觸發條件與操作,審查者可以驗證。
用程式碼核對指令
命令、目錄或架構改變時,指令可能過時。指南提到不存在的指令碼,就檢查套件設定。文件聲稱服務唯讀,就先檢查權限,再依賴這個說法。
記錄衝突,以目前版本的直接證據了解實作行為。不要因舊程式碼違反政策,就默默丟棄有意制定的政策。政策與目前行為回答的是不同問題。
例如,指南可能禁止直接寫入共用分支,但舊指令碼仍這樣做。正確處理方式是保留政策,修正指令碼。既有程式碼不構成重複執行禁止操作的許可。
讓上下文相關且安全
完整儲存庫可能包含存取憑證、私密測試資料、客戶匯出資料和舊客服記錄檔。擁有儲存庫存取權,不代表每個檔案都適合交給模型服務。
使用核准工具,遵守資料處理規則。排除上下文中的機密值,盡可能用虛構資料取代客戶範例。除了上傳檔案,也要檢查已連接工具:搜尋連接器可能取得最初提示詞中從未出現的資訊。
儲存庫指令寫著「不要讀取機密值」,是有用指引,但不能替代對機密值儲存系統和敏感目錄的存取限制。
為接手的人留下有用紀錄
完成時,在 pull request 記錄行為變更、驗證和尚未解決的限制。受支援工作流程改變時,更新長期使用的專案文件。避免把代理程式整份對話複製進儲存庫。
紀錄應協助未來維護者重複完成工作,不必重建漫長對話。連結至權威文件,並為每項穩定規則保留唯一的權威描述。
好的上下文能減少重複調查,也讓錯誤更容易被發現,因為預期行為和可用命令都很明確。
進行練習
檢查一份儲存庫指令檔,對照目前專案驗證三個命令。找出一項過時敘述或缺少的限制,透過正常審查流程提出小幅修正。不要納入存取憑證或客戶資料。
下載工作表(Markdown)取消此選項,會刪除此瀏覽器儲存的所有進度。
進度只留在此瀏覽器。無須帳戶,沒有追蹤。