¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Qué incluye el encargo de una IA

Después de esta lección: Puedo convertir una petición en requisitos y en una forma de saber si funciona.

Lección de 60 min3 comandosLaboratorio de agente de programación con IA: usa opencode para explicar y corregir código, y comprueba su trabajo

Escribir el encargo de una función de IA

El encargo es el documento corto que dice qué debe hacer una función y cómo sabrás que funciona. Importa porque una función de IA con un encargo vago puede parecer terminada y fallar delante de los clientes.

En este módulo, la biblioteca inventada Los Almendros pide un asistente de ayuda. Su primer correo dice: «¿Podéis hacernos un chatbot que responda sobre horarios y multas? Tiene que ser bueno.»

Al final de esta lección

Nota

Puedo convertir una petición en requisitos y en una forma de saber si funciona.

Palabras clave

PalabraQué significaEjemplo
Encargoel documento corto que dice qué construir
Requisitoalgo que la función debe hacer o respetar
Límiteuna cifra que la función no debe superar40 palabras como máximo
Medidauna cifra que dice si las respuestas son buenas
Plan Blo que recibe la gente cuando la función no responde

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Una petición no es un encargo

Una petición dice lo que alguien quiere. No dice quién la usa, qué no debe hacer nunca ni cuándo se da por terminada.

La conviertes en encargo haciendo las preguntas que deja abiertas. Hazlas antes de construir, porque cada respuesta cambia lo que construyes.

Ejemplo: la petición de la biblioteca

La petición diceLa pregunta que deja abierta
Un chatbot¿Quién pregunta y en qué página?
Horarios y multas¿Qué otras preguntas llegarán?
Tiene que ser bueno¿Cuántos errores aceptamos?
Nada sobre el tamaño¿Cuánto puede medir una respuesta?
Nada sobre dinero¿Cuánto puede costar un día de uso?

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Una medida de lo bueno es una cifra

«Bueno» es una opinión. «9 de cada 10 respuestas llevan la cifra correcta» es una medida: dos personas pueden comprobarla y ponerse de acuerdo.

Una medida necesita preguntas de prueba y una regla que corrija cada respuesta. Las construyes en la lección siguiente. Por ahora, el encargo solo debe decir cuál será la cifra.

Límites, coste, privacidad y plan B

Cuatro partes más se olvidan a menudo. Un límite, como 40 palabras. Un tope de coste para un día. Una regla de privacidad que diga qué no se guarda nunca. Un plan B para el día en que el modelo no responda.

Añade un responsable, una persona que decide cuándo no se cumplen las cifras.

Un error frecuente

Advertencia

Mucha gente cree que el modelo aclarará un encargo vago. No lo hará. Si nadie sabe decir qué respuesta es incorrecta, nadie sabe decir cuándo funciona la función. Escribe la cifra antes de construir.

Escribe el comprobador de encargos, parte 1

Comando
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const fs = require(\"fs\");' '// La petición tal como la envió la biblioteca, dividida en partes.' 'const brief = {' '  users: \"Socios que preguntan por horarios y multas\",' '  tasks: \"Responder preguntas a partir de la hoja de datos\",' '  limits: \"Las respuestas deben ser cortas\",' '  measure: \"Las respuestas deben ser buenas\",' '  cost: \"\",' '};' 'fs.writeFileSync(\"brief.json\", JSON.stringify(brief, null, 1));' > brief.js"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Escribe el comprobador de encargos, parte 2

Comando
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const REQUIRED = [\"users\", \"tasks\", \"limits\", \"measure\", \"cost\", \"privacy\", \"fallback\", \"owner\"];' 'const NEEDS_NUMBER = [\"limits\", \"measure\", \"cost\"];' 'const missing = [];' 'const vague = [];' 'for (const part of REQUIRED) {' '  const text = (brief[part] || \"\").trim();' '  if (text === \"\") missing.push(part);' '  else if (NEEDS_NUMBER.includes(part) && /[0-9]/.test(text) === false) vague.push(part);' '}' 'console.log(\"Partes que faltan:\", missing.join(\", \"));' 'console.log(\"Partes sin cifra:\", vague.join(\", \"));' 'console.log(missing.length + vague.length === 0 ? \"El encargo está listo.\" : \"El encargo no está listo.\");' >> brief.js"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Comprueba el encargo de la biblioteca

Comando
docker exec -w /home/node/project agent node brief.js

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Lo que imprime el Run

LíneaQué dice
Partes que faltancost, privacy, fallback, owner
Partes sin cifralimits, measure
Última líneaEl encargo no está listo.

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Sobre este laboratorio y su código: Laboratorio de agente de programación con IA: usa opencode para explicar y corregir código, y comprueba su trabajo

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.