Vas a diseñar la configuración de una cadena de 3 pasos. No es código que ejecutás. es un artefacto declarativo (YAML) que un runtime de chains puede leer y ejecutar paso a paso.
Cada step tiene cuatro campos:
- id: classify_report # identificador único del step
prompt: | # el prompt LLM
Eres un clasificador...
Texto: {{ report }}
input: # de dónde sacar los placeholders
report: chain.input.text
output_key: category # bajo qué nombre guardar el resultadoEl runtime ejecuta los steps en orden. Después del primer step, el contexto tiene category con el output del classifier. El segundo step lo puede usar como {{ category }} en su prompt.
Procesar reportes como:
"Bay 4: válvula 7 sigue tirando alarma intermitente desde anoche."
Y devolver al final:
{
"category": "maintenance",
"fields": { "system": "bay 4 valve 7", "issue": "intermittent alarm", "time": "since last night" },
"summary": "Válvula 7 en bay 4 con alarma intermitente desde anoche."
}Tres steps, cada uno con responsabilidad única, todos encadenados por output_keys explícitas.
5 criterios LLM-judge sobre:
Diseñar una buena cadena es ingeniería de software más que prompting. Pensá en cada step como una función pura. Inputs declarados, output declarado, sin sorpresas.