Accueil / Articles

Mode vidéo agent Gemini : conception du schéma et dérive des timestamps

Essais des modes vidéo agents et statiques de Gemini sur un long métrage chinois : comment la conception du schéma influence la précision des timestamps, les écarts, les extraits et les plages temporelles.

Éditeur : REACTAPP.TOP16 min de lecture3645 mots

Sources: Unlocking Gemini's Agentic Video Mode: Schema Design, Timestamp Drift, and Jay Chou's Secret

Google a récemment mis à disposition une fonction de compréhension vidéo « agente » pour Gemini, ce qui constitue un excellent prétexte pour mener des expériences pratiques avec un cas d’épreuve difficile : un film en langue chinoise en long métrage, Secret (2007) de Jay Chou. Ces expériences se concentrent sur une seule question. Si l’on demande au modèle de identifier les moments dans une vidéo où apparaissent des idées clés, dans quelle mesure les timestamps sont-ils précis, et dans quelle mesure la manière dont on conçoit le schéma de sortie influence-t-elle le résultat ?

Il vous faudra une GOOGLE_API_KEY, que AI Studio met à disposition avec un niveau gratuit suffisamment complet. Les détails de la configuration se trouvent dans l’appendice à la fin.

Pourquoi un film chinois est un bon test

L’idée est née d’un outil d’étude conçu pour aider les étudiants à travailler sur le matériel assigné, bien que des adultes curieux puissent également en tirer profit en rencontrant des défis inconnus. Après avoir constaté qu’un modèle Gemini Flash Lite pouvait à la fois résumer du chinois et y répondre, il semblait naturel d’élargir son champ d’application de l’éducation au divertissement. Le film était un bon candidat, car il s’agit d’une romance riche en scènes de piano, avec une bande originale mémorable et une actrice principale qui porte les moments les plus intimes du récit.

Avertissement de spoiler : ce qui suit révèle le secret central du film. La vidéo de référence pour les tests est une analyse de film sur YouTube qui raconte l’histoire jusqu’aux environs de la minute 16:23, après quoi le narrateur passe à l’analyse de la manière dont l’intrigue a été inspirée par la vie même de Jay Chou. Le film vaut néanmoins le coup d’être regardé pour sa musique et les expressions subtiles de l’actrice principale, et il existe au moins deux versions de celui-ci sur Bilibili.

Ce qui rend ce test véritablement difficile, c’est la langue. Le chinois dispose de bien moins de transcriptions générées automatiquement que les vidéos en anglais, ce qui désavantage le modèle dès le début et le force à démontrer ce dont il est capable sans ce soutien. Il n’est pas nécessaire de lire le chinois pour suivre, bien que cela aide à apprécier les résultats.

Pourquoi l’écart des timestamps est important

Que ce soit dans les études ou dans le divertissement, un besoin récurrent est la localisation des timestamps : permettre de sauter directement vers les moments importants. Les étudiants l’utilisent pour revoir l’explication d’un concept. Les spectateurs l’utilisent pour trouver des éléments cachés et redécouvrir de bonnes histoires.

Le décalage progressif des timestamps dans les transcriptions audio de Gemini a été largement rapporté sur le forum des développeurs de Google. Une solution fiable consiste à utiliser un modèle plus ancien, non basé sur des LLM, mais il ne s’agit guère d’une expérience intéressante ; c’est pourquoi on espérait que le mode agent fonctionnerait mieux.

En bref : il y a toujours un décalage. Dans 95 % des cas, l’erreur reste inférieure à une seconde, mais certains cas présentent des décalages importants allant de 10 à 20 secondes. Curieusement, ces décalages se concentrent dans quelques endroits précis, ce qui est suffisamment bon pour que l’utilisation occasionnelle ne dérange personne. Les développeurs peuvent également filtrer les timestamps défectueux par la suite en effectuant des recherches de chaînes de caractères sur une transcription étiquetée dans une fenêtre temporelle, à condition qu’une telle transcription soit disponible.

La conception de schémas l’emporte sur la conception de prompts

