Ollama Asistente de Programación IA Local
En este capítulo se personalizará un modelo local dedicado a codificación, ejemplo-coder, y se integrará en VS Code y Claude Code para crear un asistente de programación totalmente offline y sin gasto de tokens.
El trabajo principal son tres cosas: elegir el modelo de código adecuado, escribir bien el Modelfile de codificación e integrarlo en la herramienta que te resulte cómoda.
Primer paso: elegir el modelo de código, la memoria de video manda
La diferencia de capacidad entre los modelos de código es más notable que en los modelos de diálogo, pero el requisito también es mayor. Ubícate según tu memoria de video:
| Tu hardware | Modelo recomendado | Rendimiento esperado |
|---|---|---|
| 24GB o más de memoria de video | qwen3-coder | Modelo de código dedicado, el mejor en comprensión entre archivos; los parámetros de nivel 30B exigen mucha memoria de video, y los contextos largos requieren aún más margen |
| 16GB de RAM sin GPU dedicada | Versión personalizada de qwen3.5:9b | Suficiente para autocompletado diario, explicación de código y escritura de pruebas unitarias |
| Máquina antigua con 8GB de RAM | Versión personalizada de qwen3.5:4b / 0.8b | Preguntas y respuestas ligeras; las tareas complejas se delegan a la nube |
Si la memoria de video no es suficiente para ejecutar qwen3-coder, no te preocupes: usa la etiqueta :cloud para llamar directamente a la versión en la nube. Los equipos con código sensible deben revisar el cumplimiento normativo primero.
Opciones de descarga según tu hardware:
ollama pull qwen3-coder # 24GB+ 显存 ollama pull qwen3.5:9b # 16GB 内存
Segundo paso: escribir el Modelfile para escenarios de codificación
El modelo base puede escribir código, pero no es "profesional": no comenta, se desvía fácilmente y el formato es descuidado. Usa un Modelfile para fijar las normas de codificación:
Ejemplo
# Con 24GB+ de memoria de video, cambia el modelo base a qwen3-coder
FROM qwen3.5:9b
SYSTEM """
Eres el asistente de programación del equipo EJEMPLO. Cumple las siguientes normas:
1. Prioriza dar código completo y directamente ejecutable, en lugar de fragmentos
2. Escribe comentarios en chino en cada paso clave, explicando el "porqué"
3. Sigue PEP 8 (Python) o el estilo oficial del lenguaje
4. Cuando se traten APIs desconocidas, recuerda consultar la documentación oficial; no inventes interfaces
5. Estructura de la respuesta: una frase de idea - código - notas
"""
# Los escenarios de código requieren estabilidad; reduce la aleatoriedad
PARAMETER temperature 0.2
# En escenarios de agente/editor, el contexto de código es muy grande; proporciona una ventana suficiente
PARAMETER num_ctx 65536
Construye el modelo de codificación exclusivo:
ollama create ejemplo-coder -f Modelfile
Para verificar si está bien "ajustado", pruébalo con tres tareas estándar: hacer que una función sea directamente utilizable (para ver la integridad), explicar un fragmento de código antiguo con trampas (para ver la comprensión) y pedir que escriba pruebas unitarias (para ver el seguimiento de normas). Solo conéctalo al editor si aprueba las tres.
num_ctx 65536 está pensado para escenarios de editor y agente: ellos meten todo el archivo o incluso varios archivos en el contexto. Cuando la memoria de video esté justa, redúcelo a 32768 y usa ollama ps para observar si PROCESSOR sigue siendo 100% GPU.
Tercer paso: integrarlo en tu editor
Para las herramientas, un modelo personalizado y un modelo base no tienen diferencias; el método de integración es exactamente el mismo que en el capítulo 11.
Integración con VS Code Chat
Tras instalar la extensión oficial de Ollama, basta con seleccionar ejemplo-coder en el selector de modelos de Chat; no se necesita ninguna otra configuración.
Integración con Claude Code
Ejemplo
ollama launch claude --model ejemplo-coder
# Método manual: las variables de entorno apuntan a local y el nombre del modelo usa el modelo personalizado
export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_BASE_URL=http://localhost:11434
claude --model ejemplo-coder
Tras la integración, la edición de archivos, la ejecución de comandos y la capacidad de refactorización en múltiples turnos de Claude Code son impulsadas por el modelo local. Antes de ejecutar tareas largas, recuerda confirmar que la ventana de contexto se ha configurado según lo indicado arriba.
Comparación de efectos y estrategia de cambio de modelo
Diferentes tareas requieren modelos de diferentes tamaños. Fija una estrategia de selección para evitar dudar cada vez:
| Tipo de tarea | Modelo recomendado | Razón |
|---|---|---|
| Autocompletado de funciones, explicación de código, escritura de pruebas unitarias | ejemplo-coder (local) | Rápido, gratuito y privado |
| Refactorización entre archivos, depuración compleja | qwen3-coder o la versión insignia en la nube | Se necesita una comprensión de contexto largo más potente |
| Generación por lotes, procesamiento mediante scripts | Modelo pequeño local + API | Ejecutar gran volumen a costo cero |
El costo de cambio debe ser lo suficientemente bajo para que realmente se pueda cambiar:
Ejemplo
/load qwen3-coder
# En VS Code, simplemente selecciónalo en el selector de modelos
# Al iniciar Claude Code, especifícalo con --model
Otras extensionesUna estrategia combinada práctica: el 90% de las solicitudes diarias se delegan al modelo pequeño local, y cuando aparezcan problemas realmente difíciles, se cambia al modelo grande o al de la nube. La coexistencia de múltiples etiquetas en Ollama hace que esta estrategia de "escalones" no tenga ningún costo de cambio.