程式碼編寫智慧體已大幅進步,最佳實務也在快速改變。隨著模型能力提升,以前需要手把手引導、大量輔助安排的工作,如今已不再需要這些協助。
如果過去一年你一直在專案中使用 Codex 這類智慧體,很可能已經累積了許多指示,用來引導模型產出理想的成果。每次新版本推出,都值得重新檢視這些指示背後的假設;而對 GPT-6 Astra 而言,這件事比以往更加重要。
這些指示可以有多種形式:技能、AGENTS.md 和你的任務提示詞,都會影響模型完成工作的方式。
更好的技能
這些指示可以寫成技能,本質上就是以 Markdown 檔案儲存的提示詞,也可以搭配資源與指令碼一起封裝。一般來說,技能最適合用來提供特定工作流程的指引,或協助使用某些應用程式。
現在,大家習慣在專案中加入大量技能。每項技能都有名稱與描述,這些內容會載入模型的上下文,讓模型知道何時該使用哪項技能。但許多描述實在太長;當你加入太多技能時,Codex 就會開始縮短描述,以容納所有內容。結果,模型能看到的每項描述都變少了,反而更難判斷該選哪項技能。
更糟的是,這些描述往往互相矛盾,或過度強調應該使用技能的時機,導致模型載入對任務實際上沒有幫助的指示。
建立技能的一種常見方式,是使用 $skill-creator 技能。我們最近更新了其中的指引,以減少實際使用中觀察到的許多常見問題。
首先,技能描述應盡可能簡短,同時清楚說明模型何時該使用該技能:
建立並驗證 Postgres 結構描述遷移。處理資料庫、查詢、模型或資料持久化時使用。
建立並驗證 Postgres 結構描述遷移。新增或變更遷移,或審查其部署作業時使用。
在這個例子中,不佳的技能描述可能讓模型只要碰到與資料庫有關的事情就使用該技能,而不是只有在需要處理遷移時才使用。
其次,實用技能的一項關鍵特徵,是逐步揭露資訊。讀取技能會占用上下文,讓模型更接近需要壓縮上下文的時點,也會引入可能不適用於當前任務的指引。如果技能包含多個工作流程,請讓根目錄的主文件只負責簡要引導,指向相關的輔助文件與指令碼。提供足夠的指引,讓模型知道該去哪裡查找,而不必強迫它讀取當下無關的內容。
第三,許多技能寫得像鉅細靡遺的行程表或食譜。模型如今更能理解細微差異與模糊之處,因此,過於具體的指引以前或許有幫助,現在卻可能妨礙成果。
程式碼庫中的技能也會引導其他貢獻者的智慧體,而這些智慧體可能使用不同的模型。對 Sol 或 Luna 有幫助的指引,可能會過度限制 GPT-6 Astra,因此請考量哪些模型會使用你留下的指示。
讓 AGENTS.md 保持最新
模型只要在你的程式碼庫中工作,就會套用 AGENTS.md,因此你應該經常重新檢視每一項指示,想想它是否仍有必要。
要求模型每次編輯前都讀取一大疊文件或完整的程式碼庫導覽,對修正錯字來說實在太過頭。GPT-6 Astra 能自行判斷需要讀取哪些內容,不必要求它每次變更前都檢視整個專案。
每次編輯前,都先讀取 architecture.md、database.md 和 deployment.md。
需要瞭解服務邊界時,參閱 architecture.md;變更結構描述時,參閱 database.md;準備部署時,參閱 deployment.md。
要求模型每次編輯前都讀取檔案,很容易浪費上下文,拖慢工作。不過,只要符合當前情境,指出可參考的文件仍然有幫助。也別忘了讓文件保持最新!
以前的模型需要提醒才會執行測試、檢查自己的成果。GPT-6 Astra 會主動完成這些事,因此同樣的指示可能導致不必要的測試。
GPT-6 Astra 做事周全,但在判斷任務該推進到什麼程度時,可能會比較猶豫。有時它需要一點鼓勵才會繼續。你可以透過 AGENTS.md,授權它執行你確知安全的特定工作流程,例如本機測試套件:
本機測試使用拋棄式測試資料與環境,且無法存取正式環境。請執行這些測試,修正此次要求的變更所造成的失敗,並重新執行受影響的測試,不必每一步都要求核准。
決策界線
請仔細留意你描述界線的方式。如果以前的模型曾未經許可就代你行事,你可能加入了強硬的措辭,要求它先詢問。這麼做可能有幫助,但 GPT-6 Astra 是我們對齊程度最高的模型,判斷力已有大幅提升,而且只有在確知安全時才會執行任務,因此你也應該以符合這些特性的方式對待它。
如果你先前設下界線,是為了防止其他模型做得太過頭,而現在要改用 GPT-6 Astra,不妨考慮調整措辭:Astra 可能會過於嚴格地解讀這些限制,在你其實樂見它繼續的地方停下來。
持續執行
如果你習慣 GPT-5.6 Sol 接到要求後就持續工作很長一段時間,可能會覺得 GPT-6 Astra 在判斷何時停止方面比較猶豫。它可能才完成初步實作,就回來請你審查,儘管還有工作尚未完成。
這時,在開始前先定義完成標準就很有幫助。你可能需要鼓勵 Astra 繼續,直到全部完成。如果任務包含讓實作執行起來、檢查結果,以及修正失敗的部分,請把這些也寫進要求中。若要求模型在初步實作後停下來等候審查,就會讓它傾向提早停止,因此請確認你是否真的需要在那個階段做決定。
如果你希望它在初步探索後繼續深入,請說明要探索哪些內容,以及應該在哪裡停止。
新模型推出,正是整理既有指示的好時機,但你不必逐一手動檢查:請 GPT-6 Astra 根據本文討論的內容進行檢視,然後就去打造一些你以前不會嘗試的東西吧!