Agent d’investissement. Au lieu d’utiliser une IA d’investissement en payant des commissions à votre courtier, partageons de l’open source et construisons nos propres solutions (ou autre chose dans le même esprit)
(github.com/midnightnnn)Je passe sur la stack, l’infrastructure et la partie technique : si ça vous intéresse, regardez le dépôt GitHub.
Comme il existe beaucoup d’agents d’investissement en ce moment, je vais présenter séparément quelques points qui rendent ce projet particulièrement intéressant.
-
La gestion des comptes est implémentée en event sourcing, de façon à ce que tout puisse être reproduit et vérifié, et le système tourne sur une base événementielle après validation avant l’exécution des batchs.
-
Au lieu d’une décision issue du passage par plusieurs nœuds d’agents, un agent unique prend ses décisions seul en utilisant des outils et sa mémoire.
-
Lorsqu’il y a plusieurs agents, ils partagent leurs évaluations entre eux avant la transaction finale. Et après la transaction, ils fournissent à l’utilisateur un billet de forum amusant à lire.
-
En plus des outils fournis via l’API utilisée par l’agent, environ 20 outils sont disponibles, dont des outils maison comme du stacking via 4 modèles de ML dans BigQuery.
-
Un gros travail a été fait sur la mémoire. Par défaut, tout est récupéré à la fois depuis une base de données vectorielle et les données brutes de BigQuery, et la mémoire est structurée en 3 niveaux avec des durées de rétention différentes selon l’importance, ainsi qu’une courbe d’oubli exponentielle. La mémoire est aussi représentée sous forme de graphe, afin que les souvenirs liés à une mémoire donnée ressortent en chaîne, et seuls les éléments validés sur une base ontologique sont conservés comme mémoire sémantique. Une partie de cette mémoire est injectée dans le contexte initial au démarrage du batch, et quand l’agent effectue un appel d’outil, les souvenirs pertinents ressortent avec la réponse de l’outil en fonction du ticker concerné, avec l’objectif d’imiter une mémoire aussi « humaine » que possible.
ex :
Exemple) si, dans un cycle donné, AAPL a été acheté juste avant les résultats alors que le RSI était en surachat, puis que cela s’est soldé par une perte :
Stockage en 3 niveaux : perte + importance élevée, donc stockage en mémoire épisodique (mémoire de moyen terme). Si un schéma similaire se répète (avant résultats - RSI en surachat → perte), cela est promu en mémoire sémantique (leçon de long terme)
Courbe d’oubli : les transactions ordinaires voient automatiquement leur poids diminuer après 2 semaines ; les gros gains/pertes ou les souvenirs fréquemment consultés sont oubliés plus lentement
Connexions du graphe : la prochaine fois qu’il faut évaluer AAPL, ce souvenir ne ressort pas seul ; les souvenirs associés comme « inquiétudes sur la chaîne d’approvisionnement chinoise » ou « faiblesse du secteur des semi-conducteurs » ressortent aussi à la suite
Validation ontologique : seules les relations structurées comme AAPL --risk_to--> chaîne d’approvisionnement chinoise survivent comme mémoire sémantique. Des choses vagues comme « AAPL semble un peu inquiétant » ou sans fondement sont rejetées
Il y a aussi 2 autres agents annexes : l’un pour la recherche d’actualités, et l’autre pour résumer après le batch les actions de l’agent d’investissement et les injecter en mémoire.
-
Dans l’interface, on peut voir presque tout et tout personnaliser : jusqu’au codebase des outils (même s’il est aussi sur GitHub, c’est là pour la praticité), tous les prompts injectés au LLM, les résultats des outils, etc. La personnalisation couvre bien sûr les réglages liés au modèle, mais aussi la gestion du risque, les prompts (style d’investissement, façon de rédiger les billets de forum, etc.), les outils à utiliser (si les outils fournis ne vous conviennent pas, vous pouvez en créer un, l’exposer via MCP et le connecter), la gestion de la mémoire (tout le système de mémoire ci-dessus est personnalisable), etc. Il est donc possible de concevoir son propre agent d’investissement.
-
Les performances. Pour le marché américain, c’est un peu décevant pour l’instant, car les résultats sont inférieurs au rendement du marché, mais comme le projet en est à ses débuts, il faut sans doute encore attendre. Pour le marché coréen, même si ce n’est pas montré dans la vitrine, on est à peu près au niveau du rendement du marché.
Quoi qu’il en soit, l’investissement finira lui aussi par passer peu à peu aux agents. La vraie question, c’est donc de savoir si l’on va utiliser les agents des autres en payant des commissions, ou construire son propre agent pour économiser ces frais. L’idée de le publier en open source, c’est justement d’éviter de payer des frais de transaction et des frais d’agent à des sociétés de courtage, et de le faire progresser ensemble en le construisant nous-mêmes.
Aucun commentaire pour le moment.