Steve AI uses a LangChain-inspired agent architecture with the ReAct (Reasoning + Acting) framework for autonomous decision-making in Minecraft.
- Orchestrates the reasoning and action loop
- Manages chain state across multiple steps
- Builds context from Steve's memory and environment
- Executes agent decisions
- Manages tool selection and invocation
- Handles max iteration limits and error recovery
- Implements the ReAct reasoning framework
- Generates thoughts based on observations
- Selects actions using thought history
- Synthesizes final answers from action results
Available tools for agent interaction:
- Build: Structure construction
- Mine: Resource gathering
- Attack: Combat actions
- Pathfind: Navigation
- Stores chat history with timestamps
- Maintains user/assistant message pairs
- Token-limited buffer for context management
- Semantic search over past experiences
- Cosine similarity for relevance ranking
- 384-dimensional embeddings
- Metadata-enriched storage
- Dynamic prompt formatting
- Variable substitution
- Template validation
User Input
↓
ReActAgent.reason()
↓
Generate Thought ← Relevant Memories (Vector Store)
↓
Select Action
↓
AgentExecutor.execute()
↓
ToolWrapper.invoke()
↓
Action Result
↓
Update Memory
↓
Synthesize Answer
Agent behavior is controlled via langchain_config.json:
- Model selection and parameters
- Memory limits and vector store settings
- Tool definitions
- Prompt templates
The agent system integrates with Minecraft through:
SteveEntity: The physical entity in the gameActionExecutor: Bridges agent decisions to game actionsSteveMemory: Persistent memory across game sessions
- Multi-agent coordination using shared memory
- Long-term episodic memory with summarization
- Tool learning and dynamic tool creation
- Hierarchical planning for complex tasks