AI 代理與 MCP
進階
AI 代理與 MCP

讓 AI 修 CI 失敗:讀錯誤、提修改,由人合併

在 Pull Request 留言呼叫 Claude 讀取 CI 紀錄、找出原因並提交修改,同時禁止它用跳過測試的方式過關。
30 分鐘
7 步
GitHub Actions 分鐘數加上 AI 用量
編
AI 有解編輯部
最後更新 2026 年 11 月 5 日・CC BY 4.0
用到的工具
Claude Code
GitHub Actions
CI 失敗常常是小事:套件版本、型別錯誤、測試環境差異。讓代理讀錯誤訊息、提出修改,可以省下來回切換的時間。但全自動修改有風險,所以我們從人留言觸發開始。
你需要準備
•
專案已有 CI,例如測試或型別檢查
•
已完成〈每個 Pull Request 自動做 AI 程式碼審查〉的 GitHub App 與金鑰設定
•
分支保護規則:要求測試通過與真人核准
進度 0/7
1

加入 @claude 工作流程

建立 .github/workflows/claude.yml,這段來自官方文件:
YAML
name: Claude Code on: issue_comment: types: [created] pull_request_review_comment: types: [created] jobs: claude: if: contains(github.event.comment.body, '@claude') runs-on: ubuntu-latest permissions: contents: write pull-requests: write issues: write id-token: write actions: read steps: - uses: actions/checkout@v6 with: fetch-depth: 1 - uses: anthropics/claude-code-action@v1 with: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} claude_args: "--max-turns 10"
actions: read 讓代理可以讀取 CI 結果。--max-turns 是我們加上的上限,避免一個任務跑太久。預設只有對專案有寫入權限的人能觸發,也會擋掉機器人帳號,避免無限循環。
2

寫清楚修復規則

把規則放進 CLAUDE.md:
文字
修 CI 失敗時的規則: 1. 先說明根本原因,再動手修改 2. 不可以 skip、刪除或放寬測試 3. 不可以關閉 lint、型別檢查或安全掃描 4. 不可以加上 any、@ts-ignore 或 noqa 來掩蓋錯誤 5. 不可以修改 .github/workflows 內的檔案 6. 找不到原因,或判斷是測試環境不穩定時,回報給人
這幾條很重要。不加限制時,「讓測試通過」最快的方式就是把測試關掉。
3

在失敗的 Pull Request 留言

文字
@claude CI 失敗了。請讀取失敗的工作紀錄, 說明根本原因並提交修改。遵守 CLAUDE.md 的修復規則。
代理會在留言中回報進度,並把修改推到分支上。
4

審查它的修改

看差異時問自己:
•
修的是原因,還是只是讓紅燈消失?
•
有沒有改到無關的檔案?
•
有沒有悄悄調整測試的預期結果?
•
新增的依賴是否必要、來源可信?
5

處理不穩定的測試

有時候重跑就過,這種測試不要讓 AI 硬修。請它分析:
文字
@claude 這個測試最近時好時壞。請不要修改程式, 只分析可能的原因,例如時間、順序、網路或共用狀態,並列出驗證方法。
6

確認 CI 有重新執行

代理提交後,CI 要重新跑。如果沒有觸發,通常是因為把 github_token 設成預設的 GITHUB_TOKEN,GitHub 不會因為這個權杖的提交而觸發工作流程。拿掉這個參數,讓它用 Claude GitHub App 認證即可。
7

要不要改成全自動?

等留言觸發的版本穩定之後,才考慮在 CI 失敗時自動執行。建議的限制:
•
只處理自家分支,不處理 fork 的 Pull Request
•
同一個 Pull Request 嘗試次數設上限
•
只允許特定類型的修復,例如格式與型別
•
永遠不自動合併
注意
CI 紀錄和 Pull Request 內容都可能被放入惡意指令,寫入權限加上金鑰是危險的組合。不要在這類工作流程放正式環境的金鑰,也不要讓代理處理不受信任的輸入。
你照著做成功了嗎?
成為第一個回報的人。你的回報會決定攻略排序與作者分潤。
下一步
•
想了解代理的權限風險,看〈安裝 MCP 外掛並做安全檢查〉。
•
想補強測試,看〈讓 AI 補測試:先列行為,再寫測試,最後驗證測試真的有用〉。
收錄在學習路線
廣告版位
想讓正在用 AI 的人看到你的產品?了解廣告合作
問與答
卡住的地方、補充的做法都可以留在這裡
還沒有人留言。
更多「AI 代理與 MCP」攻略