1. Introducción al desarrollo de software con IA y el rol del desarrollador [1]

thumbnail El desarrollo de software en la actualidad requiere que los desarrolladores entiendan los fundamentos de la IA y utilicen agentes para dirigir y controlar el código, en lugar de solo copiar y pegar.

1.1. El curso de desarrollo con IA y la experiencia del instructor [1]

  1. El curso de desarrollo con IA, "Programa con Agentes", es un programa de tres días que enseña cómo se desarrolla software en 2026. [2]
  2. El instructor, Bryce Mour, es un ingeniero de software con 16 años de experiencia que ha trabajado para empresas nacionales e internacionales. [13]
    1. Hace 10 años, Bryce decidió emprender y crear sus propios proyectos, lo que lo llevó a convertirse en divulgador. [15]
    2. Su comunidad es una de las más grandes a nivel mundial, con más de 3 millones de personas en diferentes redes sociales. [17]
    3. Ha recibido reconocimientos como Microsoft MVP y GitHub Star, y ha participado en grupos de desarrollo de Google. [18]
    4. También es director del Máster de Desarrollo con IA, avalado por la Universidad Isabel I, que se presentará al final del curso. [24]

1.2. Impacto de la IA en el desarrollo de software y el mercado laboral [28]

  1. La inteligencia artificial se utiliza en el 84% del desarrollo de software, lo que demuestra su omnipresencia en el sector. [30]
    1. Sin embargo, solo el 41% del código en producción es generado por IA, lo que significa que el 60% restante aún requiere intervención humana. [35]
    2. La confianza en los resultados del software generado por IA es del 36%, lo que indica que el código necesita supervisión humana para ser confiable y de alta calidad. [38]
  2. La IA ha impactado en varios sectores: [47]
    1. Educación: La IA facilita el estudio y el aprendizaje rápido, reduciendo la barrera de entrada para aprender programación. [50]
    2. Desarrollo de software: El valor del desarrollador ahora radica en dirigir y emplear la IA, no solo en escribir código. [54]
    3. Empleo: Los desarrolladores necesitan conocimientos de IA y fundamentos, no solo habilidades de programación tradicionales. [60]
      1. No basta con dar "prompts" a la IA y esperar resultados sin intervención humana. [63]
      2. La IA no reemplazará a los desarrolladores, pero sí lo hará alguien que sepa usarla mejor. [66]
  3. La capacidad de la IA para resolver problemas complejos ha aumentado significativamente, pasando de menos del 20% hace un año a un 80-90% de fiabilidad con la guía humana. [75]
  4. Las predicciones de CEOs como Jensen Huang (Nvidia), Dario Amodei (Anthropic) y Mark Zuckerberg (Meta) sobre la obsolescencia de los programadores no se han cumplido. [80]
    1. Mark Zuckerberg admitió haberse equivocado con los despidos y los cambios en la empresa. [90]
    2. Sam Altman (OpenAI) expresó satisfacción por los errores, ya que significaban que la IA no había acabado con los puestos de trabajo. [91]
    3. La IA es una herramienta que ayuda y potencia a quienes saben usarla. [92]
  5. El sector tecnológico sigue creciendo, con previsiones de hasta un 15% de crecimiento, pero el 92% de las empresas españolas no encuentran los perfiles adecuados. [94]
    1. Esto se debe a que los perfiles actuales no están preparados para el desarrollo con IA. [100]
    2. Las empresas buscan profesionales que entiendan la ingeniería de software y la inteligencia artificial. [102]
  6. La adaptación a la IA es crucial para los desarrolladores, ya que el sector exige actualización constante. [106]
    1. Las claves son entender el rol del desarrollador, los fundamentos de la IA y cómo dirigirla. [111]
    2. Crear software no es solo programar o copiar y pegar código de la IA. [115]
    3. Los fundamentos importan más que nunca, y el desarrollador debe dirigir la IA. [118]
    4. Aprender IA no es opcional, ya que el sector ha cambiado para siempre. [123]
    5. La IA no es solo chatear con ChatGPT, sino orquestar y dirigir la inteligencia artificial. [127]

