Curso de Desarrollo con IA - Día 1 - De prompts sueltos a programar con criterio

Curso de Desarrollo con IA - Día 1 - De prompts sueltos a programar con criterio

Introducción al Curso de Desarrollo con IA

Bienvenida y Presentación

  • El presentador invita a la audiencia a interactuar, pidiendo likes y saludos para saber quiénes están en el chat.
  • Se menciona que el curso se centrará en el desarrollo con inteligencia artificial (IA) durante tres días, prometiendo un contenido extenso y relevante.
  • Se enfatiza la importancia de aprender sobre cómo se desarrolla software en 2026, destacando la relevancia del curso.

Acerca del Instructor

  • Bryce Mowre se presenta como ingeniero de software con 16 años de experiencia, mencionando su trayectoria profesional y su decisión de emprender hace 10 años.
  • Destaca su papel como divulgador y su conexión con una comunidad global de más de 3 millones de personas interesadas en tecnología.

Impacto Actual de la Inteligencia Artificial

Datos Relevantes sobre IA

  • Se presentan estadísticas clave: el 84% de los desarrolladores utilizan IA, pero solo el 41% del código producido es generado por esta tecnología.
  • La confianza en los resultados generados por IA es baja, con un 36% considerado aceptable; esto indica que aún hay mucho trabajo humano involucrado.

Implicaciones para Desarrolladores

  • Es crucial que los desarrolladores supervisen el código generado por IA para asegurar calidad y confiabilidad.
  • La educación ha sido transformada por la IA, facilitando un aprendizaje más rápido y accesible para nuevos programadores.

El Futuro del Empleo en Desarrollo Software

Cambios en las Demandas Laborales

  • La necesidad actual no solo es saber programar, sino también entender cómo utilizar herramientas basadas en IA efectivamente.
  • Se destaca que aquellos que comprenden cómo usar la IA serán quienes tengan éxito; la herramienta no reemplaza al ser humano, sino que lo complementa.

Conclusiones sobre Herramientas Tecnológicas

  • Un gráfico muestra el crecimiento gradual del uso de herramientas relacionadas con IA desde el año anterior hasta ahora.

¿Cómo está evolucionando la inteligencia artificial?

La capacidad actual de la IA

  • La inteligencia artificial ha mejorado significativamente en su capacidad para resolver problemas complejos, alcanzando un 80-90% de fiabilidad en las respuestas.
  • Es crucial que los usuarios acompañen a la IA en su uso para maximizar su efectividad.

Expectativas y realidades del sector

  • Existen muchas noticias alarmantes sobre la IA, pero es importante discernir entre expectativas y realidades.
  • Líderes como el CEO de NVIDIA y Mark Zuckerberg han hecho predicciones sobre la sustitución de programadores por IA, generando expectativas desmedidas.

Cambios en el mercado laboral

  • Las predicciones iniciales no se han cumplido; las empresas están adaptándose a una nueva realidad donde la IA complementa más que reemplaza trabajos.
  • Sam Altman de OpenAI expresó satisfacción por haberse equivocado respecto al impacto negativo de la IA en el empleo.

Datos del crecimiento del sector

  • Datos oficiales indican que el sector tecnológico sigue creciendo con previsiones de aumento del 15% en contrataciones.
  • El 92% de las empresas tecnológicas españolas no encuentran perfiles adecuados, lo que refleja una desconexión entre habilidades requeridas y disponibles.

Adaptación profesional ante cambios tecnológicos

  • Los profesionales deben adaptarse continuamente a los cambios impulsados por la IA; esto incluye aprender nuevas herramientas y enfoques.
  • Crear software implica más que solo programar; se requiere entender cómo dirigir proyectos utilizando inteligencia artificial.

¿Qué habilidades son necesarias hoy?

Importancia de los fundamentos

  • Los fundamentos son esenciales; simplemente copiar código generado por IA no es suficiente para ser competitivo en el mercado laboral actual.

Aprendizaje continuo e integración con IA

  • Aprender sobre inteligencia artificial ya no es opcional; es fundamental para cualquier profesional del desarrollo de software.

Orquestación y dirección con IA

  • El enfoque debe cambiar hacia orquestar diferentes agentes con inteligencia artificial, no solo codificar.

Reflexiones finales sobre el futuro profesional

Desafíos actuales en el sector

  • Muchos profesionales sienten incertidumbre sobre cómo comenzar a adaptarse a estos rápidos cambios dentro del sector tecnológico.

Introducción a la Inteligencia Artificial

