Avanzado 11 minAgentes

OpenHands: un agente desarrollador basado en un modelo local

Respuesta directa

Sí, OpenHands (antes OpenDevin) funciona con un modelo local a través de cualquier punto de acceso compatible con OpenAI, pero es la carga de trabajo con agentes más exigente que existe: por debajo de los 27 a 32 mil millones de parámetros con un contexto largo (22 000 tokens como mínimo, 32 768 recomendados), el agente entra en bucle, interpreta mal la salida de los comandos y modifica el archivo equivocado.

OpenHands da a un agente un terminal, un navegador y tu repositorio, y luego lo deja trabajar: planifica, modifica archivos, ejecuta comandos en un entorno aislado, lee la salida y repite el proceso hasta completar la tarea o desistir. Es posible ejecutarlo con un modelo local, pero requiere un modelo mucho más grande que los que tiene la mayoría de la gente. Aquí mostramos dónde está realmente el límite, con los ajustes recomendados por el propio proyecto.

Por Mohamed Meguedmi·Actualización 2026-09-28·Probado en Windows, macOS y Linux

#Lo que hace, concretamente

Describes una tarea en francés. Inspecciona el repositorio, elabora un plan y luego actúa en bucle: ejecutar un comando, leer el resultado, modificar un archivo, volver a ejecutar las pruebas, leer el fallo y corregirlo. Este bucle es el producto. Se parece más a una persona en prácticas con un terminal que al autocompletado.

De ahí se derivan las consecuencias. Cada iteración es una generación completa sobre un contexto que crece: una tarea de diez pasos supone diez prompts largos. Y como el agente actúa en lugar de sugerir, su radio de acción abarca todo aquello a lo que puede acceder, lo que explica por qué el entorno aislado forma parte del diseño y no de los ajustes.

#El proyecto en 2026: Agent Canvas

El kit Copiloto Local

Esta guía te lleva al modelo. El kit te lleva al copiloto que programa en tu editor.

  • Espacio en línea de por vida
  • PDF + archivos
  • Reembolsado 30 j

OpenHands se llamaba OpenDevin cuando se lanzó, antes de adoptar su nombre actual. El repositorio, mantenido por All Hands AI, está publicado bajo licencia MIT y supera las 89.000 estrellas en GitHub en el verano de 2026. El proyecto también se ha ampliado: ya no se presenta solo como un agente autónomo aislado, sino como «el centro de control autoalojado para los agentes de código y las automatizaciones», capaz de controlar tanto OpenHands como Claude Code, Codex o Gemini desde una sola interfaz.

En concreto, la oferta se ha estructurado en varios componentes: Agent Canvas (la interfaz de control), un Software Agent SDK para construir tus propios agentes, un Agent Server y un servidor de automatización para las tareas programadas. La antigua interfaz local autónoma ha quedado obsoleta en favor de esta arquitectura modular; el principio sigue siendo el mismo para el uso local descrito aquí —un agente que actúa en un entorno aislado en contenedores—, pero los nombres de los componentes y el comando de lanzamiento pueden variar entre distintas versiones antiguas de la documentación, incluida la que todavía puedes encontrar a veces indexada bajo el nombre OpenDevin.

#Los requisitos del modelo, sin rodeos

Lo que realmente se obtiene en una tarea de desarrollo con agentes
Clase de modeloResultado realista
7 a 8 mil millonesFalla. Comandos mal formados, salida mal interpretada, bucles sobre el mismo archivo.
14 mil millonesA veces logra tareas triviales con un solo archivo. Es poco confiable.
27 a 32 mil millonesEl mínimo viable. Las tareas acotadas y bien especificadas se completan con éxito con la suficiente frecuencia como para resultar útiles.
70 mil millones y másCriterio mucho mejor, pero lo bastante lento como para lanzar la tarea e ir a hacer otra cosa.

Dos capacidades importan más que las puntuaciones en los benchmarks: la llamada a herramientas en el formato exacto esperado y la estabilidad con contextos largos, ya que el agente vuelve a leer un historial cada vez más extenso en cada paso. Un modelo excelente para escribir una función a partir de un prompt puede resultar inutilizable cuando se ejecuta en un bucle. Los modelos orientados al código suelen superar a los modelos de conversación del mismo tamaño en esta tarea.

La documentación oficial del proyecto cambió su recomendación durante 2026: ahora recomienda Qwen3.6-35B-A3B como primer modelo local que probar, un modelo MoE (mezcla de expertos) diseñado para la programación agéntica, con un contexto amplio y disponible a través de LM Studio, Ollama, vLLM y SGLang. La ventaja de un MoE aquí es clara: solo se activan 3 mil millones de parámetros por token, pese a los 35 mil millones de pesos totales, lo que hace que la generación sea considerablemente más rápida que con un modelo denso de tamaño comparable, con unas necesidades de VRAM más cercanas a las de un modelo de 14B que a las de uno denso de 35B.

