← Projets

PolyAgent

Agent conversationnel IA qui cherche des annonces sur LeBonCoin via Claude.

Année2025
RôleDesign · Développement · Architecture
CatégorieIA · Outil · Full-stack
Site en ligne
PolyAgent — screenshot
Contexte

LeBonCoin n'a pas de bonne recherche conversationnelle. On tape des mots-clés, on scrolle le bruit, et on rate des bonnes affaires. PolyAgent vous laisse discuter naturellement — "je cherche un appartement 3 pièces à Lyon sous 800€" — et l'agent affine, cherche, et vous montre exactement ce qui correspond.

Défi

Connecter un agent LLM à un vrai backend de recherche via MCP stdio, gérer les réponses en streaming avec des appels d'outils, et rendre le flux conversationnel naturel alors que l'agent alterne entre poser des questions et récupérer des résultats.

Décisions clés

FastAPI + streaming SSE

Les Server-Sent Events maintiennent la conversation en temps réel. Le backend streaming les tokens LLM et les résultats d'outils au fur et à mesure — pas de polling, pas de complexité WebSocket.

MCP stdio pour LeBonCoin

L'agent parle à leboncoin-mcp via JSON-RPC over stdio — une séparation nette entre la logique agent et le backend de recherche. Facile à remplacer pour d'autres plateformes.

API compatible OpenAI

Fonctionne avec n'importe quel endpoint compatible OpenAI (9router, Gemini, Claude). Le tool calling est géré au niveau de l'API — l'agent définit les outils et le LLM décide quand les appeler.

Frontend vanilla + i18n

Pas de surcoût framework. HTML/CSS/JS avec marked.js pour le rendu Markdown. Trilingue (FR/EN/ES) dès le départ avec un simple objet de locale.

Stack
PythonFastAPISSEOpenAI APIMCPHTMLCSSJavaScriptmarked.js
Résultats

Agent conversationnel fonctionnel avec recherche en temps réel, choix cliquables, sauvegarde de favoris (localStorage), sessions persistantes et support trilingue. Déployé localement, extensible à toute API compatible OpenAI.

Enseignements
  1. MCP stdio est une abstraction propre pour connecter des LLMs à des outils externes — le protocole est simple et la séparation des responsabilités est réelle.
  2. Le streaming SSE rend l'IA conversationnelle instantanée — l'utilisateur voit les tokens apparaître au fur et à mesure que le modèle les génère, pas après une réponse complète.
Projet suivantNutrAI