Comment interroger un autre agent depuis une skill ou un script
Ce guide montre comment faire poser une question à un autre agent mm par une skill — ou par n'importe quel script shell — et se servir de sa réponse. Il suppose que les agents sont déjà déclarés sous mmConfigs (voir comment interroger un autre agent).
Étapes
-
Dans la skill, rappelez le même mm via les variables que mm exporte vers les commandes de son outil
bash.MM_BINest lemmen cours, etMM_CONFIGsa configuration :--asktrouve donc les noms des agents sans chemin :"$MM_BIN" --ask jan -p "What is the capital of Peru?"stdout porte la réponse et rien d'autre ; l'en-tête et les appels d'outils de l'agent vont sur stderr.
-
Pour envoyer la conversation, écrivez-la sur stdin, puis une ligne
---, puis la question :"$MM_BIN" --ask-with-context reviewer <<'CONTEXT' User: I think Go's goroutines are OS threads. Assistant: They are not: the Go runtime schedules them onto a few OS threads. --- Is the assistant right? CONTEXTC'est le modèle qui écrit ce résumé lui-même : une commande ne peut pas lire la conversation.
-
Dites au modèle, dans la skill, de lancer la commande une seule fois et de présenter la réponse comme celle de l'autre agent.
demo-llmman/skills/en contient trois exemples complets :delegate-to-jan— une question déléguée à Jan ;second-opinion— la conversation envoyée à un relecteur ;compare-agents— la même question à Jan et à Lucy, en une seule commande.
-
Relevez les délais dans la configuration de l'agent qui pose la question. Un modèle local peut mettre une minute à répondre, et les deux délais par défaut sont bien en dessous :
bashTimeout: 3m # une commande bash (30s par défaut) watchdogTimeout: 3m # continue de compter pendant qu'une commande tourne (ticket 57) -
Lancez l'agent depuis le dossier qu'attendent les skills et demandez en langage courant :
> I think Go's goroutines are OS threads. Get a second opinion from Lucy on that claim. 📖 read_skill: second-opinion 🛠️ bash: "$MM_BIN" --ask-with-context reviewer <<'CONTEXT' … │ 🗣 asking reviewer (llmman/hf.co/Menlo/Lucy-gguf:Q4_K_M), with the conversation… │ The assistant's answer is correct. Go goroutines are not OS threads; …
Variantes
- Depuis un terminal ou un script, hors de mm. Nommez la configuration :
mm -config demo-llmman/agent.llmman.yaml --ask lucy -p "…", ou mettez la question sur stdin. Vérifiez le code de sortie : 0 réponse obtenue, 1 échec (la raison est sur stderr), 130 interrompu. - Un agent qui doit seulement répondre. Donnez-lui une configuration avec
bashTool: false,editTools: false,planTool: falseet sans skills —demo-llmman/agent.lucy-reviewer.yamlen est une. Un petit modèle doté de tous ses outils a tendance à s'égarer (lire des fichiers, charger des skills) quand on lui demande seulement son avis. - Récupérer la réponse dans une variable.
answer=$("$MM_BIN" --ask jan -p "…")— stdout ne contient que la réponse.
Voir aussi
- Toutes les options, flux et codes de sortie : référence de la ligne de commande
bashTimeoutetmmConfigs: référence de configuration- Pourquoi l'agent est un processus enfant, et ce que
--askajoute pour les scripts : interroger un autre agent — explication
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 |
|