1. Establecer expectativas razonables (Set reasonable expectations)
- Punto principal:
Hay que reconocer que los LLM son, en esencia, herramientas avanzadas de autocompletado, y que si se depende totalmente de ellos pueden producir errores o resultados inexactos.
- Cómo usarlo:
Úsalos como una herramienta de apoyo que complemente tu habilidad para programar; evita expectativas excesivas y mantén una actitud de verificación ante sus errores.
2. Tener en cuenta la fecha de corte del entrenamiento (Account for training cut-off dates)
- Punto principal:
La actualidad de los datos con los que fue entrenado el modelo puede ser limitada, por lo que hay que tener cuidado con librerías recientes o cambios tecnológicos nuevos.
- Cómo usarlo:
Prioriza el uso de librerías cuya estabilidad y adopción general ya estén comprobadas, y si necesitas tecnología reciente, compénsalo proporcionando ejemplos directamente.
3. La importancia del contexto (Context is king)
- Punto principal:
Todo el historial de la conversación (prompts y respuestas) influye en el resultado, por lo que gestionar bien el contexto es fundamental.
- Cómo usarlo:
En tareas complejas, incluye el código existente en la conversación para que el modelo pueda tomarlo como referencia y, si hace falta, reinicia con una conversación nueva.
4. Pedir que proponga varias opciones (Ask them for options)
- Punto principal:
En la fase inicial de exploración, puedes pedirle al LLM varias opciones de implementación y ejemplos para explorar las alternativas posibles.
- Cómo usarlo:
Haz preguntas como “¿Qué opciones hay?” para revisar las posibilidades técnicas y luego profundiza a partir de la opción elegida.
5. Dar instrucciones específicas (Tell them exactly what to do)
- Punto principal:
Al escribir código de producción, conviene dar instrucciones detalladas y claras para guiar al modelo a implementar exactamente la funcionalidad deseada.
- Cómo usarlo:
Indica detalles concretos como la firma de la función, las librerías que debe usar y el manejo de excepciones para que el LLM escriba el código conforme a esos requisitos.
6. El código generado siempre debe probarse (You have to test what it writes!)
- Punto principal:
Aunque el código haya sido escrito por un LLM, siempre hay que comprobar si realmente funciona, tanto con pruebas automatizadas como con validación manual.
- Cómo usarlo:
Verifica que el código generado funcione correctamente usando frameworks de testing como pytest.
7. Mantener una interacción conversacional (Remember it’s a conversation)
- Punto principal:
La interacción con un LLM no es algo de una sola vez; el resultado puede mejorarse mediante un proceso iterativo de conversación.
- Cómo usarlo:
Si el resultado inicial es insuficiente, refactoriza y mejora el código mediante instrucciones adicionales o retroalimentación.
8. Usar herramientas que puedan ejecutar el código por ti (Use tools that can run the code for you)
- Punto principal:
Puedes aprovechar entornos sandbox ejecutables o herramientas de desarrollo integradas para correr en la práctica el código escrito por el LLM.
- Cómo usarlo:
Haz validaciones en tiempo real usando herramientas que ofrezcan entornos de ejecución seguros, como ChatGPT Code Interpreter o Claude Artifacts.
9. Aprender con “vibe-coding” (Vibe-coding is a great way to learn)
- Punto principal:
Es una forma de aprender a usar LLM mediante experimentación repetida y libre, y de probar rápidamente distintas ideas.
- Cómo usarlo:
Empieza con funciones simples y, mediante intentos y mejoras iterativas, identifica los límites del LLM y mejora tu intuición para programar.
10. Ejemplo detallado usando Claude Code (A detailed example using Claude Code)
- Punto principal:
A través de un ejemplo de proyecto real, se muestra cómo Claude Code refleja requisitos concretos y ejecuta tareas en consecuencia.
- Cómo usarlo:
Toma como referencia el proceso de realizar tareas compuestas, como generar un script en Python y una página HTML, mediante prompts y retroalimentación paso a paso.
11. La necesidad de intervención humana (Be ready for the human to take over)
- Punto principal:
Incluso el código generado por un LLM puede contener errores o partes inadecuadas, así que la revisión y corrección final debe hacerla una persona.
- Cómo usarlo:
Revisa y complementa directamente los detalles que el LLM pase por alto o los errores sutiles para lograr un resultado de alta calidad.
12. Maximizar la velocidad de desarrollo (The biggest advantage is speed of development)
- Punto principal:
Usar LLM puede mejorar de forma drástica la velocidad de creación de prototipos y de tareas repetitivas.
- Cómo usarlo:
Aprovecha activamente los LLM para validar ideas iniciales o escribir código sencillo y así reducir el tiempo de desarrollo.
13. Amplificación del conocimiento existente (LLMs amplify existing expertise)
- Punto principal:
Si ya eres un desarrollador experimentado, puedes usar LLM para reforzar aún más tu experiencia y aumentar tu productividad.
- Cómo usarlo:
Basándote en tu propia experiencia y conocimientos, dale instrucciones claras al LLM para obtener resultados más precisos y refinados.
14. Función adicional: responder preguntas sobre codebases (Bonus: answering questions about codebases)
- Punto principal:
Los LLM también pueden ser útiles para responder preguntas sobre un codebase o explicar partes específicas del código.
- Cómo usarlo:
Puedes hacer preguntas sobre la estructura del código o una función específica, y recibir ayuda para generar explicaciones o documentación relacionada.
1 comentarios
Este blog de verdad es impresionante. Gracias.