La programación con inteligencia artificial en entornos locales demanda una configuración específica para que los modelos de lenguaje grandes (LLM) operen de manera eficiente. Un agente de programación exige mucho más de un modelo que una simple conversación, ya que debe invocar herramientas con formatos precisos, procesar archivos extensos y mantener el contexto a lo largo de múltiples pasos. En este escenario, el cuello de botella rara vez es el harness en sí, sino el modelo subyacente.

Consideraciones clave antes de la elección: modelo, memoria y contexto

Antes de seleccionar un harness, es fundamental entender cómo interactúa el modelo con los recursos de tu equipo. La capacidad de tu hardware define qué modelos puedes ejecutar localmente.

Modelos abiertos recomendados para programación local y sus requisitos

A continuación, te presento una tabla con algunos de los modelos abiertos más recomendados para programación con agentes, junto con sus tamaños cuantizados a 4 bits (el formato más común para uso local) y los requisitos de hardware:

Modelo Tipo Q4 (tamaño) Dónde cabe gpt-oss-20b MoE de 21.000 millones (11,6 GB) GPU de 16 GB Devstral Small 2 (24B) Denso (14,3 GB) RTX 4090 o Mac con 32 GB Qwen3.8-27B Denso (16,5 GB) GPU de 24 GB Qwen3-Coder-30B-A3B MoE, 3.000 millones activos (18,6 GB) GPU de 24 GB, o CPU con 32 GB de RAM Qwen3.6-35B-A3B MoE, 3.000 millones activos (22,1 GB) GPU de 24 GB justa o Mac con 64 GB Qwen3-Coder-Next (80B) MoE, 3.000 millones activos (48,5 GB) Mac o PC con 64 GB o más gpt-oss-120b MoE de 117.000 millones (63 GB) Mac con 96-128 GB o varias GPU

Los modelos MoE (Mixture of Experts), con pocos parámetros activos por token, como Qwen3-Coder-30B-A3B, pueden ser sorprendentemente rápidos incluso si parte del modelo reside en la RAM del sistema. Por otro lado, los modelos densos, como Devstral Small 2, suelen ofrecer un mejor razonamiento para un tamaño similar, pero requieren caber completamente en la GPU para un rendimiento óptimo. Herramientas como llmfit pueden ayudarte a determinar qué modelos son compatibles con tu configuración.

Modelos de gran escala como DeepSeek V4 o GLM-5.3, con más de 300.000 millones de parámetros, superan las capacidades de una configuración doméstica. Estos se utilizan a través de APIs o servidores en la nube.

La importancia crítica del contexto

Un agente inserta en cada solicitud instrucciones del sistema, descripciones de herramientas y archivos leídos. Esto consume rápidamente la ventana de contexto. Cuando el contexto se agota, el modelo puede empezar a fallar en las llamadas a herramientas sin previo aviso.

  • Ollama ajusta el contexto por defecto según la VRAM: 4.096 tokens con menos de 24 GB, 32.000 entre 24 y 48 GB, y 256.000 por encima. La documentación recomienda al menos 64.000 tokens para agentes. Puedes modificarlo al iniciar el servidor con OLLAMA_CONTEXT_LENGTH=64000 ollama serve. Para ahorrar memoria, puedes comprimir la caché de contexto con OLLAMA_KV_CACHE_TYPE=q8_0.
  • llama.cpp requiere iniciar llama-server con --jinja para habilitar las llamadas a herramientas y un contexto amplio, por ejemplo, -c 32768.

Ollama también ofrece ollama launch, una función que configura e inicia directamente varios harnesses con un modelo local, incluyendo OpenCode, Pi y DeepSeek.

Los mejores harness para terminal

OpenCode: el más completo

Con más de 210.000 estrellas en GitHub, OpenCode es el harness abierto más popular. Ofrece una interfaz de terminal avanzada y una aplicación de escritorio. Dispone de dos agentes intercambiables con el tabulador: Build para trabajar y Plan para la planificación. Incluye subagentes, permisos configurables, integración con LSP y plugins. Se configura como cualquier API compatible con OpenAI y tiene documentación específica para Ollama, LM Studio y llama.cpp.

Pi: el minimalista

Pi, mantenido por Earendil, adopta un enfoque minimalista con solo cuatro herramientas básicas (leer, escribir, editar y ejecutar comandos). El resto de funcionalidades se gestionan mediante extensiones. Su prompt de sistema es conciso, lo que es ventajoso para modelos locales con limitaciones de contexto. Sin embargo, carece de un sistema de permisos, por lo que se recomienda usarlo en un contenedor o máquina virtual.

Codex CLI: con sandbox integrado

Este agente de código abierto de OpenAI funciona con modelos locales sin configuraciones complejas. Su principal fortaleza es el sandbox, que limita las acciones del agente. Ollama sugiere un contexto mínimo de 64.000 tokens para Codex. Es importante destacar que envía datos de uso anónimos a OpenAI, una función que puedes desactivar en la configuración.

DeepSeek Harness (dsh): una opción emergente

Lanzado en agosto de 2026, dsh ha ganado rápidamente popularidad. Ofrece interfaces web y de escritorio, y una arquitectura modular basada en plugins. Aunque es compatible con APIs tipo OpenAI, la propia DeepSeek advierte que es una versión preliminar y recomienda su uso en entornos aislados como máquinas virtuales o contenedores debido a la falta de una auditoría de seguridad completa. Sus modelos nativos, DeepSeek V4, son demasiado grandes para ejecución local.

Harness en editores y entornos completos

Cline: la extensión de VS Code más popular

Cline es la extensión de VS Code más utilizada para agentes, con más de 69.000 estrellas. Compatible con Ollama, LM Studio y APIs tipo OpenAI, incorpora los modos Plan y Act. Para modelos locales, se recomienda activar «Use Compact Prompt» para reducir el tamaño de las instrucciones del sistema y optimizar el contexto.

Zed: editor con agente integrado

El editor Zed incluye su propio agente integrado, compatible con llama.cpp, Ollama, LM Studio o cualquier servidor compatible con OpenAI. Para que el agente funcione correctamente, debes marcar los modelos que admiten herramientas en la configuración con la opción supports_tools.

OpenHands: un entorno completo de IA

Más que un harness, OpenHands es un entorno de desarrollo integral. El agente opera dentro de un contenedor aislado con su propio sistema de archivos, terminal y navegador, controlable desde una interfaz web o la terminal.