De volcado mental a entrada de blog
← Todos los PostsCó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.