2. Fundamentos de la Inteligencia Artificial para desarrolladores [163]

thumbnail

La comprensión de los conceptos básicos de la IA, como los modelos de lenguaje, tokens, parámetros, coste y ventana de contexto, es esencial para que los desarrolladores utilicen eficazmente las herramientas de IA.

2.1. Conceptos clave de los modelos de lenguaje de IA [204]

  1. Los modelos de lenguaje son IA diseñadas para entender y escribir texto de manera similar a los humanos. [204]
    1. Funcionan con una base matemática, no razonan como humanos. [208]
    2. Se entrenan con conocimiento humano y predicen la siguiente palabra basándose en probabilidades matemáticas. [210]
    3. Los LLMs (Large Language Models) tienen una alta capacidad computacional para inferir la probabilidad de la siguiente palabra. [217]
  2. La IA no funciona con palabras, sino con tokens. [219]
    1. Un token es la unidad más pequeña de texto que un modelo de IA procesa. [221]
    2. La predicción se basa en el siguiente token. [221]

2.2. Métricas y consideraciones para elegir modelos de IA [223]

  1. El número de parámetros indica la "inteligencia" de una IA; a más parámetros, más inteligente es el modelo. [224]
    1. Sitios web como analysis.ai/models permiten comparar modelos según inteligencia, velocidad y coste. [233]
  2. Los tokens son piezas de Lego en las que se divide el texto para que el modelo las procese. [240]
    1. El número de tokens afecta la velocidad, la ventana de contexto y el coste del modelo. [248]
    2. Un ejemplo con el "Tokenizer" de OpenAI muestra que la misma frase en inglés usa menos tokens que en español, lo que implica mayor eficiencia. [250]
    3. Es importante economizar tokens para reducir costes y latencia (velocidad). [262]
  3. El coste de los modelos de IA varía según el modelo elegido y la cantidad de tokens utilizados. [264]
    1. Modelos como GPT-4.5 pueden ser más baratos que GPT-4.6. [267]
    2. Es crucial elegir el modelo adecuado para cada tarea para optimizar el coste, ya que no siempre se necesita el modelo más potente. [268]
  4. La ventana de contexto es el número de tokens que un modelo puede procesar antes de "olvidar" conversaciones anteriores. [269]
    1. Si la ventana de contexto se llena, el chat puede empezar a borrar conversaciones antiguas o a "alucinar" (responder sin sentido). [272]
    2. Modelos como Gemini 3.1 Pro tienen ventanas de contexto de 1 millón de tokens, mientras que otros más pequeños pueden tener 256.000. [276]
  5. Otras características importantes de los modelos de IA incluyen: [285]
    1. Multimodalidad: Capacidad de trabajar con texto, imágenes, audio y vídeo. [286]
    2. Latencia: La velocidad de respuesta del modelo, que puede llevar a elegir modelos menos "inteligentes" pero más rápidos para ciertas tareas. [289]
    3. Alucinaciones: Respuestas incorrectas o sin sentido, a menudo relacionadas con la ventana de contexto. [292]
    4. Razonadores: Modelos capaces de hacer un análisis previo antes de dar respuestas. [293]
  6. Existen rankings de inteligencia de modelos (como en analysis.ai/models o LLM stats) que ayudan a elegir el modelo más adecuado. [296]
    1. Los nombres de los modelos y sus versiones cambian constantemente, por lo que es más importante entender los fundamentos. [301]
    2. La potencia, velocidad y coste son incompatibles: un modelo potente es más lento y caro, mientras que uno barato es más rápido pero menos potente. [324]
    3. Se recomienda un modelo potente para tareas de pensamiento profundo, un modelo medio para el día a día y modelos rápidos y baratos para tareas mecánicas. [329]

