# Ejecuciones y aprobaciones Cada vez que un agente se inicia, crea una ejecución: un recorrido por sus pasos, con su propio registro, archivos, resultado y costo. Úselas para revisar el trabajo, responder aprobaciones y corregir fallos sin empezar de cero. ## Antes de empezar [#antes-de-empezar] | Para | Necesita poder | | --- | --- | | Ver las ejecuciones de un agente | Abrir su proyecto | | Responder una aprobación | Cambiar el proyecto | | Ejecutar de nuevo desde un paso | Editar el proyecto | ## Encontrar una ejecución [#encontrar-una-ejecución] Abra el agente. El panel **Ejecuciones** muestra las más recientes; **Ver todas** abre la lista completa con cada **Ejecución**, su **Inicio**, su **Duración** y sus **Créditos**. Filtre por **Todas**, **En curso**, **Completadas** o **Fallidas**, y seleccione **Cargar más** para ver más atrás. Cada ejecución indica cómo empezó: **Programada**, **Iniciada por una carga de tabla**, **Iniciada por archivos nuevos**, **Iniciada por un evento de webhook** o **Iniciada por un agente**. ```bash klarety agent runs daily-summary --project PROJECT_ID ``` La CLI muestra las últimas ejecuciones. En Python, `runs` lee más atrás una página a la vez, de la más reciente a la más antigua: ```python from itertools import islice from klarety import Nexus nx = Nexus.connect() for run in islice(nx.agents.runs("PROJECT_ID", agent="daily-summary"), 50): print(run) for day in nx.agents.stats("PROJECT_ID", days=7): print(day) ``` `stats` devuelve las ejecuciones por día, de la más reciente a la más antigua: cuántas, cómo terminaron y cuánto costaron. Para retomar la paginación desde otro proceso, use `runs_page` y pase su `next` como `after`. ## Leer una ejecución [#leer-una-ejecución] Una ejecución muestra el flujo del agente con el estado de cada paso: **En espera**, **En curso**, **Esperando su respuesta**, **Completado**, **Reutilizado**, **Fallido**, **Rechazado**, **Detenido** u **Omitido**. Un paso que se ejecuta una vez por elemento muestra su avance, por ejemplo "12 de 40 elementos". Seleccione un paso para ver su configuración y luego **Registro y archivos** para leer lo que imprimió y descargar lo que hizo. **Resultado** muestra lo que produjo la ejecución: filas (con "Mostrando X de Y filas" si el resultado es largo), texto o archivos. ```python run = nx.agents.run("PROJECT_ID", RUN_ID) result = nx.agents.result("PROJECT_ID", RUN_ID) print(nx.agents.log("PROJECT_ID", RUN_ID, "summary")) for name in nx.agents.outputs("PROJECT_ID", RUN_ID, "summary"): data = nx.agents.output("PROJECT_ID", RUN_ID, "summary", name) ``` `result` contiene el paso de resultado, su valor (hasta 1 MiB) y los archivos que dejó la ejecución. Para un paso que se ejecuta una vez por elemento, pase `item=` a `log`, `outputs` u `output`. ## Aprobar el siguiente paso [#aprobar-el-siguiente-paso] Un paso **Le pregunta primero** pausa la ejecución y hace una pregunta, por ejemplo si debe guardar las calificaciones en la tabla `ai_scores`. La ejecución muestra **Esperando su respuesta** y el agente pasa a **Lo necesitan** en . ### Abra la ejecución en espera [#abra-la-ejecución-en-espera] Abra el agente desde **Lo necesitan** y seleccione la ejecución en espera. ### Revise lo que está por hacer [#revise-lo-que-está-por-hacer] Lea la salida de los pasos anteriores, por ejemplo las calificaciones que quiere guardar. ### Responda [#responda] Seleccione **Sí, continuar**, o **No, detener aquí** para terminarla como **Rechazada**; nada después del paso de aprobación ocurre. ```python nx.agents.answer("PROJECT_ID", RUN_ID, "approve", yes=True) ``` `step_id` es el `id` del paso de aprobación en el archivo del agente. `yes=False` detiene la ejecución allí. Una ejecución rechazada termina allí. Para hacer el trabajo de todos modos, inicie el agente de nuevo o use **Ejecutar de nuevo desde aquí** en otra ejecución. ## Detener una ejecución [#detener-una-ejecución] Seleccione **Detener** en una ejecución en curso. Termina como **Detenida**; los pasos terminados conservan su salida. ```bash klarety agent stop RUN_ID --project PROJECT_ID ``` ## Ejecutar de nuevo desde un paso [#ejecutar-de-nuevo-desde-un-paso] Los pasos anteriores al que elige se reutilizan, no se ejecutan de nuevo. Cuando una ejecución falla a mitad de camino o un paso se interrumpió, abra la ejecución, seleccione el paso desde el que quiere empezar y seleccione **Ejecutar de nuevo desde aquí**. La nueva ejecución reutiliza la salida anterior (aparece como **Reutilizado**) y ejecuta ese paso y todos los siguientes. ```bash klarety agent rerun RUN_ID --from-step summary --project PROJECT_ID ``` ```json { "run_id": "..." } ``` ## Lo que cuestan las ejecuciones [#lo-que-cuestan-las-ejecuciones] Cada ejecución usa créditos de su espacio de trabajo, que se ven en la columna **Créditos**. La página de Agentes muestra **Créditos hoy** y las ejecuciones de esta semana; el saldo y el gasto están en . Un agente pausado o eliminado no inicia ejecuciones, así que deja de usar créditos. ## Si algo sale mal [#si-algo-sale-mal] - **Una ejecución falló**: ábrala, busque el paso marcado como **Fallido** y lea **Registro y archivos**. Si la causa ya pasó (por ejemplo, una dirección web que estaba caída), use **Ejecutar de nuevo desde aquí** en ese paso. - **"Este paso se reintentó después de una interrupción"**: un servicio al que llamó el paso pudo recibir la llamada dos veces. Revíselo si un duplicado importa. - **Una ejecución espera mucho tiempo**: probablemente está en un paso **Le pregunta primero**. Busque en **Lo necesitan**. - **"Esta ejecución terminó antes de producir un resultado"**: falló, se detuvo o se rechazó antes del paso de resultado. Revise qué paso la terminó. ## Siguientes pasos [#siguientes-pasos] - [Probar, activar y pausar](/docs/es/agents/go-live) - [Qué hacen los agentes](/docs/es/agents) - [Créditos](/docs/es/workspace/credits)