Skip to content
Back to skills

Wang 2023 Voyager

ASecurity

Mental models and decision frameworks for building autonomous agents that continuously learn, explore, and accumulate skills in open-ended environments without human supervision

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 24, 2026
ai-agentsjavascriptgojavareactdebuggingapiperformancedocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 16 files and shows the line behind each finding

Scanned September 24, 2026

npx -y skills add curiositech/port-daddy --skill wang-2023-voyager --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Wang 2023 Voyager?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Wang 2023 Voyager
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/curiositech-wang-2023-voyager-port-daddy/badge)](https://www.skillsdirectory.com/skills/curiositech-wang-2023-voyager-port-daddy)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
license: Apache-2.0
name: wang-2023-voyager
description: Mental models and decision frameworks for building autonomous agents that continuously learn, explore, and accumulate skills in open-ended environments without human supervision
category: Research & Academic
tags:
  - embodied-agents
  - open-ended-learning
  - skill-library
  - llm-agents
  - exploration
---

# VOYAGER: Open-Ended Learning Through Autonomous Exploration

## Decision Points

### Task Difficulty Assessment → Curriculum Action

**IF** proposed task requires skills/items agent doesn't have:
- **AND** prerequisites are 1-2 steps away → Accept task, decompose into subtasks
- **AND** prerequisites are 3+ steps away → Reject, request easier task
- **AND** prerequisites are unclear → Request task with more specific requirements

**IF** proposed task is similar to recently completed tasks:
- **AND** success rate on similar tasks >80% → Request harder variation
- **AND** success rate 50-80% → Accept task (skill consolidation zone)
- **AND** success rate <50% → Request easier task

**IF** task involves completely new domain (new biome/tool/mechanic):
- **AND** agent has foundational skills → Accept, expect high iteration count
- **AND** agent lacks foundations → Reject, build prerequisites first

### Skill Retrieval → Context Selection

**IF** current task has clear semantic match in library (similarity >0.85):
- Use top 3 matches as primary context
- Add 1-2 compositional skills that were used together previously

**IF** current task has partial matches (similarity 0.6-0.85):
- Use top 1 exact match + 2-3 related skills
- Include error patterns from previous failures on similar tasks

**IF** current task has no good matches (similarity <0.6):
- Use foundational skills (movement, inventory management, basic crafting)
- Include domain-specific APIs relevant to task context

### Code Generation Failure → Refinement Strategy

**IF** code has syntax/runtime errors:
- Use error message + stack trace as refinement prompt (1-2 iterations usually sufficient)

**IF** code runs but fails verification:
- Compare expected vs actual state changes
- Use environment feedback in next iteration prompt
- **IF** same failure repeats 2+ times → Add explicit debugging prints

**IF** code times out or loops infinitely:
- Add timeout guards and progress checks
- Break complex operations into smaller steps
- **IF** still failing → Decompose task into subtasks

## Failure Modes

### Anti-Pattern 1: "Curriculum Treadmill"
**Symptoms**: Agent gets stuck proposing/failing same difficulty tasks repeatedly  
**Detection**: Success rate flat for 10+ tasks, no new skills added to library  
**Fix**: Force curriculum to propose easier tasks to rebuild confidence, or harder tasks to break through plateau  

### Anti-Pattern 2: "Context Overflow"  
**Symptoms**: Code generation degrades as library grows, LLM context filled with irrelevant skills  
**Detection**: Recent success rate declining despite library growth, retrieval returning low-similarity matches  
**Fix**: Improve semantic indexing, add recency weighting to retrieval, compress old skills into documentation  

### Anti-Pattern 3: "Infinite Refinement"  
**Symptoms**: Agent spends 4+ iterations on tasks that should succeed in 1-2 attempts  
**Detection**: High iteration count with repeated similar errors, no progress between attempts  
**Fix**: Better error categorization, early termination for unsolvable tasks, task decomposition  

### Anti-Pattern 4: "Skill Hoarding"  
**Symptoms**: Library fills with hyper-specific skills that never get reused  
**Detection**: Low skill reuse rate, many skills with usage_count=1  
**Fix**: Encourage more general skill patterns, merge similar skills, add skill cleanup process  

### Anti-Pattern 5: "Verification Drift"  
**Symptoms**: Agent claims success for tasks that obviously failed  
**Detection**: Self-verification approval rate >90% but manual inspection shows failures  
**Fix**: Add objective success criteria, cross-check with environment state, improve verification prompts  

## Worked Examples

### Example: "Smelt Iron Ore" Task Walkthrough

**Initial State**: Agent has iron ore in inventory, knows location of coal

**Step 1: Task Proposal**
- Curriculum agent checks inventory, sees iron ore
- Proposes "smelt 8 iron ore into iron ingots" (appropriately challenging)
- Difficulty assessment: ACCEPT (has materials, understands smelting concept)

**Step 2: Skill Retrieval**
- Query library for "smelt" → finds `smeltCoal()` (similarity 0.72)
- Query for "furnace" → finds `lightFurnace()`, `collectFromFurnace()` (similarity 0.68, 0.64)
- Context: Include these 3 skills + basic inventory management

**Step 3: Code Generation (Iteration 1)**
```javascript
async function smeltIronOre(bot) {
    // Generated code tries to use furnace without coal
    await bot.pathfinder.goto(...furnaceLocation);
    await bot.clickWindow(bot.currentWindow.slots[0]); // Place iron ore
    // Missing: check for coal, light furnace
}
```

**Step 4: Execution + Feedback**
- Environment: "Furnace not lit, smelting failed"
- Self-verification: "I placed iron ore but furnace didn't start smelting"

**Step 5: Code Generation (Iteration 2)**  
```javascript
async function smeltIronOre(bot) {
    await collectCoal(bot); // Reused skill
    await bot.pathfinder.goto(...furnaceLocation);
    await lightFurnace(bot); // Reused skill
    // Place iron ore and coal in correct slots
    await waitForSmelting(bot);
}
```

**Step 6: Success + Library Addition**
- Task succeeds, code added to library with embedding
- Curriculum notes success, proposes next challenge: "craft iron sword"

**Expert vs Novice**: Novice would retry without coal indefinitely; expert recognizes furnace lighting as prerequisite and reuses existing skills.

### Example: "Build Castle" - Task Decomposition

**Initial State**: Agent has basic building blocks, intermediate construction skills

**Step 1: Curriculum Reasoning**
- Task too complex for single program
- Difficulty assessment: REJECT, request decomposition
- Counter-proposal: "build castle foundation 10x10"

**Step 2: Skill Composition Pattern**
- Foundation task uses `digArea()`, `placeBlocks()`, `checkInventory()`
- Success enables next subtask: "build castle walls"
- Each subtask builds on previous: foundation → walls → roof → details

**Progressive Difficulty**: Each castle component increases architectural complexity while reusing spatial reasoning skills.

## Quality Gates

**Task Completion Criteria**:
- [ ] Code executes without runtime errors
- [ ] Environment state matches task requirements (verified objectively)  
- [ ] Self-verification check passes with specific reasoning
- [ ] Resource usage is reasonable (no infinite loops/resource waste)
- [ ] Code reuses existing library skills where appropriate (>50% of functionality from library)

**Skill Library Health**:
- [ ] New skills added only after successful task completion
- [ ] Skill embeddings have semantic coherence (similar tasks cluster together)
- [ ] Library growth rate matches learning rate (new skills enable harder tasks)
- [ ] Skill reuse rate >30% (skills get used in multiple contexts)
- [ ] No dead code (skills unused for >50 tasks get flagged for cleanup)

**System Progress Indicators**:
- [ ] Success rate maintains 60-80% (difficulty calibrated correctly)
- [ ] Task diversity increasing over time (not stuck in local optima)
- [ ] Agent can complete tasks it couldn't attempt 20 tasks ago
- [ ] Curriculum proposals align with agent capability (not too easy/hard)
- [ ] Error recovery time decreasing (faster debugging through experience)

## NOT-FOR Boundaries

**Do NOT use VOYAGER for**:
- **Real-time control systems** requiring <100ms response (use reactive policies instead)
- **Safety-critical applications** where code bugs cause physical harm (use formal verification instead)  
- **Environments without rich state feedback** where verification is impossible (use reward-based RL instead)
- **Single-task optimization** where you want maximum performance on fixed objective (use specialized algorithms instead)
- **Domains where LLMs lack knowledge** like cutting-edge scientific equipment (use human experts instead)

**Delegate to other approaches**:
- For **supervised learning with abundant data** → use `deep-learning-training.md`
- For **multi-agent coordination** → use `swarm-intelligence.md` 
- For **real-time strategy** → use `mcts-planning.md`
- For **mathematical reasoning** → use `formal-verification.md`
- For **human-AI collaboration** → use `interactive-learning.md`

VOYAGER excels at **open-ended single-agent learning** in environments with rich feedback, executable actions, and compositional task structure. Stay within these boundaries for best results.
## Imported bundle navigation

These preserved source files add depth when their stated topic is needed.

- [diagrams/01_flowchart_curriculum-skill-verification_.md](diagrams/01_flowchart_curriculum-skill-verification_.md) — Curriculum-Skill-Verification Loop.
- [diagrams/02_sequenceDiagram_iterative_code_refinement_cycl.md](diagrams/02_sequenceDiagram_iterative_code_refinement_cycl.md) — Iterative Code Refinement Cycle (Single Task Attempt).
- [diagrams/03_mindmap_decision_framework_tree_(when_.md](diagrams/03_mindmap_decision_framework_tree_(when_.md) — Decision Framework Tree (When to Apply VOYAGER).
- [references/automatic-curriculum-as-frontier-discovery.md](references/automatic-curriculum-as-frontier-discovery.md) — Automatic Curriculum as Frontier Discovery: How Intelligent Systems Propose Their Own Challenges.
- [references/code-as-action-space-advantages.md](references/code-as-action-space-advantages.md) — Code as Action Space: Why Programs Beat Action Sequences for Complex Behavior.
- [references/curriculum-skill-verification-trinity.md](references/curriculum-skill-verification-trinity.md) — The Curriculum-Skill-Verification Trinity: Architecture for Open-Ended Learning.
- [references/failure-modes-in-llm-agents.md](references/failure-modes-in-llm-agents.md) — Failure Modes in LLM-Based Agents: Lessons from Open-Ended Exploration.
- [references/generalization-through-composition.md](references/generalization-through-composition.md) — Generalization Through Composition: How Intelligent Systems Transfer Knowledge to Novel Problems.
- [references/iterative-prompting-as-error-driven-refinement.md](references/iterative-prompting-as-error-driven-refinement.md) — Iterative Prompting as Error-Driven Refinement: How Intelligent Systems Debug Themselves.
- [references/self-verification-without-ground-truth.md](references/self-verification-without-ground-truth.md) — Self-Verification Without Ground Truth: How Intelligent Systems Know When They're Done.
- [references/skill-library-as-compositional-memory.md](references/skill-library-as-compositional-memory.md) — Skill Library as Compositional Memory: Accumulating Capability Without Catastrophic Forgetting.

Files in this skill

  • SKILL.md10.8 KB
  • _book_identity.json4.3 KB
  • _raw_response.md96.5 KB
  • diagrams/01_flowchart_curriculum-skill-verification_.md1.4 KB
  • diagrams/02_sequenceDiagram_iterative_code_refinement_cycl.md1.3 KB
  • diagrams/03_mindmap_decision_framework_tree_(when_.md1.7 KB
  • diagrams/INDEX.md930 B
  • references/INDEX.md1.5 KB
  • references/automatic-curriculum-as-frontier-discovery.md9.6 KB
  • references/code-as-action-space-advantages.md12.4 KB
  • references/curriculum-skill-verification-trinity.md12.1 KB
  • references/failure-modes-in-llm-agents.md13.9 KB
  • references/generalization-through-composition.md7.7 KB
  • references/iterative-prompting-as-error-driven-refinement.md12.3 KB
  • references/self-verification-without-ground-truth.md11.7 KB
  • references/skill-library-as-compositional-memory.md11.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…