2025-10-27

Cómo trabajo con IA

code

Llevo ya un tiempo usando herramientas de IA en mi día a día como programador y he ido iterando bastante sobre qué funciona y qué no. Este post es básicamente un resumen de lo que he probado y cómo las uso actualmente.

Índice

Las herramientas

Actualmente uso:

  • Github Copilot - La suscripción de empresa me da acceso a varios modelos
  • Gemini 2.5 Pro - Parte de la suscripción de Google de empresa
  • Claude Code - Lo uso integrado en Zed, funciona que da gusto

Claude 4 Sonnet

Es el que más uso como agente de programación. La calidad de lo que genera es superior a ChatGPT y Gemini, especialmente cuando las cosas se complican. No se pierde en los detalles y mantiene mejor el contexto de lo que está haciendo.

Dos pegas importantes:

  • Es más lento que las alternativas
  • Los tokens se acaban rápido en Github Copilot

Desde que Zed tiene integración nativa con Claude Code, es mi opción principal. La experiencia es mucho mejor que usar la API directamente, y aún no he tenido problemas con límites mensuales.

Gemini 2.5 Pro

Gemini es una bestia para investigación profunda. La ventana de contexto enorme (1M vs los 128k de Claude) lo hace ideal para analizar código a gran escala.

Lo uso para:

  • Investigación inicial cuando me enfrento a algo nuevo
  • Análisis de código en múltiples archivos usando la CLI
  • Explorar repositorios grandes

Como agente de programación es más rápido que Claude y más inteligente que ChatGPT, pero tiende a ser más imprudente con los cambios. Si los tests fallan, tiene tendencia a cambiar los tests en lugar de revisar qué rompió, incluso si le dices explícitamente que no lo haga.

ChatGPT

Es el único modelo con queries ilimitadas en Github Copilot, así que lo uso bastante.

Honestamente, es bastante menos capaz que Claude o Gemini. Se equivoca con más frecuencia y tiene demasiada confianza en sus respuestas incorrectas. Además, no es muy autónomo: incluso con instrucciones explícitas de no parar, se detiene constantemente esperando confirmación.

Lo bueno: es muy rápido. Para tareas que sé que no van a requerir mucho razonamiento, sigue siendo útil.

Cómo trabajo

Reglas para los agentes

Lo primero que hice fue crear un conjunto de reglas para los agentes. Básicamente son las mismas instrucciones que le daría a un/a desarrollador/a junior:

  • Divide el trabajo en tareas pequeñas
  • Trabaja en iteraciones cortas
  • Escribe los tests primero (TDD)
  • Busca siempre la implementación más simple
  • Asegúrate de que todos los tests están en verde antes de continuar

También tengo algunas reglas específicas de proyecto. Por ejemplo, para temas relacionados con Stripe, le pido explícitamente que consulte la documentación oficial de la API.

El flujo: Investigación profunda → Agente en Zed ↔ GeminiCLI

Para tareas medianas o grandes, este es mi proceso:

1. Investigación profunda con Gemini 2.5 Pro

Le doy una descripción amplia del problema y le pido que no busque una solución, sino que haga una investigación inicial que luego pueda pasar a "otro equipo" (otro modelo) que conoce bien el código pero no el tema.

2. Agente en Zed + Gemini CLI

Una vez tengo esa investigación:

  • Se la paso al agente en Zed (normalmente Claude)
  • Me aseguro de que la issue está bien explicada y detallada

Le pido al agente que:

  • Cree un plan de implementación que podamos trabajar en iteraciones pequeñas
  • Use GeminiCLI para análisis grandes del código, ya que la ventana de contexto de Claude es mucho más pequeña. El agente ejecuta gemini CLI con instrucciones específicas, obtiene el output y lo añade a su propio contexto. Así consigo ahorrar ventana de contexto en Claude
  • Una vez reviso el plan, le pido que trabaje en la primera iteración

El agente sigue las reglas que le he configurado: escribe el test primero y avanza desde ahí. A veces le interrumpo si siento que le falta contexto, se lo doy explícitamente y le digo que continúe. Claude esto lo hace muy bien.

MCPs

Los MCPs (Model Context Protocol) son extensiones que le dan al agente acceso a herramientas externas. Uso un par:

  • Linear - Para que pueda leer issues directamente y tener todo el contexto
  • Sentry - Para que pueda acceder a información detallada de errores

Nada del otro mundo, pero muy práctico para no tener que estar copiando y pegando información constantemente.

Lo que dejé de usar

📦 Archivo

Estas son las cosas que probé y dejé de usar, ya sea porque no me convencían, dejaron de compensar por el precio o porque encontré algo mejor:

Claude vía API directa (~septiembre 2024 - diciembre 2024)

Probé usar Claude (tanto Opus como Sonnet) directamente a través de la API como agente en Zed.

Claude Opus 4 me daba los mejores resultados de todos los agentes que he probado, pero con un coste de $3-5 por feature pequeña. Claude 4 Sonnet era más impredecible: a veces costaba $0.59 arreglar un bug, otras veces gastaba $3 en un loop escribiendo y borrando tests rotos.

Zed AI (plan de pago) (diciembre 2024 - enero 2025)

Usé el plan de pago de Zed AI para usar Claude a muy buen precio (contaban por prompt y no por tokens, así que salía muy rentable con mi manera de usarlo). Una vez Zed lanzó la integración nativa con Claude Code, no tenía sentido seguir con esto.

GeminiCLI como asistente principal (octubre 2024 - presente, pero su rol ha ido cambiando)

Al principio usaba GeminiCLI como mi asistente principal para todo. Ahora lo uso únicamente para asistir a CLI en analisis de código a gran escala.

Sigue siendo muy útil en ese rol más específico, pero ya no es mi herramienta principal.


Esto va evolucionando constantemente. Lo que funciona hoy puede que no sea lo mejor mañana, pero por ahora esta combinación me está funcionando bien.