Étude de cas · Agent IA · CLI Python
Lyma
Un agent codeur en ligne de commande, multi-provider LLM, avec rotation des clés et fallback entre providers. Il peut brouillonner, compiler et exécuter des sous-agents bornés via agent-factory — depuis un terminal, sans interface web.
Pourquoi Lyma existe
Beaucoup d'agents de code reposent sur un seul fournisseur et une seule clé : en cas de rate-limit ou d'indisponibilité, le travail s'arrête. Lyma gère plusieurs clés par provider et plusieurs providers ; si l'un sature ou tombe, le suivant configuré prend le relais. Deuxième idée : beaucoup d'outils ne savent pas orchestrer d'autres agents — Lyma embarque un pont natif vers agent-factory.
Ce que j'ai construit
- Multi-provider natif — Anthropic, OpenAI, DeepSeek, Qwen, Kimi, ou tout serveur local compatible OpenAI.
- Rotation des clés — plusieurs clés par provider, round-robin sur rate-limit ou erreur 5xx.
- Fallback entre providers — si un provider est indisponible, le suivant configuré prend le relais.
- Pont agent-factory — commandes
draft_agent,compile_agent,run_compiled_agentpour orchestrer des sous-agents bornés. - Blacklist de sécurité non désactivable — une liste restreinte de commandes dangereuses bloquée en dur, indépendamment de la configuration.
Architecture & sécurité
Configuration dans ~/.lyma/config.toml (chmod 600) ou variables d'environnement. Les providers passent par un routeur commun (interfaces Anthropic et compatible-OpenAI) qui gère rotation et fallback. La blacklist de sécurité est la seule protection non désactivable ; le reste est configurable.
Une campagne de durcissement (octobre 2026) a renforcé les garanties : sandbox des agents compilés et gate lyma approve (validation humaine par hash) avant l'exécution de tout agent externe.
Décisions techniques
- TOML plutôt que JSON pour la config — plus lisible, commentaires inline.
- Blacklist non désactivable — la porte de sortie pour les commandes destructrices est physiquement absente, pas désactivable par flag.
- Pas de daemon — outil interactif, aucun service système ni écoute réseau ; le contrôle reste dans la main de l'utilisateur.
Portée & limites
Lyma est un projet personnel, utilisé localement en terminal. C'est un banc d'essai sur l'orchestration d'agents et les garde-fous : la philosophie assumée est de donner de la liberté à l'agent principal, tout en bornant strictement les sous-agents compilés.
Un système d'agents sur mesure ?
Orchestration, providers, sécurité — je conçois des pipelines IA adaptés à votre contrainte réelle.