VOYAGER: An Open-Ended Embodied Agent with Large Language Models

Digest (CISELQ)

  • Context: LLM 기반 agent 연구는 ReAct, Reflexion, AutoGPT 등 단기 reasoning loop에 머물러 있었고, 개방형 환경(Minecraft)에서 평생 학습(lifelong learning)을 수행하며 스킬을 축적·재사용하는 embodied agent는 부재했다.
  • Issue: 강화학습(RL) 기반 Minecraft agent(MineDojo, DreamerV3 등)는 sample inefficiency와 scalar reward 설계의 어려움, 장기 horizon 탐사의 실패로 tech tree의 상위 단계(다이아몬드 등)에 도달하기 어려웠다.
  • Solution: Voyager는 GPT-4를 blackbox로 호출하여 (i) 호기심 기반 Automatic Curriculum, (ii) 실행 가능한 JavaScript(Mineflayer) 코드로 구성된 Skill Library, (iii) self-verification + 환경 피드백을 통한 Iterative Prompting Mechanism을 결합한 세 축의 파이프라인을 제안한다.
  • Evaluation: Minecraft 환경에서 획득한 고유 아이템 수, 이동 거리, tech tree milestone 달성 시간, novel world generalization 네 축으로 평가.
  • Learnings: GPT-4의 in-context reasoning만으로 fine-tuning 없이 평생 학습 agent 구축이 가능하며, 스킬을 자연어 description embedding으로 retrieval하는 방식이 catastrophic forgetting을 방지한다는 점을 실증.
  • Questions: GPT-3.5/오픈소스 LLM으로의 이식성, 비-Minecraft 환경(실세계 로보틱스)에서의 일반화, 실행 가능한 코드로 표현되기 어려운 perceptual skill에 대한 한계.

섹션별 요약

Introduction

Minecraft는 개방형·절차 생성·무한 horizon·compositional crafting tree를 가진 대표적 open-ended 환경이다. 기존 RL agent는 sparse reward와 거대한 action space에서 비효율적이었고, LLM 기반 agent(ReAct, Reflexion, AutoGPT)는 short-horizon task에 한정되었다. Voyager는 “평생 동안 스스로 커리큘럼을 짜고, 코드 스킬을 축적하며, 실패에서 배우는” agent의 개념을 제시한다.

Methods

세 가지 핵심 컴포넌트:

  1. Automatic Curriculum: GPT-4에게 현재 inventory, 장비, 주변 biome, 이전 완료 task를 제공하고 “다음으로 수행할 적절히 어려운 task”를 생성하도록 함 (novelty-seeking).
  2. Skill Library: 각 스킬은 JavaScript 코드 + 자연어 description으로 저장. description을 text embedding으로 변환해 vector DB에 저장하고, 새로운 task 수행 시 top-k 유사 스킬을 retrieval하여 in-context 제공.
  3. Iterative Prompting: GPT-4가 코드 생성 → Mineflayer에서 실행 → (a) 실행 에러, (b) 환경 상태, (c) GPT-4 기반 self-verification 피드백을 받아 최대 round 반복 개선 후 스킬 라이브러리에 영구 저장.

Results

  • 고유 아이템 수: 이전 SOTA(AutoGPT/ReAct/Reflexion Minecraft adapt) 대비 3.3배.
  • 이동 거리: 탐험 거리 2.3배.
  • Tech tree milestone 속도: 동일 milestone(wooden/stone/iron/diamond tool) 도달 시간 15.3배 빠름.
  • Zero-shot generalization: 학습한 skill library를 새로운 seed의 world에 투입해 unseen task 해결 능력 확인.
지표Voyager이전 SOTA배수
Unique items63193.3x
Traversed distance2.3x1.0x (base)2.3x
Tech tree milestone time1x (base)15.3x15.3x faster
Novel world skill reuseYesLimited-

Discussion

Skill의 “코드화”가 핵심이다. 코드는 (i) 조합 가능하고, (ii) 결정적으로 실행되며, (iii) 사람이 검증 가능하고, (iv) 이전 스킬을 함수 호출로 재활용할 수 있다. Automatic curriculum은 scalar reward 없이도 novelty를 유도하며, self-verification이 Reflexion류 reflection을 환경 grounded 하게 확장한다.