3. Ingeniería de Prompts y el desarrollo de software con IA [333]

thumbnail

La ingeniería de prompts es crucial para obtener resultados precisos y deterministas de la IA, ya que un buen prompt define el rol, contexto, tarea, restricciones y formato de salida, diferenciándose del "by coding" intuitivo.

3.1. Anatomía de un prompt efectivo [333]

  1. La ingeniería de prompts o "anatomía de un prompt" es la forma de escribir y preguntar a una IA para obtener los mejores resultados. [333]
    1. Un mal prompt siempre dará un mal resultado, mientras que un buen prompt se ajustará a lo que se busca. [340]
  2. Un buen prompt debe incluir: [343]
    1. Rol: Definir quién es la IA y su nivel de experiencia (ej., "desarrollador back-end senior especializado en ciberseguridad"). [344]
    2. Contexto: Explicar el proyecto y las tecnologías (ej., "construyendo una API para un e-commerce utilizando Python"). [347]
    3. Tarea exacta: Ser específico sobre lo que se necesita (ej., "escribe un endpoint"). [350]
      1. La IA es indeterminista, lo que significa que el mismo prompt puede dar 10 resultados diferentes. [352]
      2. Los desarrolladores deben buscar el determinismo, es decir, respuestas que se adapten a lo que se quiere conseguir. [355]
    4. Restricciones o reglas: Establecer límites, convenciones y estándares. [359]
    5. Formato de salida: Indicar cómo se quiere recibir la información. [361]
  3. Un ejemplo de un prompt vago ("Haz un código para un login en Python") produce un código genérico e indeterminista. [375]
    1. Un prompt refinado, con rol, contexto, tarea y restricciones, genera un código más organizado y adaptado a las necesidades específicas. [381]

3.2. Diferencia entre "by coding" e ingeniería de software profesional [396]

  1. El fine-tuning permite entrenar un modelo general con una fuente de conocimiento específica para que responda solo en base a esa información. [412]
  2. El low-code y el "by coding" (programar guiándose por la intuición con ayuda de la IA) son rápidos y divertidos, pero peligrosos. [415]
    1. El "by coding" implica fiarse del código generado por la IA sin tener el conocimiento para verificar su seguridad, escalabilidad o idoneidad para producción. [420]
    2. Esto puede llevar a crear código que se rompa o no sea sostenible a largo plazo. [425]
  3. El "by coding" tiene su lugar para crear software que antes no era posible, pero el desarrollo profesional requiere un enfoque diferente. [426]
  4. La ingeniería de software se centra en diseñar y construir software de forma sistemática, con arquitectura, seguridad y control. [430]
    1. El desarrollo profesional siempre busca un responsable que cree software seguro y escalable. [432]
    2. Un meme ilustra que, aunque haya expertos en IA y usuarios de no-code, el programador es quien debe arreglar los problemas cuando algo falla. [433]

4. Evolución de los editores de código con IA y el rol de los agentes [435]

thumbnail

Los editores de código han evolucionado para integrar la IA como un copiloto y, más recientemente, como agentes autónomos capaces de interactuar con el código y el sistema, lo que requiere que los desarrolladores mantengan el control y la supervisión.

