Créer un agent avec mm init
Ce guide montre comment écrire un nouvel agent.yaml pour un modèle et une tâche, avec l'assistant de mm : il pose quelques questions, lit ce que le serveur de modèles dit du modèle, et écrit un fichier commenté — chaque valeur avec la raison qui la justifie. Aucun modèle ne tourne pendant ce temps. Il suppose qu'un serveur de modèles tourne (llmman, Ollama, Docker Model Runner, llama-server, ou n'importe quel serveur compatible OpenAI).
Étapes
-
Dans le répertoire où l'agent travaillera, lancez :
mm init(
mm --initfait la même chose.) -
Dans un terminal, une fenêtre s'ouvre, dans le style de
mm -tui: les étapes à gauche, la question en cours au centre — avec ce que signifie le choix surligné —, et à droite l'agent.yaml tel qu'il serait écrit, mis à jour quand la sélection bouge. Une capture réelle (130 × 34, llmman, étape de l'usage,docssurligné) :mm init — new agent · llmman · Qwen3.5-4B:Q4_K_M ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ✓ Server llmman │ What is the agent for? │ # docs — answers from a documentation folder (docs/), with lin… ✓ Model Qwen3.5-…│ │ # ✓ Family qwen │ developer (default) │ # Written by `mm init`. Every value says why it has that value… ▸ Usage │ reviewer │ # them as you watch the agent work (guides/agent-settings-for-… · Machine │ translator │ # · Ask first │ writer │ # model family: qwen · Name │ assistant │ # usage: docs · File │ researcher │ # machine: small — a laptop, models up to about 8B │ ▸ docs │ # │ json │ # mm -config <this file> or mm -tui <this file> │ coordinator │ │ │ provider: llmman │ answers from a documentation folder │ model: "hf.co/unsloth/Qwen3.5-4B-GGUF:Q4_K_M" │ (docs/), with links to the passages │ │ │ # 0 = mm asks the server for the window it serves (the model's… │ │ # is 262144 tokens; the server may serve less) │ │ contextWindow: 0 │ │ # usage docs's default: tools run without asking │ │ yolo: true │ │ # usage docs │ │ bashTool: false │ │ editTools: true │ │ planTool: false │ │ askUserTool: false │ │ # no skills: add a skills/ folder and set skillsDir to use som… │ │ # docs/en/how-to/add-a-skill.md) │ │ skillsDir: no-skills │ │ # usage docs │ │ maxTurns: 8 │ │ # settings guide, row "Small model (≤ 8B), short tasks" ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ↑↓ choose · Enter next · Esc back · PgUp/PgDn preview · Ctrl-C quit↑↓choisissent,Entréerépond et passe à la question suivante,Échaprevient d'une question en arrière,PgUpPgDnfont défiler l'aperçu,Ctrl-Cquitte sans rien écrire. Une question de texte (le nom, le fichier) se tape ;Ctrl-Ul'efface. Sur un écran de moins de 100 colonnes,Tabaffiche l'aperçu à la place de la question. Quand toutes les questions ont une réponse,Entréeécrit le fichier.Les questions : le serveur de modèles, le modèle (dans la liste du serveur), sa famille (détectée d'après le nom), à quoi sert l'agent (developer, reviewer, translator, writer, assistant, researcher, docs, json, coordinator), quelle machine fait tourner le modèle (small, medium, large), s'il faut demander avant chaque commande ou modification de fichier, le nom de l'agent et le fichier.
-
mm écrit le fichier et vérifie qu'il se charge :
✅ wrote agent.yaml ✅ mm loads it Next: mm -config agent.yaml (or mm -tui agent.yaml) -
Lisez le fichier : chaque valeur est précédée de sa raison — l'échantillonnage du GGUF lui-même, une carte de modèle, une démo mesurée de ce dépôt, la ligne du guide des réglages pour votre machine. Modifiez ce qui ne convient pas en regardant l'agent travailler.
Variantes
-
Vérifier que le modèle répond. Ajoutez
--check: après l'écriture, mm pose au modèle la question « Say hello in one line. » avec le nouveau fichier et indique s'il a répondu. La première réponse charge le modèle, ce qui peut prendre un moment. -
Ligne par ligne.
--line, ou une exécution dont l'entrée ou la sortie n'est pas un terminal (mm init < reponses.txt), pose les mêmes questions une par ligne : choix numérotés, Entrée prend la valeur par défaut. -
Aucune question, pour un script. Donnez chaque réponse en option, et
--yespour le reste :mm init --provider llmman --model hf.co/unsloth/Qwen3.5-4B-GGUF:Q4_K_M \ --usage docs --machine small --name rata -o agent.yaml --yes --check -
Voir le fichier sans l'écrire.
-o -l'affiche sur la sortie standard. -
Un serveur ailleurs.
--base-url http://192.168.1.20:17434/v1; il est écrit dans le fichier commebaseUrl. -
Un serveur qui ne répond pas. mm le dit et demande le nom du modèle : les réglages viennent alors de la seule table des familles.
-
Un fichier existant. mm ne l'écrase jamais, et le dit avant de poser la moindre question : choisissez un autre nom avec
-o. -
Un agent JSON.
--usage jsonécrit un exemple destructuredOutput(des types Go) à remplacer par les vôtres, et désactive tous les outils, puisqu'une réponse structurée interdit les outils. -
Un modèle que mm ne connaît pas. La famille
otherdonne un point de départ générique et une note dans le fichier : vérifiez la carte du modèle.
Voir aussi
- Référence de la ligne de commande —
mm init: chaque option, les sources, les codes de sortie - Référence de la configuration : chaque clé du fichier
- Réglages des agents pour petits modèles : ce que fait chaque réglage, les lignes par machine
agent.creator.yaml: un agent qui crée des agents avec un modèle, pour les cas qui sortent de l'ordinaire
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
|