> ## Documentation Index
> Fetch the complete documentation index at: https://docs.swarms.world/llms.txt
> Use this file to discover all available pages before exploring further.

# IRE Agent (Iterative Reflective Expansion)

> Iterative hypothesis generation, simulation, and refinement through continuous cycles of testing and meta-cognitive reflection

The Iterative Reflective Expansion (IRE) Algorithm is a sophisticated reasoning framework that employs iterative hypothesis generation, simulation, and refinement to solve complex problems. It leverages a multi-step approach where an AI agent generates initial solution paths, evaluates their effectiveness through simulation, reflects on errors, and dynamically revises reasoning strategies.

## Architecture

```mermaid theme={null}
graph TD
    Problem_Input["Problem Input"] --> Generate_Hypotheses
    Generate_Hypotheses["Generate Initial Hypotheses"] --> Simulate
    subgraph Iterative Reflective Expansion Loop
        Simulate["Simulate Reasoning Paths"] --> Evaluate
        Evaluate["Evaluate Outcomes"] --> Reflect{Is solution satisfactory?}
        Reflect -->|No, issues found| Meta_Reflect
        Reflect -->|Yes| Promising
        Meta_Reflect["Meta-Cognitive Reflection"] --> Revise_Paths
        Revise_Paths["Revise Paths Based on Feedback"] --> Expand_Paths
        Expand_Paths["Iterative Expansion & Pruning"] --> Simulate
    end
    Promising["Promising Paths Selected"] --> Memory
    Memory["Memory Integration"] --> Synthesize
    Synthesize["Synthesize Final Solution"] --> Final["Final Solution"]
```

## Workflow

1. Generate initial hypotheses
2. Simulate paths
3. Reflect on errors
4. Revise paths
5. Select promising paths
6. Synthesize solution

## Class: `IterativeReflectiveExpansion`

### Parameters

| Parameter       | Type         | Default                                                              | Description                                                                                                                       |
| --------------- | ------------ | -------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `agent_name`    | `str`        | `"General-Reasoning-Agent"`                                          | Name of the internal reasoning agent                                                                                              |
| `description`   | `str`        | `"A reasoning agent that can answer questions and help with tasks."` | Description of the agent's purpose                                                                                                |
| `agent`         | `Agent`      | `None`                                                               | Reserved for a Swarms agent instance; the constructor always builds and assigns its own internal `Agent` regardless of this value |
| `max_loops`     | `int`        | `5`                                                                  | Maximum number of loops for the reasoning process                                                                                 |
| `system_prompt` | `str`        | `GENERAL_REASONING_AGENT_SYS_PROMPT`                                 | The system prompt for the internal agent                                                                                          |
| `model_name`    | `str`        | `"gpt-5.4"`                                                          | The underlying language model used by the internal agent                                                                          |
| `output_type`   | `OutputType` | `"dict"`                                                             | Format of the value returned by `run()`                                                                                           |

### Methods

| Method                        | Description                                                                 |
| ----------------------------- | --------------------------------------------------------------------------- |
| `generate_initial_hypotheses` | Generates an initial set of reasoning hypotheses based on the problem input |
| `simulate_path`               | Simulates a given reasoning path and evaluates its effectiveness            |
| `meta_reflect`                | Performs meta-cognitive reflection on the provided error information        |
| `revise_path`                 | Revises the reasoning path based on the provided feedback                   |
| `select_promising_paths`      | Selects the most promising reasoning paths from a list of candidates        |
| `synthesize_solution`         | Synthesizes a final solution from the promising paths and historical memory |
| `run`                         | Executes the Iterative Reflective Expansion process on the provided problem |

## Example

```python theme={null}
from swarms import IterativeReflectiveExpansion

agent = IterativeReflectiveExpansion(
    max_loops=3,
)

agent.run("What is the 40th prime number?")
```
