OpenAGI는 인간과 유사한 자율 에이전트 개발을 누구에게나 접근 가능하게 만드는 오픈소스 Python 프레임워크다. 개발자가 Admin-Worker 구조의 멀티에이전트 아키텍처를 쉽게 구성하고, 태스크를 자동으로 분해·실행하는 에이전트를 만들 수 있다.
GitHub: aiplanethub/openagi | Python 3.9/3.10/3.11
아키텍처
OpenAGI는 Admin-Worker 구조를 사용한다:
- Admin: 전체 태스크를 받아 플래너(TaskPlanner)로 분해하고 Worker들을 조율
- Worker: 특정 역할과 지시사항을 가진 전문 에이전트
- TaskPlanner: 태스크를 서브태스크로 분해.
autonomous=True설정 시 완전 자율 실행 - Actions/Tools: DuckDuckGoSearch, TavilyWebSearchQA 등 도구 모음
설치
pip install openagi사용 예시
멀티에이전트 여행 플래너
from openagi.agent import Admin
from openagi.planner.task_decomposer import TaskPlanner
from openagi.actions.tools.ddg_search import DuckDuckGoSearch
from openagi.llms.openai import OpenAIModel
from openagi.worker import Worker
plan = TaskPlanner(human_intervene=False)
config = OpenAIModel.load_from_env_config()
llm = OpenAIModel(config=config)
trip_plan = Worker(
role="Trip Planner",
instructions="User loves calm places, suggest the best itinerary.",
actions=[DuckDuckGoSearch],
max_iterations=10
)
admin = Admin(llm=llm, actions=[DuckDuckGoSearch], planner=plan)
admin.assign_workers([trip_plan])
res = admin.run(
query="Give me a 3 Days Trip to San Francisco Bay Area",
description="You are a knowledgeable local guide.",
)자율 멀티에이전트 (Worker 없이)
from openagi.planner.task_decomposer import TaskPlanner
from openagi.agent import Admin
# autonomous=True: Worker 없이 에이전트가 스스로 태스크 분해
plan = TaskPlanner(autonomous=True, human_intervene=True)
admin = Admin(actions=[TavilyWebSearchQA], planner=plan, llm=llm)
res = admin.run(
query="India vs Sri Lanka 2024 ODI 결과와 맨오브더매치",
description="cricket match results",
)주요 기능
- Worker 기반 멀티에이전트: 역할별 전문 에이전트를 조합해 복잡한 태스크 처리
- 자율 실행 모드:
autonomous=True로 계획과 실행을 에이전트에 완전 위임 - 인간 개입 제어:
human_intervene플래그로 승인 단계 조절 - 다양한 LLM 지원: OpenAI, Gemini 등 플러그형 LLM 백엔드
- 장기 메모리: 세션을 넘어 컨텍스트 유지
활용 대상
- 복잡한 멀티스텝 태스크를 자동화하려는 개발자
- 여러 AI 에이전트를 조율하는 워크플로를 빠르게 프로토타입하려는 팀
- AGI 연구 및 에이전트 프레임워크 학습에 관심 있는 AI 엔지니어