[GUIA] Cómo programar usando IA - Claude Code, Cursor, Cline, Copilot y similares
08-ago-2025 16:18
#1
|
Buenas shurs, viendo la cantidad de temas que se abren en el foro sobre IA, programación y demás había pensado en aportar mi granito de arena y compartir lo que he conseguido después de muchas iteraciones y probar muchas cosas. También he comentado un par de veces en algunos temas y creo que a los shurs puede resultarles interesante. ¿Pero tú quién eres? No soy programador como tal, trabajo como Data Scientist desde hace unos 6 años y antes he trabajado como Data Analyst y BI dev. Pero vamos, eso no importa, lo que soy es una persona curiosa por naturaleza, siempre me ha gustado bichearlo todo y aprendí a "programar" creando foros con 10 años jaja en los últimos años me quedé atrás con todo el tema frameworks de javascript y demás, en el trabajo tiro de Python, R y demás. Tecnologías recomendadas Esto es mi opinión, ni es una verdad absoluta ni es lo mejor per se, es lo que mejor me ha funcionado a mi. IAs agénticas: yo recomiendo usarlas en VSCode (IDE)
Pero vamos a lo interesante, partiendo de una idea, el principal problema que creo que enfrenta la gente "no experta" (no desarrolladores o campos relacionados) es el hecho de no añadir suficiente contexto, especificaciones y en general detalle a lo que quieren construir. Eso nos lleva al primer paso, el perfeccionamiento de la idea. Paso 1: Perfeccionamiento Para este primer paso vamos a usar un modelo conversacional, no necesitamos que razone, yo suelo usar Gemini 2.5 Flash en AI Studio, desactivándole el thinking mode. Es un paso crucial en el que descubriremos muchas cosas que no habíamos pensado sobre nuestra idea (al menos eso me pasa a mi jaja). Usamos este prompt: Por favor, hazme preguntas una a una para que podamos desarrollar una especificación detallada y paso a paso para esta idea. Cada pregunta debe basarse en mis respuestas anteriores, y nuestro objetivo final es obtener una especificación tan completa que pueda entregarla directamente a un desarrollador. Procedamos de forma iterativa, profundizando en cada detalle relevante. Recuerda: solo una pregunta cada vez.
Aquí tienes la idea: <IDEA> Ahora que hemos finalizado el proceso de brainstorming, ¿podrías recopilar nuestros hallazgos en una especificación integral, lista para el desarrollador? Incluye todos los requisitos relevantes, las decisiones de arquitectura, los detalles de manejo de datos, las estrategias de gestión de errores y un plan de testing para que un desarrollador pueda comenzar la implementación de inmediato.
Paso 2: Planning Ahora partiendo de las especificaciones anteriores, usaremos un modelo razonador, puedes usar o3, o1, r1, yo suelo usar gemini 2.5 pro, le diremos: Redacta un esquema detallado y paso a paso para la construcción de este proyecto. Una vez que tengas un plan sólido, divídelo en bloques pequeños e iterativos que se construyan unos sobre otros. Examina estos bloques y luego realiza otra ronda para dividirlos en pasos más pequeños. Revisa los resultados y asegúrate de que los pasos sean lo suficientemente pequeños como para implementarse de forma segura con pruebas robustas, pero lo suficientemente grandes como para hacer avanzar el proyecto. Itera hasta que consideres que los pasos tienen el tamaño adecuado para este proyecto.
A partir de aquí, deberías tener la base para proporcionar una serie de prompts para un LLM de generación de código que implementará cada paso de manera basada en pruebas (test-driven). Prioriza las mejores prácticas, el progreso incremental y las pruebas tempranas, asegurando que no haya grandes saltos de complejidad en ninguna etapa. Asegúrate de que cada prompt se construya sobre los prompts anteriores y termine conectando los elementos entre sí. No debe haber código suelto u "huérfano" que no esté integrado en un paso anterior. Asegúrate de separar cada sección de prompt. Utiliza Markdown. Cada prompt debe etiquetarse como texto utilizando etiquetas de código (``). El objetivo es generar prompts, pero el contexto, etc., también es importante. <SPECS> Paso 3: Ejecución Llegados a este punto llega el momento de empezar a implementar el proyecto, hay un paso previo opcional que sería pasar prompt_plan.md o spec.md a un modelo distinto y pedirle que haga una revisión de arquitectura y planificación para asegurarnos y tener una "segunda opinión". Una vez estemos contentos con nuestro prompt_plan.md, usaremos nuestro sistema favorito, yo uso Claude Code, pero puede ser Cline (esto con la API gratis de AI studio si queréis probar algo sin gastar dinero), Aider, Windsurf, Cursor, Copilot, Gemini CLI, le diremos: 1. Abre el archivo @prompt_plan.md e identifica los prompts que no estén marcados como completo
2. Para cada prompt incompleto: - Comprueba de nuevo que de verdad no está terminado, si tienes dudas preguntame - Si confirmas que está terminado, pasa al siguiente - Si no lo está, impleméntalo como esté descrito - Asegúrate de implementar tests para cada uno, que los tests pasan bien y *no te saltes ninguno* - Haz un commit al repositorio con un mensaje claro de commit en cada cambio que hagas - Actualiza @prompt_plan.md y marca el prompt como completo 3. Cada prompt que completes, espera y pide su opinión al usuario 4. Repite con el siguiente prompt incompleto si el usuario te lo pide Como complementos interesantes dejo un par de MCPs que pueden ser muy útiles basado en mi experiencia: MCPs interesantes Context7: https://github.com/upstash/context7 Este maravilloso MCP se actualiza con las documentaciones de librerias y frameworks, de manera que cuando el LLM va a programar tiene de refernecia los documentos frescos y no se basa en antiguos ejemplos, tutoriales o documentos con los que haya sido entrenados y estén desfasados. ZenMCP: https://github.com/BeehiveInnovations/zen-mcp-server Este MCP lo que hace es darnos la posibilidad de conectar Claude Code o Gemini CLI con otros modelos usando sus APIs, es muy útil para hacer codereviews o cuando Claude se queda atascado en un bug porque por ejemplo con la gran ventana de contexto de Gemini a veces encuentre la solución y revisa más acertadamente. PlaywrightMCP: https://github.com/microsoft/playwright-mcp Este MCP lo que hace es darle a la IA la capacidad de usar un navegador, de esta manera si por ejemplo estamos programando una webapp podemos decirle que la use y la pruebe, asi como para pulir interfaces. SupabaseMCP: https://supabase.com/blog/mcp-server Si usáis Supabase como backend, facilita mucho las cosas Espero que sirva de ayuda a los shurs, iré actualizando y añadiendo más cosas que se me vayan ocurriendo que puedan resultar útiles |
09-ago-2025 21:55
#2
| Muy interesante, habrá que probarlo a ver si funciona bien o si se puede mejorar. |
09-ago-2025 22:12
#10
| Buen aporte shur. También puedes añadir una sección sobre usar modelos en el propio código. Yo por ejemplo en el trabajo he hecho un chatbot con conocimiento de la empresa (un RAG) y por ejemplo si quieres olvidarte de gestionar API keys para cada provider que al final es un lio, puedes usar un AI Gateway como el de Vercel y tienes acceso a todos los modelos con una sola API key |
09-ago-2025 23:34
#22
|
Apuntadisimo al.hilo. ¿Qué suscripción estàs pagando. actualmente? ¿Te la paga la empresa o tú por tu cuenta? No te ponen limitaciones por exponerse codigo de la empresa a terceras empresas? |
09-ago-2025 23:59
#26
| Mi consejo, aprende a programar y despues con cursor tendras super poderes, de lo contrario haras codigo que servira para mas bien poco, por que los proyectos grandes no usan un index donde se hace todo y ya |
10-ago-2025 11:26
#27
|
Jajaja es verdad que cada vez se ven menos Buen aporte shur. También puedes añadir una sección sobre usar modelos en el propio código. Yo por ejemplo en el trabajo he hecho un chatbot con conocimiento de la empresa (un RAG) y por ejemplo si quieres olvidarte de gestionar API keys para cada provider que al final es un lio, puedes usar un AI Gateway como el de Vercel y tienes acceso a todos los modelos con una sola API key
Respecto a lo de las api keys yo he usado en el pasado openrouter, le echaré un vistazo a lo que dices En casa tengo claude code max, en el trabajo gemini code assist, las licencias de empresa de gemini por ejemplo aseguran que el código tuyo no es usado para entrenar modelos ni almacenado por google, es seguro Hay de todo shur, prueba el flow que explico, si tienes control sobre lo que programa el LLM se pueden hacer cosas chulas y rápido, la clave es documentar y planificar todo |
