1. Qué es Goose y por qué importa

Por: Artiko
gooseai-agentintroduccionaaifblock

1. Qué es Goose y por qué importa

Definición operativa

Goose es la capa de agente que envuelve a un modelo de lenguaje (Claude, GPT, Gemini, Llama) y le da permisos, sesiones, herramientas, recipes y conexión a servidores MCP para que pueda operar sobre tu codebase, no solo conversar sobre él.

Tres capas concéntricas:

flowchart LR
    M["Modelo LLM<br/>(Claude, GPT, Gemini)"] --> A["Goose<br/>agente operativo"]
    A --> T["Tu sistema:<br/>archivos, comandos,<br/>MCP servers"]

El modelo piensa. Goose actúa sobre tu sistema según los permisos que le diste y las extensiones que tenés configuradas.


Origen e historia

AñoHito
2024Goose nace en Block (la empresa de Jack Dorsey, dueña de Square y Cash App)
2025Open source bajo licencia Apache 2.0
2026Migración a la Agentic AI Foundation (AAIF) — gobernanza comunitaria

La AAIF es similar en espíritu a la CNCF para cloud native: un hogar neutral para proyectos de agentes que no quieren depender de un único vendor. Ese cambio importa: Goose ya no es “el agente de Block”, es un proyecto comunitario.


Posicionamiento frente a alternativas

HerramientaProviderOpen sourceMulti-modelFoco
GooseCualquiera (CLI providers, ACP, OpenAI-compat)✅ nativoPortabilidad y control
Claude CodeAnthropicProfundidad con Claude
Cursor AgentMulti (UI Cursor)⚠️ limitadoIDE-first
AiderMulti⚠️ por sesiónDiff-driven
Codex CLIOpenAIOpenAI ecosystem

El argumento de Goose: si querés un agente capaz pero no querés casarte con un vendor, ni con un modelo, ni con una nube, Goose es la apuesta más fuerte hoy.

Cuándo elegir Goose

  • Necesitás portabilidad de modelo: hoy Claude, mañana Gemini, pasado un Llama on-prem.
  • Querés multi-model nativo: planner barato + executor caro.
  • Tenés necesidades enterprise: allowlist, sandbox, deployment privado.
  • Querés un ecosistema de recipes compartible y reutilizable.

Cuándo no

  • Sos un usuario individual cómodo con Claude Code/Cursor y no necesitás cambiar.
  • Querés la integración más profunda posible con un único modelo (Claude Code para Claude, por ejemplo).
  • Necesitás IDE-first con UI rica como Cursor — Goose es CLI/Desktop, no plugin de VS Code.

Arquitectura interna

flowchart TB
    UI[CLI / Desktop UI] --> S[Session Manager]
    S --> P[Provider Layer]
    P -->|Claude Code provider| CC[Claude Code CLI]
    P -->|Codex provider| OAI[Codex CLI]
    P -->|Gemini CLI provider| G[Gemini CLI]
    P -->|ACP provider| ACP[Agent Connect Protocol]
    P -->|OpenAI-compat| OC[OpenAI / Together / Local]
    S --> E[Extensions]
    E -->|MCP| MCP[MCP servers]
    E -->|Built-in tools| BI[file ops, shell, search]
    S --> R[Recipes engine]
    S --> SUB[Subagents]
    S --> Cfg[Configuration\nyaml + env vars]

    style P fill:#fef3c7,stroke:#92400e
    style E fill:#bfdbfe,stroke:#1e40af

Cinco capas:

  1. UI (CLI o Desktop) — interfaz humana.
  2. Session Manager — persistencia, history, context engineering.
  3. Provider Layer — adaptadores hacia el modelo. Cubrimos los providers en el capítulo 4.
  4. Extensions — capacidades del agente. Built-in (filesystem, shell) + servidores MCP externos.
  5. Recipes / Subagents — composición de flujos y delegación de tareas.

CLI vs Desktop

CLI (goose)

Para el día a día de desarrollo desde la terminal:

goose session              # nueva sesión interactiva
goose session --name fix-1 # con nombre persistente
goose run <recipe.yaml>    # ejecutar un recipe

Funciona en macOS, Linux y Windows. Es lo que usan equipos serios — más rápido, scriptable, integrable con CI.

Desktop

Aplicación nativa con UI gráfica. Algunos features extra:

  • Sandbox opcional en macOS (limita I/O y red).
  • Customización del sidebar.
  • Integración con MCP-UI para servidores que tienen UI propia.
  • Project switcher visual.

Punto medio entre Cursor (IDE-first) y la CLI: tenés UI sin perder la naturaleza agentic.


Conceptos esenciales antes de seguir

Provider

El modelo y cómo lo invocás. Si usás Claude Code provider, Goose llama a la CLI de Claude Code en background; si usás OpenAI-compat, hace requests HTTP directos.

Session

Una conversación con estado entre vos y el agente. Persiste history, context, herramientas activas. Podés tener múltiples sesiones nombradas en paralelo.

Project

Un directorio + configuración asociada (modelo, extensiones, instrucciones persistentes). El equivalente a un workspace.

Recipe

Un archivo YAML que define una tarea reutilizable: prompt, herramientas requeridas, parámetros, validación.

Extension

Una capability que el agente puede usar. Pueden ser:

  • Built-in (filesystem, shell).
  • MCP servers (cualquiera del ecosistema MCP).

Subagent

Una instancia separada del agente que ejecuta una tarea sin contaminar tu sesión principal. Útil para investigación paralela.


El mantra de Goose

A diferencia de “AI codes for you” (Cursor) o “Claude debugs with you” (Claude Code), Goose se posiciona como:

Your open source AI agent.

El énfasis está en:

  • Open source: podés inspeccionarlo, forkearlo, auditarlo.
  • Agent: no es chat, es operación con herramientas y permisos.
  • Yours: tu modelo, tu config, tu data.

Si esa narrativa te resuena, el resto del tutorial te va a parecer una secuencia lógica. Si preferís magia y menos config, alternativas como Cursor te van a ser más cómodas.


¿Qué viene?

En el próximo capítulo instalamos Goose (CLI + Desktop) y validamos que arranca correctamente, listos para conectar el primer modelo.