El Skill alibabacloud-agentloop-management permite que agentes de IA como Cursor, Claude Code y QoderWork integren aplicaciones a la observability de AgentLoop mediante lenguaje natural. Usted describe sus requisitos de integración en una conversación y el agente de IA orquesta automáticamente los comandos del CLI aliyun cms2 para completar todo el flujo de trabajo de integración.
Una vez completada la integración, puede consultar los siguientes datos de monitoreo en la consola:
Aplicaciones de servidor: datos de APM que incluyen la topología de la aplicación, las llamadas a API, las transacciones anómalas y las transacciones lentas.
Aplicaciones de IA: métricas de observability de IA que incluyen la latencia de llamadas a LLM, el uso de token, los traces de Agent y las llamadas a herramientas.
La integración mediante AI Agent es una capa inteligente que envuelve los procesos de integración por CLI y por consola. Internamente utiliza el CLI de AgentLoop (aliyun cms2) y soluciones de sonda estándar (como ack-onepilot, AliyunJavaAgent, aliyun-bootstrap, instgo y OpenTelemetry). Si su aplicación se despliega en Container Service for Kubernetes (ACK) o Alibaba Cloud Container Compute Service (ACS), compruebe que el clúster tenga instalado y autorizado el componente ack-onepilot. Para obtener más información, consulte Install the Java agent by using the ack-onepilot component.
Los agentes de IA funcionan con modelos de lenguaje grandes y pueden presentar riesgos de alucinación del modelo, como parámetros de comando incorrectos o errores en la identificación de recursos. Aunque el Skill incluye un mecanismo de confirmación en dos fases, verifique cuidadosamente los comandos y los recursos de destino que genera el Agent antes de aprobar la ejecución. Las operaciones de integración pueden implicar cambios en componentes del clúster, reinicios de aplicaciones y otras modificaciones que afectan el entorno de producción. (Recomendado) Complete primero la verificación de la integración y la evaluación de impacto en un entorno de pruebas. Confirme que el impacto de la sonda en el rendimiento y la estabilidad de la aplicación sea aceptable antes de usarla en un entorno de producción.
Escenarios aplicables
El AI Agent selecciona automáticamente la sonda y la ruta de integración adecuadas según el tipo de aplicación:
|
Tipo de aplicación |
Stack tecnológico habitual |
Métricas clave |
Entorno de despliegue habitual |
|
Aplicaciones de servidor |
microservices en Java, Golang, Python y Node.js |
QPS/RT de API, topología de la aplicación, transacciones lentas |
ACK/ACS, ECS |
|
Aplicaciones de IA |
LangChain, DashScope, Dify, AgentScope |
Llamadas a LLM, uso de token, traces de Agent |
ACK/ACS, ECS |
Cómo funciona la integración con AI Agent
El Skill alibabacloud-agentloop-management encapsula el proceso de integración del CLI de AgentLoop (aliyun cms2) en un flujo de trabajo estructurado que los agentes de IA pueden ejecutar. Sus capacidades principales son las siguientes:
Impulsado por lenguaje natural: describa sus requisitos de integración en una sola frase, sin necesidad de memorizar comandos ni parámetros del CLI.
Consciente del escenario: selecciona automáticamente la solución de sonda adecuada según el tipo de aplicación, el lenguaje y el entorno de despliegue (ECS, ACK/ACS).
Orquestación automatizada: completa la confirmación del Workspace, la inicialización de APM, la obtención de credenciales, el registro del servicio y la configuración de la sonda.
Seguro y controlable: aplica una confirmación en dos fases para las operaciones de cambio, como Patch Deployment y las modificaciones de parámetros de inicio. La ejecución comienza solo después de la revisión del usuario.
El flujo de trabajo habitual es el siguiente:
Usted describe los requisitos de integración (Workspace, tipo de aplicación, lenguaje/framework, nombre de la aplicación y entorno de despliegue). Si no proporciona un Workspace con el formato
agentloop-{32-character code}, el Agent lo solicita de manera proactiva.El Agent comprueba el entorno del CLI y las credenciales, e inicializa la infraestructura de APM.
El Agent genera un plan de ejecución que muestra los comandos, el alcance del impacto y los métodos de reversión.
Después de que usted confirme, el Agent inyecta la sonda o modifica los parámetros de inicio.
El Agent verifica los resultados de la integración y le indica cómo consultar los datos de monitoreo en la consola.
Requisitos previos
|
Condición |
Descripción |
|
Cuenta de Alibaba Cloud |
AgentLoop está activado y usted cuenta con permisos de administración sobre el Workspace de destino. |
|
Workspace de AgentLoop |
Obligatorio. Formato: |
|
CLI de Alibaba Cloud |
Versión ≥ 3.3.15, con el plugin |
|
Credenciales del CLI |
Credenciales de acceso configuradas mediante |
|
AI Agent |
Debe tener instalado QoderWork, Cursor, Claude Code u otra herramienta compatible con Agent Skills. |
|
Escenario de K8s |
El clúster ACK/ACS tiene instalado ack-onepilot (versión ≥ 5.1.0) y la autorización de recursos de ARMS está completa. |
|
Escenario de ECS |
La instancia ECS de destino puede ejecutar comandos mediante Cloud Assistant o SSH. |
En escenarios de K8s, la integración con ack-onepilot implica instalar o modificar componentes del clúster. Agregar Labels a los Deployments de destino desencadena reinicios progresivos de Pods, lo cual puede afectar servicios en ejecución o cargas de trabajo de inference de IA.
Paso 1: Instalar y configurar el entorno del CLI
Si aún no ha instalado el CLI de Alibaba Cloud, consulte Install Alibaba Cloud CLI para completar la instalación.
Compruebe que la versión de su CLI sea 3.3.15 o posterior y que el plugin cms2 esté disponible:
# Verify CLI version >= 3.3.15
aliyun version
# Verify the cms2 plugin is available
aliyun cms2 --help
Si el comando cms2 no está disponible, actualice el plugin:
aliyun plugin update
Configure las credenciales de acceso. Si obtener un AccessKey resulta inconveniente, se recomienda utilizar OAuth. Para obtener más información, consulte OAuth credentials. Si utiliza un AccessKey, ejecute el siguiente comando:
aliyun configure
(Recomendado) Utilice un usuario de RAM con los permisos necesarios para AgentLoop (API cms2), ARMS y Container Service. En escenarios de K8s, los clústeres administrados suelen usar ARMS Addon Token para la autorización sin contraseña. Los clústeres dedicados o de ACS podrían requerir configurar AK/SK en ack-onepilot. Para más detalles, consulte la sección de autorización en Install the Java agent by using the ack-onepilot component.
Paso 2: Instalar el Skill alibabacloud-agentloop-management
Abra la página del marketplace de Skills: alibabacloud-agentloop-management.
Siga las instrucciones de la página para instalar el Skill en Cursor, Claude Code o QoderWork.
Una vez finalizada la instalación, reinicie el asistente de IA o confirme en la conversación que el Skill se cargó correctamente.
A continuación se muestran ejemplos de activación mediante lenguaje natural:
|
Ejemplos de palabras clave de activación |
Capacidad correspondiente |
|
"Onboard Java application", "Spring Boot monitoring" |
Integración de aplicaciones de servidor Java en K8s/ECS |
|
"Golang probe onboarding", "instgo" |
Integración de aplicaciones Golang |
|
"LangChain onboarding", "LangGraph monitoring" |
Integración de aplicaciones de IA en Python para K8s/ECS |
|
"DashScope application onboard AgentLoop" |
Integración de aplicaciones con el SDK de Qwen |
|
"AI Agent monitoring", "LLM call monitoring" |
Recopilación de métricas de observability de IA |
|
"Dify onboard OpenTelemetry" |
Guía de configuración de OTel para Dify |
|
"ack-onepilot onboard APM" |
Inyección no intrusiva de sondas en contenedores de K8s |
|
"Install Java probe on ECS" |
Integración de AliyunJavaAgent en ECS |
Paso 3: Iniciar la integración mediante lenguaje natural
Al describir sus requisitos de integración, incluya la siguiente información. El Agent detecta automáticamente los datos faltantes o los solicita si es necesario.
|
Información |
Obligatorio |
Ejemplo |
|
Workspace de AgentLoop |
Sí |
|
|
Tipo de aplicación / lenguaje / framework |
Sí |
Java, LangChain, DashScope, Dify |
|
Nombre de la aplicación |
Sí |
|
|
Entorno de despliegue |
Sí |
Clúster ACK, ECS |
|
Información del clúster o de la instancia |
Depende del escenario |
Nombre del Namespace o Deployment, ID de la instancia ECS |
|
Región |
Opcional |
Proporciónela por separado o se derivará automáticamente de la información del clúster |
Ejemplos para aplicaciones de servidor
Aplicación Java en K8s:
Onboard the order-service deployment in the default namespace of my ACK cluster to AgentLoop APM, language is Java, Workspace is agentloop-2694ecf8****************1f84542d
Aplicación Java en ECS:
Help me onboard the Spring Boot application order-api on ECS instance i-bp1xxxxxxxxxx to APM monitoring, Workspace is agentloop-2694ecf8****************1f84542d
Aplicación Golang en K8s:
Help me onboard the Golang microservice payment-service in my ACK cluster to AgentLoop application monitoring, Workspace is agentloop-2694ecf8****************1f84542d
Ejemplos para aplicaciones de IA
Aplicación LangChain en K8s:
Help me onboard the LangChain application customer-support-agent in my ACK cluster to AgentLoop monitoring, Workspace is agentloop-2694ecf8****************1f84542d
Aplicación DashScope en ECS:
Help me onboard the DashScope conversational application qa-bot on ECS to AgentLoop AI observability monitoring, Workspace is agentloop-2694ecf8****************1f84542d
Despliegue autoalojado de Dify:
My Dify is deployed on K8s, help me configure OpenTelemetry reporting to AgentLoop, Workspace is agentloop-2694ecf8****************1f84542d
Paso 4: Confirmar el plan de ejecución y completar la integración
El AI Agent utiliza un protocolo de confirmación en dos fases para todas las operaciones de cambio:
|
Fase |
Comportamiento |
|
Fase A (Plan) |
Muestra los recursos de destino, los comandos específicos, el alcance del impacto y los métodos de reversión. Después finaliza el turno actual y espera la confirmación. |
|
Fase B (Ejecución) |
Se ejecuta únicamente tras la aprobación explícita del usuario (por ejemplo, al responder "yes" o "confirm"). |
Los comandos de solo lectura (get, list) y las inicializaciones idempotentes (apm configuration create) no requieren confirmación; el Agent los ejecuta directamente.
Después de su confirmación, el Agent inyecta la sonda o modifica los parámetros de inicio según su escenario de despliegue. Antes de ejecutar cualquier acción, el Agent enumera todos los cambios planeados y los pasos de reversión en el plan de ejecución. Para conocer los comandos habituales que el Agent ejecuta en cada escenario, consulte Onboarding execution reference: K8s (ACK/ACS).
Cuando la integración finaliza, el Agent le indica que espere entre 2 y 3 minutos antes de revisar los datos de monitoreo en la consola.
Paso 5: Verificar los resultados de la integración
Verificar mediante el CLI
Reemplace cn-hangzhou en el siguiente comando por el ID real de su región:
aliyun cms2 apm service list \
--workspace agentloop-2694ecf8****************1f84542d \
--service-name <application-name> \
--region cn-hangzhou
Criterio de éxito: la aplicación aparece en la lista de servicios con el estado Running.
Verificar mediante K8s (escenarios de contenedores)
kubectl rollout status deployment/<deployment-name> -n <namespace>
kubectl get pods -n <namespace> -l app=<app-label> \
-o jsonpath='{range .items[*]}{.metadata.name}: initContainers={.spec.initContainers[*].name}{"\n"}{end}'
kubectl logs -n <namespace> -l app=<app-label> --tail=30 | grep -i "arms\|OneAgent\|bootstrap\|agent"
Verificar mediante ECS
# Java application: confirm the ARMS Agent is loaded in the process
ps aux | grep "aliyun-java-agent" | grep -v grep
Consultar los datos de monitoreo en la consola
Inicie sesión en la consola de AgentLoop.
Seleccione el Workspace de destino.
En el panel de navegación izquierdo, elija .
-
Haga clic en el nombre de la aplicación de destino para consultar los datos de monitoreo:
Aplicaciones de servidor: topología de la aplicación, llamadas a API (QPS/RT/tasa de error), transacciones anómalas y transacciones lentas.
Aplicaciones de IA: llamadas a LLM (nombre del modelo, latencia, tasa de éxito), estadísticas de token, traces de Agent, topología de Tool Call y seguimiento de excepciones.
Referencia de ejecución de la integración: K8s (ACK/ACS)
Esta sección y las dos siguientes describen los comandos y las operaciones habituales que el AI Agent ejecuta automáticamente durante la integración. Estos pasos se muestran solo como referencia, ya que el Agent se encarga de ellos por usted.
A continuación se toma como ejemplo el escenario de K8s. El flujo de ejecución del Agent es el mismo para aplicaciones de servidor en Java y aplicaciones de IA en Python; solo cambia el identificador de lenguaje en los Labels.
(1) Obtener la información de la cuenta y del clúster
aliyun sts get-caller-identity --force -o json
aliyun cs describe-clusters
(2) Inicializar la infraestructura de APM y obtener las credenciales
aliyun cms2 apm configuration create \
--workspace agentloop-2694ecf8****************1f84542d \
--region cn-hangzhou
aliyun cms2 apm configuration get \
--workspace agentloop-2694ecf8****************1f84542d \
--region cn-hangzhou -o json
El valor authToken devuelto corresponde al LicenseKey, mientras que publicDomain y privateDomain son los Endpoints para el envío de datos.
(3) Registrar el servicio de la aplicación
# Server-side Java application example
aliyun cms2 apm service create \
--workspace agentloop-2694ecf8****************1f84542d \
--region cn-hangzhou \
--body '{"serviceName":"order-service","serviceType":"TRACE","attributes":"{\"language\":\"java\"}"}' \
< /dev/null
# AI Python application example
aliyun cms2 apm service create \
--workspace agentloop-2694ecf8****************1f84542d \
--region cn-hangzhou \
--body '{"serviceName":"customer-support-agent","serviceType":"TRACE","attributes":"{\"language\":\"python\"}"}' \
< /dev/null
(4) Comprobar el estado del componente ack-onepilot
kubectl get pods -n ack-onepilot
(5) Aplicar Patch Deployment para inyectar la sonda
Aplicar un parche a un Deployment para agregar Labels desencadena reinicios progresivos de Pods.
Aplicación de servidor en Java:
kubectl patch deployment order-service -n default \
--type=strategic -p '{
"spec":{"template":{"metadata":{"labels":{
"aliyun.com/app-language":"java",
"armsPilotAutoEnable":"on",
"armsPilotCreateAppName":"order-service",
"armsPilotAppWorkspace":"agentloop-2694ecf8****************1f84542d"
}}}}}
}'
Aplicación de IA en Python (LangChain / DashScope):
kubectl patch deployment customer-support-agent -n default \
--type=strategic -p '{
"spec":{"template":{"metadata":{"labels":{
"aliyun.com/app-language":"python",
"armsPilotAutoEnable":"on",
"armsPilotCreateAppName":"customer-support-agent",
"armsPilotAppWorkspace":"agentloop-2694ecf8****************1f84542d"
}}}}}
}'
Los Labels deben agregarse en el nivel spec.template.metadata.labels (Pod Template), no en el nivel metadata.labels del Deployment. Se requieren los siguientes Labels:
labels:
armsPilotAutoEnable: "on"
armsPilotCreateAppName: "<application-name>"
armsPilotAppWorkspace: "<workspace-name>"
aliyun.com/app-language: "<language>" # e.g., java, golang, python
Los siguientes ejemplos muestran manifiestos YAML completos de Deployment como referencia.
Referencia YAML completa (aplicación de servidor en Java):
apiVersion: apps/v1
kind: Deployment
metadata:
name: order-service
namespace: default
spec:
replicas: 2
selector:
matchLabels:
app: order-service
template:
metadata:
labels:
app: order-service
armsPilotAutoEnable: "on"
armsPilotCreateAppName: "order-service"
armsPilotAppWorkspace: "agentloop-2694ecf8****************1f84542d"
aliyun.com/app-language: java
spec:
containers:
- name: order-service
image: registry.example.com/order-service:latest
ports:
- containerPort: 8080
Referencia YAML completa (aplicación de IA en Python):
apiVersion: apps/v1
kind: Deployment
metadata:
name: customer-support-agent
namespace: default
spec:
replicas: 2
selector:
matchLabels:
app: customer-support-agent
template:
metadata:
labels:
app: customer-support-agent
armsPilotAutoEnable: "on"
armsPilotCreateAppName: "customer-support-agent"
armsPilotAppWorkspace: "agentloop-2694ecf8****************1f84542d"
aliyun.com/app-language: python
spec:
containers:
- name: customer-support-agent
image: registry.example.com/customer-support-agent:latest
ports:
- containerPort: 8000
(6) Verificar la actualización progresiva
kubectl rollout status deployment/<deployment-name> -n <namespace> --timeout=120s
Referencia de ejecución de la integración: ECS
En escenarios de ECS, el Agent ejecuta las siguientes operaciones en la instancia de destino mediante Cloud Assistant o SSH:
Descargar y extraer la sonda del lenguaje correspondiente (como AliyunJavaAgent o aliyun-bootstrap).
Configurar las propiedades de la sonda (LicenseKey, AppName, Workspace).
Modificar los parámetros de inicio o las variables de entorno de la aplicación.
Reiniciar la aplicación y verificar la carga de la sonda.
Ejemplo de parámetro de inicio JVM para una aplicación Java:
java -javaagent:/opt/arms/AliyunJavaAgent/aliyun-java-agent.jar \
-Darms.licenseKey=<LicenseKey> \
-Darms.appName=order-api \
-Darms.workspace=agentloop-2694ecf8****************1f84542d \
-jar app.jar
Referencia de ejecución de la integración: Dify y OTel
Dify incluye compatibilidad nativa con OpenTelemetry. El Agent le guía para configurar el OTel Exporter y enviar datos de Trace al Endpoint de APM de AgentLoop (el LicenseKey y el Endpoint se obtienen con apm configuration get), sin necesidad de inyectar nada mediante ack-onepilot.
Soluciones de sonda compatibles
Aplicaciones de servidor
El AI Agent selecciona automáticamente uno de los siguientes métodos de integración según el lenguaje de la aplicación y el entorno de despliegue:
|
Lenguaje |
ack-onepilot (K8s) |
Sonda propietaria |
OpenTelemetry |
|
Java |
Compatible |
AliyunJavaAgent |
OTel Java Agent |
|
Golang |
Compatible |
instgo |
OTel Go SDK |
|
Python |
Compatible |
aliyun-bootstrap |
opentelemetry-instrument |
|
Node.js |
— |
@loongsuite/cms_node_sdk |
OTel Node SDK |
|
PHP |
— |
— |
Extensión OTel para PHP |
|
.NET |
— |
— |
OTel .NET Auto-Instrument |
Para aplicaciones en Java, Golang y Python dentro de escenarios de K8s, se prefiere la inyección no intrusiva de ack-onepilot, ya que no requiere modificar el código de la aplicación ni los Dockerfiles. En escenarios de ECS, la integración suele completarse modificando los parámetros de inicio de la JVM (Java) o instalando paquetes de sonda (Golang/Python).
Aplicaciones de IA
|
Framework de IA |
Sonda subyacente |
Entorno de despliegue habitual |
|
LangChain / LangGraph |
aliyun-bootstrap para Python |
ACK/ACS, ECS |
|
DashScope (Qwen) |
aliyun-bootstrap para Python |
ACK/ACS, ECS |
|
AgentScope |
aliyun-bootstrap para Python |
ACK/ACS, ECS |
|
SDK de OpenAI |
aliyun-bootstrap para Python |
ACK/ACS, ECS |
|
Dify |
OTel integrado en Dify |
Autoalojado, K8s |
|
Coze |
instgo para Golang |
ACK/ACS, ECS |
|
OpenClaw / CoPaw / Hermes |
Script de instalación dedicado |
Variable |
Los frameworks de IA basados en Python dentro de escenarios de K8s suelen utilizar ack-onepilot para inyectar automáticamente la sonda aliyun-bootstrap. En aplicaciones con compatibilidad nativa para OpenTelemetry, como Dify, el Agent le guía para configurar el OTel Exporter hacia el Endpoint de AgentLoop, sin inyección mediante ack-onepilot.
Preguntas frecuentes
El comando cms2 no está disponible
Causa: la versión del CLI es demasiado antigua o el plugin cms2 no está instalado.
Solución:
aliyun upgrade -y
aliyun plugin update
aliyun cms2 --help
Los Pods no tienen la sonda inyectada en escenarios de K8s
Causa: ack-onepilot no está instalado, la versión es demasiado antigua o la autorización de ARMS no se completó.
Solución:
Compruebe que la versión de ack-onepilot sea ≥ 5.1.0.
Revise la salida del comando
kubectl get pods -n ack-onepilot.Confirme que el clúster tenga configurado el ARMS Addon Token o la autorización AK/SK.
Confirme que
aliyun.com/app-languagecoincida con el lenguaje real de la aplicación.Confirme que los Labels se agregaron en el nivel Pod Template.
Los Pods entran en CrashLoopBackOff después de la integración
Causa: la inyección de la sonda falló o la sonda no es compatible con el entorno de ejecución de la aplicación.
Solución:
Revise los registros del initContainer para diagnosticar los errores de inyección.
Confirme que
aliyun.com/app-languagecoincida con el lenguaje real de la aplicación.Verifique el proceso correctamente en un entorno de pruebas y, después, vuelva a ejecutar la integración.
La sonda se carga, pero no aparecen datos en la consola
Causa: la configuración de LicenseKey, Workspace o Endpoint es incorrecta, o existen problemas de conectividad de red.
Solución:
Ejecute
aliyun cms2 apm configuration getpara verificar las credenciales.Confirme que el valor del Label
armsPilotAppWorkspacecoincida con el nombre del Workspace.Compruebe la conectividad de red desde el clúster o la instancia ECS hasta el Endpoint de APM. Use
privateDomainpara redes internas de VPC.Genere una solicitud de negocio o una llamada a LLM, espere entre 2 y 3 minutos y luego revise la consola.
No hay datos de llamadas a LLM tras integrar la aplicación de IA
Causa: la sonda no se cargó correctamente o el framework de IA no es reconocido por la sonda.
Solución:
Confirme que ack-onepilot haya inyectado el initContainer en el Pod.
Confirme que la aplicación utilice un framework de IA en Python compatible con aliyun-bootstrap (como LangChain o DashScope).
Genere una llamada a LLM, espere entre 2 y 3 minutos y luego revise la consola.
Revise los registros de la aplicación para buscar mensajes que confirmen la inicialización correcta de la sonda.
Cómo revertir la integración
Escenario de K8s: elimine los Labels relacionados con ARMS y los Pods se reiniciarán de forma progresiva sin la inyección de la sonda.
kubectl patch deployment <deployment-name> -n <namespace> \
--type json \
--patch '[
{"op": "remove", "path": "/spec/template/metadata/labels/armsPilotAutoEnable"},
{"op": "remove", "path": "/spec/template/metadata/labels/armsPilotCreateAppName"},
{"op": "remove", "path": "/spec/template/metadata/labels/armsPilotAppWorkspace"}
]'
Escenario de ECS: quite -javaagent y las configuraciones relacionadas con -Darms.* de los parámetros de inicio, y reinicie la aplicación.