Aller au contenu

Concevoir un agent vocal pour des cas d’usage incarnés

Je suis en train de monter un nouveau système d’agent vocal pour une courte mission client, et je me concentre délibérément sur des cas d’usage incarnés et complexes. Je bosse sur un agent spécialisé dans l’aviation, mais je n’ai pas les moyens de m’acheter un avion, et on ne peut apprendre qu’une chose dans un bac à sable avant qu’il ne commence à nous mentir.

Alors j’ai acheté un vieux camion militaire de surplus pour trois fois rien. Un Chevy Avalanche de 20 ans. Ce n’est pas mon véhicule principal, donc personne à la maison ne va râler si je m’attaque au câblage. C’est l’un de ces Chevy essentiellement mécaniques qui tournent indéfiniment et qui n’envoient pas des tonnes de télémétrie inutile au constructeur.

L’idée, c’est que beaucoup d’éléments intéressants ici sont structurellement universels. Les itinéraires, l’interne, une couche GPS flexible et, surtout... la capacité d’ajouter ou de retirer des capteurs pour voir si le framework de base est vraiment robuste face au changement.

La mémoire dans le système incarné

L’autre point qui m’excite, c’est la gestion du contexte. L’astuce consiste à bâtir le système autour d’un modèle personnalisé assez solide pour utiliser le système de mémoire sans être sollicité, plutôt que de traiter la mémoire comme une béquille de récupération.

Le modèle choisi est un fine-tune de Gemma 27B avec des capacités multimodales. C’est un modèle malin avec l’essentiel intégré. Il gère la voix, le traitement d’image et possède une architecture MOE qui le rend viable en configuration quantifiée, avec un streaming de tokens assez rapide pour que la vidéo ne soit pas strictement nécessaire. La vidéo m’intéresserait davantage si je visais l’autonomie complète, mais ici, je m’intéresse plutôt aux différentiels LIDAR et aux deltas de perception.

Contrairement aux avions ou aux bateaux, les véhicules routiers sont intéressants par le nombre de règles qu’ils nous obligent à prendre en compte. Tant que l’engin bouge, je peux toujours chercher des lieux clés, réagir à la signalisation et écouter des signaux radio. C’est un espace de contraintes étonnamment riche.

Parole, changement et ressources locales

Le plus gros point noir jusqu’ici, c’est le rythme d’évolution du TTS. C’est passionnant de voir autant de progrès dans la parole open-source, mais c’est aussi déroutant de finir une pile conversationnelle fonctionnelle pour découvrir trois jours plus tard que NVIDIA ou Microsoft a sorti de nouvelles bibliothèques qui en rendent des parties obsolètes. C’est déjà arrivé deux fois.

L’avantage, c’est que le framework lui-même est flexible. À ce stade, adapter le système signifie surtout réentraîner le LoRA d’outillage plutôt que de tout repenser.

Il y a aussi le côté ressources : faire tout ça sans le cloud. J’ai enfin l’impression que l’écosystème matériel est assez mature pour que ce soit pratique, avec des options abordables qui survivent très bien sur un système 12V.

J’ai hâte de bidouiller des antennes, d’installer des caméras et de faire du vrai câblage.

Ça va être sympa.
Je suis impatiente de voir où ça va planter.