4.1. Historia y tipos de editores de código con IA [435]

  1. La evolución de los editores de código con IA ha sido rápida: [435]
    1. 2022: Aparición de ChatGPT y el inicio del boom de la IA, con editores clásicos que solo autocompletaban. [437]
    2. Finales de 2022 y 2023: Integración de chats tipo ChatGPT en los editores para copiar y pegar código. [440]
    3. 2024: Llegada de los copilotos, que interactúan como ayuda en el ciclo de desarrollo. [443]
    4. 2025: Introducción de los agentes, capaces de interactuar con el código y realizar acciones autónomas. [445]
    5. 2026: Los entornos de desarrollo ya están diseñados con la IA como centro. [449]
  2. Existen diferentes familias de editores de código con IA: [450]
    1. IDEs (Entornos de Desarrollo Integrados): Centrados en la programación, como Visual Studio Code, Cursor, Antigravity, Trade, Ced y Kiro. [451]
      1. Todas las herramientas se construyen sobre la misma base, por lo que entender los fundamentos permite usar cualquiera. [458]
      2. Cursor es una alternativa a Visual Studio Code, y Google Antigravity es otra opción. [462]
    2. Editores basados en terminal: Pensados para interactuar mediante chat o comandos en la terminal, como Cloud Code, Neo4j y Warp. [470]
      1. Neovim es una herramienta clásica de terminal adaptada a la IA. [476]
      2. Codex es una herramienta independiente que integra la IA en el entorno de desarrollo, donde el código es secundario y los agentes son lo principal. [479]
    3. Es importante probar las herramientas y elegir la que mejor se adapte, sin obsesionarse con la "herramienta perfecta", ya que todas funcionan de manera similar y se imitan entre sí. [484]
    4. La diferencia la marca el profesional, no la herramienta. [489]

4.2. Funcionamiento de los agentes en los editores de código [490]

  1. Los editores de código con IA permiten seleccionar modelos y configurar opciones como la ventana de contexto y el esfuerzo de razonamiento. [505]
    1. Por ejemplo, en Visual Studio Code, se puede elegir entre modelos como Cloud Opus (más potente) y ajustar la ventana de contexto (ej., 200K tokens). [509]
    2. Estas configuraciones afectan el gasto, el tiempo y la calidad del resultado. [519]
    3. Herramientas como Cursor y Antigravity ofrecen funcionalidades similares, demostrando que la base es la misma. [524]
  2. La diferencia entre un chatbot y un agente radica en la autonomía del agente. [547]
    1. Un chatbot solo responde a preguntas, sin acceso al sistema. [549]
      1. Un ejemplo en Visual Studio Code muestra cómo un chatbot genera código HTML que el usuario debe copiar y pegar manualmente. [551]
      2. El código generado puede ser indeterminado y no siempre lo que se busca. [565]
    2. Un agente tiene un bucle autónomo que le permite iterar sobre sí mismo y interactuar con el sistema. [570]
      1. El agente puede crear, leer y modificar archivos, ejecutar comandos y verificar acciones. [576]
      2. El bucle del agente implica entender, planificar, actuar, evaluar y ajustar, repitiendo el proceso hasta lograr el resultado deseado. [578]
  3. Demostración de un agente en Cursor: [580]
    1. Se le pide al agente crear una web con una línea de tiempo sobre predicciones fallidas de CEOs acerca de la desaparición de programadores. [614]
    2. El agente busca información en internet, crea el código HTML y CSS, y modifica el archivo index.html. [626]
    3. El agente lanza un servidor local en el puerto 8080 para visualizar la página web. [654]
    4. La página generada muestra las predicciones y su refutación, cumpliendo la premisa del prompt. [657]
    5. El agente muestra las acciones realizadas en la terminal y los cambios en los archivos, permitiendo al desarrollador revisar y deshacer modificaciones. [669]
    6. Aunque el agente es potente y rápido, puede tomar decisiones por sí mismo si no se le dan instrucciones precisas, lo que puede llevar a resultados no deseados. [695]
  4. Checklist para un código seguro con IA: [722]
    1. Dar contexto y seguridad por adelantado: Especificar lo que se quiere y las validaciones necesarias. [723]
    2. Leer y entender el código: Analizar si el código generado cumple con los requisitos. [725]
    3. Seguridad: Cuidar lo que se comparte y evitar subir información sensible (ej., claves de seguridad) a producción. [729]
    4. Es fundamental acotar el código con "guardarraíles" para que la IA siga las instrucciones del desarrollador. [734]
  5. La próxima clase se centrará en Open Code, un agente que permite marcar reglas y utilizar "skills" (habilidades) y comandos para un control más preciso, además de la gestión de memoria para ahorrar tokens. [736]