OpenAI a sorti une mise à jour de son API pour créer des Assistants.
On peut notamment utiliser jusqu'à 10000 fichiers dans leur RAG intégré et streamer les réponses.
Les Assistants permettent de développer très rapidement des POC d'Agents spécialisés en entreprise mais le côté boîte noir finit par se payer comme pour tout produit complètement fermé.
Un Agent semi autonome capable de réaliser des tâches sur des codebases complexes.
Ses capacités d'adaptation à de nouvelles technologies semblent impressionnante, à voir si ça se confirme autrement que dans des vidéos.
Il obtient plus de 13% sur le SWE benchmark qui évalue les Agents sur des tâches de programmation. C'est moi devant le Claude 2 qui était devant jusqu'ici avec 4%
Un projet d'assistant IA capable de réaliser des tâches en manipulant les interfaces des sites web.
Une awesome liste autour des Agents LLM
Un framework un Python qui permet de définir plusieurs Agents puis de leur demander de se coordonner pour résoudre une tâche.
Ils ont notamment une démo assez avancée de génération de landing page avec GPT4 https://github.com/joaomdmoura/crewAI-examples/tree/main/landing_page_generator
Un Agent capable de manipuler les interfaces graphiques d'un smartphone Android.
Ils utilisent GPT4 pour la réflexion et GPT4V pour la reconnaissance d'image. En connectant l'Agent à un smartphone avec ADB, ils sont capable d'exécuter des actions de clique ou de swipe.
L'Agent inclue un mode "exploration" ou il va interagir en autonomie avec l'application afin de découvrir les fonctionnalités.
Cela ouvre beaucoup de nouvelles possibilités, notamment autour du testing des applications Android.
Une technique pour l'orchestration d'Agent qui obtient de bien meilleurs résultats de ReAct. (0.97 vs 0.76 sur HotPotQA)
Leur technique se base sur la réflexion autour du résultat obtenu par un premier LLM. Cette réflexion permet d'itérer sur la tâche à réaliser en corrigeant les erreurs.
L'étape de réflexion prend en compte la génération et un feedback sur cette génération. Le feedback dépend du type de problème:
- question/réponse: évaluation par un LLM
- génération de code: exécution du code et message d'erreur
- prise de décision: vérification avec l'arbre des "bonnes" décisions
Une mémoire est également analysée pendant la phase de réflexion afin d'éviter le bouclage sur des solutions déjà essayées.
Cela me fait beaucoup pensé à cet article sur les Agent autonomes dans un jeu vidéo https://links.aschen.tech/shaare/a0Krew
Un article sur un modèle d'agent capable de se fine-tuner à l'aide de ses propres itérations sur les tâches à résoudre.
C'est potentiellement intéressant pour générer des dataset d'entrainement sur des tâches à plusieurs étapes.
LLMCompiler est une alternative à la méthode ReAct pour la planification et l'exécution de tâches.
2 composants:
- LLM Planer: découpe les tâches dans un Directed Acyclic Graph (DAG) pour une exécution en parallèle et un respect des dépendances
- Executor: un Agent qui exécute les différentes tâches avec les outils à sa disposition
Le LLM Planer est capable de recréer le DAG avec le résultat de chaque tâche pour une planification dynamique (e.g. embranchement if/else)
Concrètement ils ont mesuré des améliorations dans le processus de raisonnement sur certains benchmark comme HotspotQA mais c'est surtout la latence qui est réduite grâce à la parallélisation des tâches
Une méthode pour évaluer les performances des Agents LLM.
Pour chaque tâche, l'Agent doit utiliser un ou plusieurs outils comme un navigateur web, de l'exécution de code, une API custom, etc.
Les tâches sont réparties en 3 niveaux:
- Niveau 1: entre 0 et 1 outil nécessaire, maximum 5 étapes
- Niveau 2: entre 5 et 10 outils, plus de 5 étapes
- Niveau 3: grand nombre d'outils et beaucoup d'étapes
Ils ont évalué GPT-4, AutoGPT et GPT-4 avec plugins et aucun n'arrive à réaliser des tâches de niveau 3
Zappier propose quasiment toutes ses intégrations sous la forme d'outils LLM en langage naturel.
Ça permet à un Agent d'interagir avec des milliers de services directement via Zappier.
Les Agents qui jouent à Minecraft sont parmi les projets les plus avancés en terme de LLMs.
Typiquement ici l'Agent est capable d'écrire du code pour réaliser différentes actions mais aussi de faire évoluer le code écrit en fonction du feedback du monde ("il manque 2 bois pour faire une hache") ou des erreurs de programmation.
Un outil d'observabilité pour LLM qui s'intègre quasiment automatiquement aux SDK OpenAI et Langchain.
Volet évaluation des performances
- Evaluation manuelle d'une chaine de prompt dans Langfuse
- Feedback utilisateur (explicite et implicite)
- On peut même évaluer auto avec GPT-4 et intégrer ce résultat
Volet R&D
- Création de datasets d'évaluation (évaluation manuelle dans Langfuse ou avec un Agent GPT-4)
- Versioning des traces collectées pour évaluation et A/B testing
Volet observabilité
- Analytics générales (coût, latence)
- Possibilité de suivre toutes les intéractions liées à une action métier
Bref, ça fait le café et en plus ils sont dispo en SaaS et en Open Source.
Un modèle entrainé depuis LlaMa 2 qui est spécialisé dans l'utilisation d'outils, notamment d'API tierces.
C'est une alternative Open Source à OpenAI et ses assistants
Microsoft lance aussi son service de création d'assistant à la "GPT" avec une intégration avec tous les outils Office 365.
Un autre bot Agent LLM qui lui propose de réaliser des tâches comme le support.
Un bot Agent LLM qui centralise le savoir de l'entreprise
Un Agent LLM fait par Github qui génère les test unitaires de votre code
La fameuse expérience ou des LLMs communiquent entre eux dans un jeux vidéo type animal crossing.
Ils ont poussé le concept de mémoire assez loin ce qui a permis aux Agents d'organiser des évènements entre eux car ils avaient la possibilité de se rappeler et de propager l'information.
Ils introduisent une fonction pour trier les informations en mémoire selon la date de l'évènement, son importance et sa pertinence face à la situation actuelle.
La mémoire est également retravaillé avec le concept de reflection qui synthétise la mémoire en des informations de plus haut niveau.
Une marketplace ou l'on peut trouver des Agents disponibles pour toute sortes de tâches: SEO, chatbot, revenue manager, adword, etc