Metadata-Version: 2.5
Name: llm4ad-next
Version: 1.1.0
Summary: Interactive LLM-driven automated algorithm design with evolutionary optimization
Project-URL: Homepage, https://github.com/Optima-CityU/LLM4AD_Next
Project-URL: Documentation, https://llm4ad.readthedocs.io
Project-URL: Repository, https://github.com/Optima-CityU/LLM4AD_Next
Project-URL: Issues, https://github.com/Optima-CityU/LLM4AD_Next/issues
Project-URL: Changelog, https://github.com/Optima-CityU/LLM4AD_Next/releases
Author: LLM4AD Contributors
Maintainer: LLM4AD Contributors
License: BSD-3-Clause
License-File: LICENSE
Keywords: ai,algorithm-design,automated-algorithm-design,code-generation,evolutionary-optimization,llm
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Code Generators
Requires-Python: >=3.12
Requires-Dist: agentscope<3.0,>=2.0
Requires-Dist: aiofiles>=25.1.0
Requires-Dist: aiohttp>=3.9.0
Requires-Dist: claude-agent-sdk
Requires-Dist: click>=8.3.1
Requires-Dist: inquirerpy>=0.3.4
Requires-Dist: loguru>=0.7.3
Requires-Dist: numpy>=2.2.6
Requires-Dist: openai>=2.26.0
Requires-Dist: pandas>=2.3.3
Requires-Dist: prompt-toolkit>=3.0.0
Requires-Dist: pydantic-settings>=2.0.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pytest-custom-exit-code>=0.3.0
Requires-Dist: pyyaml>=6.0.3
Requires-Dist: rich<14.0.0,>=13.0.0
Requires-Dist: scikit-learn>=1.3.0
Requires-Dist: typer>=0.24.1
Requires-Dist: typing-extensions>=4.5.0
Requires-Dist: xgboost>=3.2.0
Provides-Extra: agent
Requires-Dist: agentscope<3.0,>=2.0; extra == 'agent'
Provides-Extra: all
Requires-Dist: anthropic>=0.19.0; extra == 'all'
Requires-Dist: black>=24.0.0; extra == 'all'
Requires-Dist: codebleu>=0.7.0; extra == 'all'
Requires-Dist: gymnasium[box2d]>=0.29.0; extra == 'all'
Requires-Dist: isort>=5.13.0; extra == 'all'
Requires-Dist: llvmlite==0.44.0; extra == 'all'
Requires-Dist: matplotlib>=3.5.0; extra == 'all'
Requires-Dist: mkdocs-git-committers-plugin-2>=2.5.0; extra == 'all'
Requires-Dist: mkdocs-git-revision-date-localized-plugin>=1.5.1; extra == 'all'
Requires-Dist: mkdocs-material>=9.5.0; extra == 'all'
Requires-Dist: mkdocs-minify-plugin>=0.8.0; extra == 'all'
Requires-Dist: mkdocs>=1.5.0; extra == 'all'
Requires-Dist: mkdocstrings[python]>=0.24.0; extra == 'all'
Requires-Dist: mypy>=1.8.0; extra == 'all'
Requires-Dist: numba==0.61.2; extra == 'all'
Requires-Dist: numpy>=1.24.0; extra == 'all'
Requires-Dist: openai>=1.0.0; extra == 'all'
Requires-Dist: pandas>=2.0.0; extra == 'all'
Requires-Dist: psutil>=5.9.0; extra == 'all'
Requires-Dist: pymoo>=0.6.1; extra == 'all'
Requires-Dist: pyscipopt<7,>=6.2; extra == 'all'
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'all'
Requires-Dist: pytest-cov>=4.1.0; extra == 'all'
Requires-Dist: pytest-custom-exit-code>=0.3.0; extra == 'all'
Requires-Dist: pytest>=8.0.0; extra == 'all'
Requires-Dist: ruff>=0.2.0; extra == 'all'
Requires-Dist: scikit-learn>=1.3.0; extra == 'all'
Requires-Dist: scipy>=1.10.0; extra == 'all'
Requires-Dist: sympy>=1.12.0; extra == 'all'
Requires-Dist: tiktoken>=0.6.0; extra == 'all'
Requires-Dist: tree-sitter-python==0.21.0; extra == 'all'
Requires-Dist: umap-learn>=0.5.12; extra == 'all'
Provides-Extra: dev
Requires-Dist: black>=24.0.0; extra == 'dev'
Requires-Dist: isort>=5.13.0; extra == 'dev'
Requires-Dist: mypy>=1.8.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.1.0; extra == 'dev'
Requires-Dist: pytest-custom-exit-code>=0.3.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.2.0; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-git-committers-plugin-2>=2.5.0; extra == 'docs'
Requires-Dist: mkdocs-git-revision-date-localized-plugin>=1.5.1; extra == 'docs'
Requires-Dist: mkdocs-material>=9.5.0; extra == 'docs'
Requires-Dist: mkdocs-minify-plugin>=0.8.0; extra == 'docs'
Requires-Dist: mkdocs>=1.5.0; extra == 'docs'
Requires-Dist: mkdocstrings[python]>=0.24.0; extra == 'docs'
Provides-Extra: dyca
Requires-Dist: numpy>=1.24.0; extra == 'dyca'
Requires-Dist: scikit-learn>=1.3.0; extra == 'dyca'
Provides-Extra: eval
Requires-Dist: llvmlite==0.44.0; extra == 'eval'
Requires-Dist: numba==0.61.2; extra == 'eval'
Requires-Dist: numpy>=1.24.0; extra == 'eval'
Requires-Dist: pandas>=2.0.0; extra == 'eval'
Requires-Dist: scipy>=1.10.0; extra == 'eval'
Requires-Dist: sympy>=1.12.0; extra == 'eval'
Requires-Dist: umap-learn>=0.5.12; extra == 'eval'
Provides-Extra: infra
Requires-Dist: psutil>=5.9.0; extra == 'infra'
Provides-Extra: lunarlander
Requires-Dist: gymnasium[box2d]>=0.29.0; extra == 'lunarlander'
Requires-Dist: matplotlib>=3.5.0; extra == 'lunarlander'
Provides-Extra: meoh
Requires-Dist: codebleu>=0.7.0; extra == 'meoh'
Requires-Dist: pymoo>=0.6.1; extra == 'meoh'
Requires-Dist: scikit-learn>=1.3.0; extra == 'meoh'
Requires-Dist: tree-sitter-python==0.21.0; extra == 'meoh'
Provides-Extra: mindmemos
Requires-Dist: httpx<1,>=0.27.0; extra == 'mindmemos'
Requires-Dist: mindmemos-sdk>=0.1.0; (python_version >= '3.11' and python_version < '3.14') and extra == 'mindmemos'
Requires-Dist: pyyaml<7,>=6.0; extra == 'mindmemos'
Requires-Dist: textual<2,>=1.0.0; extra == 'mindmemos'
Provides-Extra: providers
Requires-Dist: anthropic>=0.19.0; extra == 'providers'
Requires-Dist: openai>=1.0.0; extra == 'providers'
Requires-Dist: tiktoken>=0.6.0; extra == 'providers'
Provides-Extra: scip
Requires-Dist: pyscipopt<7,>=6.2; extra == 'scip'
Provides-Extra: tsp
Requires-Dist: numpy>=1.24.0; extra == 'tsp'
Description-Content-Type: text/markdown

