Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

Invocar un agente

En esta guía, aprenderá a invocar un agente implementado en MongoDB Atlas Agent Engine. La guía muestra cómo llamar a la API de invocación, invocar un agente desde la CLI, reenviar encabezados personalizados a su agente y reanudar ejecuciones suspendidas.

Para generar la clave API o las credenciales de la cuenta de servicio que utilizan estas solicitudes, consulte la sección "Administrar claves API y cuentas de servicio".

La API de invocación es la que utilizan los clientes para llamar a un agente desplegado. El motor de agentes de Atlas expone estos puntos finales en nombre del agente, por lo que el código del agente no necesita definir rutas HTTP ni iniciar un servidor web.

Para invocar un agente, envíe una solicitud POST al punto final de la API /api/v1/projects/{project_id}/workspaces/{workspace_id}/invoke. La respuesta devuelve el resultado y el estado de la ejecución. La plataforma devuelve el ID de sesión en el encabezado de respuesta X-Session-ID.

El siguiente ejemplo curl utiliza estos marcadores de posición:

  • $API_KEY: Su clave API de Atlas Agent Engine

  • $PROJECT_ID: ID de tu proyecto

  • $WORKSPACE_ID: Tu ID de espacio de trabajo

Seleccione la pestaña correspondiente a su idioma preferido para ver un ejemplo de solicitud de invocación:

curl -s "https://agentengine.mongodb.com/api/v1/projects/$PROJECT_ID/workspaces/$WORKSPACE_ID/invoke" \
-X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "Hello, agent!"}'
import httpx
response = httpx.post(
f"https://agentengine.mongodb.com/api/v1/projects/{project_id}/workspaces/{workspace_id}/invoke",
headers={"Authorization": f"Bearer {api_key}"},
json={"message": "Hello, agent!"},
timeout=60.0,
)
result = response.json()

La respuesta se asemeja a la siguiente salida:

{
"success": true,
"response": "<agent output>",
"execution_id": "string",
"status": "completed"
}

Si la ejecución se suspende para revisión humana, la respuesta también incluye los campos suspend_reason y suspend_context. Para obtener más información, consulte el ciclo de vida Suspender, revisar y reanudar en la guía de Interacción Humana.

Para transmitir la salida de un agente a medida que se produce, envíe una solicitud POST al punto final de la API /api/v1/projects/{project_id}/workspaces/{workspace_id}/invokeStream. La plataforma devuelve la respuesta como una secuencia de tramas de eventos enviados por el servidor (SSE). La conexión permanece abierta hasta que la ejecución finaliza o falla.

Cada trama SSE comienza con el prefijo data: y contiene un único objeto JSON. El siguiente ejemplo muestra el formato de una trama de transmisión:

data: {"chunk_type": "text", "content": "Hello, agent!", "metadata": {}, "execution_id": "string"}

Un marco puede incluir los siguientes campos:

Campo
Descripción

chunk_type

Identifica el tipo de fragmento. La siguiente sección enumera los valores posibles.

content

La carga útil del fragmento. Para los fragmentos text, este campo contiene un incremento de la salida generada por el agente.

metadata

Metadatos estructurados que describen el fragmento.

execution_id

Identifica la ejecución que generó el fragmento. La plataforma incluye este campo cuando se dispone del ID de ejecución.

La siguiente tabla describe los tipos de fragmentos que puede transportar una secuencia:

Tipo de fragmento
Descripción

text

Un incremento en la producción generada por el agente.

step

Una actualización de progreso que emite una herramienta durante su ejecución.

subagent_start

Marca el inicio de la ejecución de un subagente. La plataforma emite este fragmento solo cuando las medidas de seguridad están desactivadas.

subagent_end

Marca el final de la ejecución de un subagente. La plataforma emite este fragmento solo cuando las medidas de seguridad están desactivadas.

done

Marca el final de la transmisión una vez que finaliza la ejecución.

error

Marca el final de la transmisión después de que la ejecución falla. El fotograma también contiene el mensaje de error.

Si la ejecución falla, el flujo envía un fragmento error que incluye el mensaje de error. A continuación, el flujo se cierra.

Si configura el indicador features.use_custom_parser a true en su archivo agent.yaml, el flujo solo contiene los eventos personalizados que produce el analizador de salida del agente o sus llamadas emit_custom_event(). La plataforma reenvía cada evento personalizado como un único marco data:, por lo que el marco contiene exactamente el objeto JSON que emitió el agente. El flujo no incluye los fragmentos estándar como los marcos text, step o done, y se cierra cuando finaliza la ejecución.