Insights

  • LLM agent에서 “memory = retrieval-augmented code library”라는 패러다임은 short-term reflection(Reflexion)보다 훨씬 지속적이고 조합 가능하다.
  • 계획(curriculum) - 실행(code) - 검증(self-verify)의 3-loop 구조는 이후 AutoGen, SWE-agent 등 multi-agent 프레임워크에 직접적 영향을 주었다.

Discussion Points

  • GPT-4 의존성: 오픈소스 LLM에서는 code reasoning 품질 저하로 재현이 어렵다.
  • Perceptual grounding 한계: 이미지 관찰 없이 structured state(inventory, biome string)만 사용하므로 시각적 과제에는 부적합.
  • 비용: 각 스킬 합성마다 다수의 GPT-4 호출 필요.

메타데이터

항목내용
저자Guanzhi Wang, Yuqi Xie, Yunfan Jiang, Ajay Mandlekar, Chaowei Xiao, Yuke Zhu, Linxi Fan, Anima Anandkumar
소속NVIDIA, Caltech, UT Austin, Stanford, ASU
발표TMLR 2024 (arXiv 2023.05)
환경Minecraft (Mineflayer bot API)
BackboneGPT-4 (blackbox, no fine-tuning)
코드https://voyager.minedojo.org

왜 이 연구를 하는가?

Minecraft는 “open-ended embodied AI”의 리트머스 시험지이다. 기존 접근은 두 갈래로 갈렸다.

  • RL 진영(MineDojo, DreamerV3, VPT): 대규모 demonstration/video pretraining이 필요하며, reward shaping 없이 diamond 수준의 목표에 도달하기 어렵다.
  • LLM 진영(ReAct, Reflexion, DEPS, AutoGPT): 단기 task에 특화되어 있고, 스킬 축적·재사용·장기 탐사를 다루지 않는다.

저자들은 “LLM의 world knowledge + code writing 능력”을 활용하면 별도의 gradient update 없이도 무한히 새로운 task를 시도하고 성공한 행동을 함수로 박제해 나갈 수 있다고 가정한다. 즉, 평생 학습을 in-context memory와 external skill library의 조합으로 근사하는 것이 연구 동기이다.

방법 (Method)

flowchart LR
    ENV[Minecraft / Mineflayer] -->|state, error| FB[Env Feedback]
    FB --> VERIFY[GPT-4 Self-Verification]
    CURR[Automatic Curriculum<br/>GPT-4] -->|next task| GEN[Code Writer GPT-4]
    LIB[(Skill Library<br/>desc embedding + code)] -->|top-k retrieval| GEN
    GEN -->|JS code| ENV
    VERIFY -->|pass| STORE[Store skill to Library]
    STORE --> LIB
    VERIFY -->|fail + critique| GEN
    ENV -->|inventory, biome| CURR
  • State representation: inventory, equipped items, nearby entities/biomes, chat log 등을 텍스트로 직렬화.
  • Curriculum 프롬프트: “propose the next task that is as novel and as achievable as possible”.
  • Skill 합성: 코드 작성 → 실행 → (에러 or self-verification critique) → 수정 반복. 성공 시 함수명 + description을 임베딩하여 vector store에 저장.
  • Skill 재사용: 새로운 task에서 description embedding similarity로 top-k 스킬을 주입, 이전 함수 호출이 가능.

발견 (Findings)

발견설명
Code skill > textual plan코드 함수 저장이 자연어 계획 저장보다 재사용·조합성이 우수
Self-verification > Reflexion환경 상태를 직접 확인하므로 hallucinated success가 줄어듦
Curriculum novelty 유도scalar reward 없이도 tech tree를 깊숙이 탐색
Compositionality하위 스킬(mine_wood)을 상위 스킬(craft_pickaxe)이 함수 호출
Generalization학습된 library가 새 world seed에도 재사용 가능

이론적 의의

