logo
Desarrollo
Buscar
Habilidades (Skills)

Habilidades (Skills)

Las habilidades son una capacidad exclusiva de LoopAgent: un manual (un SOP) que el modelo «lee» en lugar de «llamar». Una habilidad consta de un cuerpo SKILL.md más archivos de referencia y scripts opcionales. Cuando lo necesita, el modelo lee el cuerpo y sigue los pasos que contiene.

Qué es una habilidad y cómo se usa

  • Un paquete de habilidad = un SKILL.md obligatorio + archivos de texto y scripts opcionales. Todo el paquete no debe superar los 20 MB, y ningún archivo individual puede superar los 5 MB.
  • En cada ronda, el sistema le da al modelo solo una «lista de habilidades disponibles»: solo nombres y descripciones, sin el cuerpo. Solo después de que el modelo decide que una habilidad es relevante, lee el cuerpo completo SKILL.md de esa habilidad.
  • Los archivos de un paquete de habilidad solo se pueden leer a través del mecanismo de habilidades; no están en ningún sistema de archivos local (consulta la nota sobre el sandbox más abajo).
  • Un solo LoopAgent puede montar como máximo 10 habilidades.

Tres orígenes

Habilidad privada del Agent Habilidad de la organización Habilidad de la plataforma
Visibilidad Solo el agente al que pertenece Reutilizable entre agentes dentro de la organización La biblioteca oficial de la plataforma, visible para todas las organizaciones
Creación «Crear Skill» dentro del agente, montada automáticamente Creada en «Herramientas › Habilidades» Mantenida por la plataforma; las organizaciones no pueden crear nuevas
Al abrirla dentro de un agente Editable Pasa a ser de solo lectura (para editarla ve a «Herramientas › Habilidades») Solo lectura
Cuándo se pone en producción un cambio del cuerpo Con la publicación del agente: guardar solo afecta a la versión de depuración; se pone en producción solo cuando publicas el agente De inmediato y de forma global: al guardar surte efecto para todos los agentes que la referencian No editable

«Quitar» significa cosas distintas según el origen: hacer clic en «Quitar» en una habilidad de la organización / plataforma = solo desvincular, la habilidad en sí permanece; eliminar una habilidad privada del Agent = eliminar también la habilidad en sí. Para eliminar por completo el cuerpo de una habilidad de la organización, hazlo en la página «Herramientas › Habilidades».

Borrador, Debug y Production

El cuerpo de una habilidad (SKILL.md) pasa por los mismos tres estados que la Persona. Ten en cuenta que el editor de habilidades solo tiene botón «Guardar», no botón «Publicar»: la acción de publicar ocurre en otro sitio.

Estado Qué es Quién puede leerlo
Borrador Draft El contenido que se guarda automáticamente mientras escribes en el editor Solo el propio editor; ninguna conversación (incluido el chat de depuración) puede leerlo
Guardar / Debug El cuerpo oficial escrito tras hacer clic en «Guardar» El chat de depuración lo lee de inmediato (guardar surte efecto para la versión de depuración)
Producción / Production El cuerpo que los clientes leen realmente Los canales externos; cuándo se actualiza depende del origen de la habilidad (ver abajo)

La puesta en producción funciona de dos maneras según el origen de la habilidad:

  • Habilidad privada del Agent: el cuerpo se pone en producción con la publicación del LoopAgent. Hacer clic en Guardar en el editor solo afecta a la versión de depuración; debes publicar este LoopAgent para que la última versión guardada se ponga en producción (misma lógica que la persona).
  • Habilidad de la organización / plataforma: el cuerpo es global de inmediato. Tras hacer clic en Guardar, surte efecto de inmediato para todos los agentes que la referencian (Debug + Online), sin necesidad de publicar el agente.

El error más común: un borrador en edición ni siquiera lo puede leer el chat de depuración. Para verificar un cambio en el chat de depuración, debes hacer clic primero en «Guardar», de lo contrario seguirá leyendo el cuerpo guardado anteriormente.

