跳至主要內容
Aurikle
AI與系統Aurikle

AI 程式工具如何接到既有程式庫

把 AI 程式工具接到既有程式庫,先劃定它可以讀、可以改的目錄,再允許它提出差異。秘密、憑證與尚未公開的合約留在這個範圍之外。差異進入主分支之前,仍由負責人審查。

目錄
  1. 先劃可讀可改的目錄
  2. 秘密與憑證留在範圍外
  3. 代理會自己挑檔案
  4. 終端指令預設要人核准
  5. 檢查點不能代替版本庫
  6. 差異進審查再進主分支
  7. 什麼時候先不要接上
對應服務方案評估、原型及整合閱讀這篇

先劃可讀可改的目錄

打開整個磁碟,等於讓工具把任何讀到的內容寫進建議或差異。先列出本次任務要動的目錄,以及明確排除的目錄,例如憑證、薪酬、未公開合約、客戶匯出檔。

範圍寫在項目說明裡,讓下一個接手的人看得到。評估是否值得接到現有審查與建置,見 方案評估、原型及整合。

秘密與憑證留在範圍外

金鑰、連線字串與個人資料不放進會被工具讀取的目錄,也不貼進對話。需要連線時,用既有的秘密管理方式在執行環境注入,讓程式讀環境,讓工具看不到值。

GitHub Copilot inline suggestions 的負責任使用說明 要求沿用安全程式做法,例如避免寫死密碼,以及避免會造成注入的寫法,並寫明語法正確的建議仍未必安全。建議被接受之前,仍對照這兩類問題看一遍。

代理會自己挑檔案

在 IDE 中使用 agent mode 寫明,Copilot 在 agent mode 自行決定改哪些檔案。你審查變更,並在預設情況下先核准終端指令。若選單裡沒有 Agent,可能是管理員已關閉這個模式。

Cursor Agent 說明 寫明,Agent 的工具包含搜尋與讀取檔案、套用編輯、執行終端指令,且一次任務裡的工具呼叫次數沒有上限。呼叫次數沒有上限,更需要事先寫明哪些目錄不在範圍內。產品怎麼選,見 Cursor 和 GitHub Copilot 怎麼選。

終端指令預設要人核准

Copilot 的說明把「預設先核准指令」寫成控制的一部分,並寫明管理員或編輯器設定可以允許部分指令自動執行。自動執行的清單要短,而且每一項都寫明失敗時會不會改資料。

會安裝依賴、會推送遠端、會改資料庫或會刪檔的指令,不放進自動執行。人核准時要看到完整指令,少只看到一句「需要跑一下終端」。

檢查點不能代替版本庫

Cursor Agent 說明寫明,檢查點在較大改動前自動建立,存在本機,與 Git 分開;還原只回復檔案,不刪除對話。該頁並寫明,檢查點只用來撤銷 Agent 的改動,永久的版本控制仍用 Git。

因此,代理改完之後仍要提交到團隊已經在用的分支與審查。只留在編輯器的檢查點裡,換一台機器或換一個人就看不到這份差異。

差異進審查再進主分支

代理提出的差異走與人工修改相同的審查:誰可以核准、要跑哪些既有檢查、哪些檔案類型必須另有負責人看過。審查人看的是差異本身,少把「代理說已完成」當成核准。

超出事先目錄的檔案一律退回。退回時由人刪除多餘改動,再把範圍寫得更窄,然後才允許下一次任務。自動完成與代理的分別,見 AI 程式代理和自動完成有什麼分別。

什麼時候先不要接上

程式庫還沒有分支與審查、目錄裡仍混著秘密、或沒有人有時間看差異時,先不要把代理接到這棵樹上。先補審查與目錄,自動完成可以留在單個打開的檔案裡。

本文不給出缺陷下降或交付加快的數字。那些數字要來自貴司自己的審查與建置紀錄,並註明口徑。沒有這份紀錄之前,用「範圍有沒有寫明、差異有沒有進審查、指令有沒有按規定核准」來檢查接上是否在按流程走。

相關筆記