Skip to main content
Ralph Loops enable agents to work autonomously through iterative execution cycles, using file-based state persistence and fresh context windows to prevent context degradation.

What is Ralph?

Ralph is an autonomous AI agent loop pattern that emphasizes “naive persistence” - the agent keeps trying until it succeeds. Named after the character Ralph Wiggum from The Simpsons, it embodies a simple but effective philosophy: clear the context, read the state from files, make progress, and repeat. Key Principles:
  • Fresh Context: Each iteration starts with a clean LLM context window
  • File-Based State: Progress persists through files and Git history, not chat memory
  • Completion Promises: Agent signals task completion via explicit markers
  • Doom Loop Detection: Prevents repetitive, non-productive cycles

Quick Start

1

Basic Loop

2

With Completion Promise

The agent will include <promise>DONE</promise> in its response when complete.
3

With Context Clearing

Clears chat history between iterations, forcing file-based state management.

How It Works


Configuration Options

CLI Options

Programmatic Options


Completion Detection

The agent signals completion by including a promise marker in its output:
This explicit signaling prevents false completions and gives the agent precise control over when to stop iterating. Exit Conditions:
  1. Promise matched: Output contains <promise>{TEXT}</promise> matching the configured promise
  2. Max iterations: Reached the iteration limit
  3. Timeout: Exceeded the time limit
  4. Doom loop: Detected repetitive non-productive actions
  5. User interrupt: Ctrl+C cancellation

Common Patterns

Long-Running Development Tasks

Debugging Sessions

Refactoring Tasks


Best Practices

When --clear-context is enabled, ensure your agent writes progress to files (like progress.txt or a task list) so state persists across iterations.
Choose unique, unmistakable completion words like TASK_COMPLETE, DONE, or FEATURE_SHIPPED. Avoid common words that might appear accidentally.
Always set --timeout for production use to prevent runaway loops from consuming excessive resources.
Use -v when developing new autonomous workflows to understand the agent’s behavior across iterations.

Autonomy

Configure autonomous agent behavior

Execution

Control execution limits and patterns