<h1 align="center">OpenLoopX · LLM4AD Next</h1>


<p align="center">
  <strong>From problem description to runnable evolutionary algorithm search — in one command.</strong><br>
  LLM-driven automated algorithm design with evolutionary optimization
</p>

<p align="center">
  <a href="https://llm4ad-next.cn/">Website</a> ·
  <a href="#quick-start">Quickstart</a> ·
  <a href="docs/en/index.md">Docs</a> ·
  <a href="https://github.com/Optima-CityU/LLM4AD_Next/wiki">Wiki</a> 
</p>

<p align="center">
  <a href="https://pypi.org/project/llm4ad-next/">
    <img src="https://img.shields.io/pypi/v/llm4ad-next?color=blue" alt="PyPI Version">
  </a>
  <a href="https://pypi.org/project/llm4ad-next/">
    <img src="https://img.shields.io/badge/python-3.12%2B-blue" alt="Python Versions">
  </a>
  <a href="https://github.com/Optima-CityU/LLM4AD_Next/blob/main/LICENSE">
    <img src="https://img.shields.io/badge/license-BSD--3--Clause-blue" alt="License">
  </a>
  <a href="https://github.com/Optima-CityU/LLM4AD_Next/actions/workflows/ci.yml">
    <img src="https://img.shields.io/github/actions/workflow/status/Optima-CityU/LLM4AD_Next/ci.yml" alt="CI">
  </a>