Comenzando con la IA

  • La inteligencia artificial (IA) se presenta como un tutor accesible 24/7, facilitando el aprendizaje en comparación con métodos tradicionales que dependían únicamente de libros.
  • Existe una percepción errónea de que la IA es solo para profesionales senior; sin embargo, tanto juniors como seniors deben adaptarse a esta nueva realidad tecnológica.
  • Los profesionales experimentados tienen la oportunidad de escalar profesionalmente si adoptan nuevas tecnologías, mientras que los nuevos aprendices pueden superar a quienes se resisten al cambio.

Estructura del Aprendizaje

  • El aprendizaje se dividirá en tres días: fundamentos de IA, herramientas y control, y desarrollo multiagente.
  • En el segundo día se abordarán las herramientas de control y cómo establecer límites para obtener resultados específicos de la IA.
  • El tercer día se centrará en el flujo completo del desarrollo y el paradigma Spec Drive and Development.

Fundamentos Técnicos de la IA

Comprendiendo los Modelos

  • Se explicará cómo funcionan los modelos de lenguaje (LLM), enfatizando que no es simplemente escribir sin sentido, sino entender su funcionamiento técnico.
  • Se proporcionarán apuntes y recursos después de cada clase para facilitar el seguimiento del contenido aprendido.

Herramientas Disponibles

  • Se mencionarán diversas herramientas utilizadas en programación asistida por IA, destacando que todas funcionan bajo principios similares.
  • Es crucial entender las bases fundamentales ya que las herramientas pueden cambiar rápidamente; lo importante es dominar los conceptos subyacentes.

Conceptos Clave sobre LLM

Funcionamiento Básico

  • Los LLM son diseñados para comprender y generar texto similar al humano; su funcionamiento está basado en inferencias matemáticas más que en razonamientos humanos.
  • Estos modelos operan mediante entrenamiento previo con vastos datos humanos, permitiéndoles predecir palabras basándose en probabilidades.

Tokens y Parámetros

  • La IA trabaja con tokens en lugar de palabras completas; esto implica calcular probabilidades sobre qué token seguirá a otro.
  • Comprender el número de parámetros es esencial para elegir el modelo adecuado según las necesidades específicas del usuario.

Introducción a los Fundamentos de la Inteligencia Artificial

Número de Parámetros

  • El número de parámetros en un modelo de inteligencia artificial se considera una medida clave de su inteligencia; a más billones de parámetros, mayor es la supuesta capacidad del modelo.
  • Se menciona una web (análisis.ai barra models) donde se puede encontrar información sobre diferentes modelos actuales, incluyendo métricas como inteligencia, velocidad y coste por tarea.
  • Comprender estas métricas permite identificar qué modelos son más eficientes o adecuados para tareas específicas.

Tokens en Modelos de IA

  • Los tokens son elementos fundamentales que descomponen las interacciones con la IA; el número de tokens afecta la velocidad y el coste del uso del modelo.
  • Un ejemplo práctico muestra cómo una frase puede dividirse en diferentes números de tokens dependiendo del idioma utilizado, sugiriendo que el inglés puede ser más eficiente.
  • Es crucial economizar tokens durante las interacciones con la IA para optimizar costes y latencia.

Coste y Modelos

  • Existen modelos gratuitos y de pago; el coste varía según el modelo utilizado y el número de tokens consumidos.
  • La elección del modelo debe considerar tanto su popularidad como su coste asociado al uso específico que se le dará.

Ventana de Contexto

  • La ventana de contexto se refiere al límite máximo de tokens que un modelo puede manejar antes de perder información previa; esto afecta directamente a la coherencia en las respuestas generadas.
  • Cuando se alcanza este límite, el modelo comienza a olvidar conversaciones anteriores, lo cual puede resultar en respuestas incoherentes o irrelevantes.

Otros Conceptos Clave

  • La multimodalidad permite que los modelos trabajen no solo con texto, sino también con imágenes, audio y video, ampliando sus capacidades analíticas.
  • La latencia es importante al elegir un modelo; algunos pueden ser menos complejos pero más rápidos para tareas específicas.
  • Los modelos "razonadores" están diseñados para realizar análisis previos antes de generar respuestas, mejorando así la calidad general del output.

Fundamentos de Modelos de IA

Parámetros y Costes

  • Es crucial entender los fundamentos como parámetros, tokens, coste, ventana de contexto y latencia para utilizar modelos de IA eficaces.
  • La elección entre modelos en la nube y locales es importante, así como la distinción entre modelos privativos y open source.

Rankings de Modelos

  • Se menciona el uso de páginas como LMStats para visualizar rankings claros de diferentes modelos.
  • Los rankings ayudan a identificar la calidad e inteligencia de los modelos basándose en sus parámetros.