Les schémas des LLM sont généralement écrits en JSON Schema. Des bibliothèques comme Pydantic en Python ou Zod en TypeScript permettent de les définir au niveau de l’application et de les compiler automatiquement en JSON Schema avant qu’ils ne soient intégrés dans le prompt. Rien qu’avec les noms et les types des variables, on peut généralement prédire ce que le modèle va retourner.

Le point de vue de l’expérimentateur est sans détour : il est étrange que l’ingénierie des prompts suscite autant d’enthousiasme alors que c’est l’ingénierie des schémas qui recèle le véritable pouvoir. Un schéma encode presque tout le comportement du modèle. Même avec un prompt médiocre, un modèle peut déduire ce que vous souhaitez à partir de la structure et des noms des champs, tandis qu’avec un schéma médiocre, vous êtes livré à vous-même et devez espérer qu’un prompt brillant viendra à votre secours.

On retrouve une analogie avec la modélisation des données en ingénierie des données, à ceci près que les schémas de sortie des LLM ressemblent davantage à une conception NoSQL, comme MongoDB, qu’à une modélisation relationnelle, comme Postgres. Une décision intéressante concerne les structures récursives : elles peuvent être encodées sous forme de tables plates et auto-référentielles, avec des champs child_id et parent_id permettant des chaînages illimités. Les fournisseurs diffèrent quant à la possibilité d’autoriser ou non les schémas JSON récursifs, ce qui peut vous forcer à faire ce choix.

Lecture du schéma

Comme en modélisation de données, la cardinalité est importante. Un film comporte de nombreux concepts, exprimés sous forme d’array. En éducation, un sujet présente des prérequis, des applications, des extensions, des hypothèses et des limites. Dans un film, on trouve des événements, le développement des personnages, un climax et une résolution.

Un concept possède de nombreuses dates et heures. En enseignement, cela se produit lorsque plusieurs concepts sont comparés afin de développer une pensée de haut niveau après chaque présentation. Dans un film, cela arrive lorsque les réalisateurs utilisent des flashbacks ou racontent l’histoire hors ordre.