!
El contexto es el costo oculto
Los prompts de los agentes incluyen la tarea, el plan, el contenido de los archivos y el historial de comandos. La documentación de OpenHands pide configurar un contexto de al menos 22 000 tokens en Ollama (el valor predeterminado de 4 096 ni siquiera basta para el prompt del sistema) y recomienda 32 768. Un contexto largo consume memoria antes de consumir tiempo: un modelo de 32 mil millones de parámetros con un contexto realmente largo requiere 24 GB o más.

#Ejecutarlo localmente

  1. 01
    Servir un modelo
    En un endpoint compatible con OpenAI, con la variable OLLAMA_CONTEXT_LENGTH aumentada a 22 000 como mínimo (se recomiendan 32 768) si usas Ollama. Este paso suele omitirse, lo que da lugar a agentes que olvidan su propio plan.
  2. 02
    Iniciar la aplicación en su configuración en contenedores
    Necesita un motor de contenedores (Docker Desktop o Docker Engine): el shell del agente se ejecuta allí, no en tu host.
  3. 03
    Apuntarlo a tu punto de acceso local
    Con una clave de API ficticia (por ejemplo, local-llm) y una URL base accesible desde el contenedor —en Docker Desktop, http://host.docker.internal:PORT/v1 en lugar de localhost, que apuntaría al propio contenedor—. Solo indica que el modelo admite llamadas a herramientas si realmente es capaz de realizarlas.
  4. 04
    Montar un único repositorio
    Idealmente un clon descartable, en una rama que puedas borrar sin arrepentimiento.
  5. 05
    Comenzar por una tarea pequeña y verificable
    Corrige este test que falla, añade este parámetro, actualiza esta configuración. Luego revisa de nuevo el diff.

#El costo real de una tarea

Una tarea realizada por un agente no cuesta una llamada al modelo, sino una secuencia de llamadas, cada una con un contexto más largo que la anterior porque el historial se acumula. Para una tarea que requiere diez iteraciones, si cada paso añade de media 800 tokens al historial, la décima llamada ya vuelve a leer varios miles de tokens de contexto antes incluso de producir su respuesta. En el procesamiento local, el tiempo de lectura del prompt (el «prefill») se suma al tiempo de generación en cada turno, lo que explica por qué el tiempo que necesita un agente local que utiliza un modelo de 32 mil millones de parámetros se mide en minutos por tarea, y no en segundos como una compleción convencional.

Es la contrapartida de no pagar una factura de API: el costo no desaparece, se traslada a tu tarjeta gráfica y a tu tiempo de espera. En una tarea mal especificada que desencadena veinte iteraciones porque el agente da vueltas sin avanzar, este traslado del costo acaba saliendo rápidamente más caro, en electricidad y tiempo, que una llamada equivalente a la API.

#Un ejemplo concreto para aclarar las ideas

Tomemos una tarea realista: «la prueba test_export_csv falla desde el último commit, corrígela». Con un modelo de la categoría de 32 mil millones de parámetros, el proceso típico requiere entre cinco y ocho iteraciones: lectura de la prueba y del mensaje de fallo, apertura del archivo fuente afectado, formulación de una hipótesis sobre la causa, modificación, nueva ejecución de la prueba, lectura del nuevo resultado y ajuste si es necesario. Cada iteración vuelve a leer el historial completo de las anteriores, lo que hace que la ventana de contexto sea decisiva: con solo 8.000 tokens, el agente pierde el hilo después de tres o cuatro pasos y vuelve a plantear hipótesis ya descartadas.

En un modelo de 7 a 8 mil millones de parámetros, la misma tarea suele fallar de otra manera: la prueba se identifica correctamente, pero el comando para volver a ejecutarla está mal formado, o el modelo edita un archivo cercano con un nombre parecido. No son errores de configuración: es el límite de capacidad del modelo ante el formato estricto que exige el ciclo herramienta-resultado-decisión, independientemente de la calidad del prompt del sistema. También por eso las puntuaciones publicadas en benchmarks de completado de código no predicen gran cosa aquí: un modelo con una puntuación alta en la generación de una función aislada puede seguir siendo incapaz de encadenar diez llamadas coherentes a herramientas sin perder el rumbo, porque la correlación entre estas dos capacidades varía según cómo se haya entrenado el modelo.