Toma de Decisiones

  • Con un entendimiento claro de los fundamentos y rankings, se pueden tomar decisiones informadas sobre qué modelo utilizar según el caso específico.
  • Es recomendable dedicar tiempo a revisar estas páginas para conocer el estado del arte en IA antes de decidir.

Potencia vs. Velocidad vs. Coste

Consideraciones Clave

  • Hay que equilibrar potencia, velocidad y coste al elegir un modelo; no siempre se necesita el más potente o costoso.
  • Un modelo potente puede ser más lento y caro, mientras que uno barato puede ser rápido pero menos eficaz.

Reglas Prácticas

  • Para tareas complejas se recomienda un modelo potente; para tareas diarias, uno medio; y para tareas mecánicas, uno rápido y económico.

Ingeniería de Prompts

Definición y Importancia

  • La ingeniería de prompts se refiere a cómo formular preguntas efectivas a la IA para obtener mejores resultados.
  • Un buen prompt es esencial; un mal prompt resultará en respuestas insatisfactorias.

Componentes Clave del Prompt

  • Al crear un prompt efectivo hay que definir quién es la IA (nivel experto), proporcionar contexto del proyecto y especificar claramente la tarea requerida.

Indeterminismo en Respuestas

Naturaleza Indeterminista

  • Las respuestas son indeterministas: el mismo prompt puede generar diferentes resultados si no está bien definido.

Búsqueda del Determinismo

  • Como desarrolladores, buscamos respuestas consistentes mediante una buena ingeniería de prompts que guíen a la IA hacia resultados predecibles.

Restricciones y Formato

Límites en Prompts

  • Es importante establecer límites dentro del prompt además de las tareas específicas que queremos realizar con la IA.

Formato del Resultado

  • El formato deseado del resultado también debe ser considerado al diseñar prompts efectivos.

La Importancia de un Buen Prompt en el Desarrollo de Software

Fundamentos del Desarrollo y la Eficiencia del Código

  • Se enfatiza la necesidad de utilizar librerías específicas y considerar aspectos como el manejo de errores para obtener resultados profesionales, aunque esto requiera más tiempo.
  • Es crucial entender los fundamentos del desarrollo para llevar a cabo un modelo efectivo que se adapte a las necesidades del proyecto.
  • Un código bien organizado, utilizando las herramientas adecuadas, permite una mejor adaptación y resultados superiores al usar prompts más elaborados.

Análisis de Prompts Malos vs. Buenos

  • Un mal prompt carece de contexto; por ejemplo, no especifica si el código es para una web o una app, lo que dificulta su efectividad.
  • El modelo debe "adivinar" sin información suficiente, lo que puede llevar a resultados inadecuados. En contraste, un buen prompt proporciona claridad sobre el rol y contexto deseado.

Mejores Prácticas en Prompts

  • Al proporcionar detalles específicos como la creación de un API REST para e-commerce con restricciones claras, se obtienen respuestas más precisas y útiles.
  • Se menciona la posibilidad de realizar fine tuning en modelos generales para adaptarlos a necesidades específicas.

El Concepto de Bycoding en el Desarrollo Moderno

Definición y Riesgos del Bycoding

  • El bycoding implica programar guiándose por intuiciones y ayuda de IA, lo cual puede ser riesgoso si no se tiene conocimiento técnico suficiente.
  • Aunque es rápido y divertido, depender únicamente del bycoding puede resultar peligroso si se ignoran principios fundamentales como seguridad y escalabilidad.

Integración del Bycoding con Desarrollo Profesional

  • No se está en contra del bycoding; hay espacio para ambos enfoques: uno guiado por IA y otro basado en prácticas profesionales sólidas.
  • La llegada de la inteligencia artificial ha permitido crear software más eficientemente mientras mantiene estándares profesionales.

Evolución de Herramientas AI en el Desarrollo

Historia Reciente de Editores de Código

  • Desde 2022 con ChatGPT hasta 2024 con copilotos interactivos que ayudan durante el ciclo de desarrollo, ha habido avances significativos en editores AI First.
  • Los agentes emergentes son capaces no solo de interactuar sino también realizar tareas autónomamente dentro del entorno de desarrollo.

Diversidad en Editores AI

  • Existen diferentes familias de editores diseñados específicamente para facilitar el trabajo con código mediante inteligencia artificial.
  • Ejemplos incluyen Visual Studio Code entre otros; sin embargo, no es necesario obsesionarse con una herramienta específica ya que cada una tiene sus ventajas.

¿Qué herramientas utilizar para el desarrollo con IA?

