Skip to content
產品

建構能寫程式的工作流程:推出 Coding Agent 步驟

JieGou 工作流程現在可以包含自主編碼代理,能夠在沙箱環境中讀取、寫入、編輯檔案並執行 Shell 命令。這是它的運作方式以及為什麼重要。

JT
JieGou Team
··3 分鐘閱讀

JieGou has evolved.

Since this post was published, JieGou has pivoted from an AI automation platform to an AI-powered operations company delivering managed marketing and operations services. Learn about our managed services →

大多數 AI 自動化平台止步於文字。你可以生成報告、起草電子郵件或摘要文件。但如果你的工作流程需要撰寫程式碼、執行測試、更新設定檔或生成遷移腳本呢?

今天我們推出 Coding Agent — 一種全新的工作流程步驟類型,讓你的自動化能夠自主與程式碼庫互動。

什麼是 Coding Agent?

Coding Agent 是一種可以添加到任何 JieGou 工作流程的新步驟類型。你給它一個任務描述,並可選擇指向一個 Git 儲存庫。代理然後:

  1. 複製儲存庫(或在臨時目錄中工作)
  2. 探索程式碼庫 — 讀取檔案,使用 glob 和 grep 搜尋
  3. 規劃方法 — 基於發現的內容
  4. 實施變更 — 撰寫新檔案,編輯現有檔案
  5. 驗證工作 — 執行測試,檢查錯誤
  6. 回報結果 — 提供摘要和修改檔案清單

所有這些都是自主進行的,逐輪執行,直到任務完成或達到設定的輪次限制。

六個內建工具

代理可以使用六個工具,每個工具專為特定操作設計:

工具 功能
read 讀取檔案內容,支援可選行範圍
write 建立或覆寫檔案
edit 精確字串替換,支援模糊 Unicode 匹配
bash 執行 Shell 命令,具有逾時強制執行
glob 按模式尋找檔案
grep 使用正則表達式搜尋檔案內容

你可以在每個步驟中啟用或停用個別工具。例如,「唯讀分析」步驟可能只啟用 readglobgrep

預設沙箱化

當你給 LLM 存取檔案系統和 Shell 的權限時,安全性是不可妥協的。每個生產環境中的 Coding Agent 步驟都在具有嚴格約束的 Docker 容器中執行:

  • 無網路存取 — 容器無法建立外部連線
  • 記憶體限制 — 512 MB 硬性 OOM 終止
  • CPU 限制 — 限制為核心的 25%
  • PID 限制 — 防止 fork 炸彈(最多 50 個程序)
  • 唯讀根檔案系統 — 只有工作目錄可寫入
  • 路徑限制 — 所有檔案操作都驗證保持在工作目錄內,符號連結遍歷被阻止
  • 逾時強制 — bash 命令在設定的逾時後強制終止(預設:2 分鐘)

在開發模式下,代理使用本地檔案系統操作以加快迭代速度。可插拔的 FileOperations 介面意味著相同的工具定義在兩種環境中都能運作。

長時間會話的迭代壓縮

複雜的編碼任務可能需要很多輪次 — 20、30 甚至 50 次工具呼叫。這需要大量上下文。Coding Agent 使用與 JieGou 對話式 AI 相同的迭代壓縮系統來處理長時間會話:

  • 當累積的訊息接近模型的上下文視窗時,較舊的輪次會被壓縮成結構化摘要
  • 摘要保留目標、進度、關鍵決策和檔案參考
  • 後續壓縮會更新現有摘要而非從頭重新生成

這意味著即使在執行數十輪的會話中,代理也不會失去對已完成工作的追蹤。

即時事件串流

代理執行的每個動作都會發出結構化事件:

  • turn_start / turn_end — 追蹤輪次計數和 token 使用量
  • tool_call / tool_result — 查看正在使用的工具及其輸出
  • assistant_message — 代理的推理和解釋
  • compaction — 上下文被壓縮時
  • agent_end — 最終摘要,包含總輪次、token 和修改的檔案

這些事件驅動工作流程執行 UI 中的即時進度視覺化,並記錄到稽核追蹤中以符合合規要求。

使用案例

以下是團隊已在使用 Coding Agent 的一些方式:

  • 自動化測試生成 — 指向一個模組並要求它撰寫單元測試
  • 文件更新 — 從程式碼變更生成 API 文件、README 或變更日誌
  • 遷移腳本 — 基於 schema 變更撰寫資料庫遷移檔案
  • 設定生成 — 從範本生成 Terraform、Kubernetes YAML 或 CI/CD 設定
  • 程式碼審查輔助 — 分析 diff 並生成審查評論
  • 依賴更新 — 更新套件版本並修復破壞性變更

如何融入工作流程

Coding Agent 是一個常規的工作流程步驟。它可以:

  • 接收輸入 — 透過輸入映射從先前步驟接收(例如,來自 webhook 觸發器的 PR diff)
  • 輸出結果 — 下游步驟可以消費(代理的回應、修改檔案清單、token 使用量)
  • 在 DAG 模式下執行 — 與其他步驟並行,使用依賴宣告
  • 使用任何 LLM 提供商 — 選擇最適合編碼任務的模型(Claude Opus 用於複雜重構,Haiku 用於簡單編輯)

方案門控和成本估算

Coding Agent 在 Pro 方案及以上可用。成本估算根據設定的 maxTurns 乘以每輪平均 token 數量計算,因此你在啟動工作流程執行前就能獲得準確估算。

Enterprise 方案獲得專用容器池,以實現更高的並發度和隔離性。

開始使用

  1. 建立或編輯工作流程
  2. 新增一個步驟並選擇 Coding Agent 作為類型
  3. 撰寫你的任務描述(越具體越好 — 包含檔案路徑、預期行為、測試命令)
  4. 可選設定儲存庫 URL 和分支
  5. 設定工具存取、最大輪次和模型選擇
  6. 執行工作流程

Coding Agent 將軟體工程能力帶入你的團隊已經在執行內容生成、資料處理和營運工作流程的同一平台。無需切換工具,無需上下文切換 — 只是管線中的另一個步驟。

現已在 Pro 和 Team 方案中提供。開始使用

coding-agentworkflowsautomationdevopssandboxingdocker
分享這篇文章

喜歡這篇文章嗎?

在您的信箱中獲取工作流程技巧、產品更新和自動化指南。

No spam. Unsubscribe anytime.