¿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

Lista de revisión de gobernanza de IA

Después de esta lección: Puedo revisar una función de IA antes de lanzarla y escribir el resultado.

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

La revisión que frena un mal lanzamiento

Una revisión de gobernanza es una comprobación escrita y corta de una función de IA antes de lanzarla. Importa porque las preguntas que nadie hizo son las que causan el incidente, y un registro escrito muestra después quién decidió qué.

Esta lección reúne el módulo en cinco elementos que puedes comprobar con un programa.

Al final de esta lección

Nota

Puedo revisar una función de IA antes de lanzarla y escribir el resultado.

Palabras clave

PalabraQué significa
Revisiónuna comprobación escrita antes del lanzamiento
Visto buenoel responsable acepta que se lance
Huecoun elemento que la revisión deja fuera
Vuelta atráslos pasos que apagan la función
Registroel resultado guardado de la revisión

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

Cinco elementos forman una revisión

Comprueba cinco cosas. ¿Hay un responsable con nombre? ¿Están escritos los riesgos? ¿Hay bastantes casos de evaluación? ¿Hay vuelta atrás? ¿Se guarda el resultado?

Cada elemento viene de este módulo. El responsable viene del nivel de riesgo. Los riesgos vienen de la supervisión y de los comentarios. Las evaluaciones vienen del cambio de modelo, y la vuelta atrás del riesgo de proveedor.

Ejemplo resuelto: dos revisiones, mínimo 5 casos

FunciónResponsableRiesgosEvaluacionesVuelta atrásRegistroResultado
Robot de reembolsossí20sísíFaltan evaluaciones
Filtro de currículossí112nonoFaltan vuelta atrás y registro

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

Escribe el resultado

El resultado se guarda con la fecha, los nombres y lo que se encontró. Si la revisión halla un hueco, la función espera. Si la pasa, el responsable da su visto bueno.

Repite la revisión tras un cambio: un modelo nuevo, un uso nuevo o un proveedor nuevo. Una revisión es el registro de un día, no un permiso para siempre.

Un error frecuente

Advertencia

Mucha gente cree que una revisión se hace una vez, al lanzar. La función cambia, y también el modelo, los usuarios y las normas. Repite la revisión cuando cambie cualquiera de ellos y guarda cada resultado.

Escribe el ayudante del modelo, parte 1

Comando
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const base = process.env.AI_URL || \"http://ai:4000\";' '// Los tokens de una respuesta, o null si no trae ninguno.' 'function count(data, name) {' '  return data.usage && typeof data.usage[name] === \"number\" ? data.usage[name] : null;' '}' > model.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 ayudante del modelo, parte 2

Comando
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function ask(messages, sample, max) {' '  try {' '    const res = await fetch(base + \"/v1/chat/completions\", {' '      method: \"POST\",' '      headers: { \"content-type\": \"application/json\", authorization: \"Bearer lab\" },' '      body: JSON.stringify({ model: \"lab\", messages: messages, max_tokens: max || 100 }),' '      signal: AbortSignal.timeout(30000),' '    });' '    if (res.ok === false) throw new Error(\"estado \" + res.status);' '    const d = await res.json();' '    return { text: d.choices[0].message.content, inTokens: count(d, \"prompt_tokens\"), outTokens: count(d, \"completion_tokens\"), recorded: false };' '  } catch (error) {' '    console.log(\"Muestra grabada: ningún modelo respondió (\" + error.message + \").\");' '    return { text: sample, inTokens: null, outTokens: null, recorded: true };' '  }' '}' 'module.exports = { ask };' >> model.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 la comprobación de revisión, parte 1

Comando
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { ask } = require(\"./model\");' '' 'const MIN_EVALS = 5; // con menos casos no basta para confiar' '// Dos revisiones inventadas. Una revisión está lista cuando está cada elemento.' 'const reviews = [' '  { name: \"Robot de reembolsos\", owner: \"Tomás Vega\", risks: [\"reembolso erróneo\", \"cliente enfadado\"], evals: 0, rollback: \"Apagar el interruptor\", record: true },' '  { name: \"Filtro de currículos\", owner: \"Lucía Romero\", risks: [\"rechazo injusto\"], evals: 12, rollback: \"\", record: false },' '];' > review.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 la comprobación de revisión, parte 2

Comando
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function missing(r) {' '  const gaps = [];' '  if (r.owner.trim() === \"\") gaps.push(\"responsable\");' '  if (r.risks.length === 0) gaps.push(\"riesgos\");' '  if (r.evals < MIN_EVALS) gaps.push(\"evaluaciones\");' '  if (r.rollback.trim() === \"\") gaps.push(\"vuelta atrás\");' '  if (r.record === false) gaps.push(\"registro\");' '  return gaps;' '}' >> review.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 la comprobación de revisión, parte 3

Comando
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  reviews.forEach(function (r) {' '    const gaps = missing(r);' '    console.log(r.name + \": \" + (gaps.length === 0 ? \"lista\" : \"NO LISTA, falta \" + gaps.join(\", \")));' '  });' '  const q = \"Escribe una frase que debe contener un plan de vuelta atrás para una función de chat con clientes.\";' '  const r = await ask([{ role: \"user\", content: q }], \"Dice quién apaga la función, cómo y cuánto tarda.\", 60);' '  console.log(\"Una frase posible: \" + r.text);' '}' 'main();' >> review.js"

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

Ejecuta la comprobación de revisión

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

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

Una salida posible

LíneaQué muestra
Robot de reembolsos: NO LISTA, falta evaluacionesTodavía no hay casos de evaluación
Filtro de currículos: NO LISTA, falta vuelta atrás, registroSin camino de vuelta y nada guardado
Una frase posible: ...Tu propia llamada. Cambia en cada ejecución, o dice Muestra grabada

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.