Sustain
5 août 2026
· 7 min de lecture

L’éditeur de Sustain est livré avec le Designer d’album IA — un assistant de chat qui compose les pages, rédige les légendes et trouve des photos à la demande. La plupart de ses actions tiennent en une seule étape : vous demandez, il agit. Mais certaines demandes cachent beaucoup de travail. « Ajoute les photos d’Omri en train de rire à la plage » n’est pas une action : c’est une recherche, une lecture des descriptions de photos, un jugement sur celles qui correspondent vraiment, et seulement ensuite un placement.
Nous venons de refondre la façon dont l’assistant traite ces demandes, avec un motif appelé agents imbriqués : un agent IA qui en invoque un autre, complet, comme s’il s’agissait d’un simple outil. Cet article explique ce motif, pourquoi son bénéfice principal — des fenêtres de contexte plus petites — compte bien davantage qu’il n’y paraît, et détaille le système réel que nous avons mis en production.
Un assistant de chat repose sur une fenêtre de contexte — la transcription courante de tout ce qui a été dit et fait dans la conversation. À chaque nouveau tour de l’assistant, la fenêtre entière est renvoyée au modèle. D’où une conséquence sournoise : tout ce qui est volumineux et entre dans la conversation est repayé à chaque message suivant.
La recherche de photos, c’est exactement ce genre de volume. Notre architecture précédente faisait remonter les listes de photos brutes directement dans la conversation : pour un album de 219 photos, cela représentait 219 blocs de légendes, de dates, de scores de qualité et d’étiquettes déversés dans la transcription. Nous avons mesuré un seul tour de cette conversation à plusieurs centaines de milliers de tokens en entrée — pour l’essentiel des métadonnées de photos que l’utilisateur ne verrait jamais, renvoyées à chaque demande suivante.
Les gros contextes ne sont pas seulement coûteux. Les modèles suivent mesurablement moins bien les instructions quand la phrase importante est enfouie sous une montagne de listes — le problème dit « perdu au milieu ». Notre assistant n’avait pas besoin d’une plus grande mémoire. Il avait besoin de pouvoir faire un travail volumineux sans s’en souvenir.
Les assistants IA agissent au travers d’outils — de petites fonctions comme place cette photo ou applique ce thème. Un outil prend une entrée, renvoie un résultat, et la conversation continue. L’intuition des agents imbriqués, c’est qu’un outil n’est pas forcément une simple fonction. Un outil peut être un agent à part entière.
Dans Sustain, le chat d’album dispose désormais d’un outil que nous appelons dig_photos. Quand votre demande exige de vraies fouilles, le chat transmet vos mots — tels quels, dans la langue où vous les avez écrits — à un second agent : l’agent fouilleur, le même cerveau de recherche qui alimente la recherche de photos dans notre application iOS. L’agent fouilleur déroule alors sa propre boucle privée :
Toute cette lecture et ces essais se déroulent dans le contexte propre et jetable de l’agent fouilleur. Une fois terminé, son espace de travail est jeté. La seule chose qui entre dans la conversation du chat d’album, c’est la liste finale — quelques centaines de tokens au lieu de dizaines de milliers.
La version en une phrase
Un agent imbriqué transforme « colle toute la photothèque dans la conversation et réfléchis fort » en « demande à un spécialiste et ne classe que sa conclusion ».
C’est le bénéfice sur lequel repose tout le motif. La transcription du chat reste légère — vos messages, ses réponses et des résultats compacts. La lecture lourde est mise en quarantaine dans le sous-agent, puis jetée une fois le travail fait.
Trois conséquences en découlent directement :
Comme l’agent fouilleur est une unité autonome au contrat limpide — une requête en entrée, une liste vérifiée en sortie —, nous y branchons plusieurs surfaces du produit. La recherche de photos de notre écran d’accueil iOS et le chat d’album sur le web partagent désormais le même cerveau de recherche. Quand nous lui apprenons un nouveau tour, toutes les surfaces l’apprennent d’un coup.
Cela reflète un principe que nous appliquons partout dans Sustain : un seul moteur par métier. La semaine où nous avons livré la recherche imbriquée, nous avons aussi unifié le placement des photos — le « reconstruis mon album » du chat pilote maintenant exactement le même pipeline que le bouton d’Amélioration IA, paramètres compris, au lieu d’un sosie. Deux moteurs qui divergent finiront par se contredire ; un seul moteur ne le peut pas.
Un agent imbriqué a un rayon d’action contenu. Le nôtre effectue au plus quelques tours de raisonnement, sur un petit modèle rapide taillé pour la recherche, et sa sortie est validée avant d’être crue — chaque identifiant de photo qu’il renvoie est vérifié par rapport aux photos qui vous appartiennent réellement, et s’il s’écarte du script, le système retombe sur une simple recherche filtrée plutôt que de faire échouer votre message.
Ce confinement est aussi ce qui rend le motif sûr à faire évoluer. L’agent fouilleur peut devenir plus malin, plus bavard ou plus minutieux en interne sans le moindre risque d’inonder la conversation de l’album — l’interface entre les deux agents, elle, ne change pas.
L’imbrication n’est pas gratuite — un sous-agent ajoute un tour de réflexion, donc un instant de latence. Le chat d’album applique donc une règle d’escalade toute simple :
Le niveau d’orchestration doit être à la hauteur de la complexité de la question. Une bonne règle empirique tirée de notre expérience : si un assistant humain devait ouvrir des dossiers et lire avant de répondre, imbriquez. S’il lui suffisait de lancer une requête, non.
Voici un échange réel tiré d’un album de voyage. La demande est volontairement retorse — elle décrit une scène, pas un mot-clé :
« trouve des photos avec des vues sur la montagne »
Deux secondes plus tard, la réponse arrive en images : une bande défilante des sept photos correspondantes, chacune avec son numéro. Faites défiler jusqu’au bout et l’une d’elles est entourée d’or et marquée nouv. — la seule des sept qui n’est pas encore sur une page, c’est-à-dire la seule chose dont vous auriez vraiment à vous occuper. Rien à décoder, rien à recouper.
Sous cette bande, l’agent fouilleur avait déroulé sa propre boucle : chercher dans l’album, puis lire les descriptions des candidates pour garder les vraies vues sur la montagne et écarter les presque-bonnes. Toute cette lecture s’est passée dans le contexte du sous-agent, puis a été jetée. La transcription du chat d’album, elle, n’a gagné qu’une courte entrée.
Puis une seconde question, plus étroite, dans la foulée :
« et les photos de gens sur une plage au coucher du soleil ? »
Trois résultats cette fois — assez peu pour que chacun ait droit à sa propre ligne : la vignette, ce qu’on y voit, et un bouton Appliquer pour la placer. Même agent, même recherche, présentation différente, parce que trois résultats et trente résultats ne sont pas le même genre de réponse.
La distinction que fait ici l’agent — une plage au coucher du soleil avec des gens dessus plutôt qu’un coucher de soleil désert sur l’océan — n’existe dans aucune étiquette ni aucun filtre. Elle vient d’un second agent qui a réellement lu ce qu’il y avait dans les images, dans un contexte que vous n’aurez plus jamais à payer.
Rien de tout cela ne change votre façon d’utiliser Sustain — c’est bien le but. L’assistant devient simplement plus rapide à converser, meilleur sur les recherches difficiles et identique d’un appareil à l’autre, parce que le travail se fait au bon endroit. La prochaine fois qu’il répondra en deux secondes à une demande d’aiguille dans une botte de foin avec une courte liste bien nette, vous saurez : il y avait un second agent dans la pièce, et il est déjà reparti.
Envie d’essayer ?
Essayez le Designer d’album IAFini la chasse dans des centaines de vignettes. Décrivez la photo que vous cherchez — l’assistant la trouve et vous la montre, prête à rejoindre votre album.
Le moyen le plus rapide de modifier votre album, c’est de demander. Voici comment formuler vos demandes pour que le Designer d’album IA les réussisse du premier coup.