SkillWeaver: 자기 발견 및 정제를 통한 자기 개선 에이전트 프레임워크 48

小编 ·

SkillWeaver: 자기 발견 및 정제를 통한 자기 개선 에이전트 프레임워크

SkillWeaver는 웹 에이전트(예: 웹 로봇)가 스킬을 스스로 발견하고 연마함으로써 자기 개선할 수 있도록 하는 프레임워크입니다. 웹 에이전트가 자율적으로 탐색하고 스킬을 합성하여 스스로 향상하도록 합니다. 웹사이트 상호작용을 재사용 가능한 스킬(API)로 추상화하고, 새로운 웹사이트에서 웹 에이전트가 자율적으로 발견·연습·정제하도록 함으로써 API 라이브러리를 반복적으로 확장하여 에이전트 역량을 강화합니다. SkillWeaver는 웹 브라우징 자동화 등 다양한 시나리오에 적용할 수 있습니다.

SkillWeaver: 자기 발견 및 정제를 통한 자기 개선 에이전트 프레임워크

SkillWeaver란 무엇인가요?

SkillWeaver는 웹 로봇과 같은 웹 에이전트가 스스로技能(스킬)을 발견하고 연마함으로써 자기 주도적으로 개선할 수 있도록 해주는 프레임워크로, 웹 에이전트가 자율적 탐색과 스킬 합성을 통해 스스로 향상될 수 있게 합니다. 웹사이트와의 상호작용을 재사용 가능한 스킬(API)로 추상화하고, 웹 에이전트가 새로운 웹사이트에서 이러한 스킬을 자율적으로 발견·연습·정제하도록 하며, 반복적인 탐색을 통해 API 라이브러리를 지속적으로 확장하여 에이전트의 역량을 강화합니다. SkillWeaver는 웹 브라우징 작업 자동화, 복잡한 디지털 환경에서의 적응력 향상 등 다양한 시나리오에 활용될 수 있습니다. 또한 개발자가 자신만의 AGI 프레임워크를 설계·구현·테스트하는 데도 도움을 줍니다.

SkillWeaver:能够通过自我发现和精炼技能实现自我改进的的智能体框架.webp

SkillWeaver 기능 특징

  • 자율적 스킬 발견 및 연습: 새로운 웹사이트에 직면했을 때, 에이전트가 잠재적 스킬을 자율적으로 발견하고 실습을 통해 이를 안정적인 API로 정제할 수 있습니다.

  • 반복적 탐색과 역량 향상: 새로운 스킬을 지속적으로 탐색하고 추가함으로써, 에이전트는 가볍고 플러그 앤 플레이 방식의 API 라이브러리를 계속 확장하여 자신의 능력을 크게 향상시킵니다.

  • 스킬 전이와 공유: 성능이 뛰어난 에이전트가 합성한 API를 능력이 낮은 에이전트에게 전달할 수 있어, 학습 과정을 가속화하고 공유 지식 베이스의 발전을 촉진합니다.

  • 고효율 성능 향상: 실험에 따르면 SkillWeaver는 WebArena 플랫폼과 실제 웹사이트에서 각각 31.8%와 39.8%의 성공률 향상을 달성했습니다.

  • 복잡한 환경 적응: SkillWeaver는 에이전트가 실제 웹사이트의 높은 다양성과 복잡성에 더 잘 적응할 수 있도록 합니다.

SkillWeaver 활용 시나리오

  • 웹 작업 자동화: 웹 브라우징, 검색, 필터링 등의 작업을 자동 완료하고, 웹페이지에서 이커머스 상품 정보, 사용자 리뷰 등 정보를 추출합니다.

  • 복잡한 작업 조합: 여러 개의 단순한 스킬을 조합하여 다단계 작업과 같은 복잡한 작업을 구성합니다.

  • 에이전트 간 지식 공유: 에이전트끼리 스킬을 공유하여 전체 효율성을 높입니다.

  • 복잡한 웹 환경 적응: 복잡하고 변화가 많은 웹 환경에서도 높은 효율을 유지합니다.

  • 재사용 가능한 스킬 라이브러리 생성: 가볍고 재사용 가능한 스킬 라이브러리를 생성하여 후속 작업에서 손쉽게 호출할 수 있도록 합니다.

  • 의사 결정 능력 향상: 스킬 합성을 통해 에이전트의 의사 결정 및 추론 능력을 향상시킵니다.

  • 자동화된 테스트 및 디버깅: 스킬의 신뢰성과 안정성을 보장합니다.

  • 일반화 능력: 합성된 스킬은 서로 다른 웹사이트에서 범용적으로 사용할 수 있습니다.

  • 로우코드 개발: 개발자가 자동화 작업을 빠르게 구축하고 배포할 수 있도록 도와 코드 작성 부담을 줄여줍니다.

SkillWeaver应用场景.webp

SkillWeaver 설치 및 사용

설치:가상 환경 생성

conda create -n skillweaver python=3.10
conda activate skillweaver
pip install -r requirements.txt
playwright install

그런 다음 Openai API를 설정합니다:

export OPENAI_API_KEY=

예제 코드

다음은 SkillWeaver를 사용하여 검색 작업을 수행하는 휴먼 인풋 에이전트를 생성하는 간단한 예제입니다:

from skillweaver import Schema
from skillweaver.llms import OpenAI
# AGI 캔버스 생성
skillweb = Schema(llm=OpenAI(openai_api_key="*****"))  # 전역 변수 설정
# schema에서 사용될 스킬을 추가하고 노출
search, human = skillweb.load_skills(['SearchRetreival', 'HumanInputObserver'])
# 두 에이전트를 연결하고, 여기에서 사용자 정의 처리 로직을 지정할 수 있음
skillweb.schedule([human, search])
# 실행
skillweb.run()

Github 주소:https://github.com/OSU-NLP-Group/SkillWeaver

프로젝트 홈페이지:https://osu-nlp-group.github.io/SkillWeaver/