La plataforma entrega eventos personalizados únicamente en el punto final invokeStream. El punto final síncrono invoke devuelve la salida final del agente.

Cuando esta función no está habilitada, la transmisión utiliza el formato de fragmentos descrito anteriormente en esta sección. La transmisión no entrega eventos personalizados y una llamada a emit_custom_event() en el código del agente genera un error.

El motor de agentes Atlas también expone los siguientes puntos finales de API para la transmisión, el sondeo, la reanudación y la detención de ejecuciones:

Método y ruta
Propósito

POST /api/v1/projects/{project_id}/workspaces/{workspace_id}/invokeStream

Transmite la salida del agente de forma incremental a medida que se produce, utilizando el protocolo Server-Sent Events.

GET /api/v1/projects/{project_id}/executions/{execution_id}?workspace_id={workspace_id}

Estado y resultado de la encuesta.

POST /api/v1/projects/{project_id}/executions/{execution_id}/resume?workspace_id={workspace_id}

Reanuda una ejecución suspendida. El cuerpo de la solicitud contiene la decisión del revisor. Para obtener más información, consulte la guía «Uso de la API en el bucle humano».

POST /api/v1/projects/{project_id}/executions/{execution_id}/cancel?workspace_id={workspace_id}

Cancela una ejecución en curso, detiene su procesamiento en el servidor y libera los recursos de la sesión. Para obtener más información, consulte Cancelar una sesión.

POST /api/v1/projects/{project_id}/executions/{execution_id}/interrupt?workspace_id={workspace_id}

Interrumpe las llamadas a herramientas o LLM en curso sin finalizar la sesión. Para obtener más información, consulte Interrumpir una llamada a una herramienta o LLM.