Les entrées de dates et heures comportent quelques propriétés :

  • seconds indique où se produit le moment.
  • description explique ce que signifie la citation, ce qui peut aider pour les blagues ou pour interpréter à nouveau le scénario.
  • quote correspond au segment de texte extrait mot pour mot grâce à la reconnaissance vocale.
  • visual indique si le moment peut être représenté visuellement.
  • visualDescription est une légende décrivant ce qui apparaît à l’écran à ce moment-là.
  • Il existe également des points de contrôle, chacun disposant d’un conceptLabel, d’une question et d’une answer. Dans le domaine de l’éducation, ils permettent d’évaluer la compréhension de l’apprenant. Dans le divertissement, ils incitent le public à réfléchir aux éléments manqués lors d’une première vision ou à reconsidérer les événements sous un autre angle. Le modèle a été suffisamment ingénieux pour réutiliser exactement le même texte pour conceptLabel et le label correspondant sous concepts ; c’est un petit signe, mais significatif, de cohérence interne.

    Qu’est-ce qui a été varié

    Le temps d’exécution typique était d’environ 20 secondes. Certaines exécutions se terminaient en 9 secondes, probablement parce que Google mettait en cache la requête et réutilisait les résultats. Une exécution a duré 50 secondes juste après un changement de requête, probablement avant qu’aucune cache n’existe.

    Mode de traitement : le mode agent contre le mode statique ne faisait guère de différence à lui seul, et la plupart des timestamps se situaient dans l’ordre d’une seconde dans les deux cas. Les exécutions en mode agent duraient parfois jusqu’à deux fois plus longtemps (environ 40 secondes) et parfois moins. Durée d’exécution du script avait bien un impact sur la qualité : les exécutions plus longues trouvaient plus de timestamps par concept et produisaient des descriptions et des citations plus longues.

    La consigne prévoyait de trouver au moins trois timestamps par étiquette de concept. Sans elle, le modèle ne trouvait souvent qu’un timestamp par concept. Avec elle, les timestamps semblaient légèrement plus précis, et l’hypothèse de travail est que l’augmentation de la densité de recherche avait un effet secondaire sur la précision. Il vaut la peine de varier le nombre trois pour voir ce qui se passe.

    Une demande supplémentaire demandait au modèle de trouver le moment où une phrase chinoise spécifique était prononcée, à savoir le climax du film, lorsque une énorme boule de fer fond vers le protagoniste. Cela oblige le modèle à comparer l’audio à une phrase exacte et à déterminer quand elle a eu lieu.

    Première manche : les volontaires statiques ajoutent des champs supplémentaires, ceux agents les omettent

    Lors de la première tentative, le mode statique avait tendance à ajouter des clés visual et visualDescription que le schéma n’exigeait jamais. Il le faisait de manière incohérente, les incluant pour certaines dates et heures et les omettant pour d’autres au cours d’une même exécution. visualDescription est utile pour l’accessibilité et pour alimenter les bases de données de recherche, car les moments clés pouvaient être recherchés à travers la légende générée, et elle était précise dans tous les exemples examinés.

    Seule la clé quote était systématiquement présente dans le texte chinois original. Toutes les autres clés pouvaient apparaître en chinois ou dans leur traduction en anglais, de manière imprévisible d’une exécution à l’autre, que ce soit en mode agent ou statique. Dans les deux modes, les dates et heures étaient soigneusement ordonnées au sein des concepts ainsi qu’entre eux, ce qui facilitait la vérification manuelle.

    Le mode agent a généré des extraits plus longs, un schéma qui s’est reproduit lors de la deuxième tentative. Il a également montré pour la première fois une scène qui réapparaît constamment : le mode agent a indiqué à un moment donné 10:41, mais en réalité elle a lieu à 10:50 dans la vidéo. Si la propriété visualDescription avait été présente dans ce résultat, elle aurait indiqué clairement si le modèle regardait réellement à 10:41 ou à 10:50.

    La description de l’exécution statique pour une entrée se contentait de répéter son étiquette (“Time Travel Mechanics”), ce qui ajoutait peu d’informations, bien que des exécutions ultérieures aient montré des différences plus significatives. Du bon côté, la version statique a très bien identifié le vieux livre de piano ainsi que l’héroïne qui ferme les yeux dans la visualDescription, et a même reconnu correctement le personnage. Le mode agent, quant à lui, a simplement ignoré les éléments visuels optionnels.

    Deuxième exécution : la version statique identifie correctement le moment à 10:50

    Static a de nouveau ajouté les touches visuelles optionnelles, tandis qu’agentic ne l’a pas fait. Static a également identifié correctement le moment de 10:50 que la première tentative d’agentic avait mal étiqueté, même si cette tentative contenait le texte correct. Static a qualifié la visualDescription de ce moment de « scène de flash-back », ce qui soulève une question : comment Gemini a-t-il su qu’il s’agissait d’un flash-back et non de la chronologie présente ?

    Les timestamps sont restés dans l’ordre au sein de chaque étiquette dans les deux modes. Entre les étiquettes, static a présenté l’analyse du narrateur de manière continue, tandis qu’agentic a alterné des temps tels que 10:41, 17:00, 15:00 et 17:51.

    La première citation de Static, à 16:31, utilisait les crochets chinois typiques des titres de livres qui apparaissaient également à l’écran, ce qui suggère que le modèle a capturé cette image plutôt que de se fier uniquement à l’audio. Comme précédemment, Static s’est limité à des citations plus courtes. Agentic, quant à lui, a allongé ses citations jusqu’à ce que le milieu soit tronqué par des points d’interrogation ; sa citation pour 15:00 couvre en réalité la période de 15:01 à 15:38, et celle pour 17:51 s’étend de 17:54 à 19:56.

    Cette dernière période est frappante, car elle couvre la description complète des quatre fins du film. Cela soulève une question : que se passerait-il si la demande incluait également une date d’heure de fin ? Cette question a motivé le prochain changement de schéma.

    Troisième essai : ajout de plages temporelles

    Le champ seconds était à l’origine une chaîne de caractères, il a donc fallu le restructurer. Il existe deux options. La première consiste à utiliser un tableau :

    "seconds": {
        "type": "array",
        "description": "The start and end time range in HH:MM:SS or ISO format, structured as [start_time, end_time].",
        "prefixItems": [
            {
            "type": "string",
            "description": "Start time (e.g., '00:01:15' or ISO 8601 string)"
            },
            {
            "type": "string",
            "description": "End time (e.g., '00:02:30' or ISO 8601 string)"
            }
        ],
        "minItems": 2,
        "maxItems": 2
        }
    

    Le deuxième est un objet :

    "seconds": {
          "type": "object",
          "properties": {
            "start_time": {"type": "string"},
            "end_time": {"type": "string"}
          },
          "required": ["start_time", "end_time"]
        }
    

    Le tableau utilise moins de tokens, mais il nécessite des bornes min et max peu pratiques pour éviter que la logique de début et de fin ne fonctionne mal, et il a été utilisé pour les expériences ci-dessous. L’objet propose des clés plus claires et nécessite un peu plus de code pour être lu, mais il tolère des clés supplémentaires, ce qui en fait le choix recommandé en dehors des expériences.

    La citation n’est pas seulement audio

    En mode agent, une plage s’étendait de 6:20 à 6:42, bien que la citation ait réellement commencé à 6:30. La description correspondait mot pour mot à l’audio à partir de 6:20, sur huit mots, avant de passer à sa propre paraphrase. On dirait que la tâche de citer avait été divisée entre quote et description.

    Dans une autre plage temporelle, de 8h13 à 9h00, la citation (en gros « yeux fixés ») a commencé à 8h21, tandis que la description indiquait « réapparaître », et la protagoniste féminine apparaît bien vers 8h13. Cela confirme l’idée que les plages temporelles sont déterminées par plus que simplement l’audio. La citation s’est terminée à 8h55, cinq secondes avant la fin de la plage, sans raison évidente.

    Cela suggère que l’audio devrait être en parfaite adéquation avec ce qui apparaît à l’écran lors de l’analyse vidéo, sinon la localisation par horodatage devient confuse. Pourtant, rien de visible ne contrôle quel mode un modèle multimodal privilégie lorsqu’il génère une horodatage. Il s’agit d’une véritable opportunité de recherche, et une ablation plus claire (audio et vidéo complets contre vidéo noyée contre vidéo au son étouffé) permettrait d’isoler ce facteur.

    Deux nouveaux modes de défaillance

    Une troisième exécution de cette scène récurrente a révélé une nouvelle erreur. En mode statique, une plage allant de 14:49 à 15:02 contenait une citation qui provient en réalité de 10:49, soit une erreur de quatre minutes. Il s’agit du même moment de 10:50 que le mode statique a identifié avec précision lors de la deuxième tentative, mais que le mode agissant a mal étiqueté comme 10:41 lors de la première.

    Ainsi, un même moment réel, testé trois fois avec deux versions de schéma, a d’abord été erroné de neuf secondes, puis exact, puis de quatre minutes. Si le décalage était simplement une caractéristique d’une scène intrinsèquement difficile, on s’attendrait à des erreurs constantes, et non à des erreurs suivies de succès, puis de pires erreurs encore.

    La deuxième erreur : une citation statique pour la période de 15:07 à 15:17 (en gros « il va trouver Xiaoyu ») n’apparaît jamais dans l’enregistrement audio. Il semble que le modèle ait résumé de son propre chef au lieu de transcrire.

    Static remporte le test de la aiguille dans la meule de foin

    Pour déterminer si une citation spécifique pouvait être localisée, la requête a été complétée par l’élément représentant la balle en fer. Avant l’implémentation du schéma de plage temporelle, l’algorithme statique a trouvé l’instant 15:22 et l’algorithme agentique 15:00. Après cela, l’algorithme statique a identifié le moment exact, 15:21, et a même continué jusqu’à 15:26, soit au moment où la balle atteint le bâtiment et où le bruit disparaît. L’algorithme agentique a eu de moins bons résultats, avec une plage allant de 15:00 à 15:37, ce qui est bien trop large. En pratique, un écart de trois secondes à peine suffirait à mettre à l’épreuve la patience du spectateur.

    Ce que suggèrent les tests

    L’algorithme statique est plus efficace pour localiser des moments précis, tandis que l’algorithme agentique est plus adapté pour résumer des idées qui se déroulent sur de longues périodes. La conclusion logique n’est pas de choisir un gagnant. Il convient de choisir l’algorithme en fonction de la tâche et de la durée du contenu : l’algorithme statique pour une récupération précise ou des extraits courts où les différences de coût ont peu d’importance, et l’algorithme agentique pour la synthèse de contenus tels qu’une conférence de 90 minutes, où les économies de ressources liées à l’utilisation de tokens deviennent significatives.

    D’après l’expérience de recherche, le passage d’une date horaire à une plage temporelle n’a pas modifié le point de départ, il est donc judicieux de récupérer également l’heure de fin, ce qui offre à une application beaucoup plus de marge pour la conception de l’expérience utilisateur. C’est un peu comme utiliser des embeddings vectoriels dans un système de recherche sans en intégrer aucun réellement.

    Les plages temporelles peuvent être influencées par plusieurs modalités, et même au sein du texte par plusieurs mots-clés, comme le montre le schéma de décharge des citations. Peut-être le schéma devrait-il être simplifié afin que le modèle ne soit pas confus, ou la relation entre les champs dérivés et les champs frères devrait être rendue explicite, par exemple en indiquant que description doit être dérivé de quote, ou en déterminant si les concepts sont indépendants ou doivent expliquer une causalité entre eux.

    Un autre schéma mérite d’être mentionné. Lorsqu’une plage de temps était demandée, le système statique cessait complètement de générer les champs visual et visualDescription. Une hypothèse est que le modèle se concentrait sur les champs obligatoires et abandonnait les champs optionnels en cas de charge élevée. En les rendant obligatoires, on pourrait résoudre ce problème, mais cela pourrait nuire à la qualité ailleurs, car moins de ressources seraient allouées à ces derniers. Cela ressemble au comportement d’un outil de génération de diapositives qui peut produire d’excellentes diapositives lors d’une exécution, puis retomber à un design simplifié lors de la suivante, comme s’il avait besoin de se reposer.

    Où cela pourrait mener

    Apprentissage des langues. Dans certaines expériences non présentées, demander l’affichage de l’anglais et du chinois côte à côte sur la même ligne fonctionnait même sans que cela ne soit explicitement requis.

    Création de vidéos. Les timestamps et les plages de temps permettent aux outils ultérieurs tels que ffmpeg de couper et de retailler le contenu afin que les concepts principaux soient présentés en premier. Les modèles de langage grand public sont peu fiables dans ce contexte ; pour conserver tout le contenu tout en ne supprimant que les éléments de remplissage entre les pauses, des outils de transcription vocale plus spécialisés tels que Descript ou le nouveau modèle de transcription Gemini de Google sont plus adaptés.

    Ce que permet une localisation précise :

    • Navigation directe vers un moment précis. Les timestamps agissent comme des repères qui transforment une vidéo linéaire en une ressource indexée et recherchable, remplaçant ainsi le défilement manuel.
    • Création automatique de diaporamas. Grâce à la possibilité de trouver des moments spécifiques sans avoir à les parcourir manuellement, les créateurs peuvent assembler des scènes provenant de différentes vidéos, ou les éducateurs peuvent créer des leçons interactives annotées par des timestamps.
  • Recherche par mots-clés dans le langage naturel à travers les conférences et les réunions. La fonction « trouver cette phrase exacte » utilisée pour le climax d’un film est la même technique qu’un étudiant pourrait employer pour une conférence enregistrée : il suffit de saisir la phrase qu’il se souvient à moitié et de se rendre directement à l’endroit où elle a été prononcée.
  • Penser aux arêtes ainsi qu’aux nœuds

    Dans la conception actuelle, la plupart des informations sont regroupées de manière dense dans les nœuds. Comment pourrait-on modéliser les arêtes pour améliorer encore l’expérience ? Certaines informations devraient-elles être transférées des nœuds vers les arêtes, ou existe-t-il d’autres représentations du savoir en dehors d’un graphe de nœuds et d’arêtes ? Les techniques présentées dans le livre Learn Like a Polymath pourraient être utilisées : relation partie-whole, cause-effet, fonction-objet, problème-résolution, fait-opinion et exemple-type. Les LLM sont probablement déjà capables de produire de telles analogies ; l’astuce consiste à demander le bon élément au bon moment et à le présenter de la bonne manière.

    Une réponse existe déjà dans une application d’étude uniquement textuelle qui crée un plan conceptuel en temps réel pendant la conversation. L’agent y génère lui-même les liens. Si l’on pose des questions sur le chant, puis plus tard sur la technique vocale, l’agent regroupe ces éléments en nœuds reliés sans qu’on lui indique la relation, utilisant une codification par couleur pour le sujet principal, l’abstraction, les éléments associés et les détails en tant qu’informations sur les liens. La propriété checkpoints de ce schéma dispose également d’un équivalent en temps réel, qui signale les questions non résolues et les idées fausses éventuelles pendant la conversation, ces dernières étant ensuite résolues une fois la compréhension démontrée.

    Expériences à mener

    Ces expériences sont suffisamment spécifiques pour que n’importe qui puisse les essayer, ainsi que pour savoir ce qu’elles pourraient révéler.

    Ablation en cas de conflit de modalités. Exécutez le même vidéo de quatre manières : audio complet, vidéo et sous-titres ; audio complet et vidéo sans sous-titres, y compris ceux déjà intégrés à l’image ; vidéo noyée, donc uniquement audio ; et vidéo au volume réduit, donc uniquement visuel. Si le décalage disparaît dans la version audio seule, c’est que le son domine et que les sous-titres intégrés gênaient le résultat. S’il persiste dans la version audio seule mais change de nature dans la version visuelle, c’est une preuve plus forte que les timestamps sont véritablement multimodaux et non simplement de l’audio avec du bruit visuel.

    Mémorisation et température et leur impact sur la reproductibilité. Le mélange de la mémorisation des prompts avec une température nulle permettra-t-il d’obtenir des résultats identiques à chaque exécution ? Si la dérive disparaît à zéro, le modèle conserve une croyance stable, bien que imparfaite, quant à l’emplacement d’un moment donné, et la dérive entre les exécutions est principalement due au bruit de sampling. Si la dérive persiste à zéro, il n’existe alors aucun timestamp interne stable pour ce moment.

    La dérive suit-elle le contenu ou la position ? Si elle dépend des caractéristiques du moment lui-même, telles que des coupes rapides, des dialogues qui se chevauchent ou une musique forte, elle constitue une défaillance indépendante de la traduction qui se transmet avec le contenu. Si elle s’aggrave dans une vidéo longue, il s’agit alors d’autre chose, possiblement lié au phénomène de « perte d’information au milieu », c’est-à-dire à la baisse des performances des LLM avec des informations enfouies au milieu du contexte.

    Liens entre enregistrements à travers les segments du schéma. Le modèle peut-il reconnaître que deux étiquettes de concept, générées lors d’appels distincts ou séparées par un contexte long, désignent le même concept du monde réel ? C’est le problème classique de liaison entre enregistrements ou de résolution d’entités, similaire à la résolution de co référence lorsqu’elle a lieu au sein d’une seule génération. Cela a fonctionné une fois, lorsque le modèle a réutilisé du texte identique pour conceptLabel et label, mais la question restante est de savoir si la cohérence persiste entre des appels indépendants.

    Ancrage interlinguistique. Évaluer dans quelle mesure Gemini transforme fidèlement le chinois parlé en champs de schéma en anglais tout en maintenant une précision temporelle.

    Mesurez, ne vous fiez pas à l’œil nu. Un tableau succinct indiquant les timestamps vérifiés, l’écart médian, le pourcentage de valeurs se situant dans une seconde ainsi que le pire cas extrême sur les six tentatives permettrait de passer d’une observation « remarquée » à une observation « mesurée », et les données brutes existent déjà.

    Vérifiez si les modifications requises de visualDescription améliorent la qualité. Le modèle semblait omettre des clés optionnelles à mesure que le schéma devenait plus complexe.

    Lectures, films et mémoire

    Une lecture et un film exigent des choses différentes du spectateur. Une lecture requiert de l’attention, un film, des émotions. Les personnages d’une histoire ne sont pas des problèmes résolus comme un concept dans un manuel scolaire ; ils sont décrits comme des personnes réelles dont les motivations sont ouvertes à l’interprétation. Souvent, il n’y a pas de réponse correcte ni même de solution simple, seulement des compromis, ainsi que l’effort nécessaire pour sauver ce qui peut l’être d’une situation regrettable, une leçon de vie qui dépasse de loin le cadre d’un seul sujet.

    Le neurologue Oliver Sacks a décrit un patient, Clive Wearing, dont l’amnésie l’empêchait de conserver un souvenir plus de quelques secondes, à l’exception de la musique, qu’il pouvait encore interpréter, lire et se remémorer complètement. Sacks l’a exprimé ainsi : le pouvoir de la musique doit surprendre quelqu’un à son insu et apparaître spontanément comme une bénédiction.

    C’est à peu près ce qu’un LLM pourrait devenir pour nous : il ne remplace pas la mémoire, mais il aide à compenser son imperfection, nous ramenant aux moments importants et les réorganisant de manière cohérente lorsque nous sommes confus et submergés.

    La collaboration peut également aller dans les deux sens. Les schémas peuvent être affinés pour tirer le meilleur parti des LLM, et à leur tour, ces derniers peuvent remodeler nos visions du monde et nos capacités, nous aidant à réfléchir de manière critique à un sujet, tout en développant l’empathie et les compétences sociales en comprenant pourquoi un personnage se comporte de telle manière, en explorant des scénarios hypothétiques et en apprenant à raconter de bonnes histoires. L’héroïne du film avait sans doute quatre fins possibles, et un LLM pourrait de même offrir un accès à de multiples savoirs, avec la possibilité d’accélérer, de ralentir, de rembobiner et de choisir une voie.

    Une approche similaire concerne un agent d’étude qui regarde une conférence avec vous, s’arrête sur demande et répond en se basant sur le moment exact de l’arrêt. Il s’agit du même problème de localisation par horodatage testé ici, mais en direct et de manière plus difficile. Si le mode agentique commet déjà des erreurs de quelques minutes sur une vidéo terminée et contrôlée, une version diffusée en direct ferait face à une forme encore plus complexe du même problème. Ces expériences constituent des bases préliminaires pour cette idée, et non une description d’un produit déjà commercialisé.

    Appendice : configuration et reproduction des essais

    Obtenez une GOOGLE_API_KEY via AI Studio, puis exportez-la dans votre terminal :

    export GOOGLE_API_KEY=<your key>
    

    Pour éviter de l’exporter après chaque redémarrage du terminal, placez la clé dans un fichier .env et ajoutez ceci au script :

    from dotenv import load_dotenv
    load_dotenv()
    

    Frustrations liées à l’API

    Le manque de connaissance de client.models.generate_content() a été l’une des sources de problèmes. La page de présentation du produit de Google affichait du code utilisant la nouvelle API Interactions (client.interactions.create()), ce qui laissait penser que les vidéos agnitives n’étaient pas prises en charge par l’ancienne API generate_content, jusqu’à ce que la documentation prouve le contraire. Il n’était pas non plus clair comment, ou même si, certains paramètres tels que les résumés de réflexion pouvaient être spécifiés. À cela s’ajoutaient les changements disruptifs apportés à l’API Interactions en mai 2026, ainsi que des réponses en boucle provenant du chat en ligne de Gemini, ce qui a fait que la mise en route a nécessité des heures de tentatives.

    Résumés de réflexion vides

    On ne sait pas si le code de parsing était incorrect ou si la tâche était simplement trop simple, mais il n’y avait absolument aucun résumé de réflexion : le fichier de sortie correspondant montrait systématiquement une liste vide.