Goose + Ertas
使用 Goose 建構程式編寫代理——這是 Block 的開源代理,可在桌面執行並具備可擴充工具系統,可設定為呼叫本地執行的 Ertas 訓練程式碼模型,實現零成本工程自動化。
Overview
Goose 是 Block 的開源程式編寫代理,最初在 Cash App 與 Square 工程內部開發,並於 2025 年發布給更廣大的社群。它設計為在開發者機器上本地執行、連接使用者偏好的任何模型,並透過基於 Model Context Protocol(MCP)的可擴充工具系統自動化工程任務。Goose 直接與 Cursor 與 Windsurf 等閉源競爭者對位——同樣的程式編寫代理價值主張,但為開源且可自帶模型。
框架的定義特徵是可擴充性與模型無關性。Goose 的工具(稱為「extensions」)是 MCP 伺服器,這代表任何 MCP 相容工具——檔案系統存取、GitHub API、JIRA 整合、自訂公司工具——都可加入代理而無需修改 Goose 本身。模型層可跨 Anthropic、OpenAI、Google、AWS Bedrock、Databricks 與任何 OpenAI 相容端點設定,包括本地 Ollama 與 vLLM 伺服器。
對於希望獲得 Cursor 風格生產力但無需按席位訂閱費用、且不將程式碼庫送往第三方 API 的團隊,Goose 是最有公信力的開源路徑。MCP 可擴充性、模型彈性與桌面原生部署的組合,使其對具強烈程式碼保密需求的工程組織特別有吸引力。
How Ertas Integrates
Ertas 訓練的程式碼模型透過 Goose 的 OpenAI 相容模型 provider 與其協同運作。在 Studio 微調程式碼專屬模型(Qwen3-Coder-Next、CodeLlama、StarCoder 或自訂基底)並匯出為 GGUF 後,你透過 Ollama 或 vLLM 提供服務,並設定 Goose 呼叫你的端點。Goose 的程式編寫代理迴圈、MCP extension 與工具呼叫都會對你的微調模型執行。
這個組合對於有程式碼庫專屬模式的工程團隊特別有價值。通用程式碼模型產出遵循通用慣例的程式碼;而訓練資料包含團隊實際程式碼、測試與審查模式的 Ertas 訓練模型,則產出契合程式碼庫風格、正確使用程式碼庫內部函式庫、並遵循團隊特定測試慣例的程式碼。對於擁有大量內部程式碼的團隊,生產力差距是有意義的——契合本地模式的自動完成與代理產生程式碼可降低審查負擔並改善 merge 率。
對於希望把開發工具放在自有基礎設施上以保護智慧財產的企業,Goose 搭配在本地硬體上執行的 Ertas 訓練模型,可在推理階段完全擺脫雲端相依。沒有程式碼離開大樓、沒有 API token 計費,且代理會隨時間進步,因為團隊的軌跡會回饋到 Studio 進行漸進式微調。
Getting Started
- 1
在 Ertas Studio 微調程式碼模型
使用程式碼專屬基底(Qwen3-Coder-Next、CodeLlama、Devstral 2)。在你的程式碼庫、內部函式庫、測試模式與程式碼審查歷史上訓練。Studio 原生處理程式碼 token 訓練格式。
- 2
部署到 OpenAI 相容端點
匯出為 GGUF 並透過開發機、建置伺服器或共用 GPU 主機上的 Ollama 或 vLLM 提供服務。Goose 可呼叫任何 OpenAI 相容端點。
- 3
安裝 Goose 並設定 provider
安裝 Goose 桌面用戶端。在設定中,將 provider 設為「openai」,base URL 指向你的 Ertas 推論端點與你的模型名稱。
- 4
為你的工具加入 MCP extension
Goose 的工具是 MCP 伺服器。加入檔案系統、GitHub、JIRA 與自訂公司工具的 extension。每個獨立設定,代理會自動拾取。
- 5
使用 Goose 進行程式編寫任務並回饋軌跡
對工程任務執行 Goose:重構、撰寫測試、修 bug、程式碼審查。追蹤資料擷取你團隊重視的模式,並回饋到下一輪 Studio 微調。
# ~/.config/goose/config.yaml — point Goose at your Ertas-trained code model
provider: openai
model: ertas-codebase-specialist-14b
openai:
base_url: http://localhost:11434/v1
api_key: not-needed
extensions:
- name: developer
type: builtin # filesystem, shell, etc.
- name: github
type: stdio
cmd: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_TOKEN: ${GITHUB_TOKEN}
- name: company-jira
type: sse
url: http://internal-tools/mcp/jira/sse
# Run from terminal:
# goose session --name "feature-XYZ"
# > Add a rate limiter to the public API endpoints. Follow our middleware patterns.Benefits
- 開源程式編寫代理——無按席位訂閱費用
- 可自帶模型——可與任何 OpenAI 相容端點協同運作
- 基於 MCP 的可擴充性——可加入任何公司工具而無需修改 Goose
- 桌面原生——你的程式碼留在你的機器上
- 與微調程式碼模型自然搭配,獲得程式碼庫專屬能力
- 對於有程式碼保密或 IP 保護需求的企業而言契合度強
- 由 Block 工程投資支持的活躍開發
Related Resources
Fine-Tuning(微調)
LoRA
GGUF
Inference(推論)
From Cursor to Production: Deploying AI Features Without Vendor Lock-In
Fine-Tune Small Models for AI Agent Tool Calling
Building Reliable AI Agents with Fine-Tuned Local Models: Complete Guide
Cursor
Continue.dev
Ollama
Ertas for Code Generation
Ertas for SaaS Product Teams
Ship AI that runs on your users' devices.
Start free with 150 credits after card verification. Paid plans from $20/mo USD.