Cada punto final executions/** requiere el parámetro de consulta workspace_id. La puerta de enlace utiliza este valor para enrutar la solicitud al motor de orquestación del espacio de trabajo propietario.

Nota

Cancelar o interrumpir una ejecución que ya ha alcanzado un estado terminal es idempotente. La respuesta a la solicitud indica que no se ha producido ningún cambio.

Una ejecución pasa por los estados pending, running y luego completed o error.

Si la ejecución se suspende para revisión humana, pasa por estados adicionales antes de completarse. Para obtener más información sobre el ciclo de vida de suspensión y reanudación, consulte el apartado "Ciclo de vida de suspensión, revisión y reanudación" en la guía "Intervención humana".

Si cancelas una ejecución, esta alcanza el estado cancelled. Este estado es distinto de completed y error, lo que permite a los clientes de la API y la interfaz de usuario diferenciar una ejecución detenida deliberadamente de una que finalizó o falló. Para obtener más información, consulta Cancelar una sesión.

El motor de agentes de Atlas no escala automáticamente las implementaciones de agentes. El campo scaling.replicas del archivo agent.yaml establece un número fijo de entornos aislados (sandboxes), y cada sesión reserva un entorno aislado para agentes y otro para herramientas durante su vida útil. Por lo tanto, este campo determina el número de sesiones que una implementación puede atender simultáneamente.

El campo scaling.replicas acepta un valor entre 1 y 512, y por defecto toma el valor 4 si se omite. Cuando todos los entornos aislados están reservados, una nueva solicitud de invocación falla con un error pool full.

El límite de entornos aislados concurrentes 512 se aplica al Motor de Orquestación, que está vinculado a un proyecto y puede dar servicio a más de un agente. Los valores scaling.replicas de todos los agentes de un proyecto se contabilizan para el mismo límite. Para ejecutar más entornos aislados de los que permite un proyecto, distribuya los agentes entre varios proyectos.

Para evitar que las solicitudes de invocación agoten el grupo de sesiones, reutilice los ID de sesión entre las solicitudes. Las solicitudes que comparten un ID de sesión reutilizan una reserva, pero las que no lo incluyen utilizan un nuevo par de entornos aislados. Un ID de sesión debe tener entre 1 y 128 caracteres y puede contener letras, números, guiones bajos (_) y guiones (-). Pase el ID de sesión en la opción --session del comando agentengine invoke o en el encabezado X-Session-ID de una solicitud de API.

Si sus solicitudes de invocación requieren aislamiento por sesión, no puede reutilizar un ID de sesión. Para atender más sesiones simultáneamente, aumente el valor de scaling.replicas o reduzca los valores de scaling.agent_idle_ttl_seconds y scaling.tool_idle_ttl_seconds para que las sesiones inactivas liberen sus entornos aislados antes.

Dado que Atlas Agent Engine captura los valores de scaling durante la compilación, debe compilar e implementar el agente nuevamente para que los cambios surtan efecto. Para obtener más información sobre estos campos, consulte la Referencia del contrato del agente. Para revisar todas las limitaciones que se aplican durante la vista previa pública, consulte Limitaciones de MongoDB Atlas Agent Engine.

En esta sección, aprenderá cómo pasar encabezados HTTP personalizados, como identificadores de usuario, desde su aplicación a un agente que se ejecuta en Atlas Agent Engine. Su agente podrá leer esos encabezados en tiempo de ejecución mediante el método get_current_custom_headers().

En una solicitud de invocación o reanudación, la puerta de enlace API procesa los encabezados HTTP con el prefijo X-Mdb-Agent-Engine-Custom- realizando los siguientes pasos:

  1. La puerta de enlace API extrae el encabezado.

  2. La puerta de enlace elimina el prefijo y convierte el nombre del encabezado a minúsculas. Por ejemplo, X-Mdb-Agent-Engine-Custom-Authorization se convierte en authorization.

  3. La puerta de enlace reenvía los encabezados al agente como un diccionario.

Los encabezados se envían en memoria a través del proceso de ejecución, nunca se almacenan en la base de datos y el proceso los descarta cuando finaliza la ejecución.

Nota

El motor de agentes de Atlas no conserva los encabezados personalizados. Su aplicación debe reenviarlos en cada solicitud, incluidas las solicitudes de reanudación.

La siguiente tabla muestra los límites para los encabezados personalizados:

Limit
Valor

Número máximo de encabezados personalizados

50

Tamaño máximo por encabezado

8 KiB

Agregue encabezados con el prefijo X-Mdb-Agent-Engine-Custom- a su solicitud de invocación. La puerta de enlace de API elimina el prefijo antes de que el agente los reciba.

Los siguientes ejemplos utilizan los mismos marcadores de posición que los ejemplos de la API de invocación. También utilizan marcadores de posición para los encabezados personalizados que se desean reenviar.

Seleccione la pestaña correspondiente a su idioma preferido para ver un ejemplo de solicitud de invocación con encabezados personalizados:

curl -s "https://agentengine.mongodb.com/api/v1/projects/$PROJECT_ID/workspaces/$WORKSPACE_ID/invoke" \
-X POST \
-H "Authorization: Bearer $API_KEY" \
-H "X-Mdb-Agent-Engine-Custom-Authorization: my-user-id" \
-H "X-Mdb-Agent-Engine-Custom-Tenant-Id: acme-corp" \
-H "Content-Type: application/json" \
-d '{"message": "Hello, agent!"}'
import httpx
response = httpx.post(
f"https://agentengine.mongodb.com/api/v1/projects/{project_id}/workspaces/{workspace_id}/invoke",
headers={
"Authorization": f"Bearer {api_key}",
"X-Mdb-Agent-Engine-Custom-Authorization": "my-user-id",
"X-Mdb-Agent-Engine-Custom-Tenant-Id": "acme-corp",
},
json={"message": "Hello, agent!"},
)

El agente recibe el siguiente diccionario después de ejecutar el código anterior:

{"authorization": "my-user-id", "tenant-id": "acme-corp"}

Utilice el método get_current_custom_headers() de agent_engine_runner_shared dentro de cualquier herramienta para acceder a los encabezados que la puerta de enlace API reenvió al agente. El siguiente código Python muestra cómo usar get_current_custom_headers() para acceder a los encabezados reenviados:

from agent_engine_sdk_langgraph import App
from agent_engine_runner_shared import get_current_custom_headers
app = App(app_name="My Agent")
@app.tool(is_local=True)
def call_external_api(query: str) -> str:
"""Call an external API using the caller's user ID."""
headers = get_current_custom_headers()
user_id = headers.get("authorization", "")
tenant = headers.get("tenant-id", "")
response = httpx.get(
"https://api.example.com/data",
headers={"Authorization": user_id, "X-Tenant-Id": tenant},
params={"q": query},
)
return response.text

El método get_current_custom_headers() devuelve un dict[str, str]. Si la puerta de enlace no envió ningún encabezado personalizado, el método devuelve un diccionario vacío.

El reenvío de encabezados personalizados también funciona con las solicitudes de reanudación. Dado que Atlas Agent Engine no conserva los encabezados personalizados, debe reenviar los mismos encabezados X-Mdb-Agent-Engine-Custom- al reanudar una ejecución suspendida. Para ver un ejemplo de solicitud de reanudación que reenvía encabezados personalizados, consulte la guía «Uso de la API en el bucle humano».

Cancelar una solicitud de su cliente solo cierra su conexión. La ejecución continúa en el servidor hasta que la detenga a través del Motor del Agente Atlas.

El motor de agentes de Atlas proporciona las siguientes formas de detener un trabajo que ya se está ejecutando:

Para cancelar una ejecución en curso, envíe una solicitud POST al punto final /api/v1/projects/{project_id}/executions/{execution_id}/cancel y configure el parámetro de consulta workspace_id. La solicitud no requiere un cuerpo.

Seleccione la pestaña correspondiente a su idioma preferido para ver un ejemplo de cómo cancelar una ejecución:

curl -X POST "https://agentengine.mongodb.com/api/v1/projects/$PROJECT_ID/executions/$EXECUTION_ID/cancel?workspace_id=$WORKSPACE_ID" \
-H "Authorization: Bearer $API_KEY"
import httpx
response = httpx.post(
f"https://agentengine.mongodb.com/api/v1/projects/{project_id}/executions/{execution_id}/cancel",
params={"workspace_id": workspace_id},
headers={"Authorization": f"Bearer {api_key}"},
)

La respuesta se asemeja a la siguiente salida:

{
"execution_id": "string",
"cancelled": true,
"status": "cancelled"
}

El campo cancelled indica si esta solicitud cambió el estado de ejecución a cancelled. El valor del campo es true para una ejecución cancelled y false cuando la solicitud no cambió de estado de ejecución porque ya había alcanzado un estado terminal, incluido cancelled de una solicitud anterior. Cuando el valor del campo es false, el campo status informa el estado terminal registrado.

Cuando cancelas una ejecución, el motor del agente de Atlas hace lo siguiente:

  • Cancela las llamadas a herramientas o LLM en curso, desmantela el entorno aislado del agente y de la herramienta de la sesión, y libera el espacio de capacidad. Una nueva ejecución puede reutilizar dicho espacio.

  • Cancela todas las demás ejecuciones en vivo en la misma sesión, incluidas las ejecuciones de agente profundo y de agente a agente que sean hijas de la ejecución de destino.

  • Finaliza una secuencia de respuestas abierta en lugar de dejarla abierta hasta que expire el tiempo de espera.

  • Factura el tiempo de ejecución acumulado durante la sesión hasta su cancelación.

Nota

No se puede reanudar una ejecución cancelada. Para enviar otro mensaje al agente, vuelva a invocarlo. La solicitud inicia una nueva ejecución en lugar de reanudar la cancelada.

También puedes detener una ejecución desde la interfaz de usuario de Playground en lugar de llamar al punto final de la API cancel. Detener una ejecución desde Playground tiene el mismo efecto que cancelar la sesión. Para obtener más información, consulta Cancelar una sesión.

Para detener una carrera desde el área de juegos, siga los siguientes pasos:

1

Acceda a la URL de la interfaz de usuario del entorno de pruebas para su implementación.

2

Mientras la carrera esté en curso, haga clic en el botón rojo de detener en la barra de chat para abrir el cuadro de diálogo de confirmación.

3

En el cuadro de diálogo, haga clic en Stop run. Esto detiene la ejecución y libera los recursos informáticos de la sesión.

Interrumpir una llamada de herramienta o LLM detiene únicamente esa llamada. La sesión permanece activa y el agente continúa su ejecución desde el resultado de la interrupción. Interrumpa una llamada cuando una llamada individual se bloquea o no es deseada y no desea cancelar toda la sesión.

Para interrumpir una llamada, envíe una solicitud POST al punto final de la API /api/v1/projects/{project_id}/executions/{execution_id}/interrupt. La solicitud toma los siguientes parámetros:

Parameter
Tipo
Requerido
Descripción

workspace_id

Parámetro de consulta

Sí

El espacio de trabajo propietario de la ejecución. El motor del agente Atlas utiliza este valor para dirigir la solicitud de interrupción al motor de orquestación de dicho espacio de trabajo. Si omite este parámetro, la solicitud fallará con el mensaje de error 400.

step_number

Campo corporal

No

Paso de ejecución de la llamada individual que se va a interrumpir. Si omite este campo, el motor del agente Atlas interrumpirá todas las llamadas en curso.

Seleccione la pestaña correspondiente a su idioma preferido para ver un ejemplo de cómo interrumpir una llamada a una herramienta o a LLM:

curl -X POST "https://agentengine.mongodb.com/api/v1/projects/$PROJECT_ID/executions/$EXECUTION_ID/interrupt?workspace_id=$WORKSPACE_ID" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"step_number": 12}'
import httpx
response = httpx.post(
f"https://agentengine.mongodb.com/api/v1/projects/{project_id}/executions/{execution_id}/interrupt",
params={"workspace_id": workspace_id},
headers={"Authorization": f"Bearer {api_key}"},
json={"step_number": 12},
)

La respuesta se asemeja a la siguiente salida:

{
"execution_id": "string",
"interrupted": true,
"interrupted_steps": [ 12 ],
"pending": false,
"outcome": "aborted"
}

El campo outcome describe el resultado de la solicitud de interrupción y devuelve uno de los siguientes valores:

Valor
Descripción

aborted

El motor del agente Atlas detuvo una llamada en curso. El campo interrupted_steps muestra los pasos que detuvo.

armed

No había ninguna llamada en curso, por lo que el motor del agente Atlas aplica la solicitud de interrupción a la siguiente llamada a la herramienta o LLM de la ejecución. El campo pending es true.

already_armed

Ya existía una solicitud de interrupción preparada que no había caducado. El motor del agente Atlas no prorrogó su fecha de caducidad.

noop_terminal

La ejecución ya ha alcanzado un estado terminal.

noop

El valor step_number que proporcionó no coincide con ninguna llamada en curso. El motor del agente Atlas no prepara una solicitud de interrupción.

La interrupción de una llamada es idempotente y no altera el estado de ejecución. Si se interrumpen todas las llamadas de un paso, el agente finaliza ese turno en lugar de volver a intentar las llamadas. Si se interrumpen solo algunas de las llamadas de un paso, el agente continúa con normalidad.

Nota

El motor de agentes de Atlas puede interrumpir una llamada que requiera mucha E/S, como una llamada LLM o una llamada a una herramienta de red. Sin embargo, una herramienta que ejecute un cálculo local que requiera mucha CPU podría no detenerse hasta que finalice.

Una sesión mantiene su entorno aislado de agente y su entorno aislado de herramientas hasta que expire el tiempo de espera por inactividad. Si marca una sesión como finalizada, su agente puede liberar ese procesamiento inmediatamente en lugar de esperar a que expire el tiempo de espera.

Seleccione la pestaña correspondiente a su idioma preferido para ver un ejemplo de cómo marcar una sesión como finalizada desde su agente:

status = app.finish_session()
const status = app.finishSession();

El turno actual continúa ejecutándose y devuelve su resultado. Una vez finalizado el turno, el motor del agente Atlas cancela cualquier ejecución de subagentes activa y libera los pods de la sesión.

El método devuelve uno de los siguientes valores:

Python
TypeScript
Descripción

REQUESTED

requested

El motor de agentes de Atlas aceptó la solicitud.

ALREADY_REQUESTED

already_requested

El agente ya solicitó que el motor del agente de Atlas finalizara esta sesión.

UNAVAILABLE

unavailable

No hay ninguna sesión que finalizar. El método devuelve este valor cuando se llama fuera de la ejecución de un agente, por ejemplo, desde un script local o un entorno aislado de herramientas, o después de que finalice el turno.

Este método no genera ningún error ni lanza ninguna excepción cuando no hay ninguna sesión que finalizar.

Un turno que se suspende para revisión humana o falla conserva sus recursos para que puedas reanudarlo y diagnosticarlo. En ese caso, la sesión vuelve al tiempo de espera por inactividad. Para obtener más información sobre los tiempos de espera por inactividad, consulta Errores de Pool lleno.

El comando agentengine invoke invoca un agente desplegado desde la terminal sin escribir ningún código de cliente HTTP. Por defecto, lee el espacio de trabajo del archivo .agentengine/state.json del directorio actual.

Si ejecuta el comando sin un mensaje en una terminal interactiva, se inicia una sesión de chat en tiempo real y se reutiliza el ID de sesión devuelto en cada turno. En este modo interactivo, la interfaz de línea de comandos (CLI) muestra automáticamente una solicitud de revisión en línea cuando el agente suspende la ejecución para la revisión por parte de un operador humano (HITL).

agentengine invoke [message] [flags]
agentengine invoke --file <path> [flags]

La siguiente tabla describe las banderas disponibles:

Flag
Descripción

--stream

Transmita los fragmentos de respuesta a medida que llegan. Para saber cómo la plataforma formatea la salida transmitida, consulte Transmitir la salida de su agente.

--session <id>

ID de la sesión de conversación para reanudar o reutilizar entre turnos.

--user-id <id>

ID de usuario que se pasará al agente desplegado. Un usuario de cuenta de servicio no puede usar este indicador para actuar como otro usuario, tal como se describe en la nota sobre la identidad en memoria de la cuenta de servicio.

--file <path>

Lee el mensaje desde un archivo en lugar de un argumento posicional.

--payload <json>

Objeto de metadatos JSON que se envía al agente junto con el mensaje. Debe especificar un objeto JSON válido. Este indicador se puede combinar con --file o con un argumento de mensaje posicional.

--resume <json>

JSON resume_map para reanudar una sesión suspendida. Requiere --session. Este indicador es mutuamente excluyente con un mensaje posicional, --file, y la entrada estándar.

--json

Genera JSON sin procesar, incluyendo el ID de sesión y los fragmentos transmitidos.

--workspace

(Solo para Monorepo) Invocar un espacio de trabajo específico por su nombre.

--workspace-id <id>

ID del espacio de trabajo de la plataforma, que omite la resolución del espacio de trabajo local.

--project-id <id>

ID del proyecto de la plataforma.

--org-id <id>

ID de la organización.

--base-url <url>

URL base de la API de la plataforma.

--context <name>

Contexto local con nombre de .agentengine/state.json. No se puede combinar con --workspace-id, --project-id, --org-id o --base-url.

--timeout <duration>

Tiempo máximo de espera para cada solicitud de invocación. El valor predeterminado es 10m.

Importante

Identidad de memoria de la cuenta de servicio

Cuando una cuenta de servicio invoca un agente implementado, el motor de agentes de Atlas utiliza la identidad de la propia cuenta de servicio como identidad de memoria en tiempo de ejecución. La plataforma ignora cualquier valor user_id del usuario final que proporcione la solicitud de invocación o el indicador agentengine invoke --user-id.

Las operaciones automáticas de grabación, extracción, consolidación y app.memory utilizan esta identidad resuelta. Como resultado, las invocaciones que se autentican a través de la misma cuenta de servicio comparten un ámbito de usuario de memoria.

Esta limitación se aplica únicamente a los agentes desplegados que invoca una cuenta de servicio. El servicio de memoria independiente, con ámbito de proyecto, no se ve afectado. Este servicio continúa aceptando valores explícitos de user_id y session_id del emisor.

Para aislar la memoria por usuario final, llame al servicio de memoria independiente desde su aplicación y pase los valores user_id y session_id explícitos en cada llamada. Para obtener más información, consulte la sección "Uso del servicio de memoria independiente".

El siguiente comando invoca al agente con un único mensaje:

agentengine invoke "What can you do?"

El siguiente comando transmite la respuesta del agente a medida que se produce:

agentengine invoke --stream "Draft a release note"

El siguiente comando reanuda o continúa una sesión con nombre:

agentengine invoke --session my-session "Follow up question"

El siguiente comando lee un mensaje de un archivo y genera JSON sin procesar:

cat prompt.txt | agentengine invoke --json

Al ejecutar agentengine invoke en modo interactivo, puede gestionar la carga útil entre turnos utilizando uno de los siguientes comandos:

Entrada
Comportamiento

/payload <json>

Establece la carga útil actual al objeto JSON proporcionado. La interfaz de línea de comandos reenvía la carga útil con cada mensaje subsiguiente hasta que la borre.

/payload

Muestra la carga útil actual como JSON formateado o imprime (no payload set) si no se ha configurado ninguna carga útil.

/payload clear

Borra la carga útil actual.

Cuando un agente se suspende para revisión humana (HITL) en modo interactivo, la interfaz de línea de comandos (CLI) muestra el contexto de suspensión y solicita una decisión en línea. Para saber cómo la CLI presenta la solicitud de revisión y cómo reanudar la ejecución, consulte la guía "Uso de la CLI en la revisión humana".

Tras activar un agente, puede supervisar su rendimiento y actividad. Para obtener más información, consulte la guía de Monitorización.