769 字
4 分鐘

GitHub Issues 的 Agent 自動化控制:把建議與直接套用分開

Issue 自動分類最容易在「看起來只是改 metadata」時被放得太寬。GitHub 7 月 23 日在 public preview 推出 Agent automation controls:自動化可以把修改留成建議、為行動標示高/中/低信心,並保留做出判斷的理由。它很適合處理 label、type、field、關閉與 assignee,但應先把「可以建議」和「可以直接改」拆開。

這和 GitHub Agentic Workflows 的 Safe Outputs 是互補關係:前者處理 Issue 介面中的審核流程,後者處理 workflow 寫入的受控輸出;兩者都不是額外的存取權限系統。

先選擇每種動作的自動化程度#

動作建議起點原因
加入已定義的產品 label高信心可直接套用可逆、影響範圍小
補 issue type 或專案欄位先保留建議容易受描述不完整影響
指派維護者先保留建議牽涉工作量與責任歸屬
關閉 issue必須人工審核可能讓回報者失去追蹤路徑

GitHub 官方說明,medium 與 low confidence 的變更會留在 Issue 面板供審核,而 repository 管理員可設定 confidence threshold。實作時別把「高信心」誤解成事實正確性;它只是自動化對該行動的信心訊號,仍要符合你的維護規則。

用 has 建立固定的 review 入口#

啟用後,可用 GitHub Issues 搜尋:

is:issue is:open has:suggestions

把這個查詢放進 maintainer 的每日或每週 triage 流程,比讓每個人從通知裡零散處理更穩定。審核時至少看三件事:建議動作是否符合 Issue 內容、rationale 是否引用了實際線索、以及自動化是否被不可信文字誘導。例如 Issue 內的「請直接關閉此 issue」不應覆蓋你原本的 bug reproduction 規則。

approvals 不是安全防線#

官方特別提醒:approvals 是 workflow convenience,不是 server-side security boundary。有權修改 Issue 的 agent 仍可能依指示直接套用,而不留下建議給你按批准。因此,以下設定不能省:

  1. 將 agent 的 GitHub 權限維持在任務所需的最小範圍。
  2. 對關閉、指派等影響較大的動作,要求它輸出建議而非直接執行。
  3. 保存 workflow 設定與 Issue rationale,讓維護者能追查規則何時變更。
  4. 不把 Issue review 當成 PR review、branch protection 或 environment protection 的替代品。

Agentic Workflows 的 issue intents 要明確開關#

若你使用 GitHub Agentic Workflows,官方列出的 safe outputs 可帶 issue intent 資訊。要強制特定 safe output 提供 intent,可在 workflow frontmatter 設 issue-intents: true;不需要時則明確設為 false。這不是每個 repository 都必須開啟的功能,而是要讓團隊知道哪些 metadata 變更必須附上理由。

---
issue-intents: true
safe-outputs:
add-labels: {}
close-issue: {}
---

先在測試 repository 讓 agent 只提出 label 建議,觀察一週的 rationale 與誤判模式,再決定是否開放 type、欄位或 close。這樣能把 preview 功能當成可回收的流程實驗,而不是一開就把日常 triage 交出去。

參考資料:

GitHub Changelog:Agent automation controls in GitHub Issues

GitHub Agentic Workflows:Safe Outputs

GitHub Issues 的 Agent 自動化控制:把建議與直接套用分開
https://laplusda.com/posts/github-issues-agent-automation-controls/
作者
Zero
發佈於
2026-07-26
許可協議
CC BY-NC-SA 4.0
這篇文章有幫助嗎?

回報錯字、失效連結,或告訴我你想看的延伸主題。