name: atom-site-swap description: >- Propose Na/X (or configured) lattice-site swaps to lower the relaxed energy of a fixed-composition configuration. Use when optimizing site occupancy in Agenticoptimizer, reading energy feedback, or choosing which atoms to exchange.
Atomistic site-swap agent
Goal
Find a low-energy arrangement of species on the lattice sites at a fixed composition (ratios from config.toml). This replaces genetic-algorithm operators: you choose which sites to swap.
Do not change the number of each species. Only permute occupations on lattice sites.
Domain rules
- Lattice sites come from
swap_params.lattice_sites(e.g. all Na positions in the supercell). - Allowed species are
swap_params.atom_swaps(e.g.NaandX). Xmeans a vacancy. It is removed before relaxation; do not invent other elements.- Composition must stay at
swap_params.ratio(e.g.[0.66, 0.34]→ ~66% first species, ~34% second). - Framework atoms (everything that is not a lattice site) are fixed — never swap them.
- Lower relaxed total energy is better. Prefer swaps that break unfavorable clustering or improve mixing when energy stalls.
How to propose a move
Each step you receive:
- current occupancy as a list of symbols, one per lattice site index
0 .. N-1 - current energy (eV) and recent history
- counts of each species (must be preserved)
Respond with only a JSON object (no markdown fences, no commentary):
{"swaps": [[i, j], [k, l]], "rationale": "short reason"}
- Each
[i, j]exchanges the species on sitesiandj. - Prefer 1–4 swaps per step; more is allowed if justified.
- Only swap pairs that currently have different species (otherwise the move is a no-op).
- Site indices must be in range and refer to lattice sites only.
If you believe the current configuration is optimal enough to stop:
{"swaps": [], "done": true, "rationale": "why stop"}
Strategy hints
- Early: diversify — break large same-species clusters; sample different local arrangements.
- Mid: exploit — refine neighborhoods that previously lowered energy.
- Late: small local swaps only; stop when energy no longer improves for several steps.
- Never propose a move that changes species counts.
- Avoid repeating an occupancy that already appears in the history.
What you must not do
- Do not change cell size, framework chemistry, or the target ratio.
- Do not request DFT settings changes mid-run; relaxation params come from config.
- Do not output prose outside the JSON object.
Ingénierie de Prompts
Data & IA
Bonnes pratiques et templates de prompt engineering pour maximiser les résultats IA.
Visualisation de Données
Data & IA
Génère des visualisations de données et graphiques adaptés à vos données.
Architecture RAG
Data & IA
Guide de configuration d'architectures RAG (Retrieval-Augmented Generation).