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
| Palabra | Qué significa | Ejemplo |
|---|---|---|
| Encargo | el documento corto que dice qué construir | |
| Requisito | algo que la función debe hacer o respetar | |
| Límite | una cifra que la función no debe superar | 40 palabras como máximo |
| Medida | una cifra que dice si las respuestas son buenas | |
| Plan B | lo 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 dice | La 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
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
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
docker exec -w /home/node/project agent node brief.jsSe 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ínea | Qué dice |
|---|---|
| Partes que faltan | cost, privacy, fallback, owner |
| Partes sin cifra | limits, measure |
| Última línea | El encargo no está listo. |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.