Agent-Zero: LLM을 활용한 멀티 에이전트 프레임워크

Agent-Zero 소개

Agent-Zero: LLM을 활용한 멀티 에이전트 프레임워크

Agent-Zero는 프랑스의 연구자들이 개발한 멀티 에이전트 시뮬레이션 프레임워크로, 대규모 언어 모델(LLM)을 활용하여 에이전트 간의 상호작용을 자연어로 처리합니다. 이 프레임워크는 에이전트 기반 모델링에 LLM을 통합하여, 에이전트 간의 복잡한 의사소통을 가능하게 하고 다양한 시나리오에서의 행동 패턴을 시뮬레이션할 수 있도록 합니다. Agent-Zero의 개발 배경에는 복잡한 사회적 상호작용이나 협동 문제를 해결하기 위한 도구로 LLM의 가능성을 탐구하려는 의도가 있습니다. 이를 통해 연구자들은 다양한 사회적 현상이나 경제적 모델을 시뮬레이션하여 분석할 수 있습니다.

Agent Zero는 개인의 작업을 지원하기 위해 설계된 인공지능(AI) 프레임워크입니다. 이 프레임워크는 정적이지 않고 사용자의 작업에 따라 유기적으로 성장하고 학습하도록 만들어졌습니다. 사용자는 Agent Zero를 통해 작업을 수행하는 도구로 컴퓨터를 활용할 수 있으며, 프레임워크 자체는 완전한 투명성, 가독성, 이해 가능성, 맞춤화 가능성을 제공합니다. 또한, 사용자가 시스템과 상호작용할 수 있는 인터페이스를 지원합니다.

  • Agent Zero는 사전 정의된 에이전트가 아닌, 사용자가 직접 설정하고 발전시킬 수 있는 유연한 구조를 가지고 있습니다.

  • 이 프레임워크는 다양한 작업을 수행하는 데 필요한 모든 기능을 포함하고 있으며, 사용자가 직접 확장하거나 수정할 수 있습니다.

Agent-Zero 사용 시 주의 사항

Agent-Zero 사용 시 주의 사항

  1. Agent Zero는 위험할 수 있습니다! 올바른 지시를 받으면 Agent Zero는 컴퓨터, 데이터 또는 계정에 잠재적으로 위험할 수 있는 작업을 수행할 수 있습니다. 항상 Agent Zero를 격리된 환경(예: 내장된 도커 컨테이너)에서 실행하고, 요청하는 작업에 주의하십시오.

  2. Agent Zero는 사전 프로그래밍되어 있지 않으며, 프롬프트 기반입니다. 프레임워크 전체에는 최소한의 코드만 포함되어 있으며, 에이전트를 안내하지 않습니다. 모든 것은 prompts/ 폴더의 시스템 프롬프트에 의해 결정됩니다. 에이전트가 의사소통, 도구 사용, 추론, 메모리 사용, 답변 찾기에 실패할 경우, 프롬프트를 통해 지시를 더 잘 해주십시오.

  3. 이상적인 환경을 제공할 수 없는 경우, 에이전트에게 알리십시오. Agent Zero는 격리된 가상 환경(안전을 위해)에서 일부 도구가 사전 설치 및 구성된 상태에서 사용되도록 만들어졌습니다. 모든 필요 조건이나 API 키를 제공할 수 없는 경우, 시스템 프롬프트를 변경하여 에이전트에게 사용할 수 있는 운영체제와 도구를 알려주십시오. 하드코딩된 것이 없으며, 에이전트에게 특정 도구에 대해 알려주지 않으면 에이전트는 해당 도구를 인식하지 않고 사용하려고 하지 않습니다.

핵심 개념

일반 목적의 어시스턴트

Agent Zero는 특정 작업에 대한 사전 프로그래밍이 되어 있지 않지만, 일반적인 목적의 개인 비서로서 설계되었습니다. 사용자가 작업을 지시하면 정보를 수집하고, 명령을 실행하며, 코드 작성, 다른 에이전트 인스턴스와 협력하여 최선을 다해 작업을 수행합니다.

  • 지속적인 메모리 기능을 통해 이전의 솔루션, 코드, 사실, 지침 등을 기억하여 미래의 작업을 더욱 빠르고 신뢰성 있게 해결할 수 있습니다.

