Rénich's Blog

Tácticas para Opencode: El Arte del Orquestador

Hero image for Tácticas para Opencode: El Arte del Orquestador

27 de enero de 2026

Mis sesiones de coding con IA se estaban volviendo un desmadre. Ya sabes cómo es: empiezas con una pregunta sencilla, el contexto se infla, y de repente el modelo ya no sabe ni qué día es. Así que me puse a afinar mi configuración de Opencode y, la neta, encontré un patrón que está bien perro. Se trata de usar un agente fuerte como orquestador.

Note

Este artículo asume que ya tienes Opencode instalado y sabes qué onda con los archivos JSON de configuración. Si no, ¡échale un ojo a los docs primero!

El Problema: El Contexto Infinito (y Basura)

El problema principal cuando trabajas con un solo agente para todo es que el contexto se llena de ruido rapidísimo. Código, logs, errores, intentos fallidos... todo eso se acumula. Y aunque modelos como el Gemini 3 Pro tienen una ventana de contexto enorme, no significa que sea buena idea llenarla de basura. A final de cuentas, entre más ruido, más alucina.

La Solución: El Director de Orquesta

La táctica es simple pero poderosa: configura un agente principal (el Orquestador) cuyo único trabajo sea pensar, planear y mandar. Nada de picarle al código directamente. Este agente delega las tareas sucias a sub-agentes especializados.

Así, mantienes el contexto del orquestador limpio; enfocado en tu proyecto, mientras los chalanes (sub-agentes) se ensucian las manos en sus propios contextos aislados.

Lo chido es que, a los chalanes, se les asigna un rol de manera dinámica, se les da un pre-contexto bien acotado y los sub-agentes se lanzan por una tarea bien delimitada y bien acotada.

¡Hasta te ahorras una feria! El master le dice al chalán qué y cómo hacerlo y, seguido, el chalán es rápido (gemini-3-flash, por ejemplo) y termina la chamba rápido. Si se pone listo el orquestador, pues luego hace una revisión y le pone una regañada al chalán por hacer las cosas al aventón. ;D

Configurando el Enjambre

Checa cómo configuré esto en mi opencode.json. La magia está en definir roles claros.

{ "agent": {
  "orchestrator": {
    "mode": "primary",
    "model": "google/antigravity-gemini-3-pro",
    "temperature": 0.1,
    "prompt": "ROLE: Central Orchestrator & Swarm Director.\n\nGOAL: Dynamically orchestrate tasks by spinning up focused sub-agents. You are the conductor, NOT a musician.\n\nCONTEXT HYGIENE RULES:\n1. NEVER CODE: You must delegate all implementation, coding, debugging, and file-editing tasks. Your context must remain clean of code snippets and low-level details.\n2. SMART DELEGATION: Analyze requests at a high level. Assign specific, focused roles to sub-agents. Keep their task descriptions narrow so they work fast and focused.\n3. CONTEXT ISOLATION: When assigning a task, provide ONLY the necessary context for that specific role. This prevents sub-agent context bloat.\n\nSUB-AGENTS & STRENGTHS:\n- @big-pickle: Free, General Purpose (Swarm Infantry).\n- @gemini-3-flash: High Speed, Low Latency, Efficient (Scout/Specialist).\n- @gemini-3-pro: Deep Reasoning, Complex Architecture (Senior Consultant).\n\nSTRATEGY:\n1. Analyze the user request. Identify distinct units of work.\n2. Spin up a swarm of 2-3 sub-agents in parallel using the `task` tool.\n3. Create custom personas in the `prompt` (e.g., 'Act as a Senior Backend Engineer...', 'Act as a Security Auditor...').\n4. Synthesize the sub-agent outputs and provide a concise response to the user.\n\nACTION: Use the Task tool to delegate. Maintain command and control.",
    "tools": {
      "task": true,
      "read": true
    },
    "permission": {
      "bash": "deny",
      "edit": "deny"
    }
  }
}}

¿Viste eso?

  1. Tools restringidas: Le quité bash y edit. El orquestador no puede tocar el sistema aunque quiera. Solo puede leer y delegar.
  2. Prompt específico: Se le dice claramente: "Tú eres el director, no el músico".

Los Sub-agentes

Luego, defines a los que sí van a chambear. Puedes tener varios sabores, como el Gemini 3 Pro para cosas complejas o el Big Pickle para talacha general.

{ "gemini-3-pro": {
  "mode": "subagent",
  "model": "google/antigravity-gemini-3-pro",
  "temperature": 0.1,
  "prompt": "ROLE: Gemini 3 Pro (Deep Reasoning).\n\nSTRENGTH: Complex coding, architecture...",
  "tools": {
    "write": true,
    "edit": true,
    "bash": true,
    "read": true
  }
}}

Aquí sí les das permiso de todo (write, edit, bash). Cuando el orquestador les manda una tarea con la herramienta task, se crea una sesión nueva, limpia, resuelven el problema, y regresan solo el resultado final al orquestador. ¡Una chulada!

Tip

Usa modelos más rápidos y baratos (como Flash) para tareas sencillas de búsqueda o scripts rápidos, y deja al Pro para la arquitectura pesada.

Beneficios, compa

Lista de definición de por qué esto rifa:

Limpieza de Contexto:
El orquestador nunca ve los 50 intentos fallidos de compilación del sub-agente. Solo ve "Tarea completada: X".
Especialización:
Puedes tener un sub-agente con un prompt de "Experto en Seguridad" y otro de "Experto en Frontend", y el orquestador los coordina.
Costo y Velocidad:
No gastas los tokens del modelo más caro en leer logs infinitos.

Conclusión

Esta configuración convierte a Opencode en una verdadera fuerza de trabajo. Al principio se siente raro no pedirle las cosas directo al modelo, pero cuando ves que el orquestador empieza a manejar 2 o 3 agentes en paralelo para resolverte la vida, no mames, es otro nivel.

Pruébalo y me dices si no se siente más pro. ¡Ahí nos vidrios!