SkillWeaver: un framework de agentes que se auto-mejora mediante el descubrimiento y refinamiento de habilidades
¿Qué es SkillWeaver?
SkillWeaver es un marco que permite a los agentes web (como los robots web) mejorarse a sí mismos mediante el descubrimiento y perfeccionamiento de habilidades, permitiendo a los agentes web lograr su propio avance a través de la exploración autónoma y la síntesis de habilidades. Abstrae las interacciones con sitios web como habilidades reutilizables (API), y permite a los agentes web descubrir, practicar y refinar de forma autónoma estas habilidades en nuevos sitios web, ampliando continuamente la biblioteca de API mediante exploración iterativa, con el fin de mejorar las capacidades del agente. SkillWeaver puede aplicarse en múltiples escenarios, como la automatización de tareas de navegación web y la mejora de la adaptabilidad del agente en entornos digitales complejos. Además, también puede ayudar a los desarrolladores a diseñar, implementar y probar sus propios marcos de AGI.

Características de SkillWeaver
Descubrimiento y práctica autónoma de habilidades: al enfrentarse a nuevos sitios web, el agente es capaz de descubrir de forma autónoma habilidades potenciales y refinar estas habilidades en API robustas mediante la práctica.
Exploración iterativa y mejora de capacidades: mediante la exploración continua y la adición de nuevas habilidades, el agente amplía continuamente su biblioteca de API ligeras y plug-and-play, mejorando significativamente sus propias capacidades.
Transferencia y compartición de habilidades: las API sintetizadas por agentes con buen rendimiento pueden transmitirse a agentes con capacidades más limitadas, acelerando así el proceso de aprendizaje y promoviendo el desarrollo de una base de conocimiento compartida.
Mejora eficiente del rendimiento: los experimentos demuestran que la aplicación de SkillWeaver en la plataforma WebArena y en sitios web reales logra un aumento en la tasa de éxito del 31,8% y del 39,8%, respectivamente.
Adaptación a entornos complejos: SkillWeaver permite a los agentes adaptarse mejor a la alta diversidad y complejidad de los sitios web del mundo real.
Escenarios de aplicación de SkillWeaver
Automatización de tareas web: completar automáticamente tareas de navegación web, búsqueda y filtrado, extrayendo información de las páginas web, como información de productos de e-commerce, comentarios de usuarios, etc.
Composición de tareas complejas: combinar múltiples habilidades simples en tareas complejas, como operaciones de varios pasos.
Compartición de conocimiento entre agentes: compartir habilidades entre agentes para mejorar la eficiencia general.
Adaptación a entornos web complejos: mantener la eficiencia en entornos web complejos y cambiantes.
Generación de bibliotecas de habilidades reutilizables: generar bibliotecas de habilidades ligeras y reutilizables, lo que facilita su invocación en tareas posteriores.
Mejora de la capacidad de decisión: mejorar la capacidad de decisión y razonamiento del agente mediante la síntesis de habilidades.
Pruebas y depuración automatizadas: garantizar la fiabilidad y estabilidad de las habilidades.
Capacidad de generalización: las habilidades sintetizadas pueden ser genéricas en diferentes sitios web.
Desarrollo con poco código: ayudar a los desarrolladores a construir y desplegar rápidamente tareas automatizadas, reduciendo la escritura de código.

Instalación y uso de SkillWeaver
Instalación:Crear un entorno virtual
conda create -n skillweaver python=3.10 conda activate skillweaver pip install -r requirements.txt playwright install
Luego configurar la clave de la API de Openai:
export OPENAI_API_KEY=
Código de ejemplo
A continuación se muestra un ejemplo sencillo que muestra cómo usar SkillWeaver para crear un agente de entrada humana que ejecute una tarea de búsqueda:
from skillweaver import Schema from skillweaver.llms import OpenAI # Crear el lienzo AGI skillweb = Schema(llm=OpenAI(openai_api_key="*****")) # Establecer variable global # Añadir y exponer las habilidades utilizadas en el schema search, human = skillweb.load_skills(['SearchRetreival', 'HumanInputObserver']) # Conectar los dos agentes, y se puede especificar aquí la lógica de procesamiento personalizada skillweb.schedule([human, search]) # Ejecutar skillweb.run()
Dirección de Github:https://github.com/OSU-NLP-Group/SkillWeaver
Página principal del proyecto:https://osu-nlp-group.github.io/SkillWeaver/
Asistente de guiones▸
Apps AI
Noticias AI 