Agent循環(huán)無人值守運行)
loop-engineering CI/CD部署指南用GitHub Actions與loop-action實現(xiàn)Agent循環(huán)無人值守運行【免費下載鏈接】loop-engineeringPractical patterns, starters CLI tools for loop engineering with AI coding agents. Design systems that prompt and orchestrate agents (inspired by Addy Osmani and Boris Cherny). Includes loop-audit, loop-init, loop-cost.項目地址: https://gitcode.com/gh_mirrors/lo/loop-engineeringloop-engineering 是一個面向 AI 編碼代理AI coding agents循環(huán)工程的開源項目提供成熟的模式庫、起步套件與 CLI 工具。其中的loop-action復(fù)合 Action 可以安全地在 GitHub Actions 的 CI/CD 流水線中執(zhí)行 AI Agent它自動完成就緒審計、Token 預(yù)算熔斷和隔離工作樹讓 Agent 循環(huán)真正具備無人值守運行的條件。本指南帶你用不到 10 分鐘把 Agent 循環(huán)接入自己的 CI/CD 部署流水線。為什么需要把 Agent 循環(huán)放進(jìn) CI/CD傳統(tǒng)做法是CI 失敗了人去翻日志、手動修復(fù)、手動重跑。循環(huán)工程的思路是設(shè)計一個系統(tǒng)讓它自動發(fā)現(xiàn)工作、派發(fā)給 Agent、驗證結(jié)果并持久化狀態(tài)而不是你親自敲下一條條提示詞。官方給出的循環(huán)結(jié)構(gòu)Anatomy of a Loop如下調(diào)度觸發(fā) → 分診技能 → 狀態(tài)記憶 → 隔離工作樹 → 實現(xiàn)/驗證子代理 → 人工關(guān)口把這個結(jié)構(gòu)搬到 GitHub Actions 中正是loop-action解決的問題。loop-action一個步驟封裝三重安全防線loop-action是一個官方 GitHub Composite Action源碼見 action.yml你不需要再手寫復(fù)雜的 shell 腳本來實現(xiàn)熔斷和隔離——它按順序執(zhí)行四步就緒審計loop-audit檢查倉庫是否具備循環(huán)所需文件STATE.md、gate.yaml、約束文件等電路斷路器loop-context循環(huán)陷入失敗循環(huán)或耗盡每日 Token 預(yù)算時立即中止并升級給人工安全寫入命令腳本command通過環(huán)境變量傳遞并原樣寫入臨時文件避免引號、管道符被 YAML 二次解析執(zhí)行 Agent 命令開啟沙箱時經(jīng)由loop-sandbox在臨時 git worktree中運行改動被捕獲為可審查的.patch文件主工作樹保持干凈否則直接在主樹上執(zhí)行。整個循環(huán)工程由五大原語支撐調(diào)度、工作樹、技能、MCP 插件與狀態(tài)記憶環(huán)環(huán)相扣快速上手第一個 Agent 循環(huán)工作流在倉庫根目錄先完成腳手架初始化無需克隆本項目npx cobusgreyling/loop init . --pattern daily-triage --tool claude npx cobusgreyling/loop doctor .然后在工作流中加入loop-action一步。下面是精簡版的每日分診工作流完整版見 daily-triage.ymlname: Daily Triage Loop on: schedule: - cron: 0 8 * * 1-5 # 周一至周五 08:00 UTC workflow_dispatch: # 支持手動觸發(fā) permissions: contents: read issues: read jobs: triage: runs-on: ubuntu-latest steps: - uses: actions/checkoutv7 - name: Invoke Triage Agent uses: cobusgreyling/loop-engineering/tools/loop-actionmain with: pattern: daily-triage level: L1 sandbox: false command: | # 替換為你自己的 Agent 調(diào)用命令例如 # npx grok-cli run --skill .grok/skills/loop-triage/SKILL.md echo Run loop-triage skill. Update STATE.md. Report only. 第一周鐵律只做報告report-only。不自動修復(fù)、不自動合并先讀完循環(huán)產(chǎn)出的狀態(tài)文件再逐步放開權(quán)限。5 個輸入?yún)?shù)詳解參數(shù)必填默認(rèn)值說明pattern?—循環(huán)模式名如ci-sweeper、daily-triage必須與loop-budget.md中登記的模式一致command?—Agent 的調(diào)用命令支持多行command: |塊以bash -eo pipefail執(zhí)行l(wèi)evel?L1自主級別L1 只讀報告 → L2 輔助 → L3 無人值守用于預(yù)算校驗sandbox?false設(shè)為true時經(jīng)loop-sandbox在臨時 worktree 中隔離執(zhí)行sandbox-shell?falseloop-sandbox的兼容選項常規(guī)使用無需修改完整說明見 tools/loop-action/README.md。為不同場景選擇合適的觸發(fā)策略項目為每種模式都提供了 schema 完整的參考工作流目錄examples/github-actions/按觸發(fā)事件分為兩類參考工作流觸發(fā)方式適用模式典型場景daily-triage.yml工作日 Cron 手動Daily Triage每天早上匯總 CI 與倉庫健康狀況ci-sweeper.ymlworkflow_run失敗事件CI SweeperCI 一掛Agent 自動定位并嘗試修復(fù)issue-triage.yml每 2 小時 新 Issue 事件Issue Triage自動歸類、打標(biāo)簽、評估優(yōu)先級post-merge-cleanup.ymlPush 到 main 夜間Post-Merge Cleanup合并后清理臨時代碼與技術(shù)債dependency-sweeper.ymlCronDependency Sweeper定期升級依賴并驗證以 CI Sweeper 為例它的觸發(fā)條件非常簡潔main 分支上任意 workflow 失敗即喚醒 Agent見 ci-sweeper.ymlon: workflow_run: workflows: [*] types: [completed] branches: [main] jobs: sweep: if: ${{ github.event.workflow_run.conclusion failure }} steps: # checkout、記錄失敗上下文后調(diào)用 loop-action - uses: cobusgreyling/loop-engineering/tools/loop-actionmain with: pattern: ci-sweeper level: L2 sandbox: true command: | # 接入你的 Agent分類失敗、在 worktree 修復(fù)、驗證、開 PR從 L1 到 L3無人值守的三步升級路徑不要一開始就無人值守。loop-engineering 的推薦路徑是逐級放開L1 只讀報告第 1 周level: L1Agent 只寫狀態(tài)文件、只提建議。人工審閱輸出是否符合預(yù)期。L2 輔助修復(fù)第 2 周起level: L2sandbox: true。Agent 可在沙箱中嘗試修復(fù)產(chǎn)出.patch供審查驗證器verifier連續(xù)一周表現(xiàn)正確后再升級。L3 無人值守最后預(yù)算、運行日志與人工關(guān)口齊備后才開啟。此時熔斷器是關(guān)鍵防線——loop-context會在連續(xù) 3 次相同錯誤、連續(xù) 5 次失敗或觸頂 Token 預(yù)算時退出并升級給人工詳見 tools/loop-context/README.md。上線前先算清楚成本npx cobusgreyling/loop cost --pattern ci-sweeper --level L2 --cadence 15m并在loop-budget.md中為每個循環(huán)登記每日最大運行次數(shù)與 Token 上限參考本倉庫的 loop-budget.md。安全要點無人值守不等于失控最小權(quán)限工作流只申請必要的permissions如contents: readpull-requests: writeGITHUB_TOKEN權(quán)限寧小勿大命令注入防護(hù)嚴(yán)禁把 Issue 標(biāo)題、PR 描述等外部不可信內(nèi)容直接拼接進(jìn)command——它將以 shell 腳本權(quán)限執(zhí)行正確做法是先驗證/轉(zhuǎn)義或?qū)懭胛募?Agent 讀取合并門禁通過 gate.yaml 定義 denylist**/.env、**/auth/**等永不自動改動的路徑由loop-gate機(jī)械強(qiáng)制執(zhí)行沙箱不等于容器loop-sandbox提供 git worktree 級隔離進(jìn)程仍保留 OS 級文件與網(wǎng)絡(luò)訪問應(yīng)用 patch 前務(wù)必人工檢查。完整的安全與護(hù)欄模型見 docs/safety.md常見失敗模式與反模式見 docs/failure-modes.md。延伸資源資源路徑5 分鐘快速上手docs/QUICKSTART.mdloop-action 使用文檔tools/loop-action/README.md全部 GitHub Actions 示例examples/github-actions/README.md循環(huán)模式庫patterns/起步套件starters/安全護(hù)欄規(guī)范docs/safety.md按照「L1 報告 → L2 輔助 → L3 無人值守」的節(jié)奏配合loop-action的三重安全防線你的 CI/CD 流水線將從「人盯著 Agent 跑」進(jìn)化為「Agent 自己跑人只審關(guān)口」——這才是 CI/CD 部署 Agent 循環(huán)的正確打開方式?!久赓M下載鏈接】loop-engineeringPractical patterns, starters CLI tools for loop engineering with AI coding agents. Design systems that prompt and orchestrate agents (inspired by Addy Osmani and Boris Cherny). Includes loop-audit, loop-init, loop-cost.項目地址: https://gitcode.com/gh_mirrors/lo/loop-engineering創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考