Otro error: en una habilidad privada del Agent, hacer clic solo en Guardar únicamente llega a la versión de depuración —los clientes siguen viendo la versión publicada—, así que recuerda volver y publicar el LoopAgent para ponerla en producción.

Dos notas adicionales:

  • Legible justo tras crearla: al crear una habilidad se escribe automáticamente un cuerpo mínimo (creación por formulario = nombre + descripción ensamblados; carga de paquete = el SKILL.md del paquete leído), de modo que el modelo puede leerla incluso antes de la primera publicación.
  • Conflictos de edición múltiple: si varias personas o pestañas editan la misma habilidad a la vez, al guardar puede avisar de que «el contenido de la habilidad ha sido actualizado por otra persona»; basta con recargar y guardar de nuevo.

Scripts de Python y el sandbox de ejecución

Un paquete de habilidad puede llevar scripts de Python (ponerlos en un directorio scripts/ es una convención, no un requisito): los pasos que necesitan cálculo preciso, conversión de formato o bibliotecas específicas se pueden escribir como código para que el modelo los ejecute bajo demanda.

Mecanismo de ejecución:

  • Los scripts se ejecutan en un sandbox aislado (un entorno Linux independiente + Python 3.11), no en tu servidor ni en la máquina local del modelo: aislados por naturaleza y sin interferencias.
  • Cuando lo necesita, el modelo deja un script del paquete en el sandbox para ejecutarlo y recupera el resultado; los archivos del paquete también solo se pueden leer a través del mecanismo de habilidades, y no se pueden hacer cat / find con bash (el paquete no está en el sistema de archivos local).

«Ejecutar prueba» en el editor = ejecución real en el sandbox:

  • Hacer clic en «Ejecutar prueba» sobre un script .py en el editor de habilidades es una ejecución real en el sandbox del backend, no una simulación del frontend; usa el mismo sandbox que el modelo usa en tiempo de ejecución: si pasa en el editor, pasará también en tiempo de ejecución.
  • Que un script dé error ≠ que la interfaz falle: cuando un script lanza un error internamente, devuelve con normalidad su salida y su traza de error (para facilitar la depuración); esto no significa que la interfaz de ejecución esté caída. Solo un problema en la capa del sandbox (como que el sandbox no esté desplegado en ese entorno) cuenta como fallo de la interfaz.
  • Las variables de canal / sesión no están disponibles durante las pruebas: no hay contexto de conversación real mientras editas, así que los atributos de canal (como los relacionados con WhatsApp / Telegram) y los atributos de sesión estarán vacíos; solo tienen valores en tiempo de ejecución real. Por eso es normal que estas variables estén vacías durante las pruebas.

La herramienta bash: cada LoopAgent viene con una herramienta bash, usada para impulsar las llamadas a la API descritas en la documentación de la habilidad (ensamblando comandos según las instrucciones de SKILL.md); pero los scripts de Python dentro de un paquete de habilidad se ejecutan en el sandbox, no mediante bash.

Cómo diagnosticar cuando una habilidad no surte efecto

Para que el modelo lea una habilidad, esta debe superar varias capas en orden; compruébalas en secuencia:

  1. Si el interruptor general del módulo de habilidades está activado;
  2. Si la entrada de montaje de esa habilidad está habilitada;
  3. Si la habilidad en sí está habilitada;
  4. Si el cuerpo de la habilidad no está vacío (un cuerpo vacío se descarta y el modelo no puede leerlo);
  5. Si tiene el mismo nombre que otra habilidad (los nombres de habilidad distinguen mayúsculas y minúsculas; entre habilidades del mismo nombre solo se conserva la primera montada).

Después de cambiar el interruptor de montaje de una habilidad, esta aparecerá en / desaparecerá de la lista de habilidades disponibles en el siguiente mensaje, sin necesidad de volver a guardar el agente.