Bueno, vamos a dar comienzo.
Buenos días a todos.
Una sesión más esta vez,
Programación de software asistida con inteligencia artificial.
Que bueno, como la verdad que ha tenido muchísima, muchísima aceptación.
Ha habido muchísimos escritos y ya veo por aquí
a muchísima gente conectada para hacer un tema tan tan específico.
Y bueno, es que está cambiando mucho
el tema de la programación con la IA y en general la ingeniería del software.
Esta sesión va a ser impartida por Javier Conde y Enrique Barra.
¿Ha habido un cambio en la programación y bueno, pero eh, contamos,
hemos contado en otras ocasiones con Enrique y eh, Javier eh,
la verdad que que seguro que que nos cuentan muchísimas cosas.
Sobre todo sobre todo este tema.
Recordad simplemente que nos quedan cinco sesiones más
y la jornada de IA, que es el día 19, que todavía estáis a tiempo de apuntaros.
Nada más.
Por mi parte doy paso a esta sesión que la verdad que se plantea superinteresante.
Muchísimas gracias.
Vale, pues nada,
muchas gracias Jessica por la presentación.
Entonces voy a empezar
yo, después más adelante se unirá Quique para explicar más cosillas.
Entonces veo que somos muchos.
Entonces lo mejor es que utilicemos el chat para dudas.
¿Y a mí sí que me gusta ir leyendo el chat, eh?
Más que ir contando yo, pues lo que se me ocurre,
pues que plasme vuestras dudas, pero de primeras a través del chat,
porque como somos tantos, si no va a ser un poco un poco caótico.
¿Entonces qué os vamos a contar Quique y yo en esta sesión de dos horas?
¿Pues básicamente cómo está el panorama actual en el tema
de desarrollo de software con inteligencia artificial?
Esto evoluciona muy rápido.
De lo que os contemos hoy en varios meses habrán surgido nuevas cosas,
pero bueno, saber el estado actual yo creo que es muy interesante, sobre todos
aquellos que igual no estéis muy metidos en inteligencia artificial y programación.
Porque es un cambio de paradigma, eh, brutal en algunos, en algunos aspectos.
¿Entonces bueno, eh, vamos a ir explorando un poco todas las eh actualidad
y el objetivo también es que aprendáis vosotros que se puede hacer hoy en
día a través de vemos que vamos a ir a ir haciendo vale?
Siempre os recordamos que este sí es este informe que se eh
que se hizo el curso pasado sobre, eh,
la inteligencia artificial en la educación superior, pero lo tenéis ahí.
La referencia que yo creo que también es
es bueno leer lo que estamos haciendo en en la Politécnica,
eh también más cosas así pues, por ejemplo, en en nuestro grupo
hacemos un MOOC sobre introducción a la IA generativa, a través del LMS
y sé que hay muchos más MOOCs relacionadas con esta temática.
Pues también os invito a que veáis todos esos cursos online gratuitos
con los que podéis seguir eh formando Este solo es un un ejemplo.
¿Pero bueno, como contamos nosotros, pues vendemos nuestro libro, no?
Además, recursos que
que tenéis a vuestra disposición en la página de Innovación educativa
tenéis multitud de vídeos sobre como utilizar diferentes herramientas
que tenemos disponible, la UPM y que no, etcétera etcétera
Y es mucha información al final y yo creo que es bueno saber
al menos los punteros, porque cuando tengáis alguna duda
posiblemente ya haya algún EH de material incluso creado por la propia Politécnica,
que está muy alineado con con nosotros vamos básicamente
bien, entonces un poco de la introducción que sepáis de los materiales
o también que conozcáis todas las estas sesiones que se están celebrando.
¿Como dice Jessica, quedan cinco, eh?
¿Y son todas muy variadas, o sea que que son muy interesantes
a nivel de de objetivos, eh?
¿Pues vamos a hablar de todos estos temas, eh?
¿Vamos a hablar de la introducción del Internet
artificial generativa, la programación, eh?
¿Primero una breve intro que siempre hacemos sobre ella, generativa
para aquellos que estéis un poco desubicados, pero no será más de
cinco diez minutos y después ya vamos a adentrar en herramientas de IA
para desarrollo de software, que aquí hay un ecosistema brutal,
cada vez más posibilidades y más paradigmas, eh?
Al final de todo. Bueno, vamos a hacer un pequeño cambio.
Vamos a hacer primero un taller práctico
en el que vamos a utilizar eh, CoPilot y CoPilot,
eh para código a través de VC Code, en el que vamos a desarrollar una aplicación
y después vamos a hacer modificaciones sobre ella con diferentes módulos.
Y ya por último hablaremos.
Como muchos somos profesores, es un poco también
el impacto que este tiene en la educación, tanto para alumnos como para
como para profesores.
Va a ser un poco los los objetivos.
Entonces, venga,
vamos a darle comienzo con la introducción a la inteligencia artificial generativa.
Esto va a ser va a ser muy breve.
Simplemente aterrizar el concepto para saber de dónde venimos
y entender un poco por qué las cosas funcionan.
¿Funcionan así,
eh? Bueno, existen muchos paradigmas de inteligencia artificial,
pero nosotros vamos a quedar en inteligencia artificial generativa,
que dentro están los grandes modelos de lenguaje que son sistemas que son capaces
de generar texto fundamentalmente, aunque ya vemos que hoy en día
podemos generar imágenes, vídeos, etc, etcétera
Pero lo más importante para programación es generar texto.
Al final el código es texto
en un lenguaje un poco más más diferente que el que estamos acostumbrados.
¿Entonces esto fue un poco
la revolución de la IA generativa y cómo funcionan los LMS, eh?
¿Que es básicamente lo que veis en esta diapositiva, un LLM, eh?
¿Que son los modelos que utilizamos intrínsecamente también para programar,
eh? Lo que hacen es ver un texto de entrada,
como vemos aquí al ver al ladrón el perro y ellos lo que hacen son
tratar de predecir cuál es la palabra más probable que viene después, pues
en este caso ladra, tiene una probabilidad muy alta y tortilla muy baja.
Estos sistemas han sido entrenados con muchísimo texto,
con tanto texto como el que prácticamente hemos generado en Internet
a lo largo de los años
y entonces son muy buenos a la hora de establecer relaciones entre las palabras.
Entonces, bueno, pues muy poco probable que veamos cosas inconexas,
aunque la forma en que han sido diseñadas, pues sí que hay cierta probabilidad
de que pueda saber, en este caso tortilla.
Simplemente
nos tenemos que quedar con esto, que son sistemas que van prediciendo
y tú cuando predices te equivocas, pues como somos las personas también
ven la evolución de estos sistemas.
Realmente fue brutal, tanto a nivel de arquitectura,
pero sobre todo a nivel de tamaño de los modelos.
¿Cuando nosotros hablamos de tamaños de modelos es oye, si quiero coger un modelo
e instalarme en una máquina,
cuánta memoria voy a necesitar para poder cargarlo en estos sistemas?
Sobre todo, no importa la memoria RAM de las GPUs,
estamos igual, acostumbrados a CPUs para, eh,
ordenadores tradicionales y para problemas de codificación tradicionales.
¿Eh, la IA, eh?
Lo más importante suelen ser las GPUs porque están centradas
en realizar operaciones sobre matrices o operaciones matriciales,
para lo cual la CPU es muy lenta, pero la GPU es muy rápida.
Bueno, sea como fuere, al final lo que nos interesa es tener hardware
para poder nosotros cargar estos modelos.
Y lo que vemos aquí es la evolución del tamaño de los modelos V.
Son billones de parámetros en inglés americanos,
es decir, miles de millones para nosotros y T son trillones también americanos.
Entonces vemos como el GPT tres EH, GPT tres.
Recordad que GPT 3.5 fue un poco la revolución.
En el 2022
estábamos modelos de billones de parámetros en los modelos comerciales,
los que igual utilizamos todos en nuestro día a día, como puede ser GPT
de Mirai, eh, Claude, etcétera etcétera Entonces vemos como la escala
está ha ido en aumento y cuando tú aumentas la escala
lo que se ha visto es que se aumentan también las capacidades de los modelos.
¿Eh? No sé si os acordáis, pero hace unos años GPT 3.5
pues no era muy buena programando y hoy en día con sistemas como GPT 5.5,
Codex o etcétera etcétera eh, podemos hacer ya cosas muy muy avanzadas.
¿Y además aquí hay una realidad que es que la gente que desarrolla
estos modelos, las grandes empresas o tiene ya
Google eh antrópico eh?
¿Han visto que eh centrarse en el mundo de la programación
tiene dos ventajas una que es un mercado muy grande y otra es que si tú
consigues que estos sistemas funcione muy bien generando código, eh?
Entendiendo código, pues puedes llegar a un punto en el
que incluso ellos se puedan mejorar a sí mismos a través de scripts,
etcétera, etcétera Y esto ha llegado a una evolución
que es en la que nos vivimos hoy en día, que es el sistema hasta genéticos.
Es decir, ya no solo le preguntamos a GPT que me diga las noticias de hoy,
sino que le puedo pedir que me haga una presentación
o incluso que me reserve billetes de tren
para ir de Madrid a Bilbao, por ejemplo.
Esa evolución genética se debe también mucho a
la capacidad que tienen los modelos por sí mismos de generar
código, ejecutarlo, entenderlo, etcétera
Eso lo vamos a ir viendo a lo largo de la sesión.
Pues quedarnos con que eh la tendencia es modelos cada vez más grandes.
Vale, esto de tokens tampoco es muy relevante.
Como tenemos muchas cosas, simplemente lo dejamos ahí siempre de de referencia.
Pero esto sí que me interesa.
¿En un inicio los modelos pues fueron entrenados fundamentalmente
con con textos, con libros, El Quijote, con todo lo que encontraba en internet,
pues la Wikipedia, etcétera De hecho aquí bueno, pues hubo muchos problemas legales
de si los cogían tenía tenían permiso para hacerlo, no?
¿A nosotros en este taller nos da un poco igual,
pues dentro de ese corpus también
podríamos coger eh, código de programación y aquí hay muchas fuentes
que se nos pueden ocurrir, eh?
StackOverflow, donde se planteaban problemas
complejos, donde la gente le daba solución o GitHub.
¿En GitHub tenemos repositorios públicos a tutiplén, eh?
Con prácticamente todo el código que se genera hoy en día, pues se sube a GitHub
o GitLab o equivalentes y ya teníamos esa fuente de información.
Pues básicamente lo que se hizo a estos sistemas
es entrenarlos al igual que para predecir la siguiente palabra
o para predecir la siguiente palabra relacionada a un código.
Y lo que se hizo fue especializar estos modelos
también en programación, no solo en en responder preguntas.
Y la forma de hacerlo es fundamentalmente la misma
que el modelo de lenguaje clásico, pero entrenándolo con con código.
Es decir, que era un problema que ya estaba resuelto.
Teníamos los datos, pues las grandes empresas se metieron,
se metieron a ello y vemos que cada vez unos resultados, unos resultados mejores.
Bien, entonces
y haz disponibles que tengas aquí una referencia de todo el mercado actual.
¿Nos faltarán muchas porque cada día sale, sale una nueva, pero la más importante
yo creo que está por aquí Cloudera Tropic, eh
tío Codex de OpenAI tenemos a día de hoy
me ha sacado hace nada sus propios modelos también, eh?
Y también tenía la gama de modelos abiertos llama eh,
que este sitio muy famoso que fue la IA y China, que
pues eh produjo aquí un poco un terremoto
porque dijo que no hacía falta tantos recursos de computación,
lo cual se ha visto a la larga
que es falso, sino que cada vez necesitamos más recursos de computación.
Cuéntame de chino.
Bueno, pues hay un mercado muy grande de soluciones ellas disponibles.
Y aquí el problema que vamos a ver es que, eh, no está claro
ya dónde ponemos la frontera entre modelo herramienta,
pero lo vamos a ir aclarando un poco con vosotros en esta.
¿En esta sesión, eh?
¿Cómo vamos a evaluar las ideas?
Pues a través de benchmarks. Estos son benchmarks.
Tenemos un ecosistema tan amplio que de alguna forma
yo tengo que tener la capacidad de hacer comparativas.
Entonces una forma muy, muy rápida de hacerlo es oye, pues que otras personas
hagan las comparativas por mí y yo miro y me adapto a los al mis necesidades.
Luego lo vamos a ver con más detalle, con ejemplos de códigos.
¿Por otro lado, que yo
creo que también es importante mencionarlo, existen lo que se llaman
eh, modelos de precios abiertos o open weight models, eh?
¿Estos modelos son aquellos en los que eh
me dejan descargarlos, instalarlos en mi propia infraestructura, eh?
Los modelos más potentes que hay hoy en día son modelos comerciales
como los de CLADE, como los de
EH Gemini, eh, los de OpenAI.
Esos son modelos comerciales que nosotros no tenemos ninguna forma de saber
ni cómo los han entrenado,
ni podemos desplegarlos en nuestra infraestructura propia.
Es decir, que cualquier petición que les hagamos
estos modelos van a ejecutarse en los servidores de Google
de OpenAI, de meta, de quien sea, pero no nuestra infraestructura.
Eso tiene dos derivadas, una a nivel de seguridad o bueno,
tenemos que saber que todo se va a ejecutar
en otras máquinas, que no va a ser la nuestras para generar el código.
El código se lo vamos a ejecutar en nuestra máquina, como veremos.
Y tiene otra segunda derivada.
Pues que la gente no ofrece sus recursos de computación gratis.
Realmente si que nos lo ofrecen gratis entre comillas.
¿Sabemos que cuando no hay nada gratis en este mundo,
cuando usamos ya GPT en la versión gratuita,
pues ellos están utilizando nuestros datos,
pues para entrenar futuros modelos, para saber cómo los estamos usando,
etcétera, etcétera
Pero en el mundo de la programación vamos a ver que eh
aquí se requiere mucha más capacidad de cómputo
y normalmente necesitamos pagar por
usar estas herramientas de código eh?
Pues una suscripción y hoy en día el problema que hay es
que ni siquiera con esa suscripción a veces es suficiente.
¿Por qué?
Porque estos sistemas se miden en tokens.
Es decir, vamos a simplificar lo máximo posible que un token es una palabra.
¿Entonces, cada vez que tú generas una palabra
es como que tenemos que ejecutar toda la máquina completa para generarme
una única palabra en código, pues también una palabra o un símbolo de código,
o lo que nos haga falta, un bar, un led, un corchete, etcétera, etcétera
Entonces cada una de esas inferencias es cada una de esas predicciones
para generar mi código tiene un coste elevado, eh?
Y el problema aquí es que cuando nosotros generamos texto,
pues normalmente
las personas del pueblo leen el texto y pues tampoco genera muchísimo texto,
pero con código sabemos todos que el código es muy verboso.
Tenemos que especificar todo.
¿Entonces, si queremos hacer algo muy sencillo
vamos a requerir requerir muchísimo código y eso se traduce en muchas predicciones,
en muchos tokens, en muchas palabritas o trozos de código,
lo que hace que sea muy caro y a las empresas pues no les sale a cuenta
el ofrecernos esto gratis y nos obliga a pues pagar una suscripción,
pues para poder integrarlo en nuestros IDEs eh?
O en otras plataformas auténticas, como veremos, veremos luego.
¿Entonces mucha gente, eh, tiene la idea de bueno,
pues existen estos modelos abiertos, pues por qué
no voy a utilizar un modelo abierto en mi infraestructura?
Incluso si tenéis vosotros GPUs disponibles, pues me lo descargo
mi infraestructura y con eso pues ya está solucionado.
Eso en la teoría es así, pero en la práctica hoy en día los modelos
abiertos con un tamaño razonable que nosotros podamos desplegar,
si tenéis mucha suerte, vais a poder desplegar modelos 70, 20, eh, 70 millones.
¿Pero si nos vamos aquí al principio de todo,
70 millones son cosas muy pequeñitas, eh?
GPT cinco, por ejemplo, puede tener trillones de parámetros.
Estamos muy lejos del tamaño y cuando estamos tan lejos del tamaño,
pues podemos pensar también que la calidad no va a ser eh
tan buena como utilizar estos modelos comerciales.
Entonces un poco la conclusión a la que tenéis que quedaros
modelos comerciales hoy en día para programación eh
prácticamente necesarios modelos abiertos, vais a tener muchas,
muchas limitaciones, además de necesitar vuestro propio propio hardware,
sobre todo cuando vamos a hacer cosas cada vez más más complicadas.
Ya, eh, vale.
¿Qué recursos? Ya veo. Por aquí.
¿Alguna pregunta en el chat? Esto es. Esto es interesante.
¿Que recursos se necesita para correr en local un modelo 70 B?
¿Vale, os enseño muy rápidamente el el una formulita muy sencilla
para calcular el tamaño eh 70 millones de parámetros
es pues cada parámetro al final se va a codificar eh?
Como poco con dos bytes de información.
Entonces con 70 millones de parámetros necesitamos ponerle un por dos 140
y billones. Se va a transformar a gigas.
Entonces vamos a necesitar una GPU con unos 140 gigas
de RAM de RAM, eh, GPUs con 140 gigas de RAM,
eh, ahora mismo pueden estar por el precio de 20.000 €.
Para entendernos, puede ser una H 200.
Haciendo un cálculo muy muy por encima.
Vale, eh, una H 200 o sino podría ser una
varias a 100 juntas que también valen una pasta,
es decir, que un 70 B necesitas necesitas infraestructura potente.
Si ya nos vamos a modelos más pequeñitos, pues eh, Incluso hay modelos
que puedes cargar en tu propia RAM sin GPU, pero son modelos de un tamaño
muy muy pequeño, lo cual las prestaciones no son tan buenas.
Bien, esto igual dentro de unos años, pues al igual que evoluciona
la IA evoluciona el hardware.
Igual estos 70 vez dentro de unos años lo podemos cargar
en nuestro propio teléfono móvil, pero hoy en día no es así.
Y realmente con un 70 V pues empiezas a tener prestaciones medio
buenas, pero tendríamos que irnos a modelos más grandes todavía
para poder competir tan siquiera con con con los modelos comerciales.
¿Bien, eh, Algún ejemplito de modelos abiertos?
Igual todos tenemos en mente los llama, tenemos los llena de Google.
¿Pues también pensar que en Open ella sacó un modelo abierto este GPT
o SS de 28 billones de parámetros, eh?
Pues eh.
Las empresas normalmente ofrecen también algún modelo modelo abierto.
Si está muy bien.
Si sois investigadores y queréis entrar en las tripas del modelo,
pues con modelos comerciales no vais a poder.
Con modelos abiertos Sí, y muchas investigaciones
se hacen con modelos abiertos porque no es tan caja negra.
Realmente no es una caja blanca, es decir, que sepamos todo
como va por dentro, porque esto son redes neuronales muy complejas
y no se puede entender lo que hay dentro.
No se, es un imposible saber porque a esa neurona le ha dado ese peso.
¿Es decir, que aunque tengamos los pesos de los modelos y podamos descargarlos
después con ellos, pues tampoco vamos a poder hacer muchas cosas,
salvo que nos dediquemos a investigar ese esa línea que hay mucha gente
investigando la sobre eh, Todo lo de entender cómo funcionan los modelos dentro
bien y también
por terminar con modelos abiertos de conozcáis
esta plataforma que seguro que a muchos suena Javi eh?
Javi Félix es prácticamente como un GitHub,
pero para modelos de de inteligencia artificial.
Entonces, cuando la gente entrena un modelo,
estas empresas entrenan un modelo de pesos abiertos.
Lo que hacen es, eh, subirlo a estas, a esta plataforma.
Javi seis y después tú te lo descargas.
Es muy sencillito de de de hacerlo, pero que que suene.
Los modelos comerciales, como digo aquí no es tan siempre
vamos a acceder a ellos a través de sistemas externos,
que es un poco lo que venimos ahora a explicaros aquí.
Nosotros cuando interactuamos con la IA hay dos modalidades de hacerlo.
Vamos a ponernos el gorro de usuario, que sería la que vemos aquí como el uno
aplicación web, que es en el que tú a ver, siempre va a haber un intermediario,
puede ser tu navegador web o puede ser una aplicación de escritorio.
Me da igual,
pero tú no hablas directamente con el RLM, sino que este actúa como intermediario.
Por ejemplo, GPT sería un caso como este en el que tú
hablas a través del navegador con un chat y escuchar lo que hace es hablar con él.
El LM le pasa tu pregunta y el me devuelve la respuesta.
Esto está pensado para usuarios.
En cambio, si nosotros queremos programar algo,
vamos a programar un sistema que queremos que integre la IA dentro.
He aquí lo que vamos a hacer uso son de las APIs,
es decir, nosotros atacamos directamente al modelo y al modelo, pues con él
podemos hacer lo que lo que nos dé la gana.
Esta es la forma en la que nosotros podemos integrar IA en nuestras
aplicaciones.
Pues aquí como programadores realmente tenemos que tener tres gorros.
¿Uno sería el de usuario eh?
Es decir, ahí ni estoy programando ni nada.
Otro sería el de un programador que está utilizando
la inteligencia artificial para programar.
Ese sería el escenario uno en el que yo utilizo GPT para que me ayude a programar.
Y después tendríamos ese tercer gorro que es Soy un programador
y además estoy integrando la inteligencia artificial
como parte de mi código, como parte de mi proyecto.
Pues imaginaros un
si queréis hacer vosotros un chatbot para una asignatura vuestra,
pues lo que vais a tener que hacer es uso de la API del modelo
que queramos de forma que en si yo le pregunto
dime los contenidos de programación de mi asignatura,
pues esto atacará a una base de datos vuestra que tendréis desplegada.
Esa base de datos de alguna forma extraerá los datos relevantes a programación
y esos datos se los puedo pasar al LLM para que la LM intente responder
la pregunta.
Pues dime lo que está relacionado con JavaScript de mi programación.
¿El LM recibe la información en texto crudo eh?
Y puedes ir a por ti. Todo lo que me has pasado.
Esto es lo que tiene más sentido o de todo lo que me has pasado.
Quiero que me generes una pregunta tipo test,
pues tú le pasas el LM, pasa los contenidos de la asignatura.
La pregunta genera una pregunta tipo test y el lo que te va a devolver
es con su capacidad de entender lenguaje natural.
Entender código te devuelve, pues imaginaros
esta pregunta tipo test y tú ya se la presentas al usuario.
Pero hay que tener claro estos gorros diferentes.
Usar la IA para programar o integrar la IA como parte de mi proyecto,
como una pieza nueva de software aquí en este taller es el gorro de.
Vamos a usar la IA para programar, pero tener claro que la gente ya lo está
integrando, sobre todo para esas tareas que son de generación de lenguaje natural.
Entender lenguaje natural,
decir cosas que no son tan deterministas como lo que podíamos hacer anteriormente.
¿Bien,
eh? Mmm.
La capa que tenemos aquí de utilizar la aplicación web
con porcentaje PT Aquí
hay dos modalidades modalidad gratuita que me dan los operadores comerciales,
que esto sobre todo está pensado pues para usar chat GPT solo para
haciéndole preguntas o tú le haces una pregunta sobre código y te lo responde.
Después está la de usar eh la la IA para ayudarte a generar código,
que también es dentro de este abanico en el que tú,
eh, le preguntas al chat GPT oye completamente
esta parte del código de mi aplicación y chat, GPT o el que sea
tiene acceso a tu código y te modifica directamente las líneas.
¿Aunque aquí hay un intermediario, en estos escenarios es donde os digo que
normalmente necesitas una suscripción, es decir, pagar para poder hacer uso
uso de esto en otros escenarios eh gratuitos?
Pues ahí simplemente son preguntas.
Respuesta Aquí ya te lo integran.
El código y en el API aquí si o si hay que pagar por token,
es decir, por cada token que tú generas te van facturando.
Entonces si tu aplicación, como la que hemos dicho de generar de preguntas
tipo test por cada token que está te va generando e incluso también
los tokens que tú le vas pasando, es decir, el contenido que le vas pasando
te van facturando igual 1 millón de tokens.
¿Pues te puede valer, eh?
¿Pensar que 1 millón de toques se
puede simplificar a unas 600.000 palabras aproximadamente, eh?
Pues un euro, un dólar.
Todo depende del modelo.
Aquí hay un abanico de precios también, también muy grande.
¿Entonces hay que tener claro esas, esas formas de operar
y no liarnos, porque mucha gente al principio se se lía
y saber que siempre que vayamos a utilizar la API
ahí va a haber que pasar por caja y pagar por uso fundamentalmente
bien de lo que todo el mundo sabes que es una API,
básicamente una API que lo estamos mencionando todo el rato, eh?
¿Me sirve como un intermediario, eh?
Yo expongo oye como puedes interactuar conmigo
y eh, puedo enviar código digamos cumpliendo esa especificación.
Y aquí se establecen un poco las reglas de comunicación
entre dos actores diferentes.
Eso es lo que me viene a definir una, una, una API, pues todos los modelos,
todas las empresas han definido su propia API
para que yo pueda interactuar con ellos, pues subiendo su su su estándar.
Y lo bueno es que todas
pues están muy alineadas y migrar de una a otra es muy sencilla.
Bien, y bueno, aquí os enseño también en ejemplos de OpenAI.
Pues cuando tú te creas una cuenta en OpenAI pagando
vas a poder generar lo que se llama API key.
Esto es un código con el que tú cada vez que le hagas una llamada al
LM directamente le tienes que pasar esa API y es la forma en la que te facturan.
Entonces si tienes dinero pues vas a poder seguir haciéndolo
y si no tienes dinero pues te van a decir que se te ha agotado.
Tus tus créditos.
Eso es lo que se llama a Picky.
¿Y en muchas herramientas, cuando lo programes, eh?
Y que usen el M es lo que vas a tener que pasar.
Es vuestra API.
Y he aquí una cosa que me gusta siempre contar,
aunque no es directamente relacionado con este
eh eh, con este curso es para aquellos
que desarrolláis herramientas que integran la IA.
¿Aquí,
eh? Por ley
tú no le puedes pedir al usuario que defina su API de Open aquí.
Eso en España no está permitido.
En Europa no está permitido. ¿Por qué?
Porque de alguna forma esa API que va a pasar por vuestro servidor,
entonces si pasa por vuestro servidor,
estáis teniendo como una contraseña de otra persona, de otro servicio.
Eso está totalmente prohibido.
La única forma que hay de hacerlo legal es que tu servicio.
Imaginaros que yo quiero hacer una aplicación que se llama OpenAI,
pues yo tengo que facturar yo a mis usuarios
y yo les creo unas APIs de mi aplicación
y mi aplicación utiliza una única API Key contra OpenAI que tengo yo.
Vale, este.
Este problema se lo ha visto mucha gente y supongo que aquí muchos programas.
Pues tener eso claro.
No le puedes pedir la API Key de un servicio externo a ninguna persona.
Tenéis que hacer un sistema intermediario.
¿Bien, eh?
Bueno, aquí tenéis otro ejemplo con con Yamil.
Hoy en día Minar pues lo funciona un poco, un poco igual
vas a tener que crearte una cuenta y te van a dar la capacidad
de crear APIs para poder poder utilizarlo.
Esto de crear apps porque os sonará también mucho para los que programan,
son simplemente sistemas que lo que hacen es utilizan un LLM
cualquiera y por dentro hacen ellos una aplicación que se comunica con él.
Entonces podríais vosotros, por ejemplo, crear un chat GPT igual que funciona
esta GPT o llamando directamente a el LMS y de alguna forma podría funcionar.
Y vosotros a los clientes como queráis.
O eh, tenéis los las cosas gratuitas.
Esto es un rapper.
¿Es simplemente como un envoltorio en el que tú utilizas el RM a
través de llamadas de APIs y lo que haces con ese contenido,
pues lo que tú definas como usuario
es fundamentalmente la gente que está haciendo, eh aplicaciones
que integran la IA, lo que están haciendo son rappers más o menos inteligentes, eh?
Por ejemplo, vamos a tener un rapper
que se especialice en generar preguntas tipo test.
Pues eso es un carácter
que os suena el término porque mucha gente lo dice y además
mucha gente lo da con una connotación negativa
porque eh, está como muy eh ligado a que si vas a ser un rapero
va a ser hacer un chat con mucha GPT para cobrarlo más
caro a gente que no tiene ni idea.
Pero realmente esto necesita un rapper.
Puedes hacerlo especializado en una cosa que sí aporte valor.
Bien, más cosas en ingeniería de pronto
esto ocurre en la vida real, es decir, que cuando queremos interactuar con el DM
es importante Los props que hagamos,
pero también va a importar cuando queramos generar código, es decir,
vamos a tener que ser ordenados, vamos a tener que dar requisitos
y la forma en la que demos los requisitos de nuestro código,
pues cuanto mejor sea, mejores resultados vamos a obtener.
¿Esto es un ejemplo que siempre, eh que siempre enseño, no está
relacionado con código, pero la analogía se entiende muy de forma muy sencilla eh?
¿Y esto es un poco antiguo ya también, pero es que aquí se veía muy claro, eh?
Le pasamos un acertijo a diferentes LLM.
¿En este caso un malabarista puede hacer malabarismos con 16 pelotas,
la mitad son de golf, etcétera, etcétera
Y le preguntamos cuántas pelotas de golf azules hay?
Si no le decíamos nada.
Esto que vemos aquí abajo solo el 17,7% de los
LLM que había en ese momento eran capaz de resolverlo.
¿En cambio, si le añadíamos al final, de pronto algo tan fácil como vamos a pensar
o vamos a desenvolverlo paso a paso, eh?
Los LLM serán capaces de aumentar su rendimiento de un 17,7% de los
que acertaban a un casi 80% en la forma en la que preguntamos es relevante
tanto en preguntas clásicas como cuando hagamos códigos.
Es decir, si le metemos mucha basura, no va a ser capaces de procesar.
¿Y por otro lado está el
contexto especialmente importante en código, eh?
Esto es que los modelos, eh, para para entendernos,
tienen una memoria de largo plazo y de corto plazo.
La memoria de largo plazo es aquella con la que han sido entrenados.
¿Entonces todo modelo le puedes preguntar cuál es la capital de España?
Que vas a ver que en Madrid o le puedes preguntar que cuál es la
EH sentencia para hacer if o en JavaScript y te va a pintar
la sentencia para hacer if en JavaScript porque lo ha visto muchas veces.
Es la memoria de largo plazo.
La memoria de corto plazo, que también lo podemos entender como sesión,
es la información que sabe el modelo sobre la conversación que tú estás
teniendo con él o en nuestro caso, sobre el repositorio de mi código.
¿Un modelo, eh?
No sabe nada del repositorio de mi código,
ni de lo que estoy haciendo ni lo que he hecho previamente.
La única forma de hacerlo es pasárselo.
Estos sistemas que vamos a utilizar, pues van a ir leyendo los ficheros
para enterarse de que hay en ese contenido.
Aquí el problema de esta memoria de corto plazo, que se llama contexto,
es que no es ilimitada, no es tan grande como la de largo contexto.
Llegará un momento en el que incluso la podamos saturar.
¿Eh? ¿Esto qué relación tiene?
Pues si tengo un proyecto gigantesco, El poder
absorber toda la información de este proyecto no va a ser sencillo.
¿Ahora mismo estamos con ventanas de contexto,
que es el tamaño de esta, de esta, eh memoria eh?
¿Muy grandes, eh?
Lo que ocurre es que aunque quepa, eh, es como las personas,
aunque tengamos un cerebro que nos cabe mucha información.
Si te da demasiada información.
A veces establecer las relaciones no es sencillo.
Pues aquí lo que quiero decir es que en proyectos muy, muy, muy grandes.
¿Vamos a empezar a notar que pues algunas cosas fallan
o que me estás modificando cosas que ya tenía escrito en otro lado, eh?
Hay que tener cuidado con esto del contexto.
Eso por un lado a nivel de funcionalidad y por otro lado a nivel de pasta,
eh, los LLM eh, te van a cobrar por tokens y también te van a cobrar
no solo por los tokens que genera, no solo por el código que genera, sino por
el código
que han utilizado para alimentarse de tu proyecto.
Si tienes un proyecto muy muy grande, pues vas a gastar mucho más rápido
el dinero de tu suscripción, que ese es un proyecto acotado.
Entonces vamos a tener que ser capaces nosotros también de manejar
este contexto, eh, de diferentes formas.
A veces incluso tenemos un modelo,
un proyecto muy grande, pero podemos ir guiando al modelo para que sepa ya,
por ejemplo, que tiene que consultar todo esto en esta carpeta.
Entonces ahí ya le estás acotando.
El modelo ya no va a buscar en todo
tu repositorio, sino que va a buscar en esa carpeta específica
y esto nos va a hacer que nos funcione mejor, porque ella va a buscar las cosas
directamente y va a hacer que ahorremos dinero.
¿En términos de nuestro suscripción, eh?
De estos dos temas es importante conocernos.
¿El hacer bien los prompts en términos de programación
y el manejar bien el el el contexto,
eh? Entonces ya vamos a hablar un poquito de para qué modelo utilizo.
¿Qué plataforma me recomiendas?
Pues diferentes alternativas, benchmarks y arenas.
Vamos a entrar primero con los con los benchmarks.
Esto es un ejemplo de de una pregunta, de un benchmark en la que.
Pues pensar que son como estudiantes a las que le queremos evaluar.
Pues podemos ponerle un ejemplo de programación de Oye, es, eh,
encuéntrame la solución para resolver este problema de programación
y te va a tener que devolver una función.
¿Vale? ¿Esos son típicos, eh?
Hackatones que tenemos de
de programación en la que tienes que desarrollar algoritmos.
Pues algo parecido puede ser algo más complicado como generarme
una aplicación web completa que incluya estos
campos, pues es otro ejemplo de benchmark para entendernos.
Es como un examen que le hacemos
y aquí hay mucha gente y muchas empresas que lo que se encargan
es de hacer benchmarks completos, es decir, muchas preguntas de este tipo
para poder evaluar de una forma rápida cualquier modelo que salga.
¿Y hay de una forma así nosotros poder ordenarnos, eh?
Y que tengamos de alguna forma más o menos objetiva
el poder comparar y decir quién es mejor y quién es peor.
¿Este benchmark es muy famoso en SW eh,
que se le pasan diferentes retos de programación, eh?
¿Retos de incluso repositorios reales eh?
A través de esos que tienen y se le piden que sean capaces de,
eh, de resolverlo.
Lo bueno de la programación es que nosotros después podemos testearla.
¿Por qué?
Pues hacemos unos test que esto normalmente lo hacen los benchmarks
de forma manual o asistido,
con programación, pero con alguien viendo que eso está está bien hecho.
Y una vez que tú tienes los test, pues es muy fácil comprobar
si el modelo ha acertado o no acertado.
Tan fácil como ejecutar la la la función que te ha devuelto.
Entonces es una ventaja de la programación.
Y además, esto mismo utilizan los modelos internamente,
eh para ir encontrando soluciones.
A veces se generan sus propios test, prueban si el test lo cumple, pues dicen
vale, pues ya está.
Si no lo cumple dice pues voy a ver porque no lo está cumpliendo.
Y se van realimentando a sí mismos hasta que llegan a la a la solución correcta.
Entonces los benchmarks nos valen sobre todo para elegir elegir modelo
o elegir herramienta.
Pero vamos a empezar primero con con modelos.
Eh Aquí os enseño estos artificial análisis una una web muy famosa
en la que hacen este tipo de de de comparaciones y eh.
Ellos han determinado un índice de codificación con un index
en el que evalúa
modelos en diferentes benchmarks, incluido este que os acabo de enseñar.
Vale, pero lo hacen con varios.
Y aquí os estoy mostrando
esta captura de los últimos modelos que tenemos hoy en día.
Y para que os vaya sonando un poco la nomenclatura.
Tenemos aquí GPT 5.5 el último GPT y aquí entre paréntesis
normalmente viene Medium EH Minimum High x high.
Esto es el nivel de razonamiento.
Los modelos hoy en día pueden razonar entre comillas
lo que entendemos por razonar.
¿Qué quiere decir razonar?
Razonar quiere decir que se
van realimentando a sí mismos, es decir, van generando contenido
y ese contenido lo van utilizando pues para ir haciendo pruebas.
Entonces imaginaros que le damos un programa muy complejo.
El modelo va a ir resolviéndolo y a medida que lo va resolviendo
pues se va dando cuenta de oye,
pues necesito tirar por aquí, yo necesito tirar por allá.
Más o menos como hacemos las personas, las personas
cuando abordamos un problema no sabemos la solución directamente,
sino que vamos eh desarrollándolo y a medida que obtenemos outputs
con nuestro propio pensamiento, vamos a ir reformulando las cosas,
pues aquí se pueden configurar ese nivel de razonamiento.
¿Básicamente, cuánto tiempo estás dispuesto a pensar
antes de darme la solución?
Un poco con las personas.
Entonces aquí vemos que hay diferentes
modos que se pueden activar, que luego lo vemos.
Pues quiero que pienses muchísimo tiempo, pues te activo el X,
pues vas a dedicarle mucho, mucho tiempo a pensar.
¿Obviamente, cuanto más pienses, normalmente
llegas a una solución correcta, aunque no siempre sea el caso, eh?
Entonces aquí vemos un poco
esto es GPT 5.5 de OpenAI, que tiene en esta escala cada escala.
Digamos que se mide de 0 a 100.
El problema es que muchas veces ya vamos saturando las escalas
porque los modelos cada vez son más buenos,
entonces se hacen retos cada vez más complicados.
¿Pues esta escala de coding index, pues ahora actualmente GPT 5 a 5
en el que escribe tiene 59% de accuracy, el cloud de cuatro ocho max
que han sacado hace poco un 57 Yasmina este de Google
de 23 uno prop 55 eh?
Y si os fijáis, estos tres que vemos aquí son comerciales.
Vale, el primero que ya vimos que no es comercial es Deep Sick,
pero aquí también es muy grande.
Y en Max,
es decir, este no vamos a ser capaces ni siquiera nosotros de desplegarlo
en nuestra infraestructura, porque es demasiado, demasiado grande.
¿Veis?
Aquí vemos un uno abierto que sí, que nos va a poder caber este
20 billones para un 20 billones.
Pues con un poco de suerte si tenemos GPU ya podemos ejecutarlo
y vemos la diferencia de rendimiento un 19 respecto un 59 que tiene GPT de 5.5.
Aquí es donde se marcan las diferencias.
Obviamente, si vais a hacer cosas muy sencillas,
pues igual 20 billones, o sea, es suficiente.
¿Bien,
eh? Veo por ahí en el chat si
están disponibles las diapositivas y luego se se colgarán.
Bien, esa es una dimensión en la calidad
que a todos nos interesa, pero no es la única.
Antes de pasar a la siguiente es el tiempo de ejecución de tareas.
¿Vale, de que me vale que un modelo
sea buenísimo si tardas cinco días en devolverme un Hello world?
Pues también se miden en estos sistemas.
¿Cuánto tardan en ejecutar una tarea?
Esto depende de cuánta, eh, de la infraestructura física
que tengamos ejemplos más rápidas, CPUs más lentas también del propio modelo.
¿Si el modelo es muy grande va a tardar más tiempo, eh?
Y también de este nivel de esfuerzo, de razonamiento que le queremos dar.
Entonces vemos por aquí, por ejemplo, el Deep Sick que vimos
que obtenía un rendimiento bastante alto para hacer un modelo abierto,
pero en cambio el tiempo para ejecutar una tarea de media es mucho mayor.
¿Entonces, si lo ponemos una balanza, si vale, está más
cerca de los comerciales, pero has tenido que pensar mucho, mucho para ello,
eh? ¿Pues otra comparativa que a mí
me interesa a nivel de tiempo esto también influye, eh?
Y el conocer un poco cultura general de modelos,
porque vamos a tener nosotros a veces que elegir a mano
todas las herramientas te dejan automático, pero aún no
está muy bien perfilado eso y muchas veces vamos a tener que elegir a mano.
Entonces tener un poco de cultura general, de saber oye, pues este funciona
bien para esto o este es muy caro
o este tarda mucho, es es relevante.
Y la otra dimensión que queda, que está muy relacionada con el tiempo,
es la del precio precio por tarea.
¿Cuanto más tiempo, más tokens va a generar, más precio, eh?
¿Y esto es especialmente relevante hoy en día, eh?
Porque eh, como digo, tenemos que pagar suscripción y esta suscripción está ligada
normalmente al número de tokens que vas generando.
Es decir, igual te dan una bolsa si tú pagas una suscripción de 20 $ al mes
que muchos, lo que el rango de precios que están,
pues igual te dan x tokens.
Pues si vas a resolver una tarea con el modelo
más potente dentro de esa suscripción, pues te vas a agotar los tokens más rápido
e incluso tu tarea igual era tan sencilla que se podía resolver con el modelo
más tonto de esa, de esa plataforma.
Pero si tú eliges siempre el más grande, pues vas a tener esos problemas,
que te vas a quedar sin tokens muy rápido.
Mucha gente se está quejando de esto, de que se quedan sin tokens.
Es verdad que cada vez las empresas
están limitando más el número de tokens que ofrecen en estas suscripciones.
¿Por qué?
Pues porque no les sale a cuenta.
Ahora mismo las empresas
están yendo a pérdidas, las empresas desarrolladoras de modelos,
entonces es una competición entre ellas, a ver quién es la que sobrevive
para quedarse con el mercado.
¿Y muchas están yendo a pérdidas,
no para que esas pérdidas, pues como todos sabemos, no se van a poder asumir, eh?
Siempre.
¿Entonces poco a poco lo que van haciendo es o subiendo
los precios o bajando eh?
En este caso el número de tokens o usos que puedes hacer de ella.
Entonces conocer este coste para mí hoy en día es imprescindible
entonces saber, por ejemplo, que si vamos a utilizar eh modelos de OpenAI,
pues oye, que el GPT de cinco cinco con X high es la leche.
Me vas a resolver el problema, pero igual me puedo ir a un GPT
cinco cinco con Medium y el EH, me vas a durar el doble de tiempo
y me vas a resolver la misma tarea porque mi problema no era tan complejo.
Bien,
pues por un lado tendríamos ahí
los modelos con esas tres vertientes calidad, tiempo y coste.
¿Y la que me salté aquí, eh,
es que hoy en día convivimos en un ecosistema
en la que no solo es importante el modelo, sino también la herramienta, eh?
Vamos a tener diferentes herramientas para programar
y en cada una de esas herramientas yo voy a poder coger diferentes modelos.
Igual os suena, Por ejemplo cursor vale, aquí veis cursor.
Entonces si os fijáis, cursor es un IDE, es un fork de vs code.
De hecho eh que está especializado para conectarte
a un LLM que para ti es es transparente porque nos ponemos el gorro
de que somos usuarios que generamos código utilizando ella eh decir que
hay algo intermediario, que en este caso es este curso que hace las cosas por mí.
Pues yo en ese curso voy a poder elegir el modelo.
¿Puedo elegir uno?
Pues cuatro siete, puedo elegir un un composer
dos cinco o puedo elegir un GPT de 5.5.
Te dan ese abanico de la herramienta sería curso y el modelo el que yo quiera,
Pues como herramientas auténticas hay muchas.
¿Tenemos codex de OpenAI, tenemos cursor,
eh, que es una empresa independiente, tenemos clade code de antrópico,
eh, Tenemos también de anti Gravity de Google, eh?
Y así de las más famosas pues el el GitHub CoPilot
eh, que es el que os vamos a hacerlo ahora mismo, que también es, eh.
Bueno, es integración directa con vs Code.
Entonces aquí vamos a tener dos dimensiones,
por un lado el modelo y por otro lado la plataforma.
De hecho vemos que hay modelos en diferentes plataformas que rinden más
o rinden menos.
Vemos aquí códecs con GPT 5.5.
Medium parece que rinde más que cursor con GPT 5.5.
Medium
Otra dimensión
extra La plataforma en el día a día. ¿Eh?
Realmente lo que vais a estar vosotros tendréis con una plataforma, haréis
pruebas.
Os gustará migrar de una a otra hasta que encontréis alguna que os guste.
Y la realidad es que todas las plataformas
poco a poco también van convergiendo a lo a lo mismo.
¿Por qué?
Pues porque cada.
Cuando una descubre
algo que funciona muy bien en unos pocos meses, las otras lo copian.
Ese es el el el estado actual hecho aquí, la que marcó un poco
la revolución de todo, eh Inicialmente fue Cursor y después
Claude Code, pues empezó a a comerle, comerle la tostada.
¿Bien,
es un poco, es a nivel de benchmarks
y a nivel de oye, qué modelo tengo que elegir?
Pues quedaros con esas pinceladas que os va a ayudar mucho.
¿Y de hecho, para terminar esta gráfica, a mí es de las que más
me gusta porque te pone por un una dimensión en el eje X,
el coste por tarea y el otro el accuracy que tiene el rendimiento, eh?
Si lo pensamos un poquito,
lo que nos interesa es tener sistemas que se encuentren.
Los modelos
que se encuentran en este cuadrante son muy baratos y funcionan muy bien.
Al revés, el peor cuadrante sería este.
Modelos en los que
o sistemas en los que es muy caro y encima el rendimiento es muy bajo.
Entonces esta gráfica también te permite ver de un solo vistazo
comparar las otras que tenemos.
Pues ahora vemos, por ejemplo, que Cloud Code Opus 4.7, Medium
parece que funciona muy bien y encima tampoco es súper caro.
¿En cambio 4.7 max eh?
Es muy caro y funciona.
¿Obviamente es el que mejor funciona junto con GPT 5.5 eh?
Pero te vas a comer los créditos muy muy rápido.
¿Bien, eh?
También tenemos que pensar si estamos haciendo un problema de
programación hiper complejo. He probado con esto no funciona.
Pues entonces igual te merece la pena hacer una entrevista con esto.
Vale, vamos a ver, hay más preguntas.
Yo utilizo
una suscripción de Google Standard con una tarifa fija para generar código.
Básicamente lo que pido
que me genere cientos de programas y le digo paso a paso que tiene que hacer.
Como transmito el coste de la pregunta si mi suscripción es tarifa plana,
Si para nutrir el contexto de corto plazo le paso el código similares
o que tienen ciertas características me sube me baja el coste de en tokens.
Vale. ¿Muy buena pregunta eh?
¿Nadie
tienes ahora mismo suscripción de Google con tarifa plana?
¿No existe eso realmente Tienes siempre una bolsa de tokens? ¿Eh?
¿Luego os lo enseño con VS Code por ejemplo, y con
EH Cloud de Code, eh?
¿Cómo se ve?
Lo que seguramente ocurra es que no ha sido capaz de
llenar esa bolsa y no le has dado un uso tan tan intensivo.
Pero hoy en día que yo conozca, no hay tarifas
100% eh plano dentro de tarifas muy caras.
Las hay por 20 de euros al mes o por 200 € al mes e incluso la de 200 € al mes.
No tienes tarifa plana.
Igual tienes tarifa plana con modelos muy malos, pero con modelos buenos.
¿Ya, ya digo yo que no, y lo del contexto también lo vemos luego en vs
Code, que se va viendo como se va, se va llenando eh?
Cuando utilizas el IDE
pues es más complicado de controlar que ley que no, salvo que la especifiques.
Qué parte del código quiere que
que mire eso lo hacemos en la en la demo un poquito más, más tarde.
Pero bueno, este es otro sistema para comparar que es el n arena,
que comparamos diferentes modelos, yo creo que de benchmarking más o menos.
Ya, ya lo tenemos, lo tenemos listo.
Lo realmente importante al final es que vosotros os sintáis cómodos y que no os
detengáis, Es decir, que de vez en cuando probéis algún modelo nuevo
o probéis alguna herramienta nueva, porque esto va evolucionando tan rápido
que si nos paramos en algún momento decimos con esto ya suficiente,
nos vamos a quedar atrás de muchas funcionalidades que surjan ya.
Esto es lo de los modelos de razonamiento que os explique antes
que es lo que se ha hecho es los modelos.
Les dejamos tiempo para pensar y obtenemos mejores, mejores resultados.
Con ello.
¿Bueno, vamos entonces ya al mundo de los agentes eh?
¿Muy relacionados con el código, eh?
¿Que son sistemas como os dije antes, que puede utilizarlos para, eh,
no solo devolverme respuestas, sino para ejecutar acciones, eh?
Y de hecho hoy en los IDEs están integrando ya agentes que ellos mismos
a veces incluso se programan subrutinas para poderte a resolver a ti el problema.
Imagínate que tienes un
una herramienta que quieres hacer, un como vamos a hacerlo un todo list,
es decir, una herramienta
que te permite subir tareas pendientes, marcarlas como hechas, editarlas,
pues tú le puedes decir oye, generan ejemplos
por lo que hace estos sistemas ahora mismo los agentes este.
Pues me voy a generar un script de Python
que va a generar textos aleatorios, eh,
con fechas aleatorias y eh, como me hago un script
puedo ejecutarlo 1 millón de veces y ya tengo 1 millón de tareas.
Esos son los agentes, Es decir, tienen la capacidad de hacer acciones
que después pueden tener un resultado final.
Pues sobre mi código, después ese es que el que ha utilizado él
para generar esos ejemplos se puede borrar y aquí no ha pasado nada.
En lo utiliza solo él internamente para
para cumplir diferentes, diferentes objetivos.
¿Entonces aquí es la gran revolución, la de los agentes, eh?
Ya no solo para programación, que si es muy grande, sino también
para el mundo mundo real o al uso en alguno cowork
que está pensado, por ejemplo que tú le pasas eh ficheros y
le dices de todos estos ficheros que a mí dame un ppt y te genera un ppt.
Entonces un agente es capaz de hacer tareas,
ver más conceptos.
La primera horita va a ser conceptos y a la segunda horita va a ser de tenemos eh.
¿Este concepto yo creo es importante que lo conozcáis
cuando vais a utilizar la IA para programar que solo los MSPS?
Pensar que los LLM están pensados para que te devuelvan
texto o código, no que lo ejecuten directamente.
¿Entonces lo que se ha desarrollado es una especie de protocolo?
No, tampoco es un protocolo, eh, en el que tú puedas a un LLM
decirle cómo interactuar con herramientas externas.
Entonces LLM lo que hace es generar texto y ese texto si detecta necesito ejecutar.
Imaginaros eh enviar un mail por gmail,
por lo que va a hacer es pasarle a un MCP que es esto que os enseño aquí.
Es un servidor que alguien ha picado,
que el servidor dice oye pues te pongo esta API.
Si tú me envías eh esta petición
con esta estructura yo ejecuto esta instrucción, por ejemplo
enviar un email, pues el LM lo que tiene es
acceso a todos
esos información del MCP que tiene conectado estos MCP Servers
y entiende qué tipo de peticiones son las que necesita.
Entonces el LM detecta que para esa tarea tiene que enviar un email.
Lo que va a hacer es generar en su propio texto
la estructura que se espera SMTP Server y ahí se hace a través de un módulo
que tiene implementado ya estos modelos de
oye, si detectas que la output del modelo tiene esta estructura,
pásaselo a este servidor y este servidor ya hace la función.
Para entendernos, es como un intermediario.
Entonces tienes tú que instalarte o crearte MCPS
para conectarlo con sistemas externos.
Casi nunca vas a tener que picarte lo que haces, siempre vas a instalar algún
MSP que ya lo ha hecho el propio Google, en este caso para comunicarte con Gmail,
sea la forma en la que le damos acceso al mundo exterior,
a los a los modelos, sino a los modelos por sí mismo.
No son capaces de enviar un email, tiene que conectarse a herramientas
y esto es lo que nos permite.
MCP es estandarizar un poco todo. Todo ese proceso.
Bien, eh, Los MCP fueron un éxito.
Lo que pasa es que ocurrió que un poco de desorden.
¿Por qué? Porque tenía una lista entera de MCP.
¿No sabía muy bien cuándo utilizarlos, Eh?
Se quiso dar un poco orden.
¿Entonces, para dar orden se creó un nuevo concepto que se llaman skills,
que skills son simplemente ficheros eh?
O carpetitas que contienen como eh, instrucciones de
cómo se realiza una tarea.
¿Por ejemplo, puedes tener un skill que esté centrada eh?
Puedes enviar correos y esas que tú explicas.
Oye, pues mira, yo quiero que envíes correos
y lo que quiero que pongas siempre es que en el concepto eh,
se lo pongas en mayúsculas y me pongas a mí siempre como copia
y no sé qué no sé cuándo, es decir, como una receta de instrucciones.
Y en el propio skill también le defines.
¿Tienes acceso a este MCP para poder enviar correos
o tienes acceso a esta herramienta para hacer esta otra cosa?
¿Son ficheros Markdown casi todos, eh?
Ellos como veis aquí, en el que le especificamos
las reglas de cómo quiero que funcione esa skill,
pero nosotros después podemos invocar un skill directamente como vamos a hacer la
demo y digo mira, quiero que hagas esto y utilices esta skill
o a veces los modelos ya eh, lo que hacen es leer
tu carpeta donde tengas todas las skills de tu proyecto.
En nuestro proyecto vamos a tener una carpeta con skills
y ver si alguna skill es interesante para lo que le estás pidiendo.
Si ya se lo damos nosotros, pues mucho mejor, porque ya le ahorramos
el tiempo de tener que buscar y que incluso a veces no lo encuentre bien.
Eso es una skill.
Y ya por
último, el que está ahora muy de moda son las Command line Interface,
que esto significa que a veces ni siquiera tenemos que crear un MCP
si ya directamente en nuestro ordenador, donde donde estamos ejecutando el código
tenemos instalados ciertos comandos de de de línea de interfaz
entre por ejemplo FMP o GitHub directamente.
¿Como estos modelos son tan buenos que han sido entrenados con tanto código,
saben cuáles son los comandos de GitHub o de FMP?
Pues puede hacer uso de los comandos que tengas
tú instalado en tu propio en tu propio ordenador.
A veces incluso te proponen ellos instalar cosas.
Dice Oye, mira que para imaginar que quieres hacer una conversión de vídeo
y que no tiene acceso a un MPC, pues igual puede decir oye, te puedo instalar FMP
y si tú le das permiso te va a instalar en tu ordenador
la librería de MPEG y después va a hacer uso de ella.
Esto hay que tener cuidado, no vaya a ser que nos está
algo que no queramos queramos tener, pues está muy de moda utilizar
ya que el M use mi mi propia consola.
Bien, eso a
nivel de conceptos teóricos generales.
¿Entonces antes de de de empezar con la demo eh?
Os quiero hacer un barrido de todas las herramientas, ya no
de modelos, sino de herramientas que vimos antes que tenéis disponibles hoy en día.
¿Vale?
Eh, Tenemos por aquí todas ellas clasificadas en función del mmm.
¿Cómo de supervisada supervisión requiere de la persona, eh?
O cuanto menos aquí arriba.
Supervisión máxima. Un chatbot, por ejemplo.
En un chatbot
nosotros le hacemos una pregunta y nos devuelve el código
y tenemos que copiar el código y pegarlo directamente nosotros en nuestro código.
Eso requiere una intervención manual por parte nuestra muy grande.
Después vamos a tener los IDEs que ya van a estar integrados eh
la IA con ellos
y podemos hacerle preguntas y nos modifica el código,
pero nosotros vemos directamente que líneas me estás cambiando,
puedo yo incluso meter mano en ese código, etcétera, etcétera Es decir,
ya es un escalón un poco más autónomo, pero yo veo el código para entendernos.
¿Después aquí tenemos el las herramientas de como es la interfaz
o incluso integrados en chats eh?
Como puede ser el WhatsApp.
Por ejemplo, tú puedes tener un un agente integrado
en WhatsApp que se conecta a tu código, te haga las modificaciones.
Yo no soy muy fan de esto, pero bueno, existen esas, esas posibilidades
y estas herramientas
son un poco programación de alto nivel, porque tú no estás viendo el código
directamente, sino que está modificando te lo y te lo crees un poco
después sí puedes ir a verlo y después ya tenemos el alto más
el nivel más alto de abstracción, que son generadores de aplicaciones
en las que está pensado para gente que no sabe nada de programación
y no van a ver ni una línea de programación.
Tenemos que pensar que obviamente cuanto más
control tengamos nosotros, por menos bugs van a ver.
Mmm, menos se nos va a ir el código, a crear una cosa monstruosa, etcétera.
Bien.
Bueno, ya lo otro sería preguntarle al chat GPT directamente y de
eso es lo que vamos a ver.
¿Ahora os enseño algunos ejemplos de los de Microsoft,
que es el que vamos a usar en en la demo curso que también es muy famoso eh?
Y es un fork de vs Code windsurf anti Gravity.
¿Seguro que suenan o suenan todos ellos eh?
Ahora cuando termine leo las preguntas que hay en el chat.
Creo que hay varias.
¿Eh? Vs Code es el que vamos a ver ahora mismo.
Entonces pasamos un poco, un poco de él y los IDEs.
Bueno, aquí tenéis un poco la teoría, pero vamos a ir a la práctica, que yo
creo que es mucho, mucho más divertido para verlo.
¿Este concepto de Byte Coding que igual os suena eh?
¿Sitio muy popular que es?
¿Pues esto en vez de programar directamente es pero con lenguaje natural
y me va devolviendo y voy iterando con la ya es un poco lo que utilizamos eh?
Hoy en día todo, todo el mundo vale.
¿Ahora mismo, por qué no enseñamos eh?
¿CoPilot de GitHub?
Porque existe la suscripción educativa que nos da acceso a poder
integrar CoPilot con ciertos límites cada vez más severos.
Pero lo tenéis ahí.
¿Entonces, en este enlace podéis canjearlo, eh?
¿Hace poco yo es que lo cancelé hace unos meses y justo
después de canjearlo yo parece que se puso CoPilot un poco duro
e incluso en algunos sitios vi que se iba a eliminar, pero sí
que que luego os impartiera un un trocito, eh?
Justo lo activó ayer y me dijo que lo intentó de 30 formas
y con la que le funcionó con lo de la el carné de la UPM.
¿Sabéis que todos tenemos carnet de la UPM?
Se puede acceder a él a través de la aplicación móvil
y con esto a él le funcionó.
Entonces bueno, eh, que lo tengas en mente para poder activarlo
bien.
¿Herramientas de CFI eh?
¿Básicamente lo que te dan es un terminal, eh?
Y tú vas a interactuar con el LLM a través del del terminal
y no te enteras mucho del código salvo que quieras forzarte.
¿Forzarte a hablarle,
eh? Luego vamos a ver un poquito también de ellos integrados en el chat.
Como os dije, puedes integrarlo en Slack, en WhatsApp.
A mí no me gusta, pero saber que está esa capacidad
y a generadores de aplicaciones de muy alto nivel pues tenéis v0.
Lo vamos El reply.
Esto normalmente se acceden a través de interfaces de aplicaciones web
y tú no ves el código directamente delegas todo en ello.
Entonces para hacer cositas como webs o gente que no sepáis programar y queréis
hacer igual una web o algo muy sencillo, esta se hizo muy recomendable.
Esto porque no tienes que entender nada, nada de código.
¿Bien eh?
¿Bueno, más herramientas eh?
Tenéis aquí mucha documentación, pero yo creo que tampoco es muy muy interesante
el pararnos mucho.
¿Yo creo que es más verlo en demos, eh?
Esto sí que me gustaría, eh destacar lo que
no es solo importante generar código, sino también generar documentación.
El problema más gordo que veo yo en la integración de
usar la IA para generar código es que te vas generando cada vez más y más
código que tú no controlas, delegas todo y esto es peligroso.
Entonces mi consejo es no delegues todo de que te haga todo.
Si tú poniéndote un una venda los ojos, sino que mires el código,
que todo esté eh a tu gusto también es muy importante.
¿Y un truco muy bueno
es decirle que te genere documentación de los cambios que ha hecho, eh?
Que te haga un ritmo muy muy potente, por ejemplo.
Pero no solo imprime si, sino pues
de cada módulo que me has hecho explícame qué has hecho y por qué.
¿Eh? Es decir, que no le dejemos.
Venga, vamos a poner y que salga lo que salga.
¿Por qué?
Porque para un MVP ese es para un mínimo producto viable.
Va a funcionar muy bien, pero después cuando tengas que hacer cambios,
ahí sí que cuesta, porque va a empezar a modificar ficheros
y romper otras cosas o va a empezar a crear un nuevo código.
Cuando ya podría haber reutilizado otro.
Entonces cierto orden y conocimiento del código.
Yo creo que es necesario y saber que te está haciendo que no,
entonces esta parte de generar documentación puede ser muy útil,
pues para tú mantenerte entendido de que te está bien, ese es mi consejo.
Pero bueno, aquí vais a ver gente de todo tipo, gente que dice que nada,
eso ya no vale para nada, o gente al revés que descarta
utilizar estos sistemas porque no tienen el control 100%.
Esto ya entra a valoración de cada uno.
Más cosas que existen.
¿Por ejemplo, ahora están integrando eh, check reviews, es decir, que tú puedas
eh dado un código, pedirle que lo revise
y vea si hay bugs o vea si está bien escrito, eh?
También en temas de seguridad.
Oye, mira a ver si tengo alguna vulnerabilidad
y va iterando sobre tu código en cosas que no son directamente funcionales
pero que sí que te ayudan a mejorar tu tu código.
¿Hazme lo más ordenado, mira a ver si hay código aquí que sea basura, eh?
Mira si tengo alguna vulnerabilidad.
Esto lo están integrando ya los los sistemas también.
¿Vale, pues vamos ahora ya con la parte divertida,
pero antes de ello voy a mirar todo el chat que he visto que había alguna
alguna pregunta por aquí, eh?
Interesante.
¿He visto que ya que has estado contestando, eh?
Sí, pero si quieres matizar algo del tema de skills y hay una.
La segunda pregunta de Alberto yo no la he entendido.
¿Cómo se puede crear tu propia skill
sin que la haya genere a partir de cientos de preguntas del mismo tipo?
¿Vale?
¿Si eh, lo vemos ahora en la demo, eh?
¿Y os digo cómo se puede crear uno una Una es que la mano, eh?
Por otra cosa que por ahí eh,
eh, lo del carné Quique lo ha estado sufriendo mucho.
Luego cuando se conecte él para contaros os puede contar,
pero creo que subió de todo.
En la que al final han aceptado.
Ha sido el carnet de de de UPM.
¿Ahí no son muy transparentes, eh?
Entonces no sé muy bien qué deciros.
¿A mí la última vez también me lo aceptaron con el carnet de la UPM,
eh? Y Deep Wiki que estáis mencionando aquí.
Sí, es una plataforma, eh, que tú le pones un repositorio de GitHub y te genera una
wiki directamente con, eh, con el código que tienes en tu en tu repositorio.
Vale, pues
vamos a empezar con con la demo.
Y lo que me gusta aquí en la demo antes de ponerme con ella
es enseñaros las interfaz y todas las opciones que hay.
¿Eh, esto sería ahora mismo vs Code vale?
¿Y en VC Code os tenéis que instalar una extensión eh?
¿Que vamos a tener por aquí a mi nombre o
para el otro?
¿Se llama CoPilot Chat, está aquí está CoPilot Chat,
que es para integrar eh, el CoPilot directamente en VC Code, eh?
¿Y con esto, eh, lo que os va a decir una vez que lo tengáis, es que inicie
sesión con vuestra cuenta de de de GitHub, vale?
Para ello, obviamente tenéis que activar previamente la suscripción.
De hecho la enseño por aquí.
¿Antes de nada, aquí en esta puntocom education es bastante sencillo el proceso,
pero no es sencillo que te lo aprueben como estamos viendo, eh?
Y una vez que lo tengas te vas. Deberían aparecer algo.
Algo como esto.
¿Esto es lo que me aparece a mí aquí en Educational Benefits, eh?
Y vais a ver que te dice hasta cuándo tienes acceso
a estos beneficios de de educación, que en mi caso me lo dieron por dos años.
¿La última vez que lo renové, que fue en enero de 2026 eh?
¿Y ahí ya tengo acceso a a todo, a a, a todo, digamos, eh?
¿Lo vinculé con mi cuenta de GitHub y en VC code inicie sesión en GitHub, eh?
¿Y eso es lo que te dan, eh? Te dan, eh eh.
Permiten utilizar ciertos modelos que no todos te dan 50 West
cada mes, aunque a veces lo reinician y puedes volver a tener acceso.
Te dan integración con MSPS, integración con diferentes IDEs.
En este caso vamos a utilizar VC Code, eh,
completar código también, etcétera, etcétera.
Ahora, ahora vemos diferentes funcionalidades
y eso es lo que os comentaba que podéis ir viendo.
Una mini puntualización es que te mando yo el mail.
Ese es el de GitHub CoPilot Free.
O sea, esto es lo que permite CoPilot Free.
Si te consigues el pro
te lo quitan.
Estos límites para, por decirlo alguna manera, te permite añadir más
modelos.
Vale. Vale, muy bien.
O sea que esto sería para. Este es el free.
Este es lo que tiene el 100% de las personas.
Vale.
Si encima me parece muy poco de 50. Sí, sí.
O sea, esto es lo que tiene el 100% de las personas,
que no es demasiado porque realmente, eh 2000
Completed Code Completion de estos es muy poquito.
Cuando empiezas a escribir como cada vez
va pidiendo esto, el PRO te quita hasta los límites.
Vale, vale, muy bien.
Vale.
Y de hecho, la puntualización que preguntan
dice para la app del carnet universitario en la UPM nos deja hacer captura.
Yo me lo he dado de alta.
¿Como sale una webcam?
Pues poniendo el móvil delante y me lo ha admitido
que comenta Isidoro Martínez en el chat.
Sí, eso es.
Vale, Y aquí en CoPilot podéis ver en esta barra de Guija Settings,
CoPilot Features, eh, los créditos, por ejemplo, que tenía yo ayer,
pues como fue 1 de julio justo estaba limpio prácticamente.
Esto es el Batet que que te dan aquí.
Ahora hablan de ella y credits.
Habría que ver cómo se computan.
Pero bueno, desde VC Code también lo vamos a ver.
Es decir, esto se va a ir agotando y cuando se agote, pues has terminado
ya tu suscripción del mes o a veces lo que hacen es
te dan semanalmente y después un también hay un contador mensual.
Entonces llega un momento que semanalmente lo agotas,
tienes que parar una semana
y cuando termina la semana te dan un poquito
más y después un contador mensual genérico que si lo agotas ya lo
agotaste para todo el mes.
Bien, entonces ya vamos entonces.
Sí, eh, Esta es la atención, como digo que que os recomiendo que verdad
que os instaléis y CoPilot Chat para para poderlo tener integrado
y ya nos vamos entonces por aquí a ir enseñándoos todo.
Lo primero.
Como digo, tendréis que iniciar aquí sesión de.
Ya tengo iniciado con mi cuenta de GitHub y ahí ya te mapea.
¿Y cómo sabes que te mapea?
¿Pues aquí abajo veis este botoncito,
eh? ¿Este botoncito, eh?
¿De significa que es CoPilot y que lo tienes,
eh, que lo tienes activado y de hecho te dice los créditos que
que has usado y me dice que a mí me resetean el 1 de julio,
es decir, el próximo mes y que ya ha utilizado el 17% eh?
De hecho este 17% fue ayer para hacer la prueba que os voy a enseñar
o enseñar ahora, pero esto se va agotando y cada vez se agota, se agota más rápido.
Esa es la realidad.
Eso por un lado, y aquí
podéis ver un poco, eh, Tu estado actual.
¿Después aquí arriba, cuando lo tengáis activado,
ves este bocadillo que tiene unas estrellitas?
Esto es lo más interesante.
Esto se llama, eh, chat, todo el chat
y aquí es donde vais a poder interactuar
con el el sistema directamente.
Entonces aquí cosas que nos van a interesar.
¿Estas son las sesiones, vale?
Cuando nosotros vayamos hablando con el M.
¿Eh? Era lo que os contaba de memoria de corto plazo.
¿A largo plazo, esta sería la memoria de corto plazo
y esta es una sesión que inicié yo ayer, hace 12 horas, eh?
¿Para hacer pruebas, pues si me conecto a ella
me ha dejado en el punto en el que me había quedado
ayer con el modelo, es decir, todo lo que el modelo
le había pasado en esta sesión, pues aquí sigue teniendo la memoria
y podría seguir a través de este chat pidiéndole cosas, vale?
Interactúo como si fuese un chatbot cualquiera.
Bien, esa es la sesión.
Si quiero una sesión nueva, pues digo mira, es que ya lo que hice eh, ayer,
pues ya no me interesa.
¿Pues puedes crear un iniciar una nueva sesión o eh,
o como digo, continuar en alguna que quieras eh?
Por otro lado, más cosas que os van a interesar.
Este más es para poder adjuntar ficheros.
Yo nunca lo uso, yo lo utilizo realmente a través de la propia
eh línea de comandos que si tú pones
el hashtag
aquí te va encontrando todos los ficheros.
Imaginaros que quiero pasarle el index.html,
pues pones index.html y aquí si os fijáis aparece index.html.
Pues el modelo cuando le haga la pregunta lo que va a mirar
fundamentalmente es este index.html
y este me deja eso porque se me habrá quedado abierto de antes.
Lo cierro y ya está.
¿Veis esta iniciativa?
De hecho, si yo ahora vengo aquí y abro un fichero,
vamos a abrir, por ejemplo, este dev punto js Ya
directamente el fichero que estoy viendo yo también se lo pasa como contexto.
Este es el contexto.
Vale.
Yo cuando le hago una pregunta se va a fijar sobre todo en estos ficheros.
Entonces, lo que me va a permitir a mí, como os dije antes, de alguna forma
el centrar el tiro, es decir oye, mira
que quiero que mi camisa, esto ya te doy el fichero en el que está.
También si son varios, puedo aquí
arrastrarlo y me lo pasas al contexto.
Entonces pasa a tener todo esto en el contexto.
Bien.
¿Más cositas interesantes, eh?
Los modos.
Aquí vamos a tener diferentes modos modo agente,
que es el el fundamental.
¿De hecho, esto cómo es una sesión?
Voy a abrir una sesión nueva.
Eh, New Chat.
¿Eh, No sé porque ahora me
estás cogiendo solo con la gente, verdad?
Bueno, o lo
señalarán mejor en el medio que no sé porque me está cogiendo solo modales.
Gente.
¿Eh? ¿Aquí os debería de aparecer, eh?
Que ahora lo vemos modo agente, modo, planificación
y eh, modo de contestar preguntas.
El de contestar preguntas
es que no te va a cambiar el código, solo te va a responder preguntas tú.
Si quieres hacer una pregunta del código sin modificar nada,
se lo puedes poner ahí.
El modo agente es aquel en el que
te va a modificar el código con todo lo que le pases
y el modo planificación, que ahora lo enseño en la demo.
¿Posiblemente no me aparezca porque como ya
es un proyecto iniciado de ayer, pues igual se ha quedado de alguna forma
con que eso ya estaba, ya estaba hecho, eh?
Y en el modo planificación te da un planning que tú debes aceptar
Si te parece bien, para ir ejecutándolo después
tenemos en esta segunda pestaña los modelos que quieres utilizar.
¿Eh? Aquí a mí me aparecen unos cuantos modelos
dependiendo la suscripción que tengáis.
Os aparecerá un modelo u otro.
Entonces esto es lo que tenemos que tener en cuenta nosotros.
Oye, eh, que el cinco cuatro es muy caro,
pues igual puedo irme a un GPT cinco que igual es suficiente para mi tarea.
O a veces también puedo elegir el el automático
y en el automático pues elige por ti para entendernos.
Y aquí esto.
Medium que veis es el nivel de esfuerzo.
¿Si vemos que la tarea no la consigue resolver, pues le podemos
poner un nivel de esfuerzo, lo cual va a ser más caro, eh?
Para entendernos, vale.
¿Más cosillas por aquí, eh?
¿Que os quería enseñar eh?
¿Referente a esto, casi mejor os lo enseño en el vídeo y así partimos de
un proyecto proyecto vacío y lo vamos
viendo entre todos como lo lo generamos,
vale?
Aquí parto de un proyecto vacío, como veis y voy a activar
aquí abajo el modo en vez de agente.
Esto ahora les comentaba los tres modos
que hay en el modo planificación que veis ahí.
Simplemente me va a hacer un plan.
Esto es normalmente lo que se suele hacer de primeras entre un plan
y la aplicación que vamos a hacer nosotros es una list,
es decir, que me generes una lista de cosas que tengo que hacer
y pueda marcar como que eso está completado o que no está completo.
Ahí Cuando le hablas al sistema, si os fijáis, eh, el sistema está pensando
y me va a proponer pues qué tecnologías quiero utilizar, como quiero hacerlo
y yo voy a ser el que va a ir seleccionando
y de hecho, poquito a poco voy a ir viendo también cómo el código se va
a ir a ir rellenando él poquito a poco.
¿Vale?
Esto que veis abajo que le di aquí clic.
Esto es el el uso que estoy dándole dentro de esta sesión.
Por un lado está el número de instrucciones
que dado el número de mensajes y este es el más interesante,
que es esa ventana de contexto.
Eh, Ahora mismo, con esto inicial que le he pasado, estoy ocupando
un 8% de ventana de contexto.
Bueno, algo menos.
Realmente casi todo me lo ha reservado para que me pueda dar respuesta al modelo.
Estoy ocupando de esto que veis azulito aquí.
¿Esos, eh, 15,5 tokens eh?
Los está ocupando él de información que va bebiendo para su memoria de corto plazo.
Aquí va a ir bebiendo ficheros, va a ir bebiendo información.
De hecho, a veces, cuando estamos muy al límite, es este botón
que normalmente se hace incluso solo que se llama
Compact Conversation y eso lo que hace es voy a, eh,
voy a resumir todo lo que tenga, intentar que esta ventana de contexto
sea más pequeña para que así tú puedas preguntarme más, más cosas.
Cuando ya está muy saturado,
lo mejor es empezar una sesión nueva, que la ventana de contexto estará vacía.
Bien,
vale, pues sigamos por ahí.
Esto está en tiempo real.
Entonces veis que bueno,
pues que tarda un poquito y está simplemente proponiéndome cosas.
¿Lo primero que me ha propuesto aquí
que es oye, mira que que quieres utilizar como framework React, eh?
Vanilla JavaScript, lo que quieras.
Ahí cogí javascript con JavaScript y además
quiero que crees un backend, un backend con express y el CSS.
Le estoy diciendo con diferentes herramientas y diferentes librerías
y aquí ya me has dado una planificación de oye, mira, pues lo voy a hacer
así y internamente en su memoria ha entendido
que eh quiere, eh, utilizar.
¿Quieres utilizar estas, estas tecnologías?
Y ahora el sistema.
Pues voy a darle un poquito para adelante.
Se lo piensa un poquito, pero va a empezar a ejecutarlo.
Vale.
Aquí tiene el plan, le dice Pues mira, lo primero que voy a hacer sabiendo esto es,
eh, voy a crear una carpeta que se llame Server.
¿Voy a crear una carpeta que se llame Client y eh,
voy a utilizar estas cosas que me has dado tú
y me da la opción de oye, que quieres empezar la implementación, eh?
Con diferentes formas de ejecutarlo y lo va a hacer directamente en el IDE.
¿Y le digo pues mira, empieza a implementar
bien, entonces aquí le vamos a a acelerar un poquito
esto está aquí, el razonando está dice vale, pues voy a hacerlo así,
voy a añadir un gitignore, voy a añadir un ritmo, está aquí razonando
y tú puedes ir escribiendo y otras cosas en paralelo, eh?
Y esto va pues eh, ejecutando todo.
Pues a medida que lo vaya procesando aquí
tiene en la planificación de todos los pasos que quiere ir haciendo.
Y si os fijáis ya aquí veis que me han aparecido,
pues un gitignore un readme y de hecho se ve un cuadradito gris con un punto negro.
Eso quiere decir que es código que ha incluido el
el sistema y que tú puedes revisar
cómo se gestionan las revisiones, pues cómo se gestiona en Git.
Te pinta en verde las líneas que ha añadido y en rojo las que ha eliminado.
Y tú puedes ir a probándolas o no de vez en cuando.
¿Aquí te pregunta algo Oye, quieres que esto haga así?
¿Y tú le puedes decir que sí o que no?
Vale.
Vemos ahí como la conversación se va llenando cada vez con más información
y eso es lo que tenemos que ir teniendo, teniendo cuidado nosotros.
Y lo mismo con los créditos.
Las primeras veces que lo utilices pues lo vas viendo y vas así haciéndonos
una idea de cuánto cuánto consume hacer X tareas.
Fijaros que el modelo que estoy utilizando yo eh es GPT cinco mini.
Bien,
vale, vamos a dejarlo ahí, que vaya ejecutando cosas
y respondo eso de que hay en ella.
¿Eh? Mark Down, ella es Mark Down. ¿Eh?
¿Es un fichero que tú le puedes poner normas, eh?
¿Y es lo primero que va a leer, eh?
Esto lo primero que le VC Code o cualquier otra plataforma va a ser ese CMD.
Y si tú ahí le especificas oye, que quiero que utilices
JavaScript versión X, pues va a utilizar esa.
Bueno, va a utilizar ese contexto y si todo funciona
bien debería de haber elegido esa esa versión.
Son como unas instrucciones genéricas para este agente,
porque esto para entendernos sería un agente.
Vale, pues bueno, podemos, porque por aquí está
desarrollando, vamos a avanzar un poquito y ahí ya me terminó.
Y de hecho, si os fijáis, cuando me termina me
me ha dicho oye, mira, para ejecutar esto tienes que, eh,
utilizar estos comandos.
En los que ahí vaya a terminar.
¿El cmd que estés preguntando por ahí de cómo apareció, eh?
Lo creé yo al principio de todo, pero no incluye nada.
Lo iba a meter en la demo, pero es que ya me parecía demasiadas cosas.
Se me queda ahí flotando.
No tiene, no tiene nada.
¿Veis? Ahí me ha devuelto directamente.
Oye, si quieres probarlo tienes que entrar en la carpeta Cliente,
entrar a carpeta Server, instalar y ejecutar.
Esto lo puedes hacer tú manualmente o incluso puedes darle a este botón
y te lo va a ejecutar directamente en en una terminal.
O alternativamente, le puedes pedir al sistema que lo haga por ti.
¿Eso, eh?
Hay diferentes formas, formas de hacerlo.
¿Ves?
Ahí te deja copiarlo, etcétera, etcétera.
Yo lo que le voy a pedir es que que lo que lo ejecute él, él directamente.
Vale, vamos a avanzar un poquito por acá.
Vale.
Le he dicho que sí, que lo ejecute él.
Y entonces ahora es donde va a tener el agente,
digamos, la capacidad de, eh, eh,
ejecutar código no solo de generar código, sino de ejecutar instrucciones
dentro de mi ordenador.
Pues hacer el npm install, hacer npm, start, etcétera, etcétera.
También os quiero mostrar esto.
Si en algún punto imaginaros que le pedís a la gente que os haga algo
y no os ha gustado, se puede hacer de una forma muy rápida.
La conversación restore checkpoint y esto te va a cargar
todos los cambios que hizo después de este Restore Then paint.
Es una forma muy rápida de volver para atrás.
Si algo no os gustó.
Bien,
vale.
Aquí está actualizando el Tulip y si os fijáis aquí, lo que me permite es.
Oye, mira, es que necesito que ejecutar npm install me dejase ejecutarlo.
Y yo le voy a decir aquí incluso que, eh, ejecute
cualquier comando para esta sesión.
Esto. Cuidado, que es peligroso.
¿Para que?
¿Pues para este a mí me vale, eh?
Simplemente le he dejado la capacidad de que pueda ejecutar lo que quiera.
Si os fijáis yo le di un error
y en vez de soltar el error y que se queda ahí el sistema es capaz de leer
el error, entender qué pasa y va a intentar arreglarlo por sí mismo.
¿Aquí hay que tener cuidado, porque a veces
pues para arreglar alguna cosa rompe otras de por medio,
eh? Por eso el
dejar siempre 100% de libertad hay que tener que tener ojo.
Ya he visto yo, por ejemplo, vídeos de gente que se ha cargado
incluso su ordenador
por dejarle eliminar ciertas carpetas que no debería haberle dejado liberar.
Entonces aquí si vemos ya el el el, digamos, el el modelo
eh, parece que ha arrancado y de hecho me dice aquí oye, que ya tengo arrancado.
Puedes entrar en esta URL para ver el servidor o en esta url
para ver el frontend y yo ya podría incluso abrir esto en mi propio navegador
y he y se me ve.
Se me vería
vale.
De hecho, creo que es lo que vamos a hacer ahora mismo.
Vale. ¿Veis?
Aquí, incluso en el IDE, lo tengo integrado
y esta es la herramienta que me ha hecho él hasta este punto.
Yo ni siquiera he visto ni código, ni he ni ni cómo funciona el delegado.
Sin embargo, aquí puedo entrar en cada una de las carpetitas y ver el código
que me has hecho y ver la estructura que tú me has eh, Me has dejado.
De hecho, aquí, si os fijáis abajo, hasta que no le de aquí, aquí, aquí,
como que esos, eh cambios me los dejas ahí en un área de
eh, modificaciones pero no modificaciones aceptadas 100%.
Si yo ya estoy de acuerdo, pues le doy aquí a todo o le voy dando aquí
a las cosas que me interesa, que hagas.
Y eh, Undo o o ando a las cosas que no
ves. Aquí
es donde yo puedo entrar ya ficheros al fichero.
Ahora, ahora lo enseño.
Vale.
¿Aquí veis, ese es el README y si os fijáis en el Redmi
me lo pones en verde y esto funciona como funciona, eh?
¿Git?
Realmente puedo decirle que me mantengas esto o que no quiero que se cambie,
pero ya que es aplicable ya que le voy a dar aquí que todo,
pero bueno, en un proyecto real pues habrá cosas que igual no me interesen.
¿Puedes ir 1 a 1 como veis ahí o como os voy a enseñar aquí abajo eh?
Este botón Keep ya te hace aceptar los cambios de
todo esto depende del control que queramos darle
cada.
Bien, eh,
En este yo creo que tampoco había muchas cosas
más interesantes que os quería enseñar.
Así. Bueno, eh, esta parte de documentación aquí.
Lo que le estoy pidiendo, eh, es que.
Vamos un poquito más palante.
Le estoy pasando.
Si os fijáis el README y le voy a pedir que me haga un ritmo
mucho más completo. ¿Eh?
Y que me incluya incluso algún diagrama.
¿Pero voy a quitar esa línea
que la había seleccionado, eh?
Que me incluya algún diagrama que me represente
las interacciones que tiene para que veáis que no solo es código sino que eh
también puedes generar diagramas en este caso los diagramas típicos
que se usan en EH Mark Down son Mermaid eh, que es propio de esto,
dado que se puede renderizar y aquí lo que me está modificando es ese ritmo
y ya veremos el resultado que me hace.
Y esto es lo mismo, habrá leído todo el código que tienes o lo que tenga
en memoria y eh te genera un README adaptado a tu propio repositorio.
Esto es muy útil porque permite documentar el código
y ves estos mermaid que te genera este tipo de gráficos,
pero lo va a hacer un poquito más grande.
Y ya tiene tendrías todo mucho más documentado.
Esto no se puede olvidar.
Es bueno decirle oye, quiero que, eh, me me actualices
la documentación y que esté todo, todo, todo actualizado.
Eso por un lado.
Ahora ya nos vamos a ir a la segunda, eh forma de interactuar con VC Code.
Esa fue la primera y principal.
Y con que os debéis. ¿Eso si no sabéis eh?
O no os habéis metido en este mundillo, es suficiente.
Lo que voy a enseñar ahora es un poquito más, más avanzado
y os lo enseño primero, primero por aquí.
¿VC Code ahora permite en este botón
que veis aquí arriba, Open Intelligent,
Esto te abre otra herramienta diferente
en la que prácticamente aquí
el código pasa a ser algo secundario, aunque puedes venir a verlo,
no está pensado para que edites, está sobre todo pensado
para que conectes cosas, le preguntes,
que te haga transformaciones directas, eh?
Y esta parte, que es la que me parece más interesante
que conectes skills o conectes MSPS.
Pues aquí vemos.
Voy a hacer un poco más grande esto para que lo veáis.
Si yo aquí me voy a MSPS,
aquí podéis incluso ir a un marketplace
y veis todos los MSPS que existen.
¿Vale?
Entonces os podéis instalar el que queráis en aquí hay que tener cuidado
porque los MSPS al final lo que estás es accediendo a servidores externos.
¿Pues que sea algo legítimo eh?
Y ya aquí tengo instalado uno para hacer testing y otro para GitLab.
Es decir, que de alguna forma este MCP
va a ser capaz de ejecutar comandos que vayan contra GitHub.
¿Eh? Lo vamos a ver en en la demo.
Y por otro lado tenemos aquí las skills.
¿Lo que os comentaba de skills que eh, me creas una carpetita donde me defines eh?
¿Qué quiero?
Cómo quiero que te comportes y cómo quiero que utilices algo
para hacer una tarea muy específica.
Aquí vamos a ver cómo se instalan ahora.
Pero esta es una que tengo ya instalada
y si la vemos, un skill es tan tonto como esto.
Fundamentalmente es un fichero Markdown en el que explico lo que quiero que hagas.
Esta skill de Frontend Design es para hacer diseños eh, frontend
bonitos y profesionales.
Entonces le explica Oye, pues mira, quiero que utilices esta tecnología,
quiero que tengas en cuenta estos campos de tipografía, este color,
este tema, etcétera, etcétera Es decir, ya le dan instrucciones incluso,
pues aquí le puedes decir quiero que utilices este MFP,
etcétera, etcétera Son comportamientos predefinidos.
Esto no te lo crea, te lo crea en esta carpetita que se llama punto agents.
Cuando lo instalas y la ves aquí Agents skills
frontend design, vas aquí y aquí.
Ves ya el código.
Si me dejas abrir esto
un poquito más para lo que os acabo, os acabo de enseñar Mark Down
en el que explicas que quieres que haga incluso que antes no comentabas.
Me puedo venir a Skills New
Skills y aquí New skill
y puedo generarme yo una skill mmm personal
mía, entonces me la creo por aquí y lo que me va a hacer.
A ver, ejemplo.
Si me vas a generar este Mark Down y yo aquí pongo pues eh,
quiero que te conectes.
A la API
de EH OpenEd y me ayudes a generar un texto creativo.
Pues aquí lo que le estoy diciendo.
Oye, pues mira,
cuando invoque esta skill lo que quiero es que te conectes a esta API
de OpenAI y aquí de alguna forma le vas a tener que especificar.
Oye, te paso la API
y de esta forma puedes incluso utilizar SMTP, etcétera etcétera.
Lo que se me ha creado aquí,
como veis es un ejemplo de skill que yo voy a poder invocar.
Pues estas dos cosas que hasta ahora solo quiero que
os quedéis con el menú de poder conectar MCP y Skills.
Lo vamos a ver mejor en la demo
porque así tardo, tarda un poco menos de cómo voy a hacer uso de un MSP
y cómo vamos a hacer uso de esta skill y cómo la instalamos.
Entonces me vuelvo para la presentación,
segundito.
A ver si la tengo por aquí
que se me ha ido.
Para aquí.
Vamos a darle a play.
Recordar.
¿Partimos de ese futbolista
y bueno, primero lo que para que veáis que se puede interactuar de otra forma, eh?
Lo que le voy a pedir aquí es un cambio sobre mi propio, sobre mi propio código.
Aquí y en concreto, fijaros, ya le estoy pasando el fichero
en ese en el index.html,
que es donde pone al final toda la interfaz visual.
Fundamentalmente lo que le voy a pedir es que me incluya un copyright de la UPM.
¿Vale?
Simplemente que me incluya eso en el footer.
Y ahora lo que único que va a ser este,
este sistemita ya como entiende todo el código de la propia sesión,
ya solo se va a ir a este index.html porque se lo he pasado
ya se logueado y ya me va a decir oye, mira que ya está.
¿Por qué ha tardado tan poco?
Porque ya le indiqué yo directamente que el fichero que quiero que modifique es ese
index.html y ahí incluso puede decirme los cambios que me has dado.
Pues simplemente me ha añadido ese ese footer.
Bien, el vídeo lo vais a tener también, por eso también lo grabamos en vídeo,
porque muchas veces os lo contamos así en tiempo real
y después se nos olvidan las cosas de tener un ejemplo.
Yo creo que siempre es es útil, vale.
Y ahora vamos a hacer uso de un MCP.
Como visteis antes, tenía instalado el MCP de GitLab.
Lo que le voy a pedir aquí es que me crea un repositorio git
y me lo suba a mi cuenta de GitHub, un repositorio que no existía previamente
en Desde aquí, si os fijáis, ya pone que se
está conectando a un MCP Server.
Y le estoy dando acceso a mi cuenta de GitHub.
¿Eh, Por aquí no me pone credenciales porque ya estaba autenticado
previamente, sino me hubiese pedido que me autenticada,
eh? Y me
dice oye, mira que te quiero, que hagas tus comandos, que básicamente
es crear un commit inicial y también
luego crear el el repositorio.
Y ya está, ya me lo ha hecho.
Pues fíjate, me ha devuelto el la url del repo eh, que voy a entrar ahora.
Ahora ella
Y todo esto me lo hizo él solo.
¿Por qué?
¿Porque le conecté SMTP y detectó que cuando le pedí que me lo subiese
a GitHub por sí mismo, detectó que tenía que hacer uso de SMTP,
que es el que tiene disponible él ahora mismo,
sino pues eh, habría una otra forma de hacerlo o yo manualmente
u otra forma adicional que si tengo instalado git git en mi
comanda interface en mi ordenador, puede ser que por sí mismo sea capaz
a veces de detectar que lo tienes instalado y te lo haga eh?
El el perse.
Pero hay cosas que son necesarias con el SPS.
¿Entonces ahí está el ejemplito de MFP para que veáis un poco
sobre todo las capacidades de lo que podéis hacer con él, eh?
Y ahora vamos con las skills.
Recordemos que partimos de un todo listo, un poco feo este en concreto
y ahora lo que
voy a entrar es en esta página que se llama skills punto sh.
¿Hay muchas páginas de este tipo donde eh hay ejemplos de skills eh?
Y en esta es una muy famosa.
Os la paro un momentito para para que la veáis, que es la que vimos
que tenía instalada previamente.
Aquí os enseño como instalarla.
¿Qué es Frontend Design?
¿Es, eh este, eh, repositorio de skills
es de EH Vertex, pero hay muchísimos repositorios eh?
Y ya te dan ese esa habilidad, digamos encapsulada
con gente que la ha probado y a ti te puedo ahorrar mucho, mucho tiempo.
Sería como instalar una librería, pero en vez de librería una skill.
Entonces aquí simplemente me copio el código para instalarla.
Este en FX Skills and lo que va a hacer es instalarla.
Entonces me copio ese código.
Abriré una terminal dentro de VC Code
y pego
y ahí simplemente me va a decir oye, te la voy a instalar.
Además me vas a decir dónde quieres instalarla
y me dice por defecto te la voy a instalar en VC Code.
¿Si tuvieses otra herramienta diferente como cursor, como otro, eh?
Igual tendrías que seleccionar la plataforma.
En este caso va a ser la por defecto que es VC Code.
Eh, Y le digo que adelante con la instalación
y ahí lo que me ha hecho es crear esa carpetita que os
enseñé antes, la de skills frontend y me creas ese Mark Down,
que este es el mismo que os enseñé antes. Yo.
Bien, de esa forma ya tengo instalada
esa skill dentro de mi proyecto.
Puedes instalar
skills a nivel de proyecto, puedes instalar scripts a nivel de skills
a nivel de usuario, es decir, que este Frontend Design
esté siempre disponible en cualquier proyecto mío.
Como usuario.
Ahora lo que vamos a hacer es pedirle aquí que uses a Skill.
¿Y cómo lo hago?
Con barra en vez de con con barra, con barra Frontend Design
ya va a utilizar esa skill y yo le digo cómo quiero que la utilice.
Le voy a decir crea una interfaz más profesional
con una paleta de colores azul y naranja.
Y ahora lo que hacen en el
en es leerse, integrar el fichero
de esa skill
lo va a leer por sí mismo, va a entender.
Ah, vale, pues aquí me estás explicando que
tengo que hacer las cosas de esta forma.
¿Pues estaba para dormir, eh?
Pues así, así voy a hacer por mí mismo y ya se aprovecha
de la inteligencia que tiene el propio modelo para eh
usar las cosas como tú le especificas, no le dejas tanta libertad
para entender.
Vale, entonces vamos a dejarle por
aquí a él que vaya avanzando,
no tarda un poquito.
Ahí vemos el cambio que me ha estado haciendo.
Bueno, va a tardar un poquito, un poquito más y al final voy a llegar a
algo como esto en el que te la URL.
Es que aquí hubo un fallo que perdió la conexión alguna vez.
Pasa que puedes perder la conexión.
Pero si hay cualquier problema, lo
más sencillo siempre es interactuar directamente con el chat.
¿Decir oye, que no tengo conexión, Qué ha pasado?
Yo aquí lo que hice es pedirle que me lo volviese a arrancar.
Lo podría haber hecho yo manualmente
y bueno, bueno, aún sigue funcionando ahí que aún quedaban cosas pendientes.
Lo bueno es que puedes ir mirando a medida que lo vas ejecutando.
Vale. Aún.
Aún no terminó.
Vale, voy a avanzar un poquito.
Y aquí ya me dice Oye, mira que ya terminó.
¿Quieres que lo arranque?
Y ahí lo va a arrancar de nuevo.
Bueno, me está
diciendo el resumen de las mejoras que hizo
y ahora yo sí ya voy a poder ir a la interfaz oficial
que tenía por ahí.
Bueno, se deriva.
De hecho abre la aplicación
para que vea los cambios, aunque lo podría hacer yo manualmente.
Entonces estamos apurados de toques,
pues hay cosas que se pueden hacer manualmente.
¿Voy a avanzar un poquito aquí el código en el vídeo
para no correr más tiempo,
vale? Y ahí me lo abrió.
De hecho, si os fijáis, una vez que están
running me da la opción incluso de abrir el browser aquí.
Ahí preguntan si estás que él sirve para cualquier lenguaje.
Yo diría que depende un poco de las instrucciones.
Estará optimizada, no para
para HTML, CSS y tal, pero realmente habrá una para cada lenguaje.
No dejan de ser unas instrucciones, no te dirán las cosas en rojo, en azul
se puede hacer una skin de UPM, por decirlo de alguna manera.
Esa es la única que le fuerce los colores y corporativos
o incluso una de las cosas así. O sea que las normas de un
prompt
gordo, para que nos entendamos, eso es la skill.
¿Pensar que es un markdown, que es un prompt, unas instrucciones
que tú normalmente vas a reutilizar, esa que cogí ahí, eh?
Realmente no he visto el contenido así
ponía que era específicamente para alguna tecnología, alguna.
Si te pone esta skill es para hacer código de React
más limpio, pues ya sabes que solo te va a valer para React.
Hay algunas más genéricas, otras menos, todas las puedes hacer tú también
por ti mismo.
Como has dicho que que es una skill para para UPM.
Eso es lo que me va a permitir a mí.
Es orden sobre todo, y una vez que tú estés familiarizado,
puedes tener tu ejército de skills e ir invocando las.
Y así lo que tienes es orden homogeniza.
Si ganas tiempo es una cosa muy robusta.
Hoy en día las skills y los msps
vale, y esta sería un poco el resultado final.
Si os fijáis, pasamos de una cosa muy fea a una cosa muy bonita.
¿Esto se podría haber hecho directamente vía prompt,
pero yo creo que es importante el conocer las skills
porque me va a permitir, como digo, homogeneizar de aquí eh?
Al al futuro.
Bien, vale.
Pues yo por mi parte poco más que que contaros.
Ha sido mucha información. ¿No sé, eh?
Pero yo creo que es importante que
veáis un poco todo lo que se puede hacer y ya con la calma, incluso os podéis
ver los vídeos e ir probando vosotros poquito a poquito.
Vale, pues ahora os voy a dejar con Kike estos últimos
20 minutos.
Vale.
De hecho, preguntan, dice
la historia Destreza es que cuentan los token gastados.
Sí, en general, sí.
O sea, decir, hacen una estrategia.
Por lo que yo conozco más en Cloud de Code y similares.
Eh, mete todos estos Md.
Es como en cada conversación.
Claro, para personalizarse en CoPilot como tal.
Supongo que también, no lo sé de ciencia cierta.
No sé si Javi, si tú sabes, pero en cloud de code desde luego que la gente me
de las md y similares la mete en la conversación.
Claro, para personalizar ese comportamiento.
Entonces te diría que sí, sí, sí.
¿Confirmado eh?
Todo lo comentado.
Por ejemplo, si
tienes un ejército de 1 millón de skills, pues vas a tener que tener cuidado.
¿Hay que tener orden de cuáles metes en un proyecto, cuáles no?
Todo, todo, todo lo que el modelo va a utilizar
para lo que estoy intentando darle botón
compartir no me deja compartir que me lo está mostrando en otra ventana.
A. Cada
segundo que voy a compartir, entonces ir a otra pantalla.
Vale, porque yo voy a hablar más desde el punto de vista docente,
o sea,
decir cómo podemos utilizar todo esto y cómo lo van a utilizar los alumnos y tal.
Vamos a dejarlo en segundo que comparta la otra ventana.
Sería
esto.
A ver si ahora veis mi presentación.
¿Sí, verdad? Sí, sí, sí, perfecto.
Vale, pues.
¿Cuál es la cosa que quiero contar? Un poco.
¿Cómo funciona?
¿Cómo los profesores pueden utilizar esto? ¿Eh?
Luego cómo los alumnos pueden utilizarlo los estudiantes.
¿Y por último, cómo evaluamos
abrir el melón? ¿Por decirlo de alguna manera?
Porque no tengo soluciones.
O sea, si alguien se va a quedar hasta el final
pensando que que va a ver aquí la solución, no la
no lo no lo tengo.
O sea, no, ojalá porque es un problema para mí ahora que me quita el sueño.
¿Por eso de alguna manera el primer paso eh?
Como los profesores.
Bueno, pues yo veo claramente dos perfiles de profesores,
los profesores que no saben programar
o que no tienen esas capacidades técnicas lo tienen muy oxidado, en cuyo caso
esto les abre una infinidad de posibilidades
que antes no podían hacer o lo tenían que subcontratar o cosas
así, con lo cual esto era muy caro y era prácticamente inaccesible o lo
tenían que pedir un favor a un compañero que le hiciese una página web, cosas así.
Y luego los docentes que sí saben programar
y que se dedican a asignaturas
de programación, que tenemos que ver también un poco cómo lo cómo lo va a afrontar.
¿Yo soy de bueno, podría decir que de lo segundo
eh? Bueno, pues para el docente que no sabe programar,
pues ahora mismo gracias a estas herramientas tenemos eh
herramientas que
son capaces de generar una aplicaciones totalmente funcional funcionales.
Vemos en clase, por ejemplo lo llaman artifacts y esto
pues para un profesor que explique estadística, que explique
yo que sé, cualquier profesor que no se dedique a programar
va a poder generar demos rápidamente
con prompt directos a su
a Claude o a cualquier herramienta.
Esto es un ejemplo claro de que ya digo que lo sacaron
y luego el resto lo fue copiando.
Pero esto son los artefactos artefactos
y que le da igual en qué código esté hecho por debajo y tal,
simplemente funciona y pues puede pasar desde una ecuación y te la pinta
y es muy interactivo, entonces puede mejorar su docencia.
Vale, yo creo que esto tiene bastante potencial,
incluso se pueden hacer vídeos con IA
ya con el propio Claude Code o con herramientas de código,
pues tienen skills para utilizando EH, Python o otras herramientas
pueden crear incluso vídeos o páginas webs para proyectos como hacía antiguamente.
¿Esto era difícil y ahora mismo le puedes decir a una web para que represente
lo que quiero contar y que tenga tres tabs y que tenga
no sé qué y sin ver una línea de HTML, CSS y JavaScript, eh?
Esto ya se puede hacer.
Bueno, eh,
Analizar datos también.
Todo profesor
que no tenga esas capacidades, a lo mejor porque no se dedican a lo mejor
mucha investigación, etcétera para poder tener acceso a todo esto,
entonces se le abre
una cantidad de posibilidades y cada vez están muchísimo más fina esta herramienta.
De hecho es donde está yendo un poco toda la industria.
¿Estos agentes que funcionan de manera autónoma de de de que tú
no te tienes que meter en las tripas, no?
¿Y luego también
se pueden modernizar prácticas, laboratorios, eh?
Crearte es para las baterías.
Esto ya digo ya gente que sepa un poco meterse en el código, que tenga código.
Yo esto lo lo es.
Lo que hago es decir,
te he cogido las prácticas de otro año y digo
pues este año las voy a poner distintas y le he dicho una ya genera
una versión orientada más a al sector retail o a restaurantes o a
no sé qué,
o mete un apartado nuevo que podría hacer o refina esto, o hace una batería de test
para que el estudiante de pues me ofrecen, me me me habilitan
una serie de posibilidades que antes pues sabiendo programar
me llevaban bastante tiempo.
Pero es un poco el punto de vista del programador,
de la persona que se dedica a programación en una empresa
que aumenta su productividad.
Pues aquí también.
Pero lo que yo hacía antes,
que era currarme las prácticas, lo mismo también para el examen.
¿Yo suelo decirle a una aplicación para el examen eh, vamos a cambiar esto, no?
Esta funcionalidad no más sencilla
que se alinee con lo que les he explicado en estándares.
Utilizo la IA como asistente para crear un examen.
En mi opinión mejor, o sea más orientado
a los objetivos de aprendizaje y los cumple mejor.
Vale, luego ya digo, estoy intentando un poco contar mi punto de vista.
O sea, ya digo, cogerlo con pinzas y ver un poco
que creo que sea que veáis un poco cómo yo la utilizo y la he utilizado
y otra cosa que he hecho bastante este año es en una asignatura,
se llama Ingeniería web, es meter apartados que utilicen la IA
como un apartado más, es decir, que los alumnos,
como la IA está tan de moda, está en todos los lados, etcétera
Y ellos están deseando utilizarla porque ven que hacen cosas muy potentes.
Pues la he metido como un apartado más de las prácticas de programación,
es decir,
he metido la IA como una funcionalidad extra
que tenían que hacer sobre la práctica.
En el caso estaban haciendo una ingeniería web,
hacen una cosa parecida a hacer páginas web como lo que hemos visto,
un frontend, etcétera con real y no sé cuánto.
Y entonces les he metido un apartado nuevo donde les digo pues ahora tiene un botón
donde cuando el usuario hace clic llama a una IA que le trae un resumen
y le genera una receta con la lista de la compra que tenías no sé qué.
Y les ha gustado muchísimo poder utilizar una IA real y hacer.
Han visto que la aplicación es mucho más potente,
como está tan de moda y tiene mucho hype,
pues es una cosa que a mí por lo menos me ha funcionado muy bien.
¿Entonces que usen APIs reales de IA se han sentido como haciendo
un producto real de una API? ¿No?
¿Eh, Y luego muchas más ideas, por supuesto, pues se puede automatizar
cosas, se pueden crear minijuegos educativos o simulaciones, eh?
¿Puedo crear herramientas para el departamento, para gestión,
para informes, etcétera O sea, decir
todo esto tiene bastantes aplicaciones para el profesorado, vale?
O sea, o por lo menos yo lo veo así y de hecho lo uso eh, a menudo. ¿No?
Y es donde viene el melón y donde es un poco
la cosa más dura para mí.
Y precisamente ahora, con la conversación que acabamos de tener un poco ahí
en de que GitHub CoPilot ya no lo ofrecen para estudiantes, parece ser, eh,
CoPilot Pro.
Entonces para mí surge un agravio comparativo bastante grande
entre los estudiantes que se puedan pagar este tipo de herramientas
y los que no, hemos visto que el GitHub CoPilot Free
es muy limitado,
te ofrece solamente 2000 completion coach o completo, no se considera castellano
Completitud de código, no de completar código EH, o 50 peticiones agentes.
Eso es muy poco para cuando tengas dos o tres asignaturas de programación,
pero empieza en dos tardes
porque como te va completando a cada cada vez que tú vas escribiendo,
pues en nada te va a decir ya paga o hasta el mes que viene nada.
Y un estudiante necesita solucionar la práctica este mes, por decirlo así.
Estamos a día 8 de junio.
¿Pues necesita entonces claro, y estas herramientas valen dinero?
Normalmente valen las versiones, pero de momento unos 20 $ al mes.
Y las versiones MAX 200.
Las versiones Max hacen auténticas maravillas.
Lo conozco en algún proyecto europeo, Algún compañero lo tiene
y te hace juegos completos con 3D, con cosas muy completas.
Para mí se abre aquí un melón bastante delicado
de ético y de impacto social.
Vale.
Y es que hemos pasado ya
un punto de inflexión de que esto es algo que lo poníamos en el informe
ya de educación este que que os hemos comentado al principio y tal
lo poníamos que que es una competencia que se le pide a los programadores
hoy en día ya decir hace poco la semana pasada,
el viernes me parece que salió un informe de de antrópico de
diciendo un poco que ellos el 80% de su código está picado.
Moría revisado por humanos, pero aplicado ponía y que aumenta por cuatro, por cinco
y hasta por diez la cantidad de código que genera sus programadores.
Es decir, que es obligatorio.
¿Y no sé si conocéis, eh?
Esta esta historia del
que como otro uso de la IA no usó el último.
Creo que la segunda o tercera vez en mi vida que lo uso.
El token Maxi es una cosa que está surgiendo ahora,
que es que en las empresas
la gente está muy loca por conseguir consumir cada vez más
código, o sea, más tokens de cloud y sobre todo en el propio Facebook.
En muchos sitios tienen como unos rankings de a ver quién
consume más tokens haciendo cosas, intentando que sean productivas.
Aunque se dice que muchas
le ponen ahí hacer cosas a lo loco y luego tiran el código y tal.
Pero el caso es que están intentando maximizar
como demostrando que ellos usan mucho la IA como programadores.
¿No se está produciendo una cosa un poco loca, no?
El token máximo lo llaman y hacen rankings en empresas de a ver quién
ha usado más la IA y tal.
El caso es que esto es una competencia que se va a pedir a nuestros estudiantes.
¿Eso ya se está pidiendo y yo de hecho, cuando intento coger aquí a alguna persona
para un proyecto europeo o lo que sea,
lo primero que le digo es oye, sabes usar la IA, eh?
Necesito que la uses
porque vas a producir más, porque vas a hacer mejor código,
porque vas a hacer baterías de test para tu código,
porque lo vas a documentar mejor, porque entonces
creo que es algo imprescindible, porque hemos pasado
ya ese punto de inflexión en el que la IA hacía cosas que
que, que siempre había bugs.
Yo lo contaba en mi asignaturas de ingeniería web.
Al principio
decía mira, voy a hacer un ejemplo con IA y luego nos teníamos que poner a depurar.
Ahora mismo, cuando era un ejemplo con IA, pues como ha hecho Javi
y funciona a la primera.
O sea, llevo mucho tiempo en cosas simples sin encontrar bugs gordos.
¿Entonces, cuál es la cosa?
Que cuando surge un bug es verdaderamente muy gordo,
muy avanzado y se dice el problema está en el Señor,
necesito gente senior, pero si los junior no están trabajando
con su día a día peleándose, pues tenemos un problema aquí.
Es lo que quería un poco abrir el melón y que empezamos a
yo me quita el sueño, por decirlo de una manera que os digo, a mí
me pasa que me tengo que replantear un poco cómo enseñamos la programación
y qué competencias tenemos que desarrollar, que por cierto,
tampoco sobre las que ponen la memoria verificación de la asignatura,
la memoria de verificación es de hace ocho años, seis años
depende de cada asignatura, pero
como cómo ¿hacemos esto?
Pues no tengo tampoco solución.
¿Estoy empezando a replantear las asignaturas de programación que tenemos,
pero bueno, estoy intentando meter
y fomentar que usen IA para hacer este tipo de cosas, eh?
Generar código sencillo, que hagan el primer escape como ha dicho Javi.
Oye, mira, pues hacer scaffold
y a partir de ahí cógelo tú y haz esta funcionalidad, esta otra tal
genera una batería de test, genera la documentación,
es decir, que hagan unos usos básicos y luego a partir de ahí
que que les revise su código, que les plantee la arquitectura.
En una charla reciente con con un socio de París
me decía que lo que más necesitaban ahora mismo eran arquitectos de software,
porque como la IA hacía muchísimas cosas con autonomía, lo que más necesitaban
era un arquitecto de software que no conseguían llenarlas.
Las las plazas que tenían, pero que
claro que un arquitecto de software tenía que tener o no tenía el problema.
El senior no lo contaba así en una charla de hace poco de
yo son las cosas que estoy intentando meter en mis prácticas en ya digo,
en computación, en redes,
en ingeniería de software, o sea ingeniería web en cosas así, pero me
está costando bastante por lo que digo, porque las prácticas simples
no logro diferenciar bien quién las ha hecho con IA y quien no,
Entonces
creo que es algo que tenemos que hacernos mirar todos.
Vale,
eh, La analogía de la calculadora y de hecho yo tengo hijos ahora
en el colegio y claro,
cuando mi hijo coge la calculadora dice para que aprenda a multiplicar papá,
si yo con la calculadora esto se hace en el momento,
ya uno aprende para amueblar la cabeza, para entender la multiplicación, etcétera
Y así sigue siendo el colegio.
Mi hijo está harto de hacer multiplicaciones
y todavía no ha cogido una calculadora y la cogerá el año que viene.
¿Pero cuál es el problema?
¿Que mi hijo
yo le controlo por decirlo de una manera, y quito la calculadora, vale?
Es decir, no tiene acceso a la calculadora
y hace un montón de multiplicaciones en su casa.
Esto con los alumnos de universidad no es así de fácil
porque tienen acceso a este CoPilot y tienen la comodidad de.
Le paso el enunciado de la práctica de este profe
y ya tengo un diez y de verdad que es un diez.
O sea Cloud de Code CoPilot.
En la práctica de mi asignatura sacan verdaderos
dieces desde el año pasado, el anterior todavía no, pero desde este año sí.
Puros dieces porque son prácticas básicas, básicas, más o menos.
No le puedo poner algo tan avanzado que una IA no sepa resolver
porque es que hace verdaderas maravillas.
Entonces no sé si también alguno quiere me quedan nada, dos o tres día
por si alguno quiere.
En estos cinco minutos
que nos queda plantear alguna otra opción de cómo lo resuelve, de
yo estoy abierto a cualquier
tipo de conversación porque para mí es un problema sin resolver.
Y otro informe que sacaron este fue el año pasado,
hace más o menos un año en Traffic, EH habían analizado 1
millón de conversaciones en sus modelos y 500.000 eran estudiantes
y todos los de computación suponían
el 36% y los alumnos de computación eran solo el 5%,
es decir, son los primeros que se habían lanzado a hacer todo esto.
O sea, desde los alumnos de informática y de cosas de programación
se habían lanzado como locos a estas herramientas.
¿Qué para qué la estaban utilizando?
¿Según este reporte de De Antrópica eh?
Pues la estaban utilizando mucho para depurar código, sobre todo inicialmente.
Ya digo que de esto hace un año.
Ahora mismo, tras el código puro para implementar algoritmos,
o sea para hacer las prácticas directamente estructuras de datos.
Y luego veían dos formas muy claras de interactuar con el código
pedir la solución, o sea, decir esto pum y olvidarse.
O más colaborativa, que para mí es la buena, que es la de vamos a hacer esto
y este modo que ha explicado Javi del plan, decir oye, voy a planificar,
vamos a planificar entre todos y a hacer mi hazme el paquete JSON.
Y ahora esto lo instalo y ahora vamos a poner esta librería.
Y ahora vamos a ver cómo entonces evitar que la IA piense por ellos
es la clave, porque es que si no, no aprenden nada.
O sea, decir que la IA no puede hacer el trabajo intelectual pesada.
No podemos delegar en la IA. Y hay estudios que dice
que cuando se delegan la IA obviamente no se aprende nada.
No hace falta, que es un estudio que salió en la editorial pero que no hace falta.
Vale, una cosa muy avanzada.
Obviamente, si no le dedico ese pensamiento intelectual,
pues la IA eh, lo hace.
Voy a sacar un diez.
¿Pero cuál es el dilema aquí que tenemos?
¿Cómo aprenden ahora los estudiantes a programar?
¿Y este dilema del Junior?
Pues es un riesgo que tenemos que ver.
Cómo lo fomentamos.
Y tenemos el problema también de que hacen malos usos de la IA.
No sé si conocéis, lo hemos explicado en algunos otros talleres y tal,
y en el informe está también este tema de los modos de aprendizaje.
Hay un botón estudia y aprende en las grandes
Ias a las grandes modelos, estos en Jammy Claude.
El CoPilot es un agente en CoPilot, por cierto, es un agente.
Está en la en el panel de la izquierda.
¿Entonces este modo estudia y aprende, eh?
Pues es muy útil. Yo le digo a los alumnos que les diga Oye, ve
que un método socrático te dice oye, vamos a empezar por el principio,
lo que hacemos los profes.
Vamos a empezar por hacer una clase ahora Herencia, ahora
nos equipa paso a paso de bueno, pues es una manera, porque para mí
los alumnos hacen dos muy malos usos y lo veo bastante en mis asignaturas.
El primero, usar solamente el chat como chat, GPT y Gemini
directamente y pegarla ahí el enunciado y a ver si funciona.
Y no son herramientas de código, son chats.
Obviamente te hace código y luego copiar el código, lo pegan y no funciona
y te vienen a tutorías con ese código te lo reconocen 16 en ocho con GPT
pues muy mal.
O sea, porque no es para eso
tienes CoPilot y tienes otras herramientas que deberías aprender a usar.
Esto está explicado Javi.
Hay que explicárselo a los alumnos.
Yo también lo hago ya en las asignaturas en Ingeniería Web
les cuento cómo uso yo la IA y cómo les recomiendo
que la usen y cómo creo que que debe usarse profesionalmente.
Con esto que decimos de USA la gente para que te guíe, para que te ayude
al diseñar la arquitectura, para para preguntarle que te haga
una review del código de seguridad, que te haga los test,
que te haga la documentación, que te mejore la documentación.
Es decir, hay buenos usos,
pero ellos o delegan demasiado, son los que saben usarlo.
Muchas veces por prisas.
Tienen demasiadas prácticas, tienen demasiadas cosas que hacer,
delegan demasiado y no aprenden nada y otros hacen muy mal uso.
Usando solo el chat a brecha GPT intentan ahí hacer código.
No es el sitio que aprendan a usar herramientas
que van a usar profesionalmente, no es una herramienta de programación.
Entonces deberían ir por la línea de CoPilot,
aunque ahora que han quitado el CoPilot Pro, me temo que
tirarán más todavía de este chat que tengo Gemini vía chat.
Porque al final, como como bien sabemos, responde
Obviamente estas en caso son muy complacientes que se dice
yo creo.
El caso es que
bien usado se puede aprender mucho, pero es una herramienta demasiado potente.
Como de repente veo al niño en primaria con la calculadora y que no se la
puedo quitar porque ya, o sea, ellos ya aprenden con autonomía.
No estoy en el colegio, entonces el problema de la calculadora
lo tenemos y me imagino al niño sin poder quitarle la calculadora.
Entonces no va a aprender.
Entonces veo un problema muy gordo, pero realmente es una,
es un problema que tenemos y que tenemos que
que actualizar.
Como actualizamos esta asignatura yo creo que está cambiando
y que encima esta cita que la tenemos en el informe, a mí me gusta mucho
que dice que tenemos que ser conscientes de todo lo que está evolucionando esto,
la guía que estamos viendo hoy que os hemos enseñado hoy aquí entra
Javi, yo sobre todo Javi, que es la peor que vamos a ver en la historia.
¿Ya decir a partir de aquí cada vez va a ser más prometedora y existe un
el cloud en mis ojos, este que están hablando
de que detecta bugs, de que audita código, de que genera un código
ya salvaje, que todavía no lo han liberado porque dicen que da hasta miedo, no?
NET O quizás sea un poco de Java
y un poco de marketiniano o lo que sea, pero el caso es que yo he visto
una evolución muy grande del 2024 al 2025
y al año que viene, en 2026 estoy.
Sabes lo que estoy usando ya es bastante diferente a lo que empecé
a preparar mis prácticas
este año, actualizarlas en octubre que doy la asignatura de Ingeniería Web.
Entonces la evolución está siendo muy rápida
y yo creo que está cambiando un poco de para dónde vamos.
No es muy grande, estamos yendo a, o sea, muy rápidamente estamos yendo a
arquitectura mucho más importante, planificación, testing, despliegue.
Todo esto también lo estamos cambiando en otras asignaturas diciendo
es que la parte de codificación hay que dedicarle menos clases,
vamos a dedicar más clases a hacer una integración continua,
hacer despliegues porque despliegue la IA te ayuda mucho menos.
¿Tienes que entender el cliente servidor, la arquitectura como despliego,
cómo configura el apache,
cómo me meto en esas tripas del de la ingeniería de sistemas?
¿Cómo hago una captura de requisitos?
La ingeniería de software tiene muchas,
muchas más cosas que solamente el code y el coding.
Ya no lo está haciendo mucho la IA, entonces eso adelgaza.
¿Y ya por último,
y por dejar ya sin dormir, si puede ser, cómo evaluamos todo esto?
¿Pues para mí cambia mucho la cosa, eh?
Ya hay que hacer prácticas que sean mucho más de comprensión, no solamente de
produces una cosa, me la entregas y te pongo un diez
y habrá que ir mucho más al examen oral.
Pero claro, hay asignaturas con 300 alumnos ahí es natural,
a partir de cierto número de alumnos, hacer un examen oral.
Uf, pues tenemos un problemón.
Y ya también una cosa que estoy intentando meter yo
es que antes les pedía el producto final y ahora les voy a pedir este año que viene
control de versiones y que me entregan el proyecto entero.
Que yo vea que ha ido evolucionando,
que no se lo han pedido, un ahí alejado al producto final y que haya hecho
un único commit en GitHub con el producto final
es a menos que venga y me lo explique y que me diga cómo lo modificaría
y por a tomar esas decisiones, etcétera Y el que no, pues que me enseñe
como ha ido evolucionando el commits bien documentados con sus con su
con su justificación, etcétera
y abierto por supuesto a otras ideas, porque no veo más soluciones.
Entonces tenemos.
Y ya con esta última diapo termino sí mía,
pues mucho más enfocado a primeros cursos como el símil de la calculadora,
vamos a aprender lo básico, haremos examen en papel práctico sin internet.
También esta asignatura Ingeniería Web.
Estamos haciendo un examen práctico sin internet.
Es un poco irreal.
En el mundo real tienen acceso a la IA, pero es que para poder hacer cosas básicas
es como el examen sin calculadora.
Podríamos hacer el símil y ya con el curso mucho más avanzado,
llegando a máster y tal, pues como digo, proyecto completo con defensa oral
y que tengan la IA como herramienta profesional que van a tener en su futuro.
Y espero, como digo, haberos abierto un poco el melón, pero
pues aquí comenté alguna vez
en mi clase les pongo hacer código en papel para no volverme loco.
Claro, nosotros también lo hacemos.
El examen es en papel, sigue siendo, pero hemos metido este examen práctico
sin internet,
por lo menos para que hagan aplicaciones prácticas, porque lo que nos ha pasado
ya es que se hagan verdaderos dieces en las prácticas.
Me harto de corregir cosas que ha hecho la IA y
y luego
sacan cerebros en el examen porque ellos se piensan que están aprendiendo,
ellos ven el código de ahí que obvio, qué sencillo sencillo te lo ha hecho la IA.
Además le has dicho que lo haga sencillo
porque ellos saben hacer un poquito para mirar bien y tener un poco de agudeza
ahí ya no como si lo hubiese hecho un estudiante.
Entonces pues creo que.
Tenemos un problema, vamos en general, me decían, ha comentado José Joaquín
dice en un aspecto más general tenemos que cambiar
a un sistema de orden más que de pasa no pasa.
¿Ordenar a los alumnos dentro de su curso?
Sí, pues tenemos que cambiarlos.
Yo estoy un poco preocupado
y tenemos un poco, pero el problema para mí es de escala.
O sea, cuando hay 300 alumnos en la asignatura que tuvimos el viernes,
el examen.
Javi, tú eres profesor no de computación en red y el viernes fue el examen.
Son 300 y pico alumnos.
Yo en la de ingeniería web tenemos 100 y algo
como hago 120 y pico exámenes orales, puedo, pero me cometo la semana.
¿O sea, es un poco problema
eh? Tenemos que ver.
Si la experiencia hace un examen de PC sin internet es muy buena.
El problema es disponibilidad de equipos capados.
Nosotros lo hemos hecho con 100 y algo alumnos y la otra sin hacer varios turnos.
¿Problema que tienes hace varios exámenes, claro,
porque el alumno se lo cuenta luego unos a otros eh?
Pues tenemos que verlo en yo para mí en docencia ya te me quita el sueño,
o sea, me me tiene, no tengo soluciones, tengo problemas
y os cuento lo que estoy haciendo, lo estoy haciendo.
Lo de que me entreguen el proyecto y así veo sus commits,
no me vale el producto final.
¿Quiero ver el proceso, eh?
Voy a adelgazar la parte de código y voy a meter más partes de despliegue,
más parte de planificación, más parte de entender la arquitectura,
el examen con internet capado.
Eso en aquí en la escuela por lo menos es posible.
Tenemos un laboratorio grande de 100 puestos y lo hacemos y
Y en esas estamos ahora mismo.
Y a partir de ahí, a seguir pensando en cómo conseguir evaluar
y también cómo conseguir no solamente pillar al que no ha aprendido.
Para mí eso es doble.
El problema también conseguir transmitir esta competencia.
Es decir, ellos van a llegar a su empresa y les van a pedir que usen
CoPilot bien usado, que no usen chat
GPT para programar que usen CoPilot o o Cloud de Code.
Al final se usan todos igual o cualquiera que quieran en Gemini,
que por cierto Gemini en la educación si lo tienen por lo menos un año.
Mi experiencia también es que lo usan bastante, casi todos solo
activaron el Gemini for Education. Este
y ahí el PRO les daba el PRO un año.
Ahora ya con lo que mandaste Jessica también tienen el pack
education con la cuenta UPM, con el cómo se dice estable.
Si uno entonces también es más o menos.
A ver si poníamos así el agravio comparativo,
porque yo no era consciente de que les habían chapado ya el CoPilot.
Pero si he puesto ahí el enlace donde sí
lo he
visto es que justo las tuve el viernes y venía el marcar estudiante.
Y lo que pasa que yo vi hoy la activación con Anti Gravity,
o sea el usar la parte de código por así decirlo, de esta guía
no está inicialmente
habilitada.
¿Sí, pero en el CoPilot, en el Gemini, pero sí en el que tienen,
porque me lo han traído y eso sí es propio, porque ese no es, no es
en el anterior si fue por enero o así, verdad?
Es para mí, ese es otro menos gordo.
Es lo que digo, el agravio comparativo. No tenemos tampoco solución.
Tengo alumnos que pagan, claro, me lo paga papi porque es una manera rápida
y claro, otros no, entonces pues tenemos también el otro problemita.
Bueno, y añado uno que es mantenernos actualizados, que
son todos melones.
Así que bueno, por lo menos gracias a este tipo también de talleres
y tal, que podemos ir manteniéndonos actualizados y intentar entre todos
ir compartiendo soluciones y
y estamos para intentar compartir y ver cómo llegamos a a buen puerto
y conseguimos que nuestro alumno aprenda
lo más posible, que es un poco
el objetivo que tenemos también entre todos
y no hartarnos de corregir prácticas hechas con ella,
sino intentar dar esta competencia que se la exigen ya.
Vamos, que ya te lo ponen en la entrevista de trabajo, vamos en las ofertas
entonces.
Bueno, pues muchísimas gracias Javier y Enrique.
No sé si hay alguna pregunta más y rápido.
Antes.
Como creo que no había más gente, solo gracias.
Vale, pues muchísimas gracias, Muchas gracias.
Agradeceros de nuevo muchísimas gracias.
Gracias a todos. Buena tarde.