00:00:00(musique dynamique) - Bonjour,
00:00:05merci beaucoup de nous recevoir.
00:00:11Je suis Jack,
00:00:12et avec mon collègue Nikita,
00:00:13qui sera bientôt parmi nous,
00:00:15nous avons créé Lightfield,
00:00:17un CRM natif IA.
00:00:19Nous avons commencé à utiliser l'AI SDK V4 en janvier,
00:00:22et adopté V5 dès sa sortie en version alpha en juin.
00:00:26Aujourd'hui,
00:00:26nous voulons vous montrer comment nous avons construit un système en production où les agents IA ont accès sécurisé complet en lecture-écriture aux données clients,
00:00:34comment nous gérons les workflows avec intervention humaine,
00:00:37et les choix architecturaux qui ont rendu tout cela possible.
00:00:40Nous allons parcourir les modèles que nous avons découverts,
00:00:43les compromis que nous avons faits,
00:00:45et comment l'AI SDK nous a permis d'avancer vite sans nous enfermer.
00:00:49Mais d'abord,
00:00:50parlons de pourquoi les CRM étaient cassés,
00:00:53et pourquoi c'est important.
00:00:54Alors, qui connaît les CRM ?
00:00:59Peut-être ?
00:01:00Quelques ingénieurs ?
00:01:01Voilà ce qui est censé se passer, non ?
00:01:03Vous commencez à parler avec des clients.
00:01:05Peut-être que vous êtes un fondateur en train de faire de la vente.
00:01:07Peut-être que vous êtes dans l'équipe commerciale.
00:01:10Au début, ça semble gérable.
00:01:11Vous vous souvenez de tout le monde.
00:01:13Chaque conversation est fraîche dans votre esprit.
00:01:16Ensuite,
00:01:16vous atteignez 10 clients,
00:01:1820,
00:01:1950,
00:01:19et quelqu'un de votre équipe vous demande : "Au fait,
00:01:23qu'a dit Sarah d'Acme à propos de nos tarifs ?
00:01:26Avait-elle des préoccupations concernant l'offre entreprise ?
00:01:29"Maintenant,"
00:01:30vous cherchez dans Slack.
00:01:31Vous cherchez dans votre email.
00:01:32Vous cherchez dans Google Docs.
00:01:34Peut-être cet enregistrement Zoom qui n'a pas encore été transcrit.
00:01:38Vous finissez par le trouver enfoui dans un fil de discussion d'il y a deux semaines,
00:01:41mais vous réalisez que vous n'avez jamais mis à jour votre feuille de calcul.
00:01:44Alors, vous achetez un CRM.
00:01:47Il promet d'être votre source unique de vérité,
00:01:49mais c'est juste un endroit de plus où vous oubliez de mettre à jour.
00:01:52Voici le problème.
00:01:54Les CRM traditionnels ont été construits il y a des décennies avec l'hypothèse fondamentale que les humains feraient la saisie manuelle de données.
00:02:01Ils vous ont donné ces champs rigides et des schémas prédéfinis,
00:02:05mais le vrai contexte,
00:02:06la nuance de votre conversation,
00:02:08c'est dans votre email,
00:02:10Slack,
00:02:10les notes de réunion,
00:02:12différents endroits.
00:02:13Et le CRM devient juste un outil de rapport pour votre VP des ventes,
00:02:17pas quelque chose qui vous aide à vendre.
00:02:20Nous nous sommes dit qu'il devait y avoir une meilleure façon.
00:02:22Et si le système pouvait simplement se souvenir ?
00:02:25Et s'il capturait tout intelligemment et pouvait vraiment agir en votre nom ?
00:02:30C'est Lightfield.
00:02:31Alors, Lightfield repense ce qu'un CRM devrait être.
00:02:35C'est un système de mémoire et d'action pour les startups.
00:02:39Il a la capture automatique.
00:02:41Les conversations,
00:02:43les réunions,
00:02:44les emails,
00:02:45tout est capturé et structuré sans saisie manuelle.
00:02:50Il a une mémoire sans perte.
00:02:52Nous supportons les listes de schémas et les schémas personnalisables.
00:02:54Vous n'avez pas besoin de savoir ce que vous allez suivre à l'avance ou de payer un consultant pour le configurer.
00:02:58Et cela transforme la mémoire en action.
00:03:02Lightfield utilise tout ce contexte capturé,
00:03:04à la fois les données structurées et conversationnelles,
00:03:07pour rédiger des suites,
00:03:08mettre en avant des insights,
00:03:09et automatiser des workflows pour vous.
00:03:11Traditionnellement,
00:03:12les CRM sont construits pour que les équipes commerciales suivent les ventes,
00:03:16mais parce que Lightfield capture et structure toutes ces données conversationnelles,
00:03:21cela devient vraiment puissant pour quiconque a besoin de mémoriser et d'agir sur le contexte client.
00:03:26Quelles étaient les fonctionnalités les plus demandées lors des intégrations de la semaine dernière ?
00:03:31Les équipes de succès client comprenant les modèles dans les conversations de support.
00:03:35Le même système,
00:03:35des questions différentes,
00:03:37mais tout alimenté par cette même couche de mémoire.
00:03:40C'est le produit.
00:03:41Laissez-moi vous montrer à quoi ça ressemble vraiment.
00:03:43Voici un exemple en demandant à l'agent Lightfield.
00:03:48Je pense que nous demandons de trouver cinq affaires stagnantes et de rédiger un email personnalisé pour chacun.
00:03:55Donc,
00:03:55il peut rechercher dans toutes vos informations clients en utilisant un agent construit sur l'AI SDK.
00:04:02Il peut comprendre ce que sont les affaires stagnantes,
00:04:05puis utiliser cette information pour rédiger des emails personnalisables à toutes ces personnes pour ces opportunités.
00:04:23Voici un exemple.
00:04:25Et ensuite,
00:04:25vous savez,
00:04:26un utilisateur peut,
00:04:27nous pouvons maintenant envoyer cet email pour vous.
00:04:29Alors, comment tout cela fonctionne-t-il ?
00:04:34Voyons et parlons de ce qui se passe sous le capot.
00:04:37Un utilisateur effectue une action.
00:04:39Cela pourrait être l'envoi d'un message de chat.
00:04:41Cela pourrait être un événement externe,
00:04:43comme un déclencheur,
00:04:45comme un email ou la fin d'une réunion.
00:04:47L'agent obtient immédiatement le contexte.
00:04:50Où se trouve l'utilisateur dans l'application ?
00:04:52Qu'ont-ils fait récemment ?
00:04:54Et quel est leur intention ?
00:04:55Quels outils sont disponibles pour eux ?
00:04:57Ensuite, Lightfield démarre.
00:04:59Il cherche les données pertinentes,
00:05:01prend des mesures dans le CRM et met à jour les enregistrements et la réponse.
00:05:05Tout cela se fait par la même couche de données unifiée qui alimente l'interface utilisateur.
00:05:10Laissez-moi vous montrer comment nous faisons cela.
00:05:11Voici l'architecture qui rend tout cela possible.
00:05:15Trois interfaces différentes ici.
00:05:19L'interface utilisateur pour les humains,
00:05:21les agents pour le langage naturel,
00:05:23et les tâches de workflow pour l'automatisation.
00:05:26Voici la clé.
00:05:27Ils interagissent tous via la même couche unifiée,
00:05:30les objets de domaine.
00:05:32Donc, ils ont les mêmes permissions.
00:05:33L'agent a les mêmes permissions que l'utilisateur qui enclenche l'agent.
00:05:37Même logique métier et mêmes modèles d'accès aux données.
00:05:41Il n'y a pas d'API d'agent séparé avec des règles différentes ou un accès limité.
00:05:46Ainsi,
00:05:46nous réunissons le stockage provenant de diverses systèmes ici.
00:05:51Des données structurées,
00:05:52du stockage d'objets,
00:05:54et indexées dans diverses plates-formes de recherche.
00:05:57Donc,
00:05:58nous fournissons les mêmes capacités et la même interface.
00:06:01Un principe que nous utilisons pour construire notre plateforme est la parité agent-UI.
00:06:10Si un utilisateur peut y accéder, un agent peut y accéder.
00:06:14Capacités complètes de lecture,
00:06:16création et mise à jour dans toutes les données.
00:06:19Donc,
00:06:19les mêmes permissions,
00:06:21la même visibilité,
00:06:22les mêmes opérations.
00:06:24Eh bien,
00:06:24c'est un choix de produit et architectural pour nous que nous avons fait dès le premier jour.
00:06:28C'est pourquoi la construction native IA depuis le départ bat l'ajout d'agents aux systèmes hérités.
00:06:34Donc,
00:06:35les agents dans Lightfield agissent en votre nom avec les mêmes permissions via la même couche de données qui alimente l'interface utilisateur.
00:06:42Ce ne sont que des interfaces différentes pour vos données.
00:06:44Donc,
00:06:45quand nous choisissons des outils pour construire Lightfield,
00:06:48nous avions besoin de primitives qui ne nous forceraient pas dans des architectures différentes pour les agents par rapport aux utilisateurs.
00:06:54Cette contrainte a influencé tout notre pile,
00:06:56y compris le framework IA que nous avons choisi.
00:06:58Et pour nous,
00:07:00la chose à propos de la construction de produits IA en 2025 est que personne n'a le manuel complet,
00:07:10non ?
00:07:10Donc,
00:07:11nous optimisons pour la vitesse d'apprentissage plutôt que la perfection.
00:07:14Nous testons même ce concept avec Lightfield.
00:07:19Quand notre équipe d'ingénierie a besoin de comprendre un problème client,
00:07:23elle n'a pas à naviguer dans le CRM.
00:07:25Elle peut juste le demander.
00:07:26Donc,
00:07:26le langage naturel est vraiment l'interface que nous voulons là.
00:07:35Donc,
00:07:36l'AISDK nous a donné la flexibilité pour itérer sans tout réécrire.
00:07:41Mais la clé était l'état d'esprit.
00:07:43Nous nous sommes concentrés sur la construction de fonctionnalités et la résolution de vrais problèmes,
00:07:47pas sur la lutte contre les frameworks ou la sur-ingénierie des abstractions.
00:07:50Donc,
00:07:51la clé ici est d'avancer vite et d'apprendre rapidement.
00:07:53Nous revenions constamment à cette citation.
00:08:02"La duplication est beaucoup moins chère que la mauvaise abstraction"
00:08:07de Sandy Metz.
00:08:08Et je pense que c'est assez répandu dans la construction de produits IA aujourd'hui.
00:08:13C'est très rapide de construire des logiciels rapidement maintenant.
00:08:17C'est encore plus rapide qu'il y a un an.
00:08:19Et s'assurer que le bon framework existe est vraiment important.
00:08:23Et avoir la mauvaise abstraction peut être encore plus coûteux.
00:08:27Donc, parlons-en davantage en pratique.
00:08:34Donc,
00:08:35en construisant Lightfield,
00:08:37nous avons commencé à développer l'AISDK en janvier de cette année.
00:08:43Nous l'avons adopté pour supporter la commutation de modèle et avons commencé à utiliser les primitives stream text.
00:08:54Et donc,
00:08:54nous avons pu expédier rapidement des tâches aux agents spécifiques en quelques semaines.
00:08:58Ensuite,
00:08:59nous avons commencé à construire de plus en plus d'agents et de plus en plus de fonctionnalités de chat.
00:09:04Et en juin 2025,
00:09:05nous avons commencé à adopter l'API useChat,
00:09:09spécifiquement en raison des options de transport personnalisé qui ont été publiées.
00:09:16L'essentiel ici est que nous avons pu adopter l'AISDK passer de V4 à V5 alpha.
00:09:25Donc,
00:09:26je suppose que cela ressemble à V6 qui sera bientôt publié,
00:09:30plutôt facilement avec une certaine avance rapide.
00:09:34Nous avons une sorte de blague en interne selon laquelle nous identifierons une fonction que nous avons besoin de l'AISDK et le lendemain,
00:09:43nous verrons un tweet de l'équipe AISDK.
00:09:46Et apprenant ce matin,
00:09:47je suppose,
00:09:48que Nico a un agent qui génère juste ces tweets.
00:09:51C'est donc assez amusant à voir.
00:09:53C'est exactement ce que vous voulez d'un framework.
00:09:57Il grandit avec vous au lieu de vous forcer à réécrire ou ralentir.
00:10:00Voici un exemple de Lightfield en action ici.
00:10:05Donc,
00:10:06dans le chat ici,
00:10:08je pose une question,
00:10:11que faire ensuite pour ce compte ?
00:10:16Qu'a mentionné Jordan Lee lors de notre dernier appel ?
00:10:19Remarquez donc ce que l'utilisateur n'a pas eu à faire.
00:10:21Il n'a pas eu à dire que le compte est streamlined protocol ou demander spécifiquement à propos d'une certaine réunion.
00:10:30Donc,
00:10:31nous avons utilisé l'AISDK pour construire cette fonctionnalité que nous avons appelée Adaptive Context Building.
00:10:37Donc,
00:10:37elle fournit des signaux de l'utilisateur combinés avec une récupération intelligente pour déterminer ce qui compte vraiment pour cela.
00:10:45Donc,
00:10:45laissez-moi partager quelques exemples de la façon dont nous utilisons le SDK pour faire cela.
00:10:49Donc,
00:10:49le SDK a une API appelée Data Parts et nous l'utilisons pour fournir des signaux du client au serveur qui construit réellement le contexte.
00:11:01Nous pouvons,
00:11:02côté client,
00:11:03utiliser différentes entités et fournir différents signaux en utilisant l'API Data Parts,
00:11:08puis nous hydratons cela complètement côté serveur.
00:11:11Je vais laisser mon collègue Nikita parler davantage de la façon dont nous utilisons Data Parts pour construire plus de fonctionnalités ici.
00:11:19(musique dynamique)
00:11:24(musique dynamique) - Merci beaucoup, Jack.
00:11:28Donc,
00:11:29un autre exemple similaire à Adaptive Context Building est la façon dont nous injectons les fichiers dans le fil de chat.
00:11:35L'AISDK nous fournit un moyen vraiment facile de le faire.
00:11:39Nous pouvons simplement utiliser la fonction send message du hook use chat,
00:11:43lui fournir la requête de l'utilisateur et la liste des fichiers et cela fonctionne avec n'importe quel fournisseur directement.
00:11:50Mais cela soulève quelques préoccupations pratiques concernant la scalabilité.
00:11:54Par exemple,
00:11:55comment nous assurons-nous que nous évitons de persister ces données directement dans la base de données si nous encodons directement les fichiers ?
00:12:01Si nous utilisons des URLs S3,
00:12:03comment nous assurons-nous que nous ne divulguons pas accidentellement les données utilisateur privées au public ?
00:12:09Notre solution est plutôt que le client envoie au backend un ID interne référençant le fichier téléchargé dans notre propre magasin de données.
00:12:21En backend,
00:12:22nous itérerons à travers toutes les parties de fichier et remplaçons ces identifiants internes par des URLs S3 signées.
00:12:30Cela permet aux fournisseurs LM externes de voir ces fichiers joints,
00:12:35mais le délai d'expiration sur les URLs signées empêche l'accès non autorisé.
00:12:41Un autre exemple de la façon dont nous protégeons les données utilisateur dans Lightfield est par ce concept de collections d'outils contextuels.
00:12:50Chaque fois qu'un utilisateur interagit avec le produit de chat de Lightfield,
00:12:55nous construisons dynamiquement un ensemble d'outils spécifique à l'utilisateur.
00:13:00Nous injectons ces dépendances directement dans les outils.
00:13:03Par exemple,
00:13:04dans cet outil de récupération de données,
00:13:06nous injectons les ID de l'utilisateur directement dans l'outil lui-même.
00:13:11Le LLM n'émet jamais directement des requêtes à la base de données.
00:13:15Cela va toujours par la même couche de données unifiée que l'utilisateur accéderait par le reste de l'interface CRM.
00:13:23Donc nous avons cette philosophie de conception de maintenir la parité entre l'interface utilisateur du CRM et les capacités de l'agent.
00:13:34Quand l'utilisateur peut créer des entités CRM comme les comptes,
00:13:38les opportunités,
00:13:38et les contacts par cette interface modale dans l'interface utilisateur,
00:13:42nous voulons qu'ils puissent faire la même chose par l'interface basée sur le chat.
00:13:48Le LLM peut émettre un appel d'outil pour créer ces comptes et affichera un formulaire avec les mêmes entrées affichées dans l'interface utilisateur.
00:13:57Nous l'avons construit en tirant parti des abstractions human-in-the-loop de l'AI SDK.
00:14:03La façon dont cela fonctionne essentiellement est que quand le LLM émet un appel d'outil qui nécessite une confirmation,
00:14:10il transférera cet appel d'outil au client frontal.
00:14:13Le client affichera une interface et ajoutera un résultat d'outil selon l'action de l'utilisateur.
00:14:20En backend,
00:14:21juste avant de soumettre cette sortie au LLM,
00:14:25nous exécuterons les fonctions selon ce que l'utilisateur a soumis.
00:14:31Un schéma décrivant comment nous avons fait cela est montré ici.
00:14:37Donc l'entrée initiale de l'utilisateur est cet appel d'outil.
00:14:43Le LLM suggère un ensemble de valeurs d'entrée,
00:14:46dans ce cas un array d'éléments représentant les noms de compte et leurs domaines.
00:14:51Après que l'utilisateur modifie les valeurs,
00:14:53la sortie devient les valeurs modifiées par l'utilisateur ainsi qu'un champ supplémentaire indiquant s'il a approuvé cet élément particulier.
00:15:03Après l'exécution réelle de la fonction,
00:15:05nous ajoutons ce résultat à la sortie de l'outil avant qu'il ne soit envoyé au LLM.
00:15:11Par exemple,
00:15:12la création du compte a-t-elle réussi ou a-t-elle échoué pour une certaine raison,
00:15:17peut-être que le compte existe déjà dans le CRM ?
00:15:19Cela fournit au LLM une visibilité complète dans l'historique de l'interaction.
00:15:26Il peut voir tout le flux,
00:15:28les valeurs suggérées initialement et les résultats.
00:15:33Cela lui fournit une capacité à suggérer de manière appropriée les prochaines étapes.
00:15:38Donc nous avons aussi ce principe de conception d'permettre à l'utilisateur de mouler le CRM pour adapter ses besoins.
00:15:45Chaque entreprise a des aspects uniques à propos d'elle-même et des processus de vente uniques.
00:15:52Nous voulons que vous soyez capable de personnaliser le CRM et de personnaliser votre expérience avec l'agent pour s'adapter à vos besoins spécifiques.
00:16:00À l'intérieur de Lightfield,
00:16:02vous pouvez construire un modèle de données personnalisé pour chacune des entités CRM.
00:16:08Par exemple,
00:16:09si vous êtes un outil de productivité B2B essayant de vendre votre outil de codage aux startups,
00:16:14vous pourriez être particulièrement intéressé par le suivi de la pile technologique de votre client,
00:16:20la taille de l'équipe d'ingénierie,
00:16:22et peut-être tous les investisseurs mutuels que vous avez avec eux.
00:16:26À l'intérieur de Lightfield,
00:16:27vous pouvez spécifier tous ces champs typés.
00:16:30Et vous pouvez spécifier comment l'agent devrait utiliser ces champs dans ses processus.
00:16:38Vous pouvez fournir des instructions supplémentaires sur les significations de ces champs et comment il devrait les utiliser lors de la mise à jour dans les différents workflows en arrière-plan.
00:16:48Par exemple,
00:16:49si vous avez créé un champ,
00:16:50vous pouvez demander à l'agent de le remplir rétroactivement en faisant des recherches approfondies sur le web et enrichir ces champs pour tous les comptes de votre système.
00:17:03Ou vous pouvez lui demander de remplir en cherchant à travers vos enregistrements CRM,
00:17:07qui incluent vos transcriptions de réunion,
00:17:10emails,
00:17:10et autres interactions avec le compte.
00:17:13La façon dont cela ressemble en backend est que nous créons cet outil au runtime,
00:17:20qui avec un schéma basé sur la configuration particulière de votre entreprise.
00:17:28Le schéma de l'outil réel lui-même est dérivé de cette base de données.
00:17:32Et quand le LLM suggère des valeurs,
00:17:34nous validerons les types pour assurer qu'elles correspondent à ce schéma.
00:17:38Cela nous permet de construire ces outils vraiment flexibles et hautement fiables.
00:17:42À l'intérieur de Lightfield,
00:17:44vous pouvez aussi configurer cette section de connaissance où vous pouvez fournir au LLM un contexte supplémentaire sur votre entreprise.
00:17:53Vous pouvez fournir des informations sur les produits de votre entreprise et aussi fournir des instructions pour la façon dont le LLM devrait exécuter les workflows en arrière-plan,
00:18:04comme la préparation de réunion.
00:18:06Avant chaque réunion,
00:18:08Lightfield préparera un document pour vous,
00:18:12vous préparant pour la discussion.
00:18:15Elle listera les participants clés et des informations supplémentaires à leur sujet.
00:18:19Elle listera les informations sur le compte particulier avec lequel vous vous réunissez,
00:18:24et aussi d'autres points de discussion clés importants.
00:18:27Après la réunion,
00:18:28elle suggérera des éléments d'action de suivi et des mises à jour de champ suggérées en fonction de ce que vous avez discuté.
00:18:35Tous ces blocs de construction de base se combinent pour débloquer de nouvelles capacités puissantes.
00:18:42Parce que Lightfield a le contexte complet de toutes vos interactions de vente et a un degré élevé de connaissances personnalisées,
00:18:50il peut collaborer avec vous pour générer rapidement des emails de haute qualité en votre nom.
00:18:56Par exemple,
00:18:57après une réunion,
00:18:58vous pouvez utiliser cet outil pour accéder à votre Google Calendar pour voir votre disponibilité.
00:19:05Quand cet artefact d'email préliminaire est généré,
00:19:08il peut suggérer de manière appropriée les heures de suivi en fonction de vos discussions précédentes.
00:19:14Ces emails préliminaires sont toujours soumis à l'approbation de l'utilisateur,
00:19:18donc vous pouvez être confiant que l'agent LLM ne prendra jamais d'action sans votre approbation explicite.
00:19:25Ces éléments d'action de suivi et ces emails préliminaires sont préparés pour vous,
00:19:30et vous enverront des notifications pour,
00:19:32pour vous aider à rester sur top de chaque affaire sur laquelle vous travaillez.
00:19:37D'accord, retour à toi, Jack, pour regrouper tout cela.
00:19:43- Ouais.
00:19:46(applaudissements du public) Donc, merci Nikita.
00:19:53Donc,
00:19:54les principes fondamentaux que nous avons découverts en construisant Lightfield avec l'AI SDK.
00:19:59Principe un, parité sécurisée agent-UI.
00:20:03Conçu pour cela dès le premier jour.
00:20:05Les agents ont besoin d'accès complet en lecture-écriture par la même couche de données que les humains utilisent.
00:20:09Ne construisez pas une API d'agent séparé.
00:20:11Vous finirez par maintenir plusieurs systèmes,
00:20:14et aucun ne semblera complet.
00:20:15Principe deux,
00:20:16itération rapide plutôt qu'abstraction parfaite.
00:20:19Optimisez la vitesse d'apprentissage au début,
00:20:21pas la perfection à l'avance.
00:20:23Nous avions du code similaire à travers les agents de chat,
00:20:25les fonctionnalités d'API,
00:20:26et les workflows en arrière-plan.
00:20:28Une certaine duplication est vraiment moins chère que la mauvaise abstraction,
00:20:32surtout quand les conventions se forment.
00:20:35Principe trois,
00:20:36workflows human-in-the-loop que les utilisateurs approuvent.
00:20:41Les gens doivent rester en contrôle,
00:20:43surtout pour les interactions à enjeux élevés.
00:20:45Nous avons intercepté la couche d'outil.
00:20:48L'agent voit la suggestion originale,
00:20:49les éditions de l'utilisateur,
00:20:51et le résultat de l'exécution.
00:20:53Transparence complète, historique complet.
00:20:56C'est ce qui gagne la confiance.
00:20:58Principe quatre,
00:20:59systèmes programmables par les utilisateurs et les agents.
00:21:02Les vrais clients ont besoin de modèles de données personnalisés.
00:21:04Chaque entreprise suit les choses différemment.
00:21:07À la fois les utilisateurs et les agents peuvent définir de nouveaux champs,
00:21:11et le système peut s'y adapter.
00:21:13Cela signifie que votre produit se façonne sur la façon dont les clients structurent leurs données,
00:21:17et non l'inverse.
00:21:18C'est plus complexe à construire,
00:21:19mais c'est la différence entre un produit que les gens tolèrent et un auquel ils ne peuvent pas vivre sans.
00:21:24Donc nous aimerions entendre ce que vous construisez et quels modèles vous découvrez.
00:21:28Venez nous trouver après ou consultez-nous à lightfield.app pour voir ces principes en action.
00:21:34Merci.
00:21:35(musique dynamique)