SkillWeaver: A Self-Improving Agent Framework via Self-Discovered and Refined Skills
What is SkillWeaver?
SkillWeaver is a framework that enables Web agents (such as web robots) to self-improve by discovering and honing skills. It enables Web Agents to achieve self-improvement through autonomous exploration and skill synthesis. It abstracts website interactions into reusable skills (APIs), and enables Web Agents to autonomously discover, practice, and refine these skills on new websites. Through iterative exploration, it continuously expands the API library to enhance the agent's capabilities. SkillWeaver can be applied in a variety of scenarios, such as automating web browsing tasks and improving an agent's adaptability in complex digital environments. In addition, it can also help developers design, implement, and test their own AGI frameworks.

SkillWeaver Features
Autonomous Skill Discovery and Practice: When facing a new website, the agent can autonomously discover potential skills and refine them into robust APIs through practice.
Iterative Exploration and Capability Enhancement: Through continuous exploration and the addition of new skills, the agent continuously expands its lightweight, plug-and-play API library, thereby significantly enhancing its own capabilities.
Skill Transfer and Sharing: APIs synthesized by high-performing agents can be passed on to less capable agents, thereby accelerating the learning process and promoting the development of a shared knowledge base.
Efficient Performance Improvement: Experiments show that SkillWeaver achieves success rate improvements of 31.8% and 39.8% on the WebArena platform and real websites, respectively.
Adapting to Complex Environments: SkillWeaver enables agents to better adapt to the high diversity and complexity of real-world websites.
SkillWeaver Application Scenarios
Automated Web Tasks: Automatically complete tasks such as web browsing, searching, and filtering, and extract information from web pages, such as e-commerce product information and user reviews.
Complex Task Composition: Combine multiple simple skills into complex tasks, such as multi-step operations.
Cross-Agent Knowledge Sharing: Agents share skills with each other to improve overall efficiency.
Adapting to Complex Web Environments: Maintaining high efficiency in complex and changing web environments.
Generating a Reusable Skill Library: Generate a lightweight, reusable skill library that is convenient for subsequent task invocation.
Enhancing Decision-Making Capabilities: Improve the agent's decision-making and reasoning capabilities through skill synthesis.
Automated Testing and Debugging: Ensure the reliability and stability of skills.
Generalization Capabilities: Synthesized skills can be used universally across different websites.
Low-Code Development: Help developers quickly build and deploy automation tasks, reducing code writing.

SkillWeaver Installation and Usage
Installation:Create a virtual environment
conda create -n skillweaver python=3.10 conda activate skillweaver pip install -r requirements.txt playwright install
Then configure the Openai API:
export OPENAI_API_KEY=
Example Code
The following is a simple example showing how to use SkillWeaver to create a human-input agent that performs a search task:
from skillweaver import Schema from skillweaver.llms import OpenAI # Create AGI canvas skillweb = Schema(llm=OpenAI(openai_api_key="*****")) # Set global variables # Add and expose the skills used in the schema search, human = skillweb.load_skills(['SearchRetreival', 'HumanInputObserver']) # Connect the two agents, and you can specify custom processing logic here skillweb.schedule([human, search]) # Run skillweb.run()
Github address:https://github.com/OSU-NLP-Group/SkillWeaver
Project homepage:https://osu-nlp-group.github.io/SkillWeaver/
Script Planner Assistant▸
AI Apps
AI News 