Voyager는 “LLM agent를 위한 지속 학습 프레임워크”를 다음의 형태로 제시한다.

  • **Planner(curriculum) + Actor(code writer) + Critic(self-verifier)**의 분리. 이후 AutoGen, MetaGPT, ChatDev 등 multi-agent 연구의 원형이 된다.
  • 코드 = 프로시저 메모리: LLM의 non-parametric memory를 자연어가 아닌 실행 가능한 코드로 저장하는 패러다임. 이는 Toolformer/Code-as-Policies와 맥을 같이 하며, 이후 SWE-agent, Devin 류 코드 agent에 영향.
  • Open-ended evaluation: 고정된 benchmark가 아닌 “획득 아이템 수”, “탐험 거리” 같은 open-ended 지표를 도입하여 agent 평가 방법론에도 기여.

재현성 및 신뢰도 평가

항목평가근거
코드 공개Avoyager.minedojo.org, GitHub 공식 리포 공개
데이터/환경AMinecraft + Mineflayer 오픈 환경
LLM 의존성CGPT-4 blackbox; 동일 버전 재현 불가
평가 프로토콜Bseed/시간 정의는 명확하나 LLM stochasticity로 분산 큼
Ablation 충실도Bcurriculum, skill library, self-verify 각각 ablation 제시
종합B개념·코드는 재현 가능하나 절대 수치는 LLM 버전 의존

관련 연구

  • LLM agents (단기): ReAct, Reflexion, AutoGPT, DEPS — Voyager의 self-verification과 prompting loop의 전신.
  • Minecraft RL/IL: MineDojo, VPT (Video PreTraining), DreamerV3 — RL 접근의 한계를 드러내며 Voyager의 대안 동기를 제공.
  • Code-as-Policies / ProgPrompt: LLM이 로봇 제어 코드를 생성하는 계열 — Voyager의 “코드 스킬” 아이디어와 연결.
  • Open-ended learning: POET, XLand — novelty-seeking curriculum의 이론적 배경.
  • 후속 연구: Ghost in the Minecraft (GITM), JARVIS-1, MP5 등 multimodal Minecraft agent로 확장됨.

원자적 인사이트

  1. “메모리는 자연어가 아니라 함수다” — 에이전트의 장기 기억을 실행 가능한 코드로 구현하면, retrieval만으로 복잡한 행동이 조합 가능한 programmatic memory가 되어 catastrophic forgetting이 구조적으로 예방된다.
  2. “보상 없는 커리큘럼” — LLM의 world knowledge가 자체적으로 “다음으로 시도할 만한 참신한 과제”를 제안할 수 있어, scalar reward 설계 없이도 장기 horizon 탐사가 가능하다. 이는 LLM이 sparse-reward RL의 exploration bottleneck을 우회하는 실증이다.
  3. “Grounded self-critique” — Reflexion의 언어 기반 self-reflection을 환경 상태 조회와 결합하면 hallucinated success를 효과적으로 줄일 수 있다.

핵심 용어 정리

  • Lifelong Learning Agent: 고정된 task set 없이 지속적으로 새로운 기술을 습득·누적하는 에이전트.
  • Automatic Curriculum: 외부 설계자 없이 agent 스스로 다음 학습 과제를 제안·선택하는 메커니즘.
  • Skill Library: 자연어 description + 실행 가능한 코드(JS 함수) 쌍으로 구성된 vector-indexed 저장소.
  • Mineflayer: Node.js 기반 Minecraft bot API. GPT-4가 생성한 JS 코드가 실행되는 런타임.
  • Self-Verification: LLM이 환경 상태와 task 명세를 대조해 성공 여부를 자체 판정하는 기법.
  • Tech Tree: Minecraft의 계층적 crafting dependency (wood → stone → iron → diamond).
  • Open-Ended Evaluation: 고정 reward가 아닌 novelty·다양성·탐험 정도로 agent를 평가.

태그

Agents LLM-Agent Minecraft Lifelong-Learning Embodied-AI GPT-4 Code-as-Policies Automatic-Curriculum Skill-Library TMLR2024