</p>

<p align="center">
  <strong>English</strong> | <a href="./README_zh.md">中文</a>
</p>

---

<p align="center">
  <strong>⭐ Star us on GitHub to earn 10$ bonus tokens for the <a href="https://llm4ad-next.cn/">Online Website</a>!</strong>
</p>

---

## 🔥 News

- 🔬 [2026.09][AutoResearch]: **[LLM4AD_Next × AutoResearchClaw](https://github.com/Optima-CityU/LLM4AD_Next/wiki/News%E2%80%90and%E2%80%90Articles%E2%80%90Index_en)** adds algorithm evolution before code is finalized in stage 13 of the 23-stage research workflow. Candidates are checked with the original evaluator; only better algorithms replace the baseline, while unsuccessful attempts leave the original code intact. [Try AutoResearch](https://llm4ad-next.cn/autoresearch) with the `llm4ad` experiment mode.
- 🧮 [2026.09][New Dataset]: The **[AlphaEvolve Mathematics Benchmark Suite](examples/applications/alphaevolve_math_benchmark/README.md)** adds 11 independently runnable mathematical optimization cases, case-local evaluators, evolved implementations, and reusable experience artifacts.
- 🏝️ [2026.09][New Search Method]: **Diverse Island GA** is now available, assigning a continuous spectrum of exploitation, correction, and independent-exploration behaviors across any number of islands while coordinating migration and memory use.
- 🎯 [2026.08][New Feature]: **Algorithm Design Skills** — Modular skill definitions (EoH, FunSearch, ReEvo, MEoH, MOEA/D) that enable coding agents to autonomously design algorithms. See [Algorithm Design Skills](skills/algo-design/).
- 🔬 [2026.07][New Feature]: **Search methods migrated** — EoH, MEoH, ReEvo, and MCTS-AHD are now available as standalone orchestrators. See [Search Methods](#search-methods-automatic-heuristic-design).
- 🧠 [2026.07][New Feature]: **[MindMemOS](https://github.com/dadastory/MindMemOS)-backed long-term memory** is now available, with global, project, and task memory scopes plus configurable Chat and Embedding model bindings. See the [Memory Guide](docs/en/guides/memory.md).
- 🚀 [2026.07][New Release]: **LLM4AD_Next Online Trial** is now available at [https://llm4ad-next.cn/](https://llm4ad-next.cn/) — try the full problem-to-algorithm workflow directly in your browser with no local setup.
- ✨ [2026.07][New Feature]: Introducing an **interactive problem-to-project workflow** that turns natural-language problem descriptions into runnable evolutionary algorithm search projects.
- 🐳 [2026.07][New Feature]: Versioned **Docker Hub deployment images** are now aligned with GitHub Release tags for reproducible local deployment.

## 🚀 Why LLM4AD_Next?

Traditionally, using Large Language Models for Automated Algorithm Design (LLM4AD) required a tedious, multi-step configuration pipeline. **LLM4AD_Next destroys this entry barrier.**

<div align="center">
  <img src="docs/en/process.png" alt="LLM4AD vs LLM4AD_Next Process Overview" width="850">
</div>


With **LLM4AD_Next**, after creating your directory, all of these painful steps are fully automated through an interactive conversational terminal. Just run:

```bash
uv run llm4ad chat
```

Our built-in AI-powered consultant will interview you, instantly understand your requirements, and automatically generate a ready-to-run pipeline (evaluator, algorithm skeleton, configuration, and debugger) so you can leap straight into producing Useful Algorithms.

## 🎯 Key Features Overview

* 🧠 **LLM-Powered Design** & 🧬 **Evolutionary Optimization** combined to automatically evolve top-performing code.
* 💬 **Interactive Configuration (`llm4ad chat`)** — Your conversational AI consultant that generates the entire runnable app framework.
* 🔍 **Evolve-Block Advisor & Recommender** — Point LLM4AD_Next at any repository, and it will scan, score, and recommend exactly *which* blocks of code are most promising to evolve to hit your goals.
* 🔬 **[AutoResearch](https://llm4ad-next.cn/autoresearch)** — Run an [AutoResearchClaw](https://arxiv.org/abs/2605.20025) research workflow; choose `llm4ad` experiment mode to evolve algorithms and retain the original code when candidates do not improve their evaluation scores.

## Search Methods (Automatic Heuristic Design)

Overview of the Automatic Heuristic Design (AHD) search methods from the original [LLM4AD](https://github.com/Optima-CityU/LLM4AD/tree/main/llm4ad) platform. **Impl** = whether the method has a working orchestrator implementation in code; **Skill** = whether an algorithm design skill is available for coding agents.

| Method | Impl | Skill | Method | Impl | Skill |
|--------|------|-------|--------|------|-------|
|--------|--------|-------|--------|--------|-------|
| **IslandGA** | ✅ Available | ✅ Available | **FunSearch** | ⏳ Pending | ✅ Available |
| **Diverse Island GA** | ✅ Available | ✅ Available | **HillClimb** | ⏳ Pending | ⏳ Pending |
| **MEoH** | ✅ Available | ✅ Available | **LHNS** | ⏳ Pending | ⏳ Pending |
| **DyCA** | ✅ Available | ✅ Available | **LLaMEA** | ⏳ Pending | ⏳ Pending |
| **EoH** | ✅ Available | ✅ Available | **MLES** | ⏳ Pending | ⏳ Pending |
| **ReEvo** | ✅ Available | ✅ Available | **MOEA/D** | ⏳ Pending | ✅ Available |
| **MCTS-AHD** | ✅ Available | ✅ Available | **NSGA-II** | ⏳ Pending | ✅ Available |
| | | | **PartEvo** | ⏳ Pending | ⏳ Pending |
| | | | **RandSample** | ⏳ Pending | ⏳ Pending |

### Using the migrated methods

Set `evolution.type` in your config and run `llm4ad run <config.yaml>`. See `examples/config/config.complete.yaml` for full examples.

```yaml
evolution:
  type: "eoh"  # options include "diverse_island_ga", "island_ga", "eoh", "meoh", "reevo", "mcts_ahd", "dyca"
```

### Algorithm Design Skills

Modular skill definitions that enable coding agents to autonomously design algorithms. Give a coding agent this prompt:

```
I want you to design a [PROBLEM] solver using the [SKILL] method.

Skill: https://github.com/Optima-CityU/LLM4AD_Next/blob/develop/skills/algo-design/[SKILL]/SKILL.md
Task: /path/to/your/task/

Read the skill, read the task package, run [N] generations, give me the best algorithm.
```

See [use_example](skills/algo-design/use_example/) for a complete TSP + EoH example.

## 🏆 Featured Cases

### [AlphaEvolve Mathematics Benchmark](examples/applications/alphaevolve_math_benchmark/README.md)

| Case (↑ Max · ↓ Min) | LLM4AD Next | Published Results | Artifacts |
| --- | ---: | --- | --- |
| 26 circles in a unit square ↑ | **`2.6359830833`**<br>Δ `+1.21e-7` | AlphaEvolve `2.6358627564`<br>LoongFlow `2.6359829625` | [Code](examples/applications/alphaevolve_math_benchmark/circle_packing/results/best/solve.py) · [Experience](examples/applications/alphaevolve_math_benchmark/circle_packing/results/best/experiences/README.md) · [Result](examples/applications/alphaevolve_math_benchmark/circle_packing/results/best/result.json) |
| 21 circles in a perimeter-four rectangle ↑ | **`2.3658323757`**<br>Δ `+1.46e-7` | AlphaEvolve `2.3658321334`<br>LoongFlow `2.3658322295` | [Code](examples/applications/alphaevolve_math_benchmark/circle_rectangle/results/best/solve.py) · [Experience](examples/applications/alphaevolve_math_benchmark/circle_rectangle/results/best/experiences/README.md) · [Result](examples/applications/alphaevolve_math_benchmark/circle_rectangle/results/best/result.json) |
| 11 unit hexagons in a regular hexagon ↓ | **`3.9246884168`**<br>Δ `+0.00421844` | AlphaEvolve `3.930092`<br>LoongFlow `3.9289068555` | [Code](examples/applications/alphaevolve_math_benchmark/hexagon_packing/results/best/solve.py) · [Experience](examples/applications/alphaevolve_math_benchmark/hexagon_packing/results/best/experiences/README.md) · [Result](examples/applications/alphaevolve_math_benchmark/hexagon_packing/results/best/result.json) |
| 16-point maximum/minimum distance ratio ↓ | **`12.8892299077`**<br>Δ `+1.36e-5` | AlphaEvolve `12.8892661120`<br>LoongFlow `12.8892435472` | [Code](examples/applications/alphaevolve_math_benchmark/max_min_distance_ratio/results/best/solve.py) · [Experience](examples/applications/alphaevolve_math_benchmark/max_min_distance_ratio/results/best/experiences/README.md) · [Result](examples/applications/alphaevolve_math_benchmark/max_min_distance_ratio/results/best/result.json) |
| Uncertainty inequality ↓ | **`0.352099104419`**<br>Δ `+2.68e-12` | AlphaEvolve `0.352099104423`<br>LoongFlow `0.352099104422` | [Code](examples/applications/alphaevolve_math_benchmark/uncertainty_inequality/results/best/solve.py) · [Experience](examples/applications/alphaevolve_math_benchmark/uncertainty_inequality/results/best/experiences/README.md) · [Result](examples/applications/alphaevolve_math_benchmark/uncertainty_inequality/results/best/result.json) |
| Second autocorrelation inequality ↑ | **`0.9053043553`**<br>Δ `+0.00260225` | AlphaEvolve `0.8962799442`<br>LoongFlow `0.9027021077` | [Code](examples/applications/alphaevolve_math_benchmark/second_autocorrelation/results/best/solve.py) · [Experience](examples/applications/alphaevolve_math_benchmark/second_autocorrelation/results/best/experiences/README.md) · [Result](examples/applications/alphaevolve_math_benchmark/second_autocorrelation/results/best/result.json) |
| First autocorrelation inequality ↓ | **`1.5074598117`**<br>Δ `-0.00216584` | AlphaEvolve `1.5052939684`<br>LoongFlow `1.5095273149` | [Code](examples/applications/alphaevolve_math_benchmark/first_autocorrelation/results/best/solve.py) · [Experience](examples/applications/alphaevolve_math_benchmark/first_autocorrelation/results/best/experiences/README.md) · [Result](examples/applications/alphaevolve_math_benchmark/first_autocorrelation/results/best/result.json) |
| Minimum overlap ↓ | **`0.3809250447`**<br>Δ `-1.13e-5` | AlphaEvolve `0.380924`<br>LoongFlow `0.3809137564` | [Code](examples/applications/alphaevolve_math_benchmark/minimum_overlap/results/best/solve.py) · [Experience](examples/applications/alphaevolve_math_benchmark/minimum_overlap/results/best/experiences/README.md) · [Result](examples/applications/alphaevolve_math_benchmark/minimum_overlap/results/best/result.json) |
| Heilbronn problem in an equilateral triangle ↑ | **`0.0365298881928`**<br>Δ `-1.69e-9` | AlphaEvolve `0.0365298898800`<br>LoongFlow `0.0365298898793` | [Code](examples/applications/alphaevolve_math_benchmark/heilbronn_triangle/results/best/solve.py) · [Experience](examples/applications/alphaevolve_math_benchmark/heilbronn_triangle/results/best/experiences/README.md) · [Result](examples/applications/alphaevolve_math_benchmark/heilbronn_triangle/results/best/result.json) |

## Quick Start

<table>
  <tr>
    <td align="center" width="33%">
      <strong>Try Online</strong><br>
    </td>
    <td align="center" width="33%">
      <strong>Watch Instruction</strong><br>
    </td>
    <td align="center" width="33%">
      <strong>Read Docs</strong><br>
    </td>
  </tr>
  <tr>
    <td align="center" width="33%">
      Run LLM4AD_Next in your browser. No installation or API key required.
    </td>
    <td align="center" width="33%">
      Watch the introduction before installing or configuring a local environment.
    </td>
    <td align="center" width="33%">
      Use the documentation path map for setup, configuration, examples, and Web UI deployment.
    </td>
  </tr>
  <tr>
    <td align="center" width="33%">
      <a href="https://llm4ad-next.cn/">
        <img src="https://img.shields.io/badge/Launch%20Online%20Demo-Open%20Now-2ea44f?style=for-the-badge"
             alt="Launch Online Demo">
      </a>
    </td>
    <td align="center" width="33%">
      <a href="https://youtu.be/x47kEosu0jk" target="_blank" rel="noopener noreferrer">
        <img src="https://img.shields.io/badge/Watch%20Instruction-YouTube-FF0000?style=for-the-badge&logo=youtube&logoColor=white"
             alt="Watch the instruction video on YouTube">
      </a>
    </td>
    <td align="center" width="33%">
      <a href="docs/en/index.md">
        <img src="https://img.shields.io/badge/Open%20Documentation-Read%20Now-0969da?style=for-the-badge"
             alt="Open Documentation">
      </a>
    </td>
  </tr>
</table>

## Instruction Video

<div align="center">
  <a href="https://youtu.be/x47kEosu0jk" target="_blank" rel="noopener noreferrer">
    <img src="https://img.youtube.com/vi/x47kEosu0jk/maxresdefault.jpg"
         alt="LLM4AD_Next instruction video"
         width="720"
         height="405">
  </a>
</div>


## Run LLM4AD Next

### Option A: Online Demo (No Installation Required)

Use the online demo from [Quick Start](#quick-start), or open it directly:
[Launch Online Demo](https://llm4ad-next.cn/).

No setup, no API key needed — just open the link and start designing algorithms.

### Option B: Local Installation

Requires **Python 3.12+** (pinned in `.python-version`) and [uv](https://github.com/astral-sh/uv) (recommended) or pip. A plain `uv sync` sets up everything, including the `chatv2` AI build agent, out of the box.

```bash
# Clone the repository
git clone https://github.com/Optima-CityU/LLM4AD_Next.git
cd LLM4AD_Next

# Install dependencies
uv sync

# Configure your LLM provider (see Global Settings section below)
# Or set environment variables directly:
export LLM_BASE_URL="https://api.openai.com/v1"
export LLM_API_KEY="your-api-key"
export LLM_MODEL="gpt-4o"

# Option 1: Interactive configuration (recommended for new users)
llm4ad chat

# Option 2: Run with an existing config file
llm4ad run examples/applications/tsp_benchmark_python/config.yaml
```

For optional dependency groups (`infra`, `providers`, `eval`, `dev`, `docs`, `all`) and uv installation, see the [Installation Guide](docs/en/guides/installation.md).

## Global Settings

Create `~/.llm4ad/settings.yaml` to configure shared providers across all projects:

```yaml
providers:
  - name: default
    type: openai
    api_key: ${OPENAI_API_KEY}
    model: gpt-4o
  - name: anthropic
    type: anthropic
    api_key: ${ANTHROPIC_API_KEY}
    model: claude-sonnet-4-20250514
```

Task configs then only need the provider name — credentials and model are resolved from global settings automatically.

For CLI commands, the interactive chat workflow, the Evolve-Block Advisor / Recommender, and the Python API, see the [Documentation](docs/en/index.md).

## Documentation

- [Documentation Home](docs/en/index.md)
- [Quick Start Guide](docs/en/guides/quickstart.md)
- [Configuration Guide](docs/en/guides/configuration.md)
- [Writing Evaluators](docs/en/guides/evaluators.md)

### Local Development

```bash
# Serve documentation with live reload
mkdocs serve

# Build static documentation
mkdocs build
```

## Project Structure

```
LLM4AD_Next/
├── src/
│   ├── llm4ad/           # Core Python package and CLI
│   │   ├── agent/        # Conversational task-building agent
│   │   ├── advisor/      # Evolve-block advisor and recommender
│   │   ├── builder/      # Runnable task-package builder
│   │   ├── config/       # Configuration schemas and settings
│   │   ├── planner/      # Algorithm planning
│   │   ├── coder/        # Code generation
│   │   ├── evaluator/    # Candidate evaluation
│   │   ├── orchestrator/ # Evolution workflows
│   │   ├── memory/       # Memory integration
│   │   └── infra/        # Providers and shared infrastructure
│   ├── backend/          # FastAPI, workers, migrations, and API tests
│   └── frontend/         # React/Vite web app and UI tests
├── skills/               # Agent skills
│   ├── algo-design/      # Algorithm design methods
│   ├── autodiscovery/    # Paper-to-evolvable-task workflow
│   ├── autorebuttal/     # Reviewer response and AC summary workflow
│   ├── document-knowledge-organizer/ # Markdown knowledge organization
│   ├── llm4ad-task-builder/ # Runnable task-package creation
│   ├── openair-proposal/ # Staged research proposal writing
│   ├── research-stage-publication/ # Stage result publication
│   └── typst-author/    # Typst document authoring
├── docker/               # Compose stacks and runtime support
├── third_party/          # Integrated upstream submodules
│   ├── CloudCLI/         # Cloud development workspace
│   └── MindMemOS/        # Memory service and SDK
├── examples/             # Example tasks and benchmarks
│   ├── applications/    # Runnable tasks and benchmarks (examples below)
│   │   ├── alphaevolve_math_benchmark/ # Mathematical optimization cases
│   │   ├── lunarlander_python/ # Reinforcement learning example
│   │   ├── sorting_benchmark/ # Sorting algorithm benchmark
│   │   └── tsp_benchmark_python/ # Traveling-salesperson benchmark
│   ├── auto_applications/ # Automatic task-building examples
│   │   ├── from_code/   # Build tasks from existing code
│   │   └── from_description/ # Build tasks from a description
│   └── config/          # Sample configuration files
├── tests/                # Core Python test suite
├── docs/                 # English and Chinese documentation
└── scripts/              # Repository utilities
```

## Contributing

Contributions are welcome! Please read our [Contributing Guide](docs/en/contributing/guidelines.md) for details.

```bash
# Set up development environment
uv sync --extra all

# Run tests
pytest

# Format code
black src/ tests/
ruff check src/ tests/ --fix
```

## License

This project is licensed under the BSD 3-Clause License - see the [LICENSE](LICENSE) file for details.

## Acknowledgements

The AutoResearch module is based on / adapted from [AutoResearchClaw](https://github.com/aiming-lab/AutoResearchClaw) (MIT License). Its original copyright and license notice are retained in [THIRD_PARTY_LICENSES.md](THIRD_PARTY_LICENSES.md).

## Support

- [Documentation](docs/en/index.md)
- [Discussions](https://github.com/Optima-CityU/LLM4AD_Next/discussions)
- [Issue Tracker](https://github.com/Optima-CityU/LLM4AD_Next/issues)

## Join the Community

Scan the QR code with WeChat to join the LLM4AD_Next community group.

<div align="center">
  <img src="docs/assets/live-qr-20260927-120850.png"
       alt="LLM4AD_Next WeChat community QR code"
       width="220">
</div>
