Un asistente de código predice texto probable
Un asistente de código es un programa que escribe y explica código a partir de lo que le pides con palabras normales. Saber cómo funciona te dice cuándo fiarte de su respuesta y cuándo comprobarla.
Una estudiante de Valencia le pide una función para calcular el IVA de una factura. En segundos recibe código que parece perfecto.
Al final de esta lección
Nota
Puedo explicar qué hace un asistente de código y en qué se equivoca.
Palabras clave
| Palabra | Qué significa | Ejemplo |
|---|---|---|
| Modelo | el programa de IA que escribe las respuestas | |
| Petición | el texto que le das al asistente | Escribe una función que sume |
| Contexto | todo el texto que el asistente tiene delante | |
| Alucinación | dato o código inventado que parece real | |
| Agente | asistente que también lee archivos y ejecuta órdenes |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
El modelo escribe el texto más probable
Un modelo aprendió de muchísimo texto y código. Cuando recibe una petición, calcula qué palabras suelen venir después y las escribe una a una.
No ejecuta el código que escribe. Tampoco sabe si es verdad lo que dice. Solo produce una respuesta que se parece a las que vio.
El asistente solo ve el contexto que recibe
El contexto es el texto que el asistente tiene delante: tu petición, los archivos que le das y la conversación hasta ese momento. Cabe una cantidad limitada.
Lo que no está en el contexto no lo conoce. No sabe cómo se llama tu proyecto, ni qué versión usas, ni qué decidió tu equipo ayer.
Ejemplo: qué sabe y qué no sabe
| Cosa | ¿Está en el contexto? | Qué hace el asistente |
|---|---|---|
| La petición que escribes | Sí | La lee entera |
| El archivo que le abres | Sí | Lo lee y lo cita |
| Otro archivo que no abres | No | Puede inventar cómo es |
| La versión de tu biblioteca | No, si no la dices | Supone una versión habitual |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Una función que parece correcta
# Una función que un asistente podría escribir. Parece correcta.
def es_bisiesto(anio):
return anio % 4 == 0
for anio in [2024, 2023, 1900]:
print(anio, es_bisiesto(anio))
# Cambia la lista y busca un año que la función clasifique mal.
Suena seguro aunque se equivoque
La función anterior cumple la regla de los años divisibles entre 4. Pero 1900 no fue bisiesto: los años de siglo solo lo son si se dividen entre 400.
El código está bien escrito y tiene un defecto. Una alucinación es eso: una respuesta que parece real y no lo es.
Un error frecuente
Advertencia
Mucha gente cree que, si el asistente responde con seguridad, la respuesta es correcta. El tono no dice nada sobre la verdad. Confía en un resultado solo cuando lo has ejecutado y has leído lo que hace.
Mira el laboratorio antes de pedir nada
El laboratorio tiene un asistente de código en forma de agente, y un proyecto pequeño: el programa de la caja de una cantina escolar. En esta lección solo miras. Estas órdenes no le piden nada al asistente.
Mira si el asistente está instalado
docker exec agent cat /tmp/agent/statusSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Mira los archivos del proyecto
docker exec -w /home/node/project agent lsSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Cuenta las líneas de cada archivo
docker exec -w /home/node/project agent wc -l shop.js shop.test.jsSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.