컴퓨터 활용

Agent Zero는 운영체제를 도구로 활용하여 작업을 수행합니다. 단일 목적의 도구가 사전 프로그래밍되어 있지 않으며, 필요한 경우 자체 코드를 작성하고 터미널을 사용하여 자체 도구를 생성 및 사용합니다.

  • 기본 도구는 온라인 검색, 메모리 기능, 사용자 및 다른 에이전트와의 통신, 코드/터미널 실행입니다. 그 외의 모든 기능은 에이전트가 자체적으로 생성하거나 사용자가 확장할 수 있습니다.

다중 에이전트 협력

Agent Zero는 다중 에이전트 협력을 통해 작업을 효율적으로 수행합니다. 각 에이전트는 상위 에이전트로부터 작업과 지시를 받으며, 완료된 작업은 상위 에이전트에게 보고됩니다.

  • 첫 번째 에이전트의 상위 에이전트는 사용자이며, 에이전트는 이를 인식하지 못합니다.
  • 에이전트는 하위 에이전트를 생성하여 하위 작업을 분할하고 해결할 수 있습니다. 이를 통해 모든 에이전트는 자신의 컨텍스트를 깨끗하고 집중된 상태로 유지할 수 있습니다.

완전한 사용자 맞춤화 및 확장 가능성

Agent Zero 프레임워크는 거의 모든 것이 하드코딩되어 있지 않습니다. 모든 것은 사용자가 확장하거나 변경할 수 있으며, 시스템 프롬프트 파일인 prompts/agent.system.md에 의해 행동이 정의됩니다.

  • 이 프레임워크는 에이전트를 안내하거나 제한하지 않으며, 하드코딩된 경로가 없습니다.
  • 각 프롬프트 및 작은 메시지 템플릿은 prompts/ 폴더에 있으며, 이를 변경할 수 있습니다.
  • 각 기본 도구는 python/tools/ 폴더에 있으며, 변경하거나 복사하여 새로운 사전 정의된 도구를 생성할 수 있습니다.

커뮤니케이션의 중요성

Agent Zero에서 커뮤니케이션은 매우 중요합니다. 사용자가 에이전트에 적절한 시스템 프롬프트와 지시를 제공하면 놀라운 결과를 얻을 수 있습니다.

  • 에이전트는 상위 및 하위 에이전트와의 의사소통을 통해 질문, 지시 및 가이드를 제공할 수 있습니다.
  • 사용자는 시스템 프롬프트를 통해 에이전트가 효과적으로 커뮤니케이션할 수 있도록 지시할 수 있습니다.
  • 터미널 인터페이스는 실시간 스트리밍 및 상호작용이 가능하며, 사용자는 에이전트의 진행 방향이 잘못되었을 경우 즉시 중지하고 수정할 수 있습니다.

편리한 기능

  • 출력은 매우 깨끗하고, 컬러풀하며, 읽기 쉽고 상호작용할 수 있습니다.
  • 터미널에서 볼 수 있는 컬러풀한 출력은 자동으로 HTML 파일로 저장되어 logs/ 폴더에 보관됩니다.
  • 에이전트 출력은 실시간으로 스트리밍되어 사용자가 함께 읽고 개입할 수 있습니다.
  • 코딩이 필요하지 않으며, 프롬프트 및 커뮤니케이션 기술만 필요합니다.
  • 견고한 시스템 프롬프트를 통해 프레임워크는 작은 모델에서도 신뢰성 있는 결과를 제공합니다.

Agent-Zero 설치 및 사용 방법

Agent-Zero를 사용하기 위해서는 Perplexity API를 사용하는 것을 권장합니다. Perplexity API Key가 없는 경우, .env 파일에 빈 값을 입력하시면 사용하지 않습니다. 대화 모델(chat model)과 임베딩 모델(embedding model)은 Ollama 및 HuggingFace를 통해 로컬 또는 원격 API를 실행할 수 있습니다.

자세한 내용은 Agent-Zero 저장소의 Setup 섹션을 참고해주세요.

라이선스

Agent-Zero는 MIT License로 공개 및 배포되고 있습니다.

:github: Agent-Zero GitHub 저장소




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: