00:00Gente, ¿cómo estáis? Bienvenidos al curso de desarrollo con IA, el nuevo programador
00:04Por favor, ir diciéndome en el chat desde dónde me estáis viendo y si estáis preparados para los tres días que nos esperan, porque os prometo que vamos a aprender un montón
00:12Decidme desde dónde estáis, dejad también por ahí un like al vídeo y vamos a ir arrancando porque el tiempo apremia y hay muchas cosas que enseñar
00:20Me acabaréis dando la razón el último día
00:24Bueno, prepárense de verdad para la importancia que tiene comprender en el momento en el que nos encontramos ahora, en un momento en el que el sector del desarrollo de software ha cambiado y donde la inteligencia artificial ha llegado para quedarse, y no hay muchas más
00:38Opciones, y justo eso es todo lo que os quiero enseñar
00:40Bueno, díganme también si me conocéis o no, dedíquenme solo un segundo porque me presento muy rápido
00:47Mi nombre es Bryce Moure, soy ingeniero de software, soy divulgador desde hace 16 años, y por suerte y gracias a vosotros hemos construido una de las comunidades más grandes del mundo, el desarrollo de software en habla hispana, con más de 3 millones de personas en todas las redes
01:02Así que, por favor, ya que tengo la oportunidad de teneros a tantas personas aquí reunidas, de verdad, millones de gracias
01:08Entre las diferentes cosas que he conseguido a lo largo de estos 16 años, hay un montón de aplicaciones, y he trabajado en diferentes proyectos nacionales
01:17Internacionales y reconocimientos como el Microsoft MVP, el GitHub Star o incluso pertenecer a los grupos de Google de desarrollo, como líder de uno de ellos
01:26Pero lo que más me gusta es esto
01:29Os pongo esta foto y esta foto, que para mí son muy especiales porque se sacaron en uno de mis últimos viajes a México
01:32Aquí estoy
01:35No sé si lo veis
01:38Decidme por ahí en comentarios, decidme en el chat si estabais en esta charla
01:41Nos juntamos miles de personas para contar esas cosas que a mí me gusta ir divulgando poco a poco sobre cómo evoluciona nuestro sector y cómo podemos ir, bueno, poco a poco, también adaptándonos para así acabar siendo los desarrolladores del futuro, los desarrolladores de la actualidad
01:52Todo lo que vamos a ver
02:03Por otro lado, también soy el director de la cuarta edición del Máster de Desarrollo con IA, un máster que dirijo en Big School y que también ofrecemos en la Universidad Isabel Primera
02:13Bueno, prepárense porque les voy a contar, ya cuando termine la última clase, junto con todos estos docentes que ven por aquí, todas las novedades que vamos a añadir en esta cuarta edición, que van a ser una verdadera locura
02:24Pero lo importante es centrarse, prepararse, porque va a comenzar el Curso de Desarrollo con IA: El Nuevo Programador, estos tres días donde vamos a aprender de manera gratuita cómo está el sector
02:38Lo primero que tenemos que entender es cuál es el impacto real de la inteligencia artificial
02:41Tienen que ver..
02:43Esto ofrece un montón de oportunidades porque, en primer lugar, la educación ha cambiado para siempre
02:47Es sencillísimo empezar a aprender cosas nuevas
02:49Por otro lado, el mundo del desarrollo de software, que os voy a contar, la inteligencia artificial cada vez genera más parte de ese código
02:56Así que nosotros tenemos que encargarnos de ser ese nuevo eslabón, esas personas que tienen que acabar dirigiendo nuestro ejército de agentes de inteligencia artificial, que eso también lo aprenderemos durante estos días
03:08Por otro lado, el empleo
03:10Hay un nuevo estándar
03:12La realidad es que, como el sector ha cambiado, como la educación ha cambiado y como el nivel profesional también se ha modificado, el empleo y las empresas..
03:21También están buscando un nuevo estándar, un nuevo perfil, y eso es justo lo que también vamos a ver estos días
03:28Y por otro lado, el futuro
03:35A veces pensamos que cuando llega una nueva tecnología, cuando llega una revolución como la que nos acaba de sorprender aquí desde hace, pues, poquito, 3 años, ¿no? Parece que siempre pensamos y siempre tenemos que pensar en el futuro, pero en el momento en el que estamos, ya la inteligencia artificial lo ha cambiado todo
03:42Y, por supuesto, tenemos que entender y quitarnos los miedos de que la inteligencia artificial no reemplaza a los desarrolladores, sino que los hace evolucionar y los lleva al siguiente nivel
03:55Por otro lado, hay cosas y dudaitas que muchas veces aparecen, y es: "Bueno, pero..." La inteligencia artificial, ya que me dices que es el presente, pues cuánto se utiliza realmente
04:03Pues mira, os lo explico muy, muy rápido
04:07Estos son diferentes datos que he sacado de informes de Google, de Microsoft, de GitHub, de JetBrains, de Stack Overflow
04:12Aquí os traigo primero los datos del comienzo de este año, donde ya afirman las empresas que un 84 % de los desarrolladores, más o menos, ya sabéis que esto es un poco los números que nos ofrecen las grandes compañías, utilizan inteligencia artificial
04:27También me podéis ir diciendo ahora mismo en el chat si estáis utilizando también IA en vuestros desarrollos, pero por otro lado, el código nuevo que se genera es un 41 %, y os pongo lo de nuevo en un poco en estos términos
04:37Comillas por algo que os voy a explicar más adelante
04:39Y por último, aquí lo que tenemos es la parte de la confianza
04:44Ya veis que son unos números como que van cayendo poquito a poco, que se utiliza muchísima IA, que el código nuevo, por supuesto, cada vez hay más código generado por IA, pero que la confianza en realidad es algo que no tenemos que delegar al 100 %, es algo que nosotros tenemos que supervisar
04:58Os voy a actualizar estos números ahora, justo en el momento en el que estamos
05:03Fijaos, y si queréis, os hago ahí un cambio muy rápido, que dos de ellos, uy, perdón, que dos de ellos han aumentado
05:09E básicamente, la parte de desarrollo que antes teníamos un 84 %, pues mira, ya un 90 % de los desarrollos, prácticamente todo
05:18El mundo utiliza inteligencia artificial para desarrollarse de alguna forma
05:22Por otro lado, la parte del código, ese nuevo código generado que era un 41%, ahora ya es el 46%
05:26También os decía que ese nuevo código, entre comillas, ya que generar código no significa que ese código vaya a llegar a producción
05:36Pero aquí es justo por lo que os quería poner este gráfico, y es que hay algo que ha bajado
05:41Todo ha crecido, pero algo ha bajado
05:47¿Por qué? La confianza
05:53Y yo creo que la confianza justamente ha caído porque, como sector, estamos madurando y nos estamos dando cuenta de que muchas veces lo que nos comentaron de que no, no hay que hacer inteligencia artificial para todo en cualquier momento, es muy diferente de cómo después eso empieza a desarrollarse
05:59Impactar al mercado laboral
06:00Hablando del mercado laboral, esa es otra duda que soléis tener
06:04Mira, hay dos líneas por aquí, una rosa roja, que indica el sector del desarrollo de software a nivel de ofertas laborales, y un azul que vemos que es el resto general
06:14Fijaos, porque esto es una duda que soléis tener, pero se está contratando menos, hay menos trabajo
06:20La parte más baja es 2025, y cómo nos estamos dando cuenta que en 2026 ya está repuntando otra vez
06:26Por supuesto, sufrimos un cambio, por supuesto, el mercado se tiene que adaptar, pero ahora empieza a crecer y está creciendo, como podéis ver, a un ritmo superior que el resto de ofertas de trabajo
06:36Esto es un dato de Estados Unidos, ¿por qué os lo pongo? Ya que nosotros somos el mercado hispano, porque el mercado estadounidense, en muchos casos, pues por, desgracia para nosotros, suele ir más adelantado, pero es algo que después nos acaba traspasando
06:49Con lo cual, estas tendencias de mercado laboral acaban también traspasándose al mercado hispano
06:55¿Qué os quiero decir con esto? Que el sector del desarrollo de software ha cambiado para siempre
06:58Y esto no se trata de que sea una percepción mía o que yo os tenga que convencer de nada
07:04Esta es una realidad, y es lo único que tenemos que acabar entendiendo en este momento
07:08Como hacíamos antes, esto de aprender un lenguaje de programación, un framework, esto ha cambiado para siempre, como estoy diciendo
07:15Pero, ¿hacia...? ¿Dónde he atendido? Pues justamente a lo que os pongo ahí, hay que mantener el control, hay que conocer los fundamentos y, por otro lado, añadir todo lo que la inteligencia artificial ha traído poco a poco a nuestro sector
07:29¿Cuáles son las claves? Bueno, que crear software no es simplemente programar
07:33Y esto siento decirlo y no quiero que nadie se enfade ni que nadie se ofenda, pero que tú le pidas a un chatbot código, que copies ese código, que lo pongas y, al final, como tú ves código y funciona y te muestra algo, eso no significa que tengas control ni que sepas lo que estás haciendo, y mucho menos que eso sea comparable a lo que te va a pedir una empresa cuando quiera pagarte por desarrollar software
07:58Por otro lado, los fundamentos importan más que nunca
08:02Sobrá decirlo, nosotros no podemos construir ni podemos evolucionar como sector si no tenemos una base sólida
08:06No importa que empiecen a llegar un montón de mejoras, un montón de evoluciones, si en realidad, donde estamos asentando cada uno de esos conceptos, se tambalean
08:15Y eso es algo que también os voy a enseñar durante estos días
08:18Sobra decir también que nosotros dirigimos a la inteligencia artificial, la IA, que es la que tiene que ejecutar
08:24En muchos casos, es la que tiene que hacer ese trabajo bruto y en muchos casos va a ser la que genere la gran mayoría del código, pero nosotros tenemos que dirigirla, y si tú no sabes hacia dónde dirigir algo, pues mucho menos vas a
08:36Poder construir proyectos de software profesionales que realmente puedan escalar, sean seguros y puedan perdurar en el tiempo
08:42Y ya por último, os lo dije, ya creo que en solo unos minutos que llevamos de curso, ya lo he repetido bastantes veces, utilizar inteligencia artificial no es opcional
08:53La única realidad es que el mercado ya no paga por teclear
08:55Eso era antes
08:57Empezábamos así
08:59Estaba muy bien
09:01No quiere decir que antes fuera una mentira, pero la realidad a día de hoy no tiene nada que ver con esto
09:03Y hacia dónde tenemos que ir
09:05Hacia dirigir la IA
09:08Quien sepa dirigir la IA, quien sepa revisar, ahí acabará convirtiéndose en ese nuevo programador
09:13Sé que hay temores y es muy normal, y es que mucha gente piensa que..
09:18Es que es muy complicado
09:20La realidad es que es más fácil que nunca, gracias a que podemos utilizar la inteligencia artificial, por supuesto, para ser más productivos, para trabajar mejor, pero también para aprender de una manera muchísimo más rápida
09:31Tenemos un tutor prácticamente las 24 horas del día
09:33Digo por ahí que es para personas senior, porque es un discurso que yo muchas veces no dejo de leer en redes sociales, en diferentes foros, o incluso profesionales que dicen: "Es que, claro, esto viene muy bien para la gente que lleva mucho tiempo"
09:39Yo no lo veo así
09:46En el momento en que la IA es una palanca y que sirve para potenciar nuestras habilidades, por supuesto, un senior le va a sacar mucho provecho
09:53¿Por qué? Porque ya tiene esas bases, ya
09:55Tiene ese fundamento
09:56Pero, en realidad, un buen junior, una persona que esté estudiando, que sepa aprovechar toda esta inercia que nos va a dar la inteligencia artificial, también podrá incluso lograr adelantarse a otros estudiantes, a otros juniors, y lo más impactante para mí, a otros seniors que realmente no se estén tomando en serio esta revolución
10:17Ya os lo he mencionado antes, esto de que es para el futuro, ¿verdad? Esto es el presente
10:21Todas las empresas que están tomando en serio esta revolución, están implementando inteligencia artificial en sus procesos y, además, están contratando a gente que de verdad sabe trabajar con IA de manera profesional
10:33Ni la gente que estudiaba como antes de 2023
10:36Mucho menos la gente que utiliza la IA únicamente por pura intuición, pero que no sabe realmente qué está haciendo
10:42Y ya por último, ¿por dónde empezar? Esa es la duda que solemos tener, pero ya te lo adelanto: si tienes dudas de por dónde empezar, estás en el lugar correcto
10:52Justo eso es todo lo que vamos a ver
10:54Si eres una persona que está dando sus primeros pasos, si eres una persona que está estudiando programación, o si ya trabajas como programador, lo que vamos a aprender estos días es justo cómo entender cuál es el stack y cuál es el estándar del sector
11:07¿Qué vamos a aprender? Bueno, día uno, os digo por aquí, vamos a sentar las bases, vamos a ir poquito a poco, porque justamente no vale para nada intentar
11:16Correr, si no vamos asentando todos esos conocimientos, vamos a acabar delegando en agentes, vamos a acabar utilizando un montón de conceptos y tecnologías que en muchos casos las acabamos viendo por separado, pero que no entendemos cómo encajan realmente en el flujo de desarrollo
11:33Y en el último día, creo que hacia donde tiende el sector y lo más espectacular de todo, vamos a crear agentes, vamos a hacer una especie de equipo que sea capaz de interactuar entre ellos, que puedan llamarse entre sí, de delegar cada una de las tareas y, entre todos, ayudarnos
11:52Eso es lo que es más importante: desarrollar como verdaderos profesionales en el año 2026
11:55Os pongo aquí una imagen y, creo, que si ya..
12:01Conocéis un poquito qué es esto, sabéis hacia dónde quiero acabar llegando, y creo que esta imagen representa muy bien lo que vamos a ver en este curso
12:08Tenemos, por un lado, los fundamentos de la programación; por otro lado, la inteligencia artificial, y justo en el momento en que los fusionamos, acabamos llegando al programador profesional en 2026, que en realidad todo lo que tiene que tener presente se resume en esta palabra: criterio
12:25Para nada vale aprender un montón de tecnologías, para nada vale aprender un montón de conceptos si no estamos presentes en todo el flujo del desarrollo de software
12:33Y justamente esto lo marca el criterio
12:46Para que empecéis a..
12:59Visualizar todo lo que vamos a ver en el curso, he creado aquí este pequeño diagrama, esta especie de cebolla donde nosotros estamos en el centro, donde aquí tenemos que empezar partiendo todos y donde aquí pueden entrar la gente que ahora queréis estudiar programación, la gente que ya está estudiando, la gente que ya está trabajando y es el programador clásico de esa persona que sí que tiene que aprender a programar, que tiene que acabar entendiendo cómo funciona el sector y que va a servir para que justamente esta fase termine repercutiendo en lo que tenemos alrededor, que es el criterio
13:11Vamos a ver a lo largo de estos días cómo pasar de ser un programador, vamos a decir, a la antigua, a ser el programador de 2022, el… Programador antes del mundo de la inteligencia artificial, para que entendáis cómo tiene que ir evolucionando paso a paso hasta llegar, y hacerme caso, a cuál es el estándar que existe a día de hoy en las empresas
13:34Me voy o vais a pensar que me voy a tirar de la moto, pero en el momento que acabemos estos tres días, en el momento que acabemos este curso gratuito, vais a estar por delante del 90% de las empresas, a nivel conceptual, pero también a nivel práctico, porque algo que vamos a ir haciendo también durante cada una de estas fases va a ser desarrollar de manera real, aplicando todas las bases nuevas que nos ha llegado gracias a la inteligencia artificial
14:00¿Qué vamos a ver en la clase de hoy? Pues esas dos primeras
14:02Capas, por un lado, los fundamentos de la inteligencia artificial
14:05¿Por qué? Porque no vale para nada utilizar la inteligencia artificial si no entendemos qué es la inteligencia artificial y cuáles son las cosas que de verdad la hacen potente
14:14Y por otro lado, una palabra que decirme ahí en comentarios si la habéis escuchado alguna vez, que es lo que solemos denominar como harness
14:21¿Qué es ese harness? ¿Ese arnés? Esos guardarraíes que nos sirven para hacer que la inteligencia artificial cada vez se enfoque más
14:27Porque la inteligencia artificial, la palabra que mejor lo define también, es que es indeterminista
14:32¿Qué es indeterminista? Que nosotros le preguntamos algo, pero si lo preguntas 10 veces, cada vez nos va a..
14:36Voy a dar un resultado diferente
14:39Pero nosotros lo que queremos es que el modelo desarrolle como una persona a nivel profesional
14:43¿Y cómo vamos a hacer eso? ¿Cómo vamos a lograr que algo que se basa en probabilidad y que es indeterminista acabe, bueno, cercándose y siguiendo el camino que nosotros le queremos marcar? Pues justo gracias a ese concepto del "harness"
15:00Recordad muy, muy rápido, si ya os habéis registrado, no hace falta hacer absolutamente nada, y si no, podéis escanear este QR que tenéis por aquí
15:07Podéis hacerlo en cualquier momento, registraros
15:09¿Y por qué es importante? Porque os van a llegar los apuntes, todos los recursos y el certificado
15:15Aquí me detengo simplemente un minuto porque es importante
15:17Vamos a hacer..
15:27Toda esta clase
15:37Por favor, relajaos, por favor, seguid todo lo que yo os voy contando, pero no hace falta ni que vayáis a mi ritmo, ni mucho menos que toméis apuntes, porque todo esto mañana os va a llegar y lo vais a poder repasar junto con la clase, porque también tendréis el replay y todo lo que me vais a ver a mí haciendo, que si los prompts que voy lanzando, las URLs que voy lanzando, todo, absolutamente todo lo que vais a ver por aquí, lo vais a tener en un PDF perfectamente estructurado
15:43Dicho esto, vamos a arrancar
15:49Comenzamos con esa primera capa de la cebolla que os he mostrado antes, que son los fundamentos de inteligencia artificial
15:55Esto lo vamos a hacer, pues bueno, no creo que haga falta detenerse mucho, pero Entendamos que cuando estamos hablando de inteligencia artificial, cuando alguien nos habla de un modelo de inteligencia artificial, hacemos referencia a esto, ¿no? Esa palabra que seguramente os suena y que no deja de resumir cómo funciona un gran modelo de lenguaje
16:11Un gran modelo de lenguaje está entrenado con cantidades ingentes de información, y lo que va a hacer es funcionar de manera probabilística: cómo nosotros le damos un input, cómo le escribimos y cómo nos acaba dando esa respuesta
16:23¿Cómo lo hace? Lo fragmenta en diferentes partes, que es lo que acabamos llamando token, y calcula qué token podría venir a continuación
16:32Básicamente, parece magia negra, parece que es brujería, pero a nivel..
16:37Es muy claro cómo funciona
16:40Simplemente tiene tal capacidad de cómputo y tanta información que es capaz de inferir justamente cuál es el resultado que nos tiene que ir dando, pues token a token
16:49Por otro lado, también tenemos diferentes fundamentos de los Modelos de Lenguaje, aquí os dejo todos, los vais a tener en los apuntes, por eso ya digo que no hace falta que toméis notas o estéis apuntando cualquier tipo de cosa
17:00Pero aquí es importante, y me voy a detener únicamente en dos o tres conceptos
17:03Cuando hacemos referencia a los modelos de lenguaje, sabéis que hay infinidad
17:09Nos ponemos a pensar, bueno, seguramente habéis escuchado hablar de Astra, Opus, Sol, Luna, Quen o no sé qué, y no sabemos realmente cuáles son
17:13Las verdaderas diferencias
17:17Me voy a enfocar en tres, fundamentalmente
17:22Primero, los parámetros, que son los valores internos aprendidos
17:25Lo digo así, muy resumidamente, que básicamente aquí hay diferentes configuraciones que el modelo puede usar para inferir de manera más inteligente los resultados
17:34Por otro lado, los tokens
17:44¿Cómo funciona un modelo cuando le pasamos texto, pero también en los modelos multimodales que pueden recibir audio, imágenes? Cómo trocean toda esa información y esa información después puede generar ciertos resultados
17:53Y, por último, para mí el que es verdaderamente más importante y donde aquí..
17:58Residen gran parte de los fundamentos, que es la ventana de contexto
18:01Nosotros tenemos un modelo que no va a ser infinito a nivel de memoria; en el momento que se llena esa ventana de contexto, realmente el modelo empieza a hacer lo que solemos llamar alucinación
18:11Y justamente, esto también nos ayuda a entender cómo, aunque tengamos un modelo más o menos limitado a nivel de ventana de contexto, podemos hacer muchas cosas como profesionales para sacarle el máximo partido
18:25Ahí es donde entra la verdadera diferencia entre alguien que utiliza la inteligencia artificial con control, con sentido, con ciertos fundamentos, y alguien que de verdad la usa pero sin tener ni idea de lo que está haciendo
18:36Hay diferentes tipos de modelos y esto es algo que también tenemos que tener claro, los modelos de pesos abiertos y los modelos de pesos cerrados
18:42Básicamente, si tienes un modelo de pesos cerrados, son los típicos modelos que utilizamos a través de APIs o conectándolos a diferentes plataformas, y no tenemos, vamos a llamarlo así, el código fuente ni la configuración
18:56Pero en cambio, si tienes esos modelos de pesos abiertos, podemos instalarlos en nuestras propias máquinas y utilizarlos de una manera mucho más simple y clara
19:07Por otro lado, y esto también me parece bastante importante, esa ejecución justamente en la nube, en..
19:12Local, en cómo tenemos que acabar ejecutando esos modelos, pues también puede ser bastante valioso
19:18Resumida toda la información que os he estado contando, ¿para qué vale todo esto? Pues básicamente para utilizar los modelos con sentido
19:24¿Cómo utilizamos los modelos con sentido? Entendiendo, por un lado, la potencia que tienen y, por otro lado, el coste y la velocidad
19:30Si queremos un modelo más inteligente, probablemente será más caro y más lento, pero también depende de que aprendamos a usar el modelo correctamente y que no siempre necesitamos los mejores modelos
19:43Para esto, para mí, algo que me gusta, bueno, mostraros, pues simplemente tengo aquí la pantalla porque..
19:51Tenemos ciertas páginas web, y para esto vais a tener acceso a todos los apuntes
19:56Hay diferentes páginas, como esta de aquí, lo estáis viendo, pues bueno, Artificial Intelligence, que nos da diferentes rankings
20:06Esto significa que tenemos que hacer caso a los rankings actuales de inteligencia artificial que vemos por aquí delante, Opus, Stable Diffusion, que acaban de salir cuando estamos haciendo este curso, y a medida que bajamos, pues bueno, otros modelos
20:15Significa que yo siempre tengo que utilizar el modelo más caro, el modelo que está arriba, no necesariamente, pero dependiendo de cuáles sean tus necesidades, está bien que tengamos una cierta imagen, por lo menos mental, de cómo tenemos que acabar utilizando cada uno de los..
20:28Modelos y cuál pueda acabar encajando
20:30Y aquí es donde entran los fundamentos, porque cada uno de estos modelos tiene esa ventana de contexto de la que os hablé, esos parámetros de entrenamiento que suelen contar en billones, e incluso ahora ya estamos llegando a los trillones
20:40Esto os va a servir para decir: "Vale, ¿cuál es la tarea que tengo que hacer? Voy a hacer algunas pruebas y voy a ver cómo encaja." Pero así, por lo menos, tenemos ciertas ideas generales de cuál es el estándar al día de hoy de los diferentes modelos
20:54Por otro lado, también hay un ranking aquí, que os enseño en mstats.com, que también nos puede servir para ver diferentes, bueno, clasificaciones, vamos a llamarlas así, de cada uno de los modelos
21:04Algunos van creciendo, otros decreciendo a medida que van apareciendo unos u otros
21:10Aquí seguramente surge una pregunta y es: "Vale, pero todo esto, ¿cómo empiezo a programar? ¿Qué tengo que empezar a utilizar?" Pues para eso están las diferentes herramientas
21:17Ya os adelanto que esto será un curso agnóstico
21:21Vamos a utilizar herramientas que ya os explicaré cuáles serán en concreto, pero es cierto, y también podéis decírmelo en el chat y en los comentarios, cuál es vuestra favorita, cuál estáis utilizando, como Cloud Code, OpenCode, Codex
21:31Habrá de todo, pero ya os digo y os adelanto que todo lo que veremos a lo largo de este curso, cuando ya empecemos a programar, que será en la segunda clase
21:41Minutos aproximadamente, la realidad es que vais a poder utilizar vuestra herramienta favorita, la que más os llame la atención
21:48Yo os voy a justificar por qué voy a utilizar unas en concreto, pero no os tiene que preocupar si queréis utilizar otras herramientas diferentes como estas
21:55Pues bueno, mira, voy a abrir simplemente las páginas principales de cada una de ellas, de algunas que os estoy enseñando por ahí, para que veamos algo muy concreto
22:01Fijaos, vamos a ver Codex
22:07Pues bueno, ¿qué tenemos aquí? Una especie de chat, diferente información, un histórico
22:13Voy a abrir, por ejemplo, Copilot
22:15Ah, mira, un chat, un histórico
22:18Voy a abrir Cloud Code, que seguramente es una de las más famosas a día de hoy y que..
22:22También os llama mucho la atención un montón
22:24Pues tenemos aquí un chat
22:25¿Qué os quiero decir con todo esto? Que no os asuste que veáis que aparece una herramienta u otra, porque vuelvo a repetir, aquí lo más importante de todo son justamente los fundamentos
22:38Si tú entiendes cómo desarrollar con una herramienta, vas a saber desarrollar con todas
22:42Y eso es algo que también tenéis que tener muy presente, ya que ahora puede aparecer alguien y decir, "No, Bris, es que yo prefiero utilizar Antigravity o yo prefiero utilizar Open Code," que también la veremos y que se parece bastante a Cloud Code
22:54No os preocupéis, en realidad, alguien que tenga fundamentos, alguien que entienda muy bien la IA, los conceptos y el desarrollo
23:01El desarrollo de software no va a tener ningún problema en cambiar de un lado a otro
23:05Pasemos ya a uno de los últimos fundamentos que os quiero enseñar, esa ingeniería de prompts
23:09Esto, que ya desde el principio nos contaron, de que hay que saber estructurar muy bien un prompt y no sé qué
23:15Pues mira, no sé si son buenas o malas noticias, para mí son buenas noticias
23:19Nosotros teníamos la ingeniería de prompts clásica, que eso es como hasta hace un año, vamos a llamarlo así, donde teníamos que acabar definiendo cuál era el rol, el contexto, es decir, teníamos que estructurar nuestras palabras en una especie de lenguaje de prompts para la IA
23:36Pero tengo buenas noticias, ya que en los últimos meses se ha dado una nueva tendencia
23:41Una nueva tendencia que seguimos llamando ingeniería de prompts, pero que aquí tenemos a Carpacy, que es uno de los grandes ponentes, uno de los grandes referentes de la actualidad, donde nos dice algo muy interesante: que acaba de descubrir que, sin más, divagando y contando cosas a la IA, muchas veces, sin más, la IA ha llegado a un punto en el que esos modelos son capaces de estructurar de manera muy inteligente nuestras ideas, que inicialmente no están estructuradas
24:11Al final, esa ingeniería de prompts simplemente es como nosotros empezamos a interactuar con la inteligencia artificial
24:17¿Significa esto que tú puedes lanzar texto a lo loco y que ya la IA se va a encargar de todo? Por supuesto que no
24:23Para eso es por lo..
24:26Que yo quiero hacer una diferencia entre lo que entendemos como bycoding, que es programar guiándonos por intuición sin más, y donde entra la parte de ingeniería de software
24:33¿Quiere decir que está mal hacer bycoding? No, por supuesto que no
24:37Si tienes un proyecto puntual, que es algo que quieres utilizar tú, que es una herramienta que no van a usar clientes ni que te vas a jugar como que dice la propia empresa, o que sin más no va a escalar, no es algo que tenga cierta progresión a futuro
24:51Bueno, pues está bien utilizar bycoding
24:53Pero cuando hablamos de desarrollo profesional, cuando hablamos de que tú quieres convertirte en una persona a la que le paguen por tus proyectos y que una empresa termine pagándote por ser
25:01Programador, en realidad aquí es donde entra la ingeniería de software, así que diseñar y construir software de forma sistemática
25:09Aquí es justamente donde nosotros vamos a explicarte todo lo necesario para convertirte en ese ingeniero de software actual, ¿no? La persona que utiliza inteligencia artificial sin más, pero que no es ese programador que están buscando las empresas
25:23Así que os dejo aquí este meme con, espero, el humor que se merece, que es que no, no es que con low-code o no-code
25:31Nosotros vamos a hablar de desarrollo de software y, para hablar de desarrollo de software, ahora sí que ya nos vamos a poner manos a la obra
25:35Vamos a hablar de qué es este concepto de los arneses, de la ingeniería de arneses y de..
25:41Guardarraíles, que es la siguiente capa de nuestra cebolla
25:43¿Qué vamos a ver aquí? Pues dónde va a entrar
25:49Creo que una de las palabras que más se ha popularizado con toda la revolución de la inteligencia artificial es el concepto de agente
25:57¿Qué es eso de un agente? Pues básicamente, un agente es un sistema que utiliza un modelo para realizar esas tareas
26:03Entendamos la diferencia entre lo que es un chat
26:05Nosotros íbamos a ChatGPT, le escribíamos un texto y nos devolvía otro texto
26:10En muchos casos, mucha gente sigue utilizando la IA de esa forma, pero nosotros tenemos que llevarla al siguiente nivel
26:16Y el siguiente nivel justamente parte de entender muy bien qué es un agente
26:21Un agente no solo le pasamos..
26:23Texto, y nos responde texto, sino que la gran diferencia es que la gente pueda acabar interactuando con todo nuestro sistema mucho más allá de simplemente pasarnos texto
26:36Puede planificar, puede consultar información
26:38¿Qué quiere decir esto? Que al final acaba entendiendo, acaba tomando ciertas acciones y acaba actuando, evaluando y ajustando
26:45¿Qué significa esto en última instancia? Que de verdad puede hacer tareas reales sobre nuestro sistema de archivos
26:52Es decir, puede crear archivos, puede leer archivos, puede realizar búsquedas en la web, y eso ya se acaba convirtiendo en una persona, vamos a llamarla así, que tenemos a nuestro cargo, como si fuera una especie de empleado donde vamos a empezar a..
27:08Delegarle todo el trabajo
27:10Pero claro, un agente como tal sí puede parecernos muy útil, pero no va a saber llegar a ese desarrollo profesional si nosotros no somos capaces de ponerle cada uno de esos arneses
27:20¿Y dónde vamos a encontrar estos agentes? Pues ya veis que os acabo de poner justo la misma imagen que os estaba compartiendo hace unos minutos
27:31¿Por qué? Porque la manera de desarrollar con agentes es la misma manera que tenemos de desarrollar con las herramientas actuales
27:38Ya veis que aquí estoy repitiendo cada una de ellas
27:42Ahora, aquí es donde tengo que contaros cuál es la herramienta que vamos a utilizar para hacer la gran mayoría de este curso
27:48Os puse una encuesta y os dije, "Ey, ¿con qué os gustaría..." ¿Y hacer el desarrollo? Y os puse los más famosos
27:54Os puse Cloud Code por otro, por un lado, os puse OpenAI Codex, os puse Codex y después GitHub Copilot, que son como muy parecidos
28:02Y la verdad es que la gran mayoría de la comunidad votó por OpenAI Codex
28:07Y aquí os tengo que decir que para mí es una alegría que hayáis votado por OpenAI Codex, básicamente por esto
28:11Mira, voy a dejar aquí abierta la web de Cloud Code, que seguramente es la más famosa y realmente es la que más se está utilizando a día de hoy, pero que tiene una pega
28:18Primero, que es de pago
28:25¿Por qué? Porque todos los modelos que está utilizando son de pago, que son los modelos de Anthropic, los cloudes, ¿no?, de la vida, Sonet, Opus, Fable
28:33Pero, pero, pero, aquí apareció la..
28:40Comunidad con todo lo bueno que tiene, y es que hemos llegado a esto: a acabar creando una especie de copia de Cloud Code, pero de código abierto, donde la interfaz es muy parecida, donde la forma en que la gente trabaja es muy similar, y donde nosotros podemos acabar utilizando el modelo mucho más allá de usar solo de Anthropic, que es lo que nos pasa en Cloud Code
29:03Aquí podemos utilizar modelos hasta el punto de que la propia herramienta tiene modelos gratuitos, con lo cual esto ya no tiene que ser una limitación para que podáis hacer el curso incluso sin llegar a pagar, porque decís, "Bueno, es que yo no pago ningún modelo de OpenAI o de Anthropic o lo que sea." No pasa nada, os voy a enseñar cómo empezar a trabajar con esto
29:15Herramienta de manera real
29:26Por otro lado, Bris, es que yo quiero hacer el curso con Codex o lo quiero hacer con Cloud Code, no pasa absolutamente nada, o que lo quiero hacer con Cursor, que yo lo tengo aquí abierto porque también os voy a enseñar parte de Cursor, una herramienta que también es gratuita
29:37Tenemos un chat, tenemos la posibilidad de elegir modelos, todo es prácticamente igual
29:41Así que vosotros podéis hacer todo lo que os voy a enseñar
29:43Podéis acabar desarrollando el proyecto que yo os voy a contar a lo largo de estos 3 días y todos los fundamentos que yo os voy a ir añadiendo sobre inteligencia artificial
29:52Todo se puede hacer con cualquier herramienta que os dé la gana, pero en este caso, ya digo que en mi caso
29:58Pues bueno, voy a utilizar OpenAI Codex, porque código abierto y podéis pensar, bueno, pero claro, es de código abierto, pero esto realmente lo utiliza la comunidad
30:06¿Veis esto? 200,000 estrellas en GitHub
30:08Esto lo hace uno de los proyectos más valorados a nivel mundial en el menor espacio de tiempo, porque no es un proyecto que lleve 10 años
30:17Esto lleva aquí entre nosotros un añito, prácticamente casi dos, pero desde que se empezó a hacer famoso, desde que empezó este boom, es un año desde que empezó a tirar hacia arriba como unos locos
30:26¿Cómo podemos empezar a utilizar OpenAI Codex? Muy, muy fácil
30:30Bueno, lo primero que necesitamos es una herramienta de terminal: la herramienta de terminal de Windows, de Linux, de macOS
30:37No os preocupéis, ya que si os vais a la documentación veréis la manera en la que lo podéis instalar
30:42Ya veis que lo podéis hacer con npm, con Homebrew, con brew, con diferentes gestores de paquetes
30:47Si utilizáis Bash, que suele ser, bueno, una de las shells más empleadas, aún así, esto ya para aclararlo, si queréis empezar a utilizarlo, ya veis que os vais a la parte de la documentación, tenéis aquí la URL, y todo esto va a estar en los apuntes
31:02Podréis ver cómo acabáis utilizando, mira, en macOS, cómo tenéis los instaladores en Windows, en Linux
31:09Yo sin más lo voy a hacer por línea de comandos porque es lo más simple, porque es tan, tan simple como que yo me venga aquí, copie esto, me vaya a la terminal que tengo abierta por aquí y..
31:19Diga, "Hala, voy a instalar esto." Listo, ya veis que se empieza a instalar y ahora podemos pensar, "Bueno, pero tú me lo vendiste como que esto es la alternativa a Cloud Code
31:29¿Queréis que abra Cloud Code y que veamos cómo se puede acabar instalando?" Pues también acabaréis descubriendo que es muy simple
31:35Me voy por aquí y le digo, "Mira, quiero leer la documentación porque también lo puedo instalar en todos los sistemas." Veis que es una simple línea de código
31:42Si fuera en Windows, bueno, hay ciertas variaciones, pero todo es muy, muy parecido
31:45Me voy por aquí
31:49Sin más, voy a abrir una nueva pestaña en la terminal
31:52Si os interesa, esto no es obligatorio, la terminal que estoy utilizando se llama Warp
31:56Venís por..
31:58Aquí, escribís warp terminal, warp.dev
32:02Y esta es una terminal que a mí me gusta mucho porque es más moderna y resulta muy fácil de usar con comandos, además de que está disponible para todos los sistemas operativos
32:11Bueno, también es gratuita y la podéis usar sin ningún problema
32:15Fijaos, yo me voy aquí a la terminal y digo, "Y ahora quiero instalar Cloud Code." Bueno, pues instalo Cloud Code
32:18Ya veis que es una línea
32:21Esto se termina de instalar y lo tenemos funcionando en segundos
32:24Lo primero que os quiero contar aquí es que podemos echar una pequeña visual a cómo funciona cada una de estas herramientas
32:30Fíjate, voy a Open Code, que ya está instalado, pongo Open Code y esto va a hacer que se inicie
32:35Interfaz visual de Open Code
32:39Ya vemos que, sin más, es un chat donde, allí donde yo venga, por aquí, y digo "hola", y ya está
32:45Y esto empezaría a funcionar
32:50¿Qué va a pasar? Que, dependiendo si ya lo tenéis instalado o no, veréis que inicialmente puede trabajar con un modelo, o si no, os puede pedir una configuración previa
32:55No os preocupéis, porque ahora en un minuto os enseño a configurarlo desde cero, pero simplemente os quiero enseñar muy rápido cómo funciona
33:02Arrancada cada una de estas aplicaciones que tengo: Cloud Code también instalado, escribo "cloud"
33:06Esto arranca la terminal, y a mí, personalmente, vengo por aquí y digo, "Hola", bueno, pues aquí también tendríamos que nos acaba contestando con lo que sea, no tiene mucho más
33:16Misterio
33:25A mí me gustan bastante, y esto es una opinión personal, estas herramientas en terminal porque creo que nos permiten interactuar con el agente y con cómo funciona realmente el desarrollo con inteligencia artificial, utilizando todo lo que os voy a enseñar a lo largo de estos días de una manera muy visual y muy simple
33:35Por otro lado, que vosotros preferís herramientas como puede ser Cursor, que es el típico, eh, Visual Studio Code, donde tenéis pues, claro, un lado donde se vería todo el código
33:44Si tuvierais código, aquí veríais la previsualización y también la parte del chat, donde podéis elegir el modelo que queráis terminar utilizando o lo que sea
33:55Yo voy a tener las dos herramientas
33:57Vamos a estar con Open Code para hacer toda la parte de desarrollo con IA, pero para que vayáis viendo cómo se generan los archivos, qué contenido tienen los archivos y también podamos seguir esas dos vertientes, de desarrollar desde cero por un lado o desarrollar con herramientas más clásicas como puede ser Visual Studio Code o Cursor
34:16Voy a tener las dos y vamos a ir viendo muy, muy rápido cómo todo lo que hacemos en una también se acaba reflejando en la otra
34:22Vamos a ver lo siguiente: Open Code tiene una serie de comandos, pero estos comandos que podéis estar viendo aquí, que vamos a ver en la configuración muy, muy rápido, para que también entendáis cómo dar vuestros primeros pasos en las diferentes..
34:38herramientas, si os vais a cursos, si os vais a OpenAI o a Cloud Code, perdón, si os vais a Codex, comandos parecidos o iguales los vais a encontrar en todos
34:48¿Por qué? Porque la manera de interactuar con los agentes prácticamente es la misma en todos los casos
34:53Vamos a comenzar por esta configuración más simple de OpenAI, porque vosotros instaláis OpenAI, lo abrís
35:00Sin más, para que os vayáis haciendo una idea, yo me creé una carpeta que se llama My Study Diary, básicamente para reflejar el proyecto que ya os adelanto que vamos a ir creando a lo largo de este curso
35:11¿Qué aplicación vamos a crear? A mí me apetecía, pues ya que os tengo que enseñar un montón de cosas, que acabéis teniendo un proyecto que os sirva
35:23Vamos a crear una aplicación que sirva para reflejar un diario para los estudiantes, cómo tú día a día puedes ir registrando las horas que estudias, qué es lo que estudias, que también tenga ciertas mecánicas para incentivarte a estudiar, cómo puedes acabar marcando rachas para ver cuántos días llevas estudiando sin parar o lo que sea y cuánto tiempo le estás dedicando
35:44Es una aplicación, sí que es cierto que simple, pero bueno, creo que es más importante enseñaros cosas que armar una aplicación que sea muy grande, que los prompts que tarden mucho tiempo en ejecutarse y que perdamos ese tiempo, y que no se lo podamos dedicar a enseñar realmente cómo funciona bien el mundo del desarrollo con IA
35:53Inteligencia artificial
36:02¿Okay? Vale, vamos por aquí y vamos a ir viendo diferentes comandos que todos vais a tener en los apuntes para entender cómo podemos empezar a interactuar con él
36:11Si tenéis OpenAI sin absolutamente ningún proveedor, podéis acabar viendo algo como lo que yo os voy a enseñar
36:19Aquí hay un comando que es /models
36:21Por supuesto, nosotros tenemos que acabar eligiendo con qué modelo vamos a trabajar
36:25Fíjate que si empezamos a bajar en la lista, y esto si no tenéis ningún proveedor instalado, veréis algo así
36:31¿Cómo podéis utilizar diferentes modelos? En las webs en las que yo os enseñé antes los rankings, podéis buscar cómo funcionan estos modelos
36:40Acabaréis viendo que los podéis..
36:47Emplear de manera gratuita
36:54Pero, por otro lado, también se puede dar el caso de decir, "Es que yo ya tengo GitHub Copilot, por ejemplo, o yo ya estoy pagando licencias de Anthropic o de OpenAI, ya tengo ChatGPT y me gustaría poder utilizar los modelos de ChatGPT o los modelos de Anthropic, o lo que sea
37:01Para eso existe un comando que se llama connect
37:03En el momento que vosotros hacéis connect, veis esto, como yo, en mi caso, ya tengo dos proveedores, OpenAI y GitHub Copilot
37:11Con lo cual, esto, ¿qué significa? Que en el momento que tengo estos proveedores, voy a poder utilizar, con el comando /models, los modelos de estos proveedores
37:20Fíjate, tengo el proveedor de Copilot, que es una licencia que es..
37:24Bastante económica
37:28Pues mira, puedo utilizar los modelos de Copilot, entre los que yo también puedo llegar a encontrarme hasta los modelos de Anthropic, de OpenAI
37:32Por otro lado, yo también tengo una licencia, bueno, de OpenAI, tengo un ChatGPT por aquí
37:37Aquí tenemos cada uno de los modelos que tú quieras, otro modelo en concreto porque te gusta o ya lo estás utilizando, o tienes la API o lo que sea
37:46Fíjate, la lista no termina
37:49Tenemos absolutamente todos los modelos para que tú, en el momento que hagas conexiones, puedas acabar conectando con el proveedor que prefieras
37:56Es que esta lista no termina
37:59¿Por qué? Y esto es algo que a mí me gusta mucho de Open Code, es que no te limita ni te obliga a trabajar con un..
38:05Modelo, con lo cual tú vas a poder utilizar el que te dé la gana
38:08En el momento que quieres acabar linkando, que quieres acabar conectando, es tan simple
38:11En realidad, haces conexiones que en muchos casos van a ser meter la app key o simplemente eso
38:16Yo, en este caso, como digo, mira, OpenCode Console, lo quiero conectar a la consola para seguir viendo cómo utilizo los modelos
38:23Le digo que lo quiero acabar autorizando
38:26Sin más, esto me abre la web y yo digo, bueno, pues esta es la clave que tengo que terminar utilizando, no sé qué tal
38:32Pues lo voy a autorizar
38:36Ya veis que es algo tan simple
38:40También aquí os quiero enseñar una cosa: es que si vosotros vais a la web principal de OpenAI, OpenAI tiene algo bueno, ya que sí tiene modelos
38:43Gratis, pero es cierto que cuando ya empiezas a subir un poquito el nivel, puedes decir, "Mira, yo quiero pagar una licencia para utilizar algún modelo, pero buf, es que hay algunas licencias que son muy caras." Pues mira, dentro de los planes que tiene Open Code está la parte gratuita, que es esto que veis aquí, Zen
39:01Podéis utilizar diferentes modelos, pero también tenéis esto que llama GO, y es la posibilidad de que por 10 dólares, que es uno de los planes más baratos que hay en el mercado para utilizar modelos de pago, tenéis acceso a Kimi K3, que funciona como un tiro
39:15Minimax GPT, tenéis por aquí DEXIP Mimo, un montón de modelos que se ejecutan en la nube, que son muy potentes y que en realidad el precio es muy ajustado
39:24Comparado con muchos otros proveedores
39:26Y por otro lado, OpenAI no es algo que os vaya a contar ahora, pero si estáis interesados podéis buscar también cómo utilizar modelos locales
39:34Si tenéis una máquina un poquillo decente, pues ya podéis empezar a utilizar modelos que tengáis en vuestra máquina, los podéis emplear
39:41Esto, la documentación, está todo reflejado de forma muy simple
39:42Vamos a empezar a trabajar
39:45Bueno, yo ya tengo por aquí mis proveedores todos conectados
39:50Que quiero elegir un modelo, pues mira, ya que está tan de moda, GPT-4, no sé qué, que acaba de salir cuando estamos haciendo este curso 1.0, pues fijaos, vengo por aquí y digo, "Ey, quiero utilizar este modelo que yo en este caso lo he..."
39:55Linkedado
40:00Vosotros podéis utilizar el que os dé la gana
40:04En el momento en que eliges un modelo, tienes lo que se llama una variante, que indica la cantidad de esfuerzo que quieres dedicarle
40:12Si quieres hacer una tarea simple, ponlo en bajo
40:14Esto se reflejará en el consumo de tokens y en cuánto tiempo tarda en responder
40:20Yo lo pongo por defecto, pero si quieres cambiar ese esfuerzo, tienes un comando que es "variants" o, incluso, ahora han sacado diferentes variantes que son "thinking" y "effort"
40:31Utilizando la barra inclinada puedes acceder a todos los comandos, que pueden parecer muy locos, pero en realidad no son tantos y, simplemente leyendo la descripción te darás cuenta de que es bastante simple
40:41Utilizarlo, hasta me acaba de pasar por aquí el exit
40:42Hago exit, salgo, vuelvo a escribir Open Code, vuelvo a entrar
40:46No tiene mucho más misterio
40:49En el momento en que ya elegimos ese modelo, que ya elijo la variante con la que quiero acabar trabajando, pues creo que vamos a entender cuál es el primer paso que debemos dar para empezar a utilizar, pues, una herramienta como puede ser un agente y un harness, que en este caso es Open Code
41:05Sin más, puedo acabar pasándole, pues, nada, un prompt que nos sirva para dar esos primeros pasos
41:13Todos los prompts también los vais a tener en los apuntes
41:15Sin más, os voy a enseñar aquí el prompt que voy a acabar utilizando
41:19Mira, lo podemos ver muy rápido, pero sin más
41:21Más, yo os he creado aquí la pequeñísima estructura, que esto en realidad lo hice hablando, pero no os quería dar el tostón
41:27Ahora le dije: "Bum, bum, bum", todo lo que quería acabar creando
41:31Le dije: "Mira, estructúramelo como un prompt que tenga valor y que tú seas capaz de entender muy bien." Y ya veis que me creo el rol, el contexto, la tarea
41:38Y esto ha sido gracias a algo que yo le conté
41:40Todo este prompt, sin más, yo le puedo decir: "Bueno, pues vamos a acabar pasándoselo a OpenAI Codex." Vamos a acabar pasándole este prompt porque también es la forma de que empiece a construir
41:51En el momento que yo tengo todo esto, me voy a OpenAI Codex, le pego
41:55Ya veis que son 37 líneas, pero que en el momento que lo ejecuto, aquí vemos cómo se empezaría a..
41:59Crear toda esta aplicación
42:02Vamos a partir de algo muy simple
42:05Vamos a empezar a ver cómo se empiezan a generar los archivos
42:07Sin más, ¿qué le he pedido yo? Que cree una aplicación muy simple, una aplicación que esté basada en cómo tiene que terminar desarrollando ese diario de estudio, siempre desde la perspectiva de una persona senior que le digo que cree la web con HTML, CSS, JavaScript, con algo muy, muy sencillo que iremos evolucionando poco a poco, y donde yo le digo que necesita, pues, ese formulario para registrar la sesión de estudio, la racha, donde esa racha me la acaba marcando, pues, con el fuego que veis por aquí, y la lista de sesiones, le pongo algunas restricciones, pues, que mira, un día cuenta si tiene
42:41Al menos una sesión, si no vas a acabar perdiendo la racha
42:46Le pongo también diferentes técnicas y le pongo el formato de salida
42:50¿En qué se acaba transformando todo esto? Que ya veis que si yo me voy al final de la ejecución, ha creado un montón de código y me cuenta aquí diferentes cosas que podríamos acabar viendo
43:00¿Qué tenemos? Pues fíjate en los diferentes archivos
43:03Ya nos ha creado nuestra aplicación, una aplicación que podemos abrir en el explorador y que podemos empezar a ejecutar
43:13Toda esta explicación, toda esta aplicación
43:14Fíjate que no sabemos ni cómo arrancar esto, o cómo iniciar todo esto
43:19Bueno, podríamos venirnos aquí y decir, no..
43:22Sé, yo puedo acabar abriendo un explorador
43:27Podríamos acabar viendo y abrimos este índice
43:29Pero este índice también podemos entenderlo como que, al ser una aplicación tan simple, sin más, podríamos simplemente levantar un explorador y empezar a verla, aunque no tengamos ni idea, porque puede llegar el caso en que estamos desarrollando y todavía no tenemos claro cómo terminar ejecutando todo esto
43:47Pues mira, ábrela en el explorador
43:52Yo también le puedo preguntar estas cosas
43:55Os decía que cuando nosotros estamos aprendiendo a hacer algo, es muy importante entender también que la IA se puede emplear para realmente aprender cosas, no solo para desarrollar
44:07Que tú algo no tienes en mente cómo hacerlo
44:11En este caso, os puse..
44:13Algo sería simple, que sin más era abrir este archivo, que tampoco es que yo lo esté complicando mucho, pero bueno, veis que tiene la capacidad, como agente, de abrirnos el explorador directamente y de empezar a mostrarnos cosas
44:24Ya veis que aquí, bueno, hemos dado esos primeros pasos
44:26Por otro lado, vamos a empezar a ver algunas cosillas que podríamos hacer más desde el propio Open Code
44:30Vamos a verlo
44:35Bueno, me voy a abrir por aquí Open Code y vamos a ver algunos comandos muy, muy rápido
44:39Comandos
44:43Imagínate que tú hoy lo finalizas, cierras la aplicación o lo que sea
44:48Bueno, hago un exit, me voy afuera y mañana digo, yo quiero volver a trabajar
44:53Pues me voy aquí a Open Code, vuelvo a abrirlo y en el momento que lo..
44:57Abro, ¿qué va a pasar? Que la sesión de ayer ya no es la misma, esta es una nueva sesión
45:01Es como si escribiéramos el comando 'new', que también es uno de los comandos más utilizados
45:05Pero en cambio, si yo escribo '/sessions', aquí tenemos todas las sesiones que ha ejecutado mi Open Code
45:11Y esto es algo que tenemos en todos los agentes, no es algo únicamente individual de Open Code
45:17Y vemos que tenemos aquí una que se llama 'Diario de Estudio', que es una web para registrar las sesiones de estudio
45:20Si yo selecciono esta sesión, vemos que me llevo a la sesión del día ficticio anterior, y con ello puedo seguir desde esa ventana de contexto, que os hablé antes en los fundamentos
45:32Esto lo estamos viendo grande, pero voy a hacer un..
45:36Un poquito más pequeño, pens code, para que seáis conscientes de cierta información que nos muestra este 2%
45:40Es la ventana de contexto, los tokens con los que está trabajando, incluso el gasto ficticio, que yo en este caso estoy tirando una suscripción, con lo cual está todo incluido en la suscripción y no sería este gasto
45:52Pero si tiráis de API, pues bueno, también podéis ir viendo lo que vais consumiendo
45:55Lo voy a hacer más grande, pero que veáis que hay cierta información que nosotros podemos ver en esa barra lateral o que si no, no lo vemos de manera resumida aquí abajo
46:02Y esto es algo que nos ayuda
46:05También vemos ese control
46:06Pues si queréis ver el listado de todos los comandos, es una tontería empezar a ver todos porque, bueno, Echaríamos bastante tiempo
46:12Lo importante, sobre todo, es quedaros con los aspectos más importantes, que son los que nos permiten ir haciendo diferentes cosas
46:19Otro comando importante, imagínate que te equivocas
46:21Pues yo sin más hago un "undo"
46:23Si yo hiciera un "undo" de la ejecución que acabo de lanzar, ¿qué haría? Nos devolvería el código y el mensaje al punto anterior
46:29Con lo cual, sí, desarrollar con IA tiene un riesgo y nosotros tenemos que, bueno, aquí, porque estoy yendo bastante rápido, pero yo me vendría por aquí y diría: "Vale, ha creado las cosas como yo también quiero
46:43Estos son los archivos que le indiqué y este es el código, lo está haciendo, lo está estructurando de la manera que a mí me interesa." Esto ya dependiendo, por..
46:50Supuesto, de vuestros conocimientos de fundamentos, pero que es algo también importante si queréis mantener el control
46:54Solo que yo voy un poquito más rápido para así no pararnos en cosas que sí o sí tenemos que ir haciendo si queremos mantener justamente ese control, de la..
46:58pero te puedes equivocar
47:02Por supuesto, tú lanzas este comando, este hundo, y vuelves para atrás
47:06En el momento que tú vuelves para atrás dices, "Ay, no, es que lo que tenía estaba bien." Pues en realidad hay otro comando que se llama redo, que ahora no nos va a aparecer porque no hemos vuelto hacia atrás, pero si yo volviera hacia atrás, también podría volver hacia adelante
47:20Por otro lado, también tenemos algo que se llama DIF
47:22¿Para qué vale el...? para ver exactamente los cambios que hemos hecho en el código en nuestra última ejecución
47:28Y, por otro lado, ya veis que todos los comandos los accedemos con la barra, pero si yo me desplazo, podemos empezar a acceder a cómo hacemos referencias
47:38¿Qué son las referencias? Imagínate que quieres decirle algo muy concreto, modificar el qué; por ejemplo, quiero que acabe modificando este archivo app.js
47:48Pues, sin más, puedo hacer referencia a este fichero
47:54Si tengo el control, si realmente sé lo que está haciendo la IA, también puedo conocer muy bien cómo va evolucionando mi proyecto, y gracias a que sé cómo va evolucionando, puedo ir enviándole instrucciones
48:01Diferentes referencias
48:08Y por otro lado, esto ya lo visteis con la barra inclinada, con la barra y el último carácter especial, que es la admiración
48:15En el momento en que yo escribo la admiración, fijaos qué pasa aquí abajo
48:19Aquí pone "build", es decir, tenemos el agente que es el encargado de crear
48:23Pues si yo pongo la admiración, vemos que nos cambia a Shell
48:28¿Qué significa esto? Que si yo quisiera lanzar un comando por la terminal, lo cual puede ser algo típico y que realmente podría venir aquí a mi terminal y decir, "Bueno, pues me abro una nueva terminal y, al abrir esa nueva terminal, pues lanzo el comando que me dé la gana." Claro
48:43Y si yo lo quiero hacer sin salir directamente de Visual Studio Code, pues escribimos la barra..
48:50Inclinada o escribimos la admiración, me cambia el modo AI y yo aquí podría acabar escribiendo el comando que me diera la gana sin necesidad de salir de él
48:58Okay, una vez ya tenemos todo esto, vamos a seguir avanzando
49:00¿Por qué? Porque dentro de la ingeniería de contexto, que es el término que os quiero introducir ahora, es donde reside la importancia de los arneses
49:08Todos los agentes se basan en arneses, es decir, utilicéis la herramienta que queráis
49:16Ese agente que sin más está incluido en la propia herramienta tiene un arnés, pero ese arnés sigue siendo indeterminista, no cumple todas las características que nosotros necesitamos para desarrollar de manera controlada y cómo
49:31Desarrollaríamos nosotros
49:33¿Por qué? Porque no sabe hacia dónde queremos llegar
49:34Por eso, nosotros tenemos que ir metiéndole estos arneses, estos guardarraíles, todo el contexto, toda la información que va a acabar teniendo disponible el agente para desarrollar de la manera más correcta y profesional
49:48Por eso, tenemos que entender que hacia donde vamos hoy no es esa ingeniería de prompt simple, solo pedirle cosas de manera indeterminada a la IA, sino que el programador profesional, en la forma en que desarrolla, sigue lo que llamamos ingeniería de contexto, que os dejo aquí la frase para que la grabemos bien: consiste en seleccionar, organizar y..
50:09Actualizar toda la información para que la gente reciba lo más relevante en cada momento y para que la gente se comporte como nosotros o como el programador más profesional que podamos crear
50:20Se acaba comportando, no simplemente como un modelo al que sí le podríamos acabar diciendo que programe, sino también que escriba un artículo para un blog
50:30Pero si a nosotros nos interesa desarrollar con conocimiento, por eso tenemos que acabar definiendo esos guardarraíles y ese contexto relacionados con el proyecto que acabamos o que queremos acabar consiguiendo
50:43Para eso, entra aquí un término y esto ya lo habéis visto en justo lo que yo os estaba enseñando
50:49Cuando yo me puse a escribir la..
50:51Información para lanzar el prompt
50:53Yo he utilizado este formato que se llama Markdown
50:55¿Qué es esto del Markdown? Porque igual inicialmente tampoco es un término que conozcáis
50:59Markdown es un formato de texto sencillo y os enseño un ejemplo, porque lo tenemos aquí, y son ejemplos que también vais a tener en los apuntes
51:08Todo esto que estáis viendo, la barra lateral, que veis que, bueno, yo he puesto simplemente, pues, dos almohadillas, que he puesto unos guiones
51:15Veis que aquí aparece, pues, formateado, que aparece bonito
51:20Una forma muy, muy fácil de interactuar o de hablar con los agentes, de hablar con los modelos, es utilizando Markdown, porque no es solo pasarle texto plano, sino utilizar ese texto plano para darle un
51:34Pequeño formato que nos va a ayudar a que la gente también diga, "¡Ah, mira! Es que aquí hay una sección que es el rol y aquí el contexto." Y aquí, pues, tenemos una lista enumerada que ya veis que, sin más, es casi poner estos elementos y ya está
51:50¿Queréis buscar Markdown? Es superfácil, os vais a la web de Markdown, ponéis en Google o lo hacemos ahora porque total, ¿para qué no hacerlo? Pongo Markdown, yo vengo por aquí, la web que queráis, le podéis acabar echando un ojo, porque vais a ver cómo funciona
52:08¿Veis aquí? Markdown [resoplido] guía
52:13Pues acabáis encontrando una guía en Markdown
52:15Y, sin más, por irnos aquí, alguna, podéis acabar viendo superrápido cómo funciona, cuáles son los elementos que tenéis que acabar utilizando y
52:25Empezar a aprender, que es algo que os prometo que aprendéis en media hora, a utilizar Markdown para comunicaros con cada uno de los agentes
52:31Por otro lado, ahora introduzcamos ya ese primer concepto ligado a la importancia de los guardarraíles, ligado a la importancia del harness
52:42¿Qué es el agente? ¿Qué es eso de los agentes? Pues básicamente es esa primera capa que nos va a dar un archivo con instrucciones para orientar a los agentes sobre cómo trabajar
52:52¿Ves que ahora mismo yo lo que hice para crear esa primera fase del proyecto fue lanzarle un prompt? Sí, un prompt bien estructurado, ya utilizando un poquito esa ingeniería de prompts actual, pero eso no es suficiente
53:05Vamos a seguir aumentando esas capas de esa cebolla
53:07Y Ahora, aquí es donde entraba precisamente esta parte: cómo podemos utilizar esa ingeniería de prompts, pero ya llevada a la ingeniería de contexto
53:16Por eso, tenemos aquí una web muy importante que os quiero mostrar, que se llama agents.m
53:22Esto es un estándar a día de hoy
53:28Por suerte, poco a poco, el sector se ha puesto de acuerdo en cuáles son las metodologías y las herramientas que tenemos que utilizar para desarrollar de manera profesional
53:34Y la primera en la que han llegado, pues, todas las principales marcas a ponerse de acuerdo, y ya lo veis aquí: Gemini, Unity, OpenAI, Visual Studio Code, DeepMind, todas las principales empresas, todos los principales agentes, que esa es la palabra, se han puesto de acuerdo en..
53:52Establecer un estándar para definir ese archivo de instrucciones, que ya lo veis por aquí
53:58Bueno, es un pequeñito archivo de instrucciones donde nosotros le tenemos que dar información que no queremos que el agente olvide
54:04Tú piensa que, a medida que vayas hablando con el agente, existirán ciertas instrucciones que tú sí o sí quieres que siempre tenga presente la gente
54:15¿Qué haría alguien que no sabe desarrollar? Repetírselo continuamente o, lo peor, no se lo repetiría continuamente y lo que se daría cuenta es que cada vez la gente trabaja de una forma muy diferente
54:29También os voy a compartir, y esto lo repito, lo vais a tener en los apuntes, una plantilla para que entendáis más o menos cómo es un agente o cómo yo..
54:38Entiendo que tiene que ser un agente, un archivo Markdown (.md) para que veáis que sigue este formato
54:45Pues vemos que le indicamos, pues bueno, en una o dos frases, qué es lo que entiende del proyecto, cuál es el stack, la estructura, los comandos, las convenciones, las reglas, la forma de trabajar, los límites
54:54Esta es la estructura estándar, pero ¿cómo podemos acabar diseñando nuestros agentes de manera rápida? Pues básicamente, para eso ya existe un comando
55:04Tenemos el comando que es `barrainit`
55:07Nos venimos a nuestro proyecto
55:09Ahora, nuestro propio agente ya tiene cierto contexto, ya habéis visto cómo le hemos pasado el primer prompt y cómo ya ha creado esa primera versión de la aplicación
55:19Entonces yo ahora digo, mira, basándote en esa versión inicial de la aplicación, crea agents.m
55:24Vamos a lanzar este comando init y vamos a ver qué es lo que ocurre, cómo nos vamos a acabar encontrando con que nuestro proyecto aquí se va a acabar generando un fichero que se llama agents
55:35Vemos que empieza a leer en la gente cada uno de los ficheros que tiene
55:39Se empieza a hacer una idea de cuál es la información que tiene que acabar reflejando y en base a esto ya lo tenemos por aquí
55:46Tenemos un agents.m
55:48¿Y qué va a tener este agents? Pues bueno, diferente información, diferente información que ya vemos que hace referencia a las cosas más importantes que ha detectado la gente, que lo queremos ver
56:04Si lo queremos tener también en español para que veáis que, independientemente, lo va a hacer en inglés porque es el idioma, vamos a llamarlo nativo, de los diferentes modelos, pero que ya veis que pasarlo a español es un segundo
56:17Vemos que tiene restricciones, datos, fechas, verificación
56:21Esto lo ha hecho el agente basándose en el contexto que tenía hasta ese momento, en la información que tiene de la aplicación, pero en realidad tú ahora detectas que quieres meter alguna restricción, que quieres poner alguna regla
56:28Esto es importantísimo
56:36Una cosa es delegar en el agente y otra cosa es que nosotros no nos pongamos a leer por aquí cierta información que querramos tener en cuenta
56:40Fíjate que yo..
56:44Ahora aquí os voy a pasar cuál es mi visión de los agentes
56:48La he modificado
56:51¿Por qué? Porque para mí, un agente bueno para nuestra aplicación es un poquito más completo
56:55Todo esto os lo voy a acabar compartiendo, pero ya vemos que yo aquí le cuento qué es lo que quiero acabar utilizando, diferentes convenciones, que para mí, ya que tengo el criterio, eso es lo que está rodeando a todo ese esquema, a toda esa cebolla, porque yo tengo el criterio, soy capaz de ir dándole información que, para mí, va a ser importante para que, a medida que vayamos evolucionando este proyecto, el proyecto se desarrolle en base a cuáles son mis ideas y a cuál sería la manera en la que yo lo desarrollaría paso a paso, si tuviera que hacerlo
57:24Programar como en 2022, que aún no teníamos inteligencia artificial
57:26¿Cuál es el siguiente paso? Tenemos el Legends
57:30Otra cosa que os quiero enseñar por aquí es que vamos a repasar muy rápidamente diferentes aspectos que puede tener ese agente, como el stack, las convenciones, los patrones, las prohibiciones, y esto me quiero detener un poco
57:42¿Por qué? Porque a veces solo le decimos las cosas que debe tener el proyecto, pero tan importante como decirle qué debe tener el proyecto, es decirle también qué no debe tener
57:54Por eso, también os pongo esto como un punto importante: ese "no hagas tal cosa" para mí es muy relevante
58:01La estructura, el flujo de trabajo, el..
58:02Probando, el estilo que le quieres dar a los commits, básicamente todas las instrucciones principales y básicas
58:10Esto no quiere decir que tengas que utilizar el archivo legends.md como ese fichero principal donde debe ser una especie de cajón de sastre de todo tu conocimiento, ¿no? Las reglas principales
58:21¿Por qué? Porque los agentes hacen algo muy importante con este fichero y es que, antes de ejecutarse, lo leen
58:28Es decir, sin que tú les indiques que tienen que leer este fichero y sin que tú les digas que aquí está la información importante, un agente de OpenAI Codex, Cloud Code, Copilot, o cualquiera que sea, va a leer este fichero y va a decir: "Ey, este fichero, la información que contiene es muy importante." Y por eso, también, os..
58:48Recomiendo que este archivo sea mucho más importante si le metes 30 o 40 líneas que si le metes 300
58:53Cuanto mejor condensado esté y mejor refleje cuáles son los principios básicos inamovibles del proyecto, ahí es con lo que tienes que acabar quedando
59:03Pero claro, aquí pueden entrar otras filosofías y es que, si este archivo no me llega, tú puedes acabar creando más archivos
59:12Pero claro, no es lo mismo lo que vas a meter en los agentes, que es esa información principal, que lo que vas a meter en otros archivos
59:21Aquí es donde entran los archivos que yo llamo de reglas
59:23¿Por qué? Porque los archivos de reglas ya empiezan a ser como archivos secundarios por debajo de la importancia de los agentes
59:28Os voy a hablar de cuáles
59:32Son esos ficheros secundarios
59:37Pueden ser documentación
59:38Tú puedes querer reflejar documentación porque, en determinado momento, le quieres decir a la gente: "Ey, lee esta documentación en concreto de mi agente, de mi proyecto, de lo que sea, porque va a ser importante para que tú sepas cómo tienes que desarrollar." Pero os voy a poner aún un ejemplo mejor
59:54Si algo, y esto ya os lo contaban los fundamentos, es que si algo tienen los agentes en mal estado, es que su memoria es finita
01:00:02Si yo ahora empiezo aquí a desarrollar, a desarrollar y a desarrollar, lo que acabaremos viendo es que esa memoria se llena
01:00:11Entonces, para mí hay un fichero casi casi tan importante como el de los agentes, que es el fichero de memoria
01:00:16¿Qué..
01:00:20¿Es el fichero de memoria? Pues un fichero que realmente nosotros también podemos acabar creando
01:00:25Sin más, nos podemos venir aquí al proyecto y decir, "Mira, yo voy a crear un fichero, le voy a llamar memory." Pero, ¿en qué formato va a estar? En el formato Markdown
01:00:34Y para mí, este es un fichero donde yo quiero acabar reflejando justamente cosas que quiero guardar también de manera persistente
01:00:43En los agents teníamos como las reglas, los principios, las normas principales del proyecto, pero para mí, hay algo que va a pasar en el momento que empezamos a desarrollar cualquier proyecto y, sobre todo, si lo mantenemos en el tiempo, y es que hay ciertas cosas que no son tan importantes para guardarlas en el agent, pero..
01:01:02Que son lo suficientemente importantes para no dejarlas que el propio agente se olvide de ellas
01:01:09Y con lo cual, ahí es donde creo que es muy importante hablar de la memoria
01:01:13¿Por qué? Porque en los modelos de lenguaje, nosotros igual lo modificamos y vamos tocando cosas que son verdaderamente importantes, pero la memoria es algo que continuamente podemos ir iterando y que podemos ir modificando
01:01:25Así que os voy a hacer un ejemplo de lo que para mí podría ser un archivo de memoria
01:01:29Voy a pegar aquí este prompt que ya tenía reflejado
01:01:34Fíjate, le digo: "Memory MD", este es el diario de estudio, y yo le indico que este archivo, esto ya no es un estándar, esto es algo que estoy creando yo como documentación adicional, pero que ya va a servir para que yo defina
01:01:47Cómo tiene que funcionar mi proyecto
01:01:49Le digo, mira, esta es la memoria del proyecto entre sesiones
01:01:52Digo, máximo tienes que mantenerte en 50 líneas cuando trabajes con él
01:01:57Resume o elimina lo que ya no te aporte
01:02:00Es como su memoria temporal
01:02:04Para que veáis que el conocimiento que nosotros podamos ir reflejando y que podamos ir generando a lo largo de que vamos desarrollando la aplicación también tiene su lugar
01:02:08Digo, el estado actual, tengo una V1
01:02:10Hemos visto la V1, lo veíamos por aquí
01:02:13Tenemos el diario de estudio, donde yo tengo una fecha y digo: "Mira, pues voy a estudiar JavaScript y voy a acabar estudiando, pues no lo sé, en minutos, ¿eh?, pues 45 minutos
01:02:22Voy a guardar esto y vemos que tenemos aquí que ha guardado una sesión de
01:02:27Estudio el martes 29, pues de 45 minutos
01:02:29Bueno, esa primera fase lo tenemos hasta la racha, que era que yo algo que yo le metía en ese pron inicial, como tenemos una racha de un día, si ahora yo viniera por aquí, le vamos a hacer una trampa porque no le hemos metido limitaciones
01:02:44Mira, le pongo el 30 y le digo que el día 30, pues, voy a volver a estudiar JavaScript
01:02:48Y en este caso, que yo le he dedicado 15 minutos, vemos que tenemos esto
01:02:54Pero, claro, una cosa es meterle la fecha, el 30, y otra cosa es la racha
01:02:56No estamos a día de hoy en el día 30 cuando estamos haciendo este curso, estamos en el 29, por eso la racha no se ha mantenido y no ha sumado
01:03:05Si lo quisiéramos cambiar, por supuesto, podríamos hacer una evolución, pero para que veáis
01:03:10Que tenemos, bueno, una aplicación más o menos funcional, pero que, por supuesto, esto puede seguir creciendo hasta el infinito
01:03:15Así que yo le digo, "Mira, tengo una V1 funcionando, registra las sesiones, tampoco tiene backend, no tiene dependencias, aprendizajes, pues de momento no muchos
01:03:25Próximos pasos tampoco los tengo claros, pero esto es suficiente para que yo defina la memoria como la entiendo en este momento
01:03:31Pero, ¿cuál dijimos que es el archivo que siempre lee la gente? El archivo que siempre lee la gente es este agents
01:03:38Con lo cual, la forma de implementar bien la memoria es modificando estos agents y dándole cierta información que haga referencia a la memoria
01:03:46Por ejemplo, aquí debajo, del forma de trabajar
01:03:49Pues le voy a añadir este bloque y le digo, "Mira, tienes memoria." Y al empezar, yo también quiero que lea la memoria para conocer el estado del proyecto y las decisiones
01:03:58Y también le voy diciendo cómo tiene que interactuar con la memoria
01:04:00Es más, los límites, ¿qué teníamos? ¿Os fijáis que teníamos límites? Siempre respetar las reglas de fechas, de racha, preguntar antes de crear archivos
01:04:10Lo teníamos como límites, nunca añadir dependencias o frameworks, ya que lo dije, que desarrolle con JavaScript
01:04:15Aquí, un poco con lo mínimo para también nosotros ir rápido, pero yo ahora digo, venga, le voy a establecer un nuevo límite
01:04:21Y un nuevo límite es que actualice siempre la memoria al terminar cada tarea
01:04:27Así nos aseguramos de..
01:04:29Poquito a poco, esta memoria actúe justamente como una memoria
01:04:34Ya veis cómo tenemos los agentes, el agente principal del contexto, pero también cómo nosotros le podemos empezar a meter diferentes documentos y, en este caso, un documento tan importante como la memoria, para asegurarnos de que sí o sí esta memoria temporal siempre esté actualizada con cómo nosotros vamos a ir evolucionando nuestro programa
01:04:51Por otro lado, algo súper importante en esta fase de jornadas, en esta fase de guardarraíles, de arneses, en el momento en el que estamos trabajando, es el modo plan
01:05:03Vosotros habéis visto que mientras interactuábamos con OpenCode, teníamos siempre esto
01:05:08¿Y qué significa este bill? Pues ya os adelanto, este bill está
01:05:14Reflejando el agente de OpenAI que se encarga de desarrollar
01:05:17Es un agente que tiene las capacidades de los agentes que ya os he contado, que fue capaz, habéis visto, de crear documentos, fue capaz de escribir en esos documentos, fue capaz de hacer ejecuciones, nos abrió en el propio explorador la web que yo le dije que quería revisar para comprobar si de verdad funcionaba
01:05:39Pero es cierto que tenemos otro agente también muy importante, y esa gente es el agente del plan
01:05:44¿Qué es ese modo plan? Por defecto, y esto ya ocurre en prácticamente todas las herramientas y todos los agentes, es que individualmente del modo build, de la gente que es capaz de construir por inercia, también lo que tenemos es un agente que nos Permite planificar
01:06:04¿Para qué vale ese modo plan? Pues nos permite a la gente no decirle, "Ey, haz algo directamente", sino párate a pensar, párate a planificar y antes de hacer nada, déjame a mí que revise qué es lo que tú quieres hacer
01:06:21Al final, nos vale para aclarar requisitos, para detectar esos riesgos
01:06:26¿Y cómo acabamos llegando a ese modo agente? Bueno, el modo agente para planificar en Open Code es tan simple y ya lo tenemos aquí
01:06:33Fíjate que, sin más, si escribimos Shift y Tab, si pulsamos Shift y Tab, veis cómo está cambiando al modo plan que queremos utilizar, esta gente
01:06:44Bueno, también en realidad tendríamos acceso a otro comando
01:06:46Vamos a hacer barra agents y vemos que nosotros podemos alternar entre el modo plan y..
01:06:50Entre el modo build
01:06:54Vamos a ver cómo sería ahora la ejecución del modo plan
01:06:58Lo primero que tenemos que entender también aquí es, ¿y cuándo utilizo entonces el modo plan y cuándo utilizo el modo build? Pues mira, el modo plan, para mí, lo debes utilizar cuando tengamos tareas grandes o tengamos refactors, cuando tengamos que supervisar
01:07:12Pero, ¿cuándo no usarlo? Una tarea pequeña, una corrección que es muy obvia, un prototipado rápido
01:07:16Así que vamos a hacer, o mejor dicho, vamos a ver cómo podemos ampliar nuestra aplicación y cuándo tendría sentido utilizar ese modo plan
01:07:26Por ello, me voy a traer por aquí un nuevo prompt que voy a pegar, en este caso, en el modo plan, y que vamos a leer para entender qué es lo que hará ese modo plan
01:07:36Fíjate, Vengo por aquí y así lo leemos
01:07:38Digo, mira, quiero añadir una nueva funcionalidad
01:07:42Todo esto, repito, en los apuntes
01:07:44Quiero añadir la mejor racha, la racha más larga
01:07:46Uy, que me saltó
01:07:48Espera, que vuelvo a él
01:07:51Deja que venga por aquí para que así lo veamos
01:07:53Se me escapó
01:07:55Vale, aquí
01:07:58Vale, tenemos esto
01:08:00Y ahora pasamos al modo, ya que te has escapado
01:08:05A ver, espera, que aquí estamos
01:08:11Mira, quiero añadir la mejor racha, la racha más larga que he conseguido nunca, mostrada junto a la racha principal
01:08:16Y antes de escribir el código, le digo: "Ey, prepárame un plan." Digo, "¿Cómo vas a calcular la mejor racha? ¿Qué archivos vas a modificar? Los casos límite." Fíjate que después incluso le digo: "Actualiza agentes y memoria para que así dejes esa..." Referencia
01:08:31¿Qué ha hecho el modo plan? Fijaos, me voy por aquí abajo
01:08:36El modo plan no ha modificado absolutamente nada
01:08:39En cambio, me ha dicho por aquí, mira, aquí hay ciertas dudas
01:08:45¿Cómo voy a calcular la mejor racha? Me explica cómo la va a calcular él
01:08:49Si quiero hacer cambios, me dice: "Mira, los archivos que voy a cambiar son estos que tienes por aquí y los casos límite son estos que tienes por aquí." Dudas
01:08:56Esto es importantísimo, y es que la misma información que nosotros le damos para que desarrolle algo, el modo plan la va a utilizar para buscar diferentes decisiones que nosotros podemos tomar antes de desarrollar
01:09:11Y me dice: "Mira, ¿cómo lo vas a mostrar? O, ¿qué icono voy a mostrar? O, ¿qué significa...?" ¿El nuevo récord? Si la racha actual la iguala, ¿quieres que diga "nuevo récord" o quieres que acabe guardando lo que sea? Tú aquí podrías ir diciendo, mira, quiero que hagas esto, quiero que te deje escribir cualquier cosa
01:09:31Y además, ¿cómo iba a actualizar la parte de la memoria, la parte de los agentes? En este caso, vamos a ir a lo fácil y es que tú decidas
01:09:38Se lo lanzo así
01:09:45¿Por qué no? Porque digo, bueno, igual esto no es relevante o quiero que decida y me vaya a sacar por aquí, mira, todas las decisiones que ha tomado
01:09:51Y ahora me dice lo siguiente: "Ey, sigo en modo plan"
01:09:54Si estoy en modo plan, no me puedo poner a implementarlo
01:09:57¿Qué hago? Shift, Tabulador
01:10:01Cambiamos al modo deal, al modo bill, y le digo, "Dale"
01:10:05Ahora, en base a todo lo que hemos planificado, que yo os lo estoy haciendo rápido, pero ya veis que aquí podría ser una especie de tira y afloja con el agente
01:10:12Vamos a tomar decisiones, vamos a repensar bien cómo tenemos que hacer cada una de las cosas, y en base a eso vamos a ver cuál es el plan perfecto
01:10:20En el momento en que tengo el plan perfecto y que estoy de acuerdo con lo que me dice que va a hacer como agente, yo le digo, "Okay, ahora sí, ponte a implementarlo." Y ahora él se pone a implementarlo
01:10:31¿Qué está haciendo en este caso? Se pone a construir, se pone a modificar cada uno de los archivos, se pone a actualizar
01:10:41¿Lo habéis visto? Fíjate, aprendizajes en el momento en que se ha puesto a implementar algo nuevo, como yo ahora, como yo
01:10:47Ahora ya tiene conciencia de que tiene una parte de memoria que yo le dije que tocara, aquí la tenemos, aprendizajes
01:10:53Oye, para sumar los días, fíjate que he encontrado estas operaciones y que las tengo que tener en cuenta
01:10:58Incluso el agente también, si tiene que acabar tocando algo, lo acabaría modificando en el agente
01:11:02¿Qué acabamos resolviendo por aquí? Esta era la aplicación que teníamos antes
01:11:07Bueno, la actualizo
01:11:11Mejor racha, un día
01:11:15Ya vemos que la funcionalidad que hemos planificado, que hemos analizado, ya está reflejada justamente en nuestra propia aplicación
01:11:19¿Okay? Entonces, de ahí la importancia de empezar a entender cuáles son los diferentes agentes, cuándo tenemos que utilizar cada uno de los..
01:11:27Agentes y cuándo utilizarlos y cuándo no
01:11:29Aquí tenemos que tener algo súper claro
01:11:32Y es que, desde que comenzamos con el primer prompt, le hemos ido añadiendo diferentes capas a nuestro propio agente, al prompt que anteriormente utilizábamos como un chatbot, pero que ahora ya hemos definido
01:11:44Le hemos dicho: "Ey, tú, arranca la aplicación
01:11:46Ey, pero ahora añade un agente
01:11:49Ahora añade una memoria
01:11:51Ahora empieza a planificar." Por eso, llegado a este punto, lo que me gustaría es pediros que practiquéis esto, añadir una nueva funcionalidad a esta aplicación, pero siguiendo la metodología que hemos aprendido en esta clase
01:12:07¿Por qué? Porque ya vemos que hemos ido avanzando paso a paso
01:12:12Pasamos de ser ese programador inicial, a..
01:12:15Cómo le metemos los fundamentos de IA y entendemos cuáles son las bondades y cuáles son las capacidades de la IA
01:12:19Y ahora ya empezamos a añadirle ese assertiveness para que la IA acabe estando dirigida cada vez más
01:12:25Esto, ¿qué significa? Que nos vamos a quedar aquí ni de coña
01:12:29Ya veis que estamos en la fase dos y tenemos que llegar a la fase cinco
01:12:34¿Qué nos vamos a encontrar en la próxima clase? Vamos a ver cómo empezar a delegar con muchísimo más confianza, cómo confiar el trabajo de los agentes
01:12:45Estamos tomando decisiones, pero queremos tender a sacarle aún más beneficios a los agentes y, para eso, acabaremos creando diferentes tareas, pero de una forma más rápida, manteniendo siempre el resultado, metiéndole..
01:12:59Seguridad, integrando inteligencia artificial en nuestro flujo de trabajo, siempre manteniendo una metodología que veis aquí, que es la capa 4, que es el Spec Drive and Development, cómo podemos partir de una especificación y cómo podemos acabar aprendiendo a desarrollar como las empresas ya lo están haciendo de manera profesional
01:13:15De verdad, espero que os haya gustado un montón esta clase
01:13:19Mañana nos vemos a la misma hora, en el mismo lugar, añadiendo nuevas capas para llegar a ser ese programador actual que utiliza la IA con control, con conciencia y siempre de la manera más profesional
01:13:31Así que, de verdad, muchas gracias y nos vemos mañana
01:13:35Hasta luego.