Jour 2 — Construire l’architecture data, apprivoiser Letta et rester frugaux
1. Ce qu’on a fait aujourd’hui
Aujourd’hui j’ai repris le projet à la racine.
J’ai passé mon week-end à tester Letta dans tous les sens et j’ai enfin validé un truc qui me tenait à cœur : tout peut tourner en local.
Un détail pour certains, mais pour moi c’est une vraie respiration. Ça veut dire qu’on garde de l’autonomie, et qu’un jour, si on pousse assez loin, on pourra même imaginer une version full open source.
Avec Luis, on est revenus sur les problèmes de données, encore et encore.
On a réalisé à quel point les données du Carif-Oref (nos sources pour le POC) et celles de Réfugiés.info ne vivent pas du tout dans le même monde.
Structure différente, métadonnées qui ne se parlent pas… rien n’est aligné.
Alors on s’est demandé :
- comment construire une base assez solide pour aujourd’hui,
- mais assez souple pour demain,
- sans casser tout ce que Réfugiés.info utilise déjà.
J’ai aussi remis les mains dans notre Speckit : préciser, simplifier, durcir la phase d’ingestion, penser aux traductions, aux révisions… bref, consolider la colonne vertébrale.
Nour est revenu de son break, frais comme un gardon. À peine je lui parle de Letta qu’il rebondit direct sur un point crucial : la frugalité.
Et oui, Letta garde son historique en mémoire, trie ce qui est pertinent, n’envoie au LLM que ce qui compte. Résultat : moins de tokens, meilleure qualité, moins de carbone.
Un agent stateful, ça change tout.
Et ça évite de cramer une forêt à chaque conversation.
On a fini sur la phase de publication, encore un peu floue dans nos têtes.
Jamais grave : on code, on teste, on casse, on recommence.
Mode bac à sable activé.
2. Les défis ou surprises
Le vrai défi du jour : penser la base de données non pas comme un entrepôt, mais comme un carrefour.
Pas juste importer.
Pas juste enrichir.
Mais ingérer, transformer, faire dialoguer des univers qui ne parlent pas la même langue.
C’est le genre de problème technique que j’adore et qui te grille le cerveau en même temps.
3. Le point technique
On continue de poser les fondations calmement, proprement :
- Letta pour l’agent IA stateful, avec mémoire interne et frugalité intégrée.
- Supabase pour la base de données.
- BlockNote pour l’édition.
- Speckit pour générer les specs qui guideront la pré-rédaction IA.
On a aussi revu les étapes du pipeline :
avant on disait “import”, mais ça n’avait plus de sens.
Maintenant on dit “ingestion”.
Et ça reflète beaucoup mieux la complexité du truc.
On a ajouté une étape dédiée aux métadonnées : elles ne sont plus un bonus, elles deviennent un citoyen à part entière du processus.
4. Le moment humain
On sent qu’on est en train de fabriquer un petit bébé tous ensemble.
Un truc encore flou, encore fragile, mais déjà vivant.
On se retrouve début décembre pour deux jours de hackathon. Luis et moi allons montrer les premiers pas de l’outil à l’équipe.
J’ai tellement hâte d’entrer dans le dur, de voir les premiers retours, de boucler nos manches.
Tout le monde est aligné, motivé, impatient.
Et ça, ça vaut de l’or.
Le petit bonus
Spoiler : il démonte les MCP (Modular Control Protocols) d’Anthropic avec une mauvaise foi tellement précise que ça en devient une œuvre d’art.
Et franchement… il n’a pas complètement tort.
À demain.