OpenBMB/XAgent

An Autonomous LLM Agent for Complex Task Solving

What it solves

XAgent는 지속적인 인간 개입 없이 복잡하고 범용적인 작업을 해결하도록 설계된 자율 에이전트입니다. 데이터 분석, 코딩, 연구와 같은 다단계 워크플로를 실행하는 과제를 관리 가능한 하위 작업으로 나누어 샌드박스 환경에서 안전하게 실행함으로써 해결합니다.

How it works

XAgent는 작업 실행을 관리하기 위해 세 부분으로 구성된 아키텍처를 사용합니다:

  • Dispatcher: 적절한 에이전트에 작업을 동적으로 할당합니다.
  • Planner: 높은 수준의 목표를 하위 작업과 마일스톤으로 나누고 진행 상황에 따라 계획을 수정합니다.
  • Actor: 도구 모음을 사용하여 실제 단계를 실행하고, 장애에 직면했을 때 인간과 협업할 수 있습니다.

안전을 보장하기 위해 모든 작업은 ToolServer 내에서 수행됩니다. 이는 안전한 환경을 제공하는 Docker 기반 컨테이너입니다. 이 서버는 에이전트에게 파일 편집기, Python 노트북, 웹 브라우저, bash 셸에 대한 접근 권한을 부여합니다.

Who it’s for

보안 실행 환경을 유지하면서 자율적인 소프트웨어 엔지니어링, 데이터 과학, 일반적인 연구 작업을 수행할 수 있는 LLM 기반 어시스턴트가 필요한 사용자를 대상으로 합니다.

Highlights

  • Sandboxed Execution: 모든 도구 사용은 안전을 위해 Docker 컨테이너 내에서 발생합니다.
  • Human-in-the-loop: 정보가 부족할 때 에이전트는 AskForHumanHelp 도구를 통해 적극적으로 인간 지원을 요청할 수 있습니다.
  • Extensible Toolset: Python 노트북, 셸 액세스, Rapid API 통합 등을 포함한 다양한 도구를 지원합니다.
  • Integrated GUI: 명령줄을 넘어 에이전트와 상호작용할 수 있는 웹 기반 인터페이스를 제공합니다.