AGI 및 미래 AI
메타GPT: 현재 사용 가능한 최고의 AI 에이전트에 대한 완벽한 가이드
ChatGPT와 같은 대규모 언어 모델(LLM)의 보급으로 OpenAI의 기업 및 일반 사용자 채택이 급증했으며, 월 매출은 약 8,000만 달러에 이르고 있다. The Information의 최근 보도에 따르면 샌프란시스코에 본사를 둔 이 회사는 연 매출 10억 달러를 달성할 추세다.
이전에 우리는 복잡한 작업을 자동화하도록 설계된 초기 주류 오픈 소스 LLM 기반 AI 에이전트인 AutoGPT와 GPT-Engineering을 살펴보았다. 가능성은 있었지만 결과의 일관성 부족, 성능 병목, 복합적인 요구 처리의 한계도 있었다. 코드 생성에는 능숙해도 기능이 거기서 그치는 경우가 많았다. 제품 요구사항 문서(PRD) 생성, 기술 설계 생성, API 인터페이스 프로토타이핑 같은 핵심 프로젝트 관리 기능이 부족했다.
Sirui Hong의 MetaGPT는 대규모 언어 모델을 활용하는 다중 에이전트 시스템으로, 표준 운영 절차(SOP)와 LLM 기반 다중 에이전트 시스템을 결합한다. 이 새로운 접근법은 복잡한 실제 응용 분야에서 효과적인 협업과 작업 분해를 수행할 때 드러나는 기존 LLM의 한계를 넘어서려 한다.
MetaGPT의 강점은 구조화 방식에 있다. 메타 프로그래밍 기법으로 코드를 실시간으로 조작하고 분석하며 변환한다. 목표는 변화하는 프로그래밍 작업에 적응할 수 있는 민첩하고 유연한 소프트웨어 아키텍처를 구현하는 것이다.
여기서 SOP는 메타 함수처럼 작동하며, 정의된 입력을 바탕으로 에이전트들이 자동으로 코드를 생성하도록 조율한다. 쉽게 말해, 긴밀하게 협력하는 소프트웨어 엔지니어 팀을 적응력 있는 지능형 소프트웨어 시스템으로 바꾸는 것과 같다.
MetaGPT 프레임워크 이해하기

