Ir al contenido
De volcado mental a entrada de blog

De volcado mental a entrada de blog

← Todos los Posts

Cómo aprovechar los modelos de lenguaje (LLM) para documentar lo que aprendes

En el vertiginoso mundo del desarrollo de software, las soluciones innovadoras y las buenas prácticas suelen quedar sepultadas entre notas sueltas, commits apresurados y sesiones improvisadas de resolución de problemas (ad hoc). Como muchos desarrolladores, me ha costado capturar todo mi proceso de resolución de problemas, desde la fase inicial de brainstorming (lluvia de ideas) hasta la solución final. Pero descubrí algo transformador: al aprovechar los grandes modelos de lenguaje —los LLM— a lo largo del desarrollo, no solo puedo crear sistemas sólidos, sino también convertir mis ideas en bruto en documentación clara y completa. Esa documentación se convierte en un valioso recurso de aprendizaje que acelera el conocimiento para ti, tu equipo, tu organización o la comunidad en general. En esta entrada del blog exploro el proceso que he desarrollado en los últimos meses. No es solo una guía para programar mejor con los LLM; es un llamado a la acción para que diseñes tu propio proceso, documentes tus descubrimientos y los compartas con otros. Así crearás un repositorio vivo de conocimiento que podrá compartirse, refinarse y mejorarse continuamente. ## Descripción general del flujo de trabajo potenciado por LLM El proceso se apoya en cinco fases esenciales: 1. Investigar: recopilar y sintetizar datos. 2. Decidir: evaluar alternativas, analizar compromisos y planificar tu enfoque. 3. Construir: escribir código con la ayuda de herramientas de IA (por ejemplo, asistentes basados en LLM). 4. Iterar: probar, depurar y perfeccionar tu solución. 5. Documentar: compilar todas las ideas y decisiones en un documento claro y estructurado. Para que quede claro, ninguno de estos pasos es novedoso. Evidentemente, personas como Harper llevan tiempo haciendo la mayoría de ellos. Mi aporte clave es animar a la gente a completar el proceso con un paso de documentación que cristalice lo aprendido en manuales accesibles que beneficien a todos. La naturaleza iterativa de este flujo convierte tu documentación en un documento vivo — cada aspecto de tu resolución de problemas realimenta el ciclo y enriquece continuamente la base de conocimientos—. A continuación, un diagrama de alto nivel de este proceso continuo: mermaid flowchart TD A[Researching / Investigar] --> B[Deciding / Decidir] B --> C[Building / Construir] C --> D[Iterating / Iterar] D --> E[Documenting / Documentar] E --> F[Shared Learning Resource / Recurso de aprendizaje compartido] F --> A Diagrama: un ciclo iterativo en el que cada fase refuerza e informa a la siguiente, culminando en un recurso que beneficia a toda tu comunidad. ## Investigar con los LLM El camino comienza con la investigación. Cuando abordo un nuevo problema —ya sea una nueva funcionalidad o una mejora— anoto todas mis ideas, por vagas o desordenadas que sean. Usar un LLM como asistente de investigación me permite plantear preguntas específicas y recibir respuestas concisas y bien sintetizadas. En lugar de navegar por innumerables páginas web, basta con preguntar: Ejemplo de indicación (prompt): > “What are the key differences between OAuth 2.0 and OpenID Connect for securing APIs? List pros, cons, and typical use cases.” ### Mejores prácticas para investigar - Sé específico: formula preguntas enfocadas para obtener información precisa. - Itera con preguntas de seguimiento: profundiza para aclarar y ampliar las respuestas iniciales. - Contrasta la información esencial: utiliza la respuesta del LLM como punto de partida y verifícala con la documentación oficial. - Resume los hallazgos: cuando dispongas de suficientes datos, pídele al LLM que los resuma en un documento coherente. Ese resumen será la columna vertebral de las fases posteriores. ## Decidir: planificar y diseñar tu solución Con la investigación en mano, el siguiente paso es tomar decisiones informadas. Utiliza el LLM como una herramienta más para sopesar opciones, analizar compromisos y trazar un plan de alto nivel. Por ejemplo, si dudas entre WebSockets y los Eventos enviados por el servidor (Server-Sent Events, SSE) para actualizaciones en tiempo real, pídele al LLM que compare las opciones según tus requisitos: Ejemplo de indicación (prompt): > “Compare WebSockets and Server Sent Events for a high-traffic chat application in terms of latency, scalability, and implementation complexity.” ### Mejores prácticas para decidir - Proporciona contexto detallado: expón los requisitos y limitaciones de tu proyecto. - Solicita resultados estructurados: pide listas con viñetas o tablas para comparar claramente las opciones. - Explora alternativas: no te conformes con la primera respuesta; pide enfoques adicionales. - Elabora un plan de diseño: genera un esquema de alto nivel que guíe tu trabajo de codificación. La salida de esta fase se convierte en tu plan de diseño, un documento que orienta todo el trabajo posterior. ## Construir con asistentes de codificación basados en LLM Aquí es donde sucede la magia. Las herramientas de IA han revolucionado la forma de programar. Aunque GitHub Copilot integrado en VS Code es fantástico, el ecosistema incluye ahora editores especializados como Cursor y Cline, diseñadores de sitios como V0 de Vercel y plataformas de desarrollo iterativo como Claude Code. Incluso existen herramientas avanzadas como Aider que integran múltiples modelos para enriquecer la experiencia de codificación. Escribí esta entrada originalmente a finales del primer trimestre de 2025, así que, según cuándo la leas, seguramente ya haya diez productos nuevos compitiendo con cada uno de los mencionados y quizá un montón de herramientas que aún no puedo imaginar. Nota del editor: Estamos a mediados de abril de 2025 y ya han aparecido muchas otras opciones: Continue 1.0, Abacus.AI y OpenAI ha lanzado nuevos modelos más hábiles en tareas de programación. ### Cómo aprovechar la IA en la codificación - Divide las tareas: en lugar de pedir una aplicación completa, solicita fragmentos de código pequeños y manejables. Mantén tus proyectos pequeños y compuestos por módulos independientes sobre los que puedas trabajar por separado. - Aporta contexto: proporciona código relevante o detalles del proyecto para que el LLM genere resultados precisos. - Itera y perfecciona: usa el código generado como borrador. Pruébalo, revísalo y formula preguntas de seguimiento. - Explora herramientas especializadas: experimenta con distintas plataformas hasta encontrar las que mejor se adapten a tu flujo de trabajo. - Establece reglas estrictas: configura tu linter (herramienta de análisis estático) al nivel más severo; si tu lenguaje admite tipado opcional (por ejemplo, Python), actívalo y prefiere TypeScript a JavaScript. - Escribe pruebas exhaustivas: las pruebas son más importantes que nunca. Contempla todos los casos. Los LLM son muy buenos escribiéndolas; aun así, debes vigilarlas para evitar “trampas”, pero la mayoría son repetitivas. ## Iterar: probar, depurar y perfeccionar tu solución Ningún código funciona perfectamente a la primera. La iteración es el núcleo del desarrollo efectivo. Tras construir tu solución, utiliza los LLM para ayudarte a depurar y optimizar. Cuando surjan errores o problemas de rendimiento, consulta al modelo con los detalles y fragmentos de código relevantes. ### El ciclo de iteración mermaid flowchart TD A[Escribir código] --> B[Probar código] B --> C{¿Las pruebas pasan?} C -- SÍ --> D[Desplegar / Documentar] C -- NO --> E[Consultar al LLM para depuración] E --> A Diagrama: ciclo de escribir, probar y depurar código con orientación de IA. ### Mejores prácticas para iterar - Aísla los problemas: aborda un error, función o cuello de botella a la vez. - Proporciona contexto: incluye fragmentos y registros de errores relevantes en tus indicaciones. - Pide explicaciones: solicita no solo correcciones, sino también la lógica detrás de las sugerencias. - Vuelve a probar tras cada cambio: verifica que cada corrección resuelva el problema sin introducir otros nuevos. Este ciclo de escribir, probar y perfeccionar garantiza que tu solución final sea robusta y eficiente. ## Documentar: crear un recurso de aprendizaje integral Aquí es donde todo se cristaliza y te permite avanzar. La fase final consiste en compilar todo —investigación, decisiones de diseño, código y hallazgos de depuración— en un documento exhaustivo y bien pulido. No es solo documentación; es la narrativa de todo tu recorrido para resolver problemas, un recurso del que otros pueden aprender y sobre el que pueden construir. Creo firmemente que cualquier documentación es mejor que ninguna, pero la documentación realmente buena va más allá de explicar cómo funciona un sistema. La documentación de calidad comienza explicando el problema que se debía resolver. Idealmente debería incluir qué opciones se consideraron, por qué se eligió la ganadora y por qué se descartaron las demás. La documentación excelente te guía por todo el proceso hasta la solución resultante y su funcionamiento. Puntos extra si mencionas proyectos similares, recursos más profundos sobre los conceptos tratados y otras referencias por el estilo. ### El proceso de documentación mermaid flowchart TD A[Borrador de documentación] --> B[Revisión y sugerencias del LLM] B --> C[Edición y refinamiento del desarrollador] C --> D[Documento final y pulido] Diagrama: proceso iterativo en el que los borradores generados por IA se refinan con supervisión humana hasta obtener la documentación final. ### Mejores prácticas para documentar - Genera de forma incremental: documenta cada fase en cuanto la completes. - Usa la IA para resumir: deja que el LLM transforme tus notas en texto legible y estructurado. - Revisa y edita a fondo: garantiza la precisión técnica y la claridad. - Comparte ampliamente: publica tu documento en tu blog, wiki interna o foro comunitario e invita a recibir comentarios. El documento final se convierte en un estudio de caso: un recurso valioso que captura tu razonamiento, los compromisos que consideraste y la solución final. Acelera el aprendizaje de cualquiera que lo lea, convirtiendo tu camino en un activo para toda la comunidad. Si tienes acceso a modelos con Deep Research (investigación profunda), también puedes incluir tu entrada final del blog y pedir al LLM que encuentre recursos asociados, artículos relacionados o temas interesantes, y que actualice tu publicación con enlaces a esos materiales. ## Aprender del flujo de trabajo de generación de código con LLM de Harper No soy el único que experimenta con estos métodos. Mi amigo Harper ha estado creando pequeños productos con LLM y compartió su proceso en una detallada entrada, “My LLM Codegen Workflow (ATM)”. Tal como él dice: > “I have been building so many small products using LLMs. It has been fun, and useful. However, there are pitfalls that can waste so much time. A while back a friend asked me how I was using LLMs to write software. I thought ‘oh boy, how much time do you have!’ and thus this post.” El flujo de Harper refleja la naturaleza iterativa y evolutiva del proceso descrito aquí. Él señala: > “This is working well NOW, it will probably not work in 2 weeks, or it will work twice as well. ¯\(ツ)/¯” Estas citas nos recuerdan que el proceso es dinámico: evoluciona a medida que las herramientas mejoran y aprendemos más. Te animo a leer su publicación para inspirarte y ver cómo otros aplican estas técnicas. ## En resumen La verdadera fuerza de este proceso reside en transformar un trayecto desordenado y sin estructura en un recurso claro y bien organizado que acelere el aprendizaje. Al usar los LLM para investigar, decidir, construir, iterar y documentar, creas una narrativa completa que te ayuda a comprender mejor tus soluciones y sirve como guía invaluable para otros. Te reto a adoptar este flujo de trabajo potenciado por LLM en tus propios proyectos: - Experimenta: integra los LLM en cada fase de tu proceso de desarrollo. - Documenta: convierte tus salidas en bruto en una entrada de blog o documento técnico pulido. - Comparte: publica tu trabajo, difunde tus hallazgos e invita a comentar. - Itera: mejora continuamente tu proceso y documenta esas mejoras. Esto no solo aumenta tu productividad, sino que también crea una biblioteca de la que otros pueden aprender. Cuando documentas bien tu recorrido de desarrollo, aprendes más rápido y ayudas a que otros avancen con mayor velocidad. Utiliza las herramientas, comparte el camino y deja que la comunidad se fortalezca gracias a ello.

4 posts · 8.723 words · ~43 min total read · 11 tags · hugo 0.148.2 · eb1f81b · built Feb 3 22:49
2389 Radio
2389 RADIO Select a station