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 hardwareModelo recomendadoRendimiento esperado
24GB o más de memoria de videoqwen3-coderModelo 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 dedicadaVersión personalizada de qwen3.5:9bSuficiente para autocompletado diario, explicación de código y escritura de pruebas unitarias
Máquina antigua con 8GB de RAMVersión personalizada de qwen3.5:4b / 0.8bPreguntas 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

# Ruta del archivo: Modelfile
# 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

# Método con un clic
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 tareaModelo recomendadoRazón
Autocompletado de funciones, explicación de código, escritura de pruebas unitariasejemplo-coder (local)Rápido, gratuito y privado
Refactorización entre archivos, depuración complejaqwen3-coder o la versión insignia en la nubeSe necesita una comprensión de contexto largo más potente
Generación por lotes, procesamiento mediante scriptsModelo pequeño local + APIEjecutar gran volumen a costo cero

El costo de cambio debe ser lo suficientemente bajo para que realmente se pueda cambiar:

Ejemplo

# En el diálogo de terminal, cambia de modelo sin salir
/load qwen3-coder

# En VS Code, simplemente selecciónalo en el selector de modelos
# Al iniciar Claude Code, especifícalo con --model

Una 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.

Otras extensiones