MetaGPT 프레임워크 (https://arxiv.org/pdf/2308.00352.pdf)
기반 계층과 협업 계층
MetaGPT의 아키텍처는 기반 구성 요소 계층과 협업 계층으로 나뉜다.
- 기반 구성 요소 계층: 개별 에이전트의 작업에 초점을 맞추고 시스템 전체의 정보 교환을 지원한다. 핵심 구성 요소는 환경(Environment), 메모리(Memory), 역할(Roles), 행동(Actions), 도구(Tools)다. 환경은 공유 작업 공간과 통신 경로를 마련하고, 메모리는 과거 데이터 저장소 역할을 한다. 역할은 분야별 전문 지식을 담고, 행동은 모듈식 작업을 실행하며, 도구는 공통 서비스를 제공한다. 사실상 에이전트의 운영 체제 역할을 하는 계층이다. 이 요소들의 상호 작용은 「ChatGPT를 넘어: AI 에이전트, 새로운 노동자의 세계」에서 더 자세히 살펴볼 수 있다.
- 협업 계층: 기반 구성 요소 위에서 개별 에이전트의 협업을 관리하고 효율화한다. 지식 공유와 워크플로 캡슐화라는 두 가지 메커니즘을 도입한다.
- 지식 공유: 에이전트들을 연결하는 협업의 접착제 역할을 한다. 에이전트는 다양한 수준에서 정보를 저장하고 검색하며 공유해 중복을 줄이고 운영 효율을 높인다.
- 워크플로 캡슐화: 표준 운영 절차(SOP)가 적용되는 부분이다. SOP는 작업을 관리 가능한 구성 요소로 나누는 청사진이다. 에이전트에 하위 작업을 배정하고, 그 수행 결과가 표준화된 출력에 부합하도록 한다.
MetaGPT는 역할 정의를 통해 앞서 설명한 제품 관리자, 아키텍트 등의 전문 에이전트를 초기화한다. 각 역할은 이름, 프로필, 목표, 제약 조건, 설명 같은 주요 속성으로 규정된다.

MetaGPT와 실제 인간 팀의 소프트웨어 개발 SOP 비교 (https://arxiv.org/pdf/2308.00352.pdf)
또한 앵커 에이전트는 역할에 맞는 지침을 제공한다. 예를 들어 제품 관리자 역할은 “성공적인 제품을 효율적으로 만들기”라는 제약 조건으로 초기화할 수 있다. 앵커 에이전트는 에이전트의 행동을 전체 목표에 맞춰 성능을 최적화한다.
MetaGPT 에이전트의 인지 과정
MetaGPT는 관찰하고 생각하며 성찰하고 행동할 수 있다. _think(), _observe(), _publish_message() 등의 구체적인 행동 함수를 통해 작동한다. 이러한 인지 모델링은 에이전트를 적응하고 발전할 수 있는 능동적 학습자로 만든다.
- 관찰: 환경을 살피고 주요 데이터를 메모리에 통합한다.
- 사고와 성찰: 역할은
_think()함수를 통해 행동하기 전에 숙고한다. - 메시지 전파:
_publish_message()를 사용해 현재 작업 상태와 관련 행동 기록을 공유한다. - 지식 축적과 행동: 수신한 메시지를 평가하고 내부 저장소를 갱신한 뒤 다음 행동을 결정한다.
- 상태 관리: 작업 잠금과 상태 갱신 기능으로 여러 행동을 순서대로 중단 없이 처리한다. 실제 인간의 협업을 본뜬 방식이다.
MetaGPT의 코드 검토 메커니즘
코드 검토는 소프트웨어 개발 수명 주기의 핵심 요소지만, 여러 인기 프레임워크에는 빠져 있다. MetaGPT와 AgentVerse는 모두 코드 검토를 지원하지만 MetaGPT는 한 걸음 더 나아간다. 사전 컴파일 실행도 통합하여 오류를 일찍 발견하고 코드 품질을 높인다. 반복적으로 이루어지는 코딩의 특성을 고려하면 이 기능은 단순한 부가 요소가 아니라 성숙한 개발 프레임워크의 필수 요건이다.
여러 작업에 대한 정량적 실험에서 MetaGPT는 거의 모든 시나리오에서 다른 시스템을 앞섰다. Pass@1은 한 번의 시도로 정확한 코드를 생성하는 능력을 나타내며, 실제 환경에서 프레임워크의 유용성을 더 현실적으로 보여 준다. Pass@1이 높을수록 디버깅은 줄고 효율은 높아져 개발 주기와 비용에 직접적인 영향을 준다. CodeX, CodeT, GPT-4 같은 고급 코드 생성 도구와 비교해도 MetaGPT가 앞섰다. HumanEval과 MBPP 벤치마크에서 81.7%~82.3%의 Pass@1을 달성했다.
이 프레임워크는 토큰과 연산 자원도 적게 사용하여, 기존 소프트웨어 엔지니어링 비용의 일부만으로 높은 성공률을 달성한다. 데이터에 따르면 MetaGPT의 프로젝트당 평균 비용은 1.09달러에 불과했다. 같은 작업에 개발자가 청구할 금액의 일부 수준이다.
로컬 시스템에 MetaGPT 설치하기
NPM과 Python 설치
- NPM 확인 및 설치: 먼저 NPM이 설치되어 있는지 확인한다. 없다면 Node.js를 설치해야 한다. 터미널에서
npm --version을 실행해 버전 번호가 표시되면 준비된 것이다. - MetaGPT의 의존성인 mermaid-js를 설치하려면
sudo npm install -g @mermaid-js/mermaid-cli또는npm install -g @mermaid-js/mermaid-cli를 실행한다. - Python 버전 확인: Python 3.9 이상이 필요하다. 터미널에서
python --version을 실행한다. 버전이 오래되었다면 Python 공식 웹사이트에서 최신 버전을 다운로드한다. - MetaGPT 저장소 복제:
git clone https://github.com/geekan/metagpt로 GitHub 저장소를 복제한다. Git이 설치되어 있어야 한다. 없다면 여기에서 설치한다. - 디렉터리 이동: 복제 후
cd metagpt로 MetaGPT 디렉터리에 들어간다. - 설치:
python setup.py install로 Python 설치 스크립트를 실행한다. - 애플리케이션 생성:
python startup.py "ENTER-PROMPT" --code_review True를 실행한다.
참고:
- 새 프로젝트는
workspace/디렉터리에 생성된다. --code_review True는 코드가 정확히 실행되도록 GPT 모델에 추가 작업을 허용한다. 그만큼 비용도 늘어난다.- 설치 중 권한 오류가 나면
python setup.py install --user를 대안으로 시도한다. - 특정 버전과 자세한 내용은 공식 GitHub의 MetaGPT 릴리스 페이지에서 확인할 수 있다.
Docker 설치
컨테이너 사용을 선호한다면 Docker로 과정을 간소화할 수 있다.
- Docker 이미지 가져오기: 공식 이미지를 다운로드하고 설정 파일을 준비한다.
docker pull metagpt/metagpt:v0.3.1
mkdir -p /opt/metagpt/{config,workspace}
docker run --rm metagpt/metagpt:v0.3.1 cat /app/metagpt/config/config.yaml > /opt/metagpt/config/key.yaml
vim /opt/metagpt/config/key.yaml- MetaGPT 컨테이너 실행: 다음 명령으로 컨테이너를 실행한다.
docker run --rm --privileged \
-v /opt/metagpt/config/key.yaml:/app/metagpt/config/key.yaml \
-v /opt/metagpt/workspace:/app/metagpt/workspace \
metagpt/metagpt:v0.3.1 \
python startup.py "Create a simple and interactive CLI based rock, paper and scissors game" --code_review TrueOpenAI API 키로 MetaGPT 설정하기
초기 설치 후 OpenAI API 키를 연결해야 한다.
- OpenAI 키 확인 또는 생성: OpenAI 대시보드의 API 설정에서 키를 확인할 수 있다.
- API 키 설정:
config/key.yaml,config/config.yaml파일 또는 환경 변수(env)에 키를 설정할 수 있다. 우선순위는config/key.yaml > config/config.yaml > env다. config/key.yaml에서 예시의 자리표시자를 자신의 키로 바꾼다:OPENAI_API_KEY: "sk-..."
OpenAI API 키를 안전하게 보관해야 한다. 공개 저장소에 커밋하거나 권한 없는 사람과 공유해서는 안 된다.
사용 사례
필자는 CLI 기반 가위바위보 게임을 개발하라는 목표를 제시했고, MetaGPT는 작업을 성공적으로 수행했다. 다음 영상은 생성된 게임 코드가 실제로 실행되는 모습이다.
MetaGPT 실행 시연
MetaGPT는 널리 사용되는 경량 마크업 언어인 Markdown으로 시스템 설계 문서를 제공했다. 파일에는 UML 다이어그램이 포함되어 아키텍처의 청사진을 상세히 보여 주었다. API 사양에도 HTTP 메서드, 엔드포인트, 요청 및 응답 객체, 상태 코드가 구체적으로 명시되었다.
클래스 다이어그램은 Game 클래스의 속성과 메서드를 자세히 보여 주어 이해하기 쉬운 추상화를 제공한다. 프로그램의 호출 흐름까지 시각화해 추상적인 개념을 구체적인 단계로 바꾼다.
이로써 계획 단계의 수작업 부담을 크게 줄일 뿐 아니라 의사 결정도 빨라져 개발 파이프라인의 민첩성을 유지할 수 있다. MetaGPT는 코드 생성에 더해 지능적인 프로젝트 계획까지 자동화하므로 신속한 애플리케이션 개발에서 경쟁력을 제공한다.
결론: 소프트웨어 개발을 혁신하는 MetaGPT
MetaGPT는 지능형 자동화와 애자일 프로젝트 관리를 결합하여 생성형 AI와 소프트웨어 개발의 지형을 바꾼다. ChatGPT, AutoGPT, 기존 LangChain 모델의 기능을 넘어 작업 분해, 효율적인 코드 생성, 프로젝트 계획에 강점을 보인다.
이 글의 핵심 내용은 다음과 같다.
- 메타 프로그래밍의 힘: 민첩하고 적응력 있는 프레임워크를 제공한다. 기존 도구의 좁은 기능 범위를 넘어 코딩뿐 아니라 프로젝트 관리와 의사 결정도 다룬다.
- 두 계층 아키텍처: 기반 계층과 협업 계층을 통해 잘 관리되는 소프트웨어 팀처럼 에이전트들이 긴밀히 협력하는 생태계를 만든다.
- 최적화된 코드 검토: 코드 생성에 더해 사전 컴파일 실행으로 오류를 일찍 감지한다. 디버깅 시간을 줄이고 코드 품질을 확보한다.
- 인지 에이전트:
_observe(),_think(),_publish_message()같은 인지 기능으로 발전하고 적응하여, 단순히 작성된 코드에 그치지 않는 지능적인 소프트웨어 솔루션을 지향한다. - 설치와 배포: npm과 Python을 통한 로컬 설치, Docker를 통한 컨테이너 배포 중 원하는 방식으로 설치할 수 있다.