#La seguridad no es opcional

Ningún secreto en el entorno
El agente lee su propio entorno y puede mostrarlo.
Una rama descartable y un clon de trabajo
Nunca tu copia de trabajo con modificaciones no validadas.
Acceso a red restringido
Un agente que pueda conectarse a cualquier destino puede exfiltrar todo lo que haya leído.
Todo contenido recuperado es hostil por defecto
La descripción de un ticket o un archivo README pueden contener instrucciones dirigidas al agente: el mecanismo se detalla en nuestra guía sobre la inyección de prompts.
Releer cada diff
«Los tests pasan» significa que los tests pasan, no que la modificación sea correcta.

#Cuándo un asistente es mejor que un agente

Herramienta según la tarea
TareaMejor herramienta
Autocompletado mientras escribesUna extensión de editor
Una modificación que se puede describir archivo por archivoUn asistente conversacional con el archivo abierto
Una tarea en varios pasos con una prueba clara para comprobar que se ha completado con éxitoOpenHands, si el modelo es lo suficientemente grande
Código que no puedes revisarNinguno de los dos: no podrás verificar el resultado

En resumen, OpenHands en local no es un gadget ni un sustituto universal: es una herramienta que debe reservarse para máquinas capaces de alojar realmente un modelo de 27 mil millones de parámetros o más con un contexto de 32 000 tokens, y para tareas lo bastante acotadas como para que una prueba automatizada o una revisión rápida baste para evaluar el resultado. Por debajo de ese umbral de hardware, un asistente conversacional clásico con el archivo abierto sigue siendo más rápido y más fiable que un agente que entra en bucle sin llegar nunca a converger.

#FAQ

¿Puede OpenHands funcionar con un modelo local?+
Sí, a través de cualquier punto de acceso compatible con OpenAI: Ollama, LM Studio, vLLM o SGLang. La restricción no es la conexión, sino la capacidad del modelo. Es la carga de trabajo local más exigente en uso habitual, y los pequeños modelos fallan independientemente de la configuración o de la calidad del prompt de sistema utilizado.
¿Cuál es el modelo mínimo?+
Siendo realistas, un modelo orientado al código de entre 27 y 32 mil millones de parámetros, con un contexto largo y llamadas fiables a herramientas. La documentación oficial recomienda ahora Qwen3.6-35B-A3B, un MoE agéntico, como primera opción para probar. Con 14 mil millones de parámetros, solo las tareas triviales llegan a completarse a veces; por debajo de 8 mil millones, no funciona de forma utilizable.
¿Qué contexto configurar en Ollama?+
Al menos 22 000 tokens: la documentación de OpenHands especifica claramente que el valor predeterminado de 4 096 tokens ni siquiera basta para alojar el prompt de sistema del agente por sí solo. Recomienda 32 768 tokens mediante la variable OLLAMA_CONTEXT_LENGTH para un uso cómodo en tareas de varias etapas sin truncamiento silencioso del historial.
¿Es prudente lanzarlo en mi máquina?+
Únicamente con su entorno aislado en un contenedor, un clon desechable del repositorio, ningún secreto en el entorno y un acceso de red restringido a lo que realmente necesita la tarea. El agente ejecuta comandos que ha escrito él mismo, basándose en contenidos —tickets, README, dependencias— que se deben considerar potencialmente hostiles por defecto.
¿Cuánta VRAM se necesita?+
La suficiente para alojar un modelo de unos 32 mil millones de parámetros más un contexto largo, es decir, 24 GB o más en la práctica para un modelo denso clásico. Un poco menos basta para un MoE como Qwen3.6-35B-A3B, en el que solo se activa una fracción de los pesos por token generado. En ambos casos, es el contexto, no solo los pesos, lo que más suele sorprender a los principiantes.
¿Por qué el agente repite la misma etapa?+
En general, un modelo incapaz de producir el formato exacto de llamada a herramientas esperado por el framework, o un contexto saturado que ha truncado silenciosamente el inicio del plan y el historial de comandos ya ejecutados. La corrección, por este orden: aumentar primero el contexto asignado y, solo después, pasar a un modelo más grande si el problema persiste.
¿OpenHands sigue siendo el mismo proyecto que OpenDevin?+
Sí, es el mismo proyecto, simplemente renombrado en sus inicios. En 2026, se ha ampliado mucho más allá del agente autónomo aislado: ahora se presenta como un centro de control autoalojado capaz de controlar también Claude Code, Codex o Gemini, a través de una arquitectura modular llamada Agent Canvas, con su propio SDK de agentes.
¿Esta guía te ha ayudado?

¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.