Comparación de herramientas de desarrollo

  • Se plantea la pregunta sobre qué herramienta es mejor: Cursor, Trey, Visual Studio Code o Antigravity. La respuesta radica en entender los fundamentos del desarrollo con IA que se enseñarán durante el curso.
  • Visual Studio Code es uno de los editores más conocidos y ha inspirado a otros como Cursor, que también permite desarrollar con inteligencia artificial.
  • Google lanzó su propio editor llamado Antigravity, que se suma a la variedad de opciones disponibles en el mercado.
  • Existen múltiples editores centrados en diferentes aspectos del desarrollo, incluyendo terminales como Tray y Zed, lo que puede resultar abrumador para quienes no están familiarizados.
  • Aunque hay muchas opciones, cada desarrollador puede elegir la herramienta que prefiera; todas funcionan de manera similar.

Tipos de editores y su funcionalidad

  • Algunos editores son instalables directamente mientras que otros funcionan dentro de una terminal mediante comandos. Ejemplos incluyen Cloud Code y NeoBeam.
  • Herramientas como Warp ofrecen capacidades tanto para editar código como para interactuar con inteligencia artificial desde la terminal.
  • Codex se presenta como una evolución del IDE (Interfaz de Desarrollo Integrado), enfocándose más en agentes y menos en el código mismo.
  • Codex y Warp permiten usar modelos nativos dentro de sus interfaces, facilitando el trabajo con inteligencia artificial.
  • Es importante recordar que hay muchas alternativas disponibles; cada desarrollador debe encontrar lo que mejor le funcione.

Consejos sobre elección de herramientas

  • Se recomienda probar las herramientas ya que muchas son gratuitas. No es necesario seguir modas; lo esencial es mejorar los conocimientos técnicos.
  • Se introduce la parte sobre agentes antes de realizar una demostración práctica utilizando varios editores orientados al desarrollo software.

Demostración práctica

  • En Visual Studio Code se muestra cómo crear un archivo HTML e interactuar con inteligencia artificial a través del chat integrado en la interfaz.
  • Se explica cómo seleccionar modelos específicos dentro del editor según las necesidades del proyecto, destacando la importancia del conocimiento previo sobre los modelos disponibles.

Comparativa entre diferentes editores

  • Al comparar Cursor y Antigravity, se observa que aunque tienen configuraciones distintas, todos comparten una base similar en su funcionamiento general.
  • Cada editor puede tener diferentes modelos por defecto pero aprender a utilizarlos depende más del entendimiento fundamental que del uso específico de cada herramienta.

¿Cómo están evolucionando las herramientas de desarrollo de software?

La evolución del sector del desarrollo de software

  • El sector del desarrollo de software ha evolucionado, creando herramientas que son rápidamente copiadas por la competencia, llevando a resultados similares entre los desarrolladores.
  • La diferencia en el uso de herramientas no radica en la herramienta misma, sino en la habilidad y profesionalismo del desarrollador. Es crucial entender cómo cada herramienta puede aportar valor personal.

Agentes en herramientas de desarrollo

  • Las nuevas herramientas han comenzado a incorporar agentes que permiten una interacción más avanzada, más allá de simples respuestas a preguntas.
  • Antes, las interacciones eran limitadas; el usuario preguntaba y recibía un código sin capacidad para ejecutar acciones adicionales o interactuar con el sistema.

Funcionalidades avanzadas de los agentes

  • Los agentes ahora pueden iterar sobre sus propias respuestas y realizar tareas como crear y modificar archivos, así como ejecutar comandos dentro del sistema.
  • Este bucle autónomo permite al agente planificar, actuar, evaluar y ajustar su respuesta hasta alcanzar el resultado deseado.

Ejemplo práctico con Visual Studio Code

  • Se utiliza Visual Studio Code como ejemplo para ilustrar cómo funcionan estos nuevos agentes en editores de código potenciados por IA.
  • Cada editor tiene modelos prediseñados que se pueden seleccionar y ajustar según las necesidades del usuario.

Modelos y suscripciones

  • Muchos editores ofrecen capas gratuitas; sin embargo, al agotarse estas opciones es posible que se requiera una suscripción para continuar utilizando ciertas funcionalidades.
  • Se recuerda a los usuarios registrados que recibirán apuntes sobre lo discutido durante la clase y tendrán acceso a un certificado tras completar el curso.

Cómo desarrollar un proyecto web utilizando IA

Introducción al desarrollo de proyectos con IA

  • Se presenta una página web creada como ejemplo para enseñar el desarrollo desde prompts simples hasta herramientas avanzadas durante el curso.
  • Se utilizará Cursor, aunque se podría aplicar en otros editores, para demostrar la creación de contenido en modo agente.

Creación de una línea del tiempo interactiva

  • Se propone crear una web que muestre una línea del tiempo desde la aparición de ChatGPT, incluyendo predicciones erróneas de CEOs sobre la desaparición de programadores.
  • La idea es mostrar cómo funciona el bucle agéntico y seleccionar un modelo potente para obtener resultados rápidos y comprensibles.

Funcionamiento del agente

  • El agente no solo interactúa con el modelo, sino que también realiza búsquedas activas en internet para recopilar información relevante.
  • Se observa que el índice ya está siendo modificado por el agente, lo que indica su capacidad para trabajar sobre archivos existentes.

Modificaciones y resultados generados

  • El agente puede crear diferentes ficheros sin intervención humana; se destaca cómo ha eliminado líneas innecesarias y añadido nuevas.
  • Se muestra todo el código generado por el agente, evidenciando su habilidad para modificar archivos automáticamente.

Iteración y control del proceso

  • A lo largo del curso se aprenderá a acotar las peticiones al agente para obtener resultados más específicos y útiles.
  • Es importante definir claramente los pasos cuando se desarrolla un proyecto real; los resultados pueden variar si no se especifican adecuadamente las instrucciones.

Acciones adicionales del agente

  • El agente busca hitos históricos relevantes e implementa procesos automáticos en Python para ejecutar la página localmente.
  • La revisión constante del trabajo realizado por el agente es crucial para mantener control sobre los cambios realizados en los archivos.

Conclusión sobre la interacción con IA

  • La colaboración entre humanos e IA es esencial; aunque la IA puede generar código rápidamente, es necesario revisar y ajustar según las necesidades específicas.
  • Aunque usar agentes acelera el desarrollo, también puede llevar a perder control sobre decisiones concretas si no se gestionan adecuadamente.

Introducción a la IA y su Control

Uso de la IA en el Desarrollo

  • Se discute cómo utilizar la inteligencia artificial (IA) para acelerar procesos, asegurando que siempre responda a las instrucciones del usuario.
  • La IA puede entrar en diferentes modos, como el modo agente, donde puede ejecutar tareas específicas bajo ciertas condiciones.

Permisos y Control

  • Es recomendable dar permisos gradualmente al trabajar con IA, especialmente al inicio, para mantener control sobre el código generado.
  • El agente puede tomar decisiones autónomas si no se le proporcionan instrucciones claras, lo que resalta la importancia de establecer límites.

Seguridad y Validación en el Código

Importancia de la Seguridad

  • A medida que se desarrollan más herramientas potentes, es crucial considerar aspectos de seguridad antes de implementar cualquier código generado por IA.
  • Se enfatiza la necesidad de proteger información sensible y evitar compartir claves o datos críticos.

Análisis del Código Generado

  • Antes de subir un proyecto a producción, es vital analizar si el código cumple con los requisitos deseados y no presenta vulnerabilidades.

Herramientas para Desarrollar con IA

Introducción a OpenCode

  • En futuras clases se presentará OpenCode como una herramienta clave para desarrollar con inteligencia artificial desde cero.
  • Se abordarán conceptos como habilidades del agente (skills), comandos y memoria para optimizar el uso de tokens y mejorar la eficiencia del desarrollo.

Expectativas Futuras

Clases Prácticas

  • La próxima clase será práctica e incluirá conocimientos aplicables sobre cómo cerrar ciclos en el desarrollo utilizando agentes inteligentes.

Conclusión

  • Se invita a los participantes a prepararse para aprender más sobre desarrollo web impulsado por IA en las próximas sesiones.
Video description

Si todavía no estás apuntado al Curso Gratis de Desarrollo con IA: Programa con Agentes, déjanos tus datos en este enlace para recibir los apuntes del curso y el acceso al certificado: 👉 https://thebigschool.com/sp/curso-desarrollo-ia-agentes-eg En la clase de hoy vas a: ✔️ Entender el cambio real que está provocando la IA en el desarrollo para dejar de verla como una amenaza o una varita mágica y empezar a usarla como una herramienta profesional. ✔️ Aprender por qué lanzar prompts sueltos no es suficiente y cómo empezar a trabajar con contexto, criterio y objetivos claros para conseguir mejores resultados desde el primer día. ✔️ Descubrir qué papel tiene ahora el desarrollador cuando la IA también escribe código: dirigir, revisar, tomar decisiones y mantener siempre el control del proyecto. Prepárate para dominar la IA como desarrollador 🚀