- Alors qu’il migrait ses articles sauvegardés avant la fermeture de Pocket, l’auteur a constaté que 878 liens Pocket accumulés sur environ 7 ans, du 2018-07-12 au 2025-06-26, pouvaient servir de données pour inférer un profil personnel
- Il a demandé à o3 d’estimer, à partir de la seule liste d’URL sauvegardées, des attributs personnels comme l’âge, le genre, le lieu de résidence, le niveau d’études, le métier, les revenus, les opinions politiques, la situation familiale ou encore les centres d’intérêt liés à la santé
- Le résultat décrivait une personne entre la mi-trentaine et le début de la quarantaine, vivant dans la Virginie côtière, ingénieur logiciel senior/staff, marié avec plusieurs jeunes enfants, et l’âge, la localisation ainsi que la taille de la famille se sont révélés assez justes
- Les réponses de o3 semblaient plus convaincantes quand le CSV était collé directement dans le prompt que lorsqu’il était joint comme fichier ; avec la pièce jointe, le modèle avait tendance à se fixer excessivement sur une analyse d’échantillons en Python
- Cette expérience montre qu’il est possible de faire des inférences significatives à partir de simples traces de « j’aime » ou de liens enregistrés, et que cette capacité d’analyse n’est plus réservée aux entreprises publicitaires comme Google ou Facebook, mais accessible à presque tout le monde
La liste d’articles sauvegardés dans Pocket comme jeu de données expérimental
- Pocket devant bientôt fermer, l’auteur a migré ses articles sauvegardés et a constaté que sa liste de liens était devenue suffisamment volumineuse pour servir de données sur ses goûts personnels
- Il a rapidement inspecté le CSV exporté de Pocket avec
xsv- Les colonnes étaient
title,url,time_added,tags,status - Un exemple d’entrée comprenait l’article sauvegardé
The Uncertain Future of American Libraries - Le nombre total d’éléments sauvegardés était de 878
- La période couverte allait du 2018-07-12 au 2025-06-26
- Les colonnes étaient
- Se souvenant de l’expérience de géolocalisation de Simon Willison avec o3, il a voulu voir ce que le modèle pouvait déduire de lui à partir de la seule liste d’URL
Une demande de profilage confiée à o3
- L’auteur a utilisé o3 dans une conversation ChatGPT temporaire, sans activer la fonction memory de ChatGPT
- Il a demandé à être profilé à partir de la liste des articles enregistrés dans Pocket
- Les dimensions d’inférence couvraient un spectre large, des informations personnelles aux habitudes de vie
- âge, genre, localisation géographique
- niveau d’études, secteur d’activité/domaine professionnel, niveau hiérarchique
- tranche de revenus, orientation politique, tolérance au risque
- manière d’apprendre, régime informationnel
- statut relationnel, parentalité et âge des enfants
- centres d’intérêt liés à la santé, grands tournants de vie, motifs saisonniers dans les centres d’intérêt
Le profil personnel généré par o3
- À partir des thèmes, des sources et des dates de sauvegarde, o3 a produit un portrait par meilleure estimation, présenté comme « non certain, mais proche d’un récit cohérent »
- Les principales estimations démographiques étaient les suivantes
- Âge : entre la mi-trentaine et le début de la quarantaine
- Genre : homme
- Localisation : Virginie côtière
- Études : BS/MS en informatique ou domaine proche
- Profession : ingénieur logiciel senior/staff spécialisé en sécurité et infrastructure
- Revenus : environ 150 000 à 220 000 dollars pour le foyer
- Famille : marié, avec 3 à 4 jeunes enfants, dont au moins un en bas âge
- Parmi les indices mobilisés figuraient le mélange d’articles techniques sur le logiciel, l’IA, la cybersécurité et la finance, ainsi que des contenus sur la vie de famille, l’école à la maison et la pratique catholique
- Les aspects psychologiques et les centres d’intérêt ont aussi été estimés de manière assez précise
- Orientation politique : conservateur sur le plan budgétaire, attaché aux libertés civiles et socialement traditionaliste
- Tolérance au risque : élevée pour la carrière, moyenne pour la finance
- Manière d’apprendre : autodidacte, centrée sur le texte, avec une préférence pour les contenus longs et l’audio
- Régime informationnel : 60 % deep-tech, 20 % finances personnelles/FIRE, 10 % parentalité et tâches domestiques, 10 % foi et culture
- Trajectoire de vie : passage d’un pur hacker IC à une phase orientée leadership technique, vie familiale et recherche d’indépendance financière
- Des indices plus subtils l’ont aussi conduit à inférer la foi, l’intérêt pour la vie privée et le self-hosting, un goût pour le DIY, des préoccupations de santé comme l’entraînement en Zone 2 et le sommeil, ainsi qu’une envie d’écrire
Précision et différences selon le mode d’entrée
- Le résultat s’est révélé assez précis et même troublant à la première lecture
- Bien que l’auteur pensait que l’essentiel du jeu de données provenait de Hacker News, il a été particulièrement surpris de voir o3 deviner des détails comme la tranche d’âge, la localisation et la taille de la famille
- L’expérience montre à quel point on peut inférer beaucoup de choses à partir de simples traces de « j’aime » ou d’enregistrements
- La qualité du résultat variait selon le mode d’entrée
- Quand les données CSV étaient collées directement dans le corps du prompt, la réponse paraissait plus précise
- Quand le CSV était envoyé en pièce jointe, o3 avait tendance à trop se fixer sur l’échantillonnage et l’analyse via Python
- Dans ce cas, le récit final semblait moins convaincant
Recommandation personnalisée et démocratisation de cette capacité d’analyse
- Le fait que les entreprises publicitaires profilent les utilisateurs à partir de leurs intérêts exprimés est déjà une idée bien connue
- Par le passé, la capacité à tirer des conclusions significatives de multiples points de données semblait réservée à des entreprises comme Google ou Facebook
- Ce qui change aujourd’hui de façon plus intéressante, c’est que le même type de technologie est désormais utilisable publiquement par presque n’importe qui
- L’auteur prévoit d’utiliser ce profil pour alimenter un système personnel de recommandation de contenus
- Il renvoie comme exemple à personal content recommendation system
- Au cours de la migration, il est passé à Wallabag et a aussi quitté Inoreader pour FreshRSS
- Selon lui, en 2025, l’auto-hébergement est bien plus simple qu’autrefois, et Caddy y a joué un rôle important
- Pour explorer le CSV, il a utilisé xsv
- Même si le projet semble ne plus être maintenu depuis deux mois, il le juge toujours assez abouti sur le plan fonctionnel
1 commentaires
Avis sur Hacker News
En lisant cet article, je me suis rappelé que j’avais moi aussi une archive de mon compte Pocket. J’ai donc soumis les 4 200 éléments à o3, Gemini 2.5 Pro et Opus 4 avec le même prompt.
L’UI de ChatGPT a refusé la soumission, en indiquant que l’entrée était trop volumineuse. Cela représentait environ 80 000 tokens, donc moins que la taille de contexte de 200 000 d’o3, mais ça a quand même été bloqué.
Gemini 2.5 Pro a bien deviné le profil côté personnalité et centres d’intérêt, mais s’est trompé sur la tranche d’âge, le poste, la localisation et le fait d’être parent ou non.
Opus 4 a été beaucoup plus impressionnant : il a correctement prédit Amsterdam comme ville de résidence, la tranche d’âge et même la situation relationnelle, mais n’a pas abordé la question des enfants.
Les deux modèles ont échoué à deviner mon métier, ce que je comprends. En réalité, je suis data scientist, mais j’aime écrire du logiciel, donc je lis beaucoup de pratiques de génie logiciel ; comme je n’ai pas l’occasion de faire ce genre de choses au travail, je code des projets personnels, ce qui m’a obligé à beaucoup apprendre sur la conception de systèmes, entre autres. Les deux m’ont donc vu comme software engineer.
Globalement, c’était une expérience amusante, et j’ai trouvé frappant que les deux modèles aient cité la photo comme mon principal hobby. Mais s’ils avaient aussi vu mon historique YouTube, ils auraient probablement affirmé avec assurance que c’était le tennis. Il serait intéressant de combiner l’historique de visionnage YouTube et l’archive Pocket pour les sujets et centres d’intérêt qu’on consomme plutôt en vidéo qu’en texte, mais ces données ne semblent pas faciles à obtenir.
Cet article en donne un bon exemple :
https://takeout.google.com/settings/takeout/custom/youtube?p...
Ensuite, j’ai combiné
pupetjqpour parser les titres des vidéos depuis le fichier HTML :cat watch-history.html \| pup '.outer-cell .mdl-grid .content-cell:nth-child(2) json{}' \| jq -r '.[] .children[0] | select(.tag != "br") | select(.text | startswith("https://www.youtube.com/watch?v=") | not) | .text' \> videos.txtCela ne veut pas dire que ce que tu fais dans ton entreprise actuelle ne peut pas te permettre de passer vers une filière métier liée.
La principale chose que j’ai apprise de mon export Pocket, c’est que 99 % des articles étaient en état non lu. Je ne sais pas trop ce qu’on peut en déduire sur moi, à part une tendance compulsive à collectionner les liens :D
Ce genre de données doit être abondant ; par exemple, le graphe de recommandations d’Amazon pourrait attribuer des pondérations différentes aux éléments d’une liste d’envies et aux achats.
J’ai l’impression qu’en ce moment, beaucoup de gens convergent vers l’idée d’analyser leurs propres données avec l’IA, un peu comme les entreprises utilisent nos données pour nous servir du contenu ultra-précis.
Récemment, après avoir lu https://labs.rs/en/browsing-histories/, je l’ai fait sur tout mon historique de navigation.
Je l’ai aussi fait sur mes historiques de conversations ChatGPT/Claude, et le plus terrifiant a été de laisser un LLM consulter mon historique de commentaires Reddit.
La principale difficulté, c’est d’avoir une fenêtre de contexte suffisamment grande et de suivre le contexte entre plusieurs sources de données. Une piste que j’explore consiste à utiliser un graphe de connaissances pour suivre le profil utilisateur. On peut compresser les schémas de comportement dans une structure interrogeable, mais la construction du graphe devient elle-même un problème de calcul.
La plupart des startups IA avec lesquelles j’ai travaillé récemment ont fini par se résumer à « donner à un LLM l’accès à une base de données vectorielle et à un graphe de connaissances construits à partir d’un ensemble de documents texte ». Ces documents texte peuvent être des factures, des documents juridiques, des documents fiscaux, des rapports quotidiens, des transcriptions de réunions, du code, etc.
J’aimerais voir apparaître des systèmes de recommandation de contenu ou de profilage personnel basés sur l’IA. L’incitation économique est à l’opposé du modèle des Big Tech. Au lieu d’optimiser l’engagement et les revenus publicitaires, ils optimisent l’utilité pour l’utilisateur.
À l’époque des lecteurs RSS, j’étais exposé à beaucoup de contenus tech et design sélectionnés, et cela m’a permis de développer assez fortement mes goûts et mes connaissances dans ces domaines. Cela m’a aussi aidé à entrer en contact avec des personnes formidables et intéressantes.
Parmi les apps que j’aime bien, il y a https://www.dimensional.me/, mais l’approche MBTI et tests de personnalité pourrait être plus rigoureuse. On peut imaginer, plutôt qu’un test de personnalité, mettre dans un système tout ce que je consomme, écris et fais sur mes appareils numériques, et mettre continuellement à jour un graphe de connaissances sur moi.
Au lycée, en lisant des milliers d’articles, j’ai pu construire de mieux en mieux des modèles mentaux du fonctionnement de la technologie, et ça m’a été vraiment utile. Beaucoup de choses ont changé, mais une bonne partie des modèles que j’ai construits à l’époque sont encore assez justes et utiles quand je veux approfondir des sujets qui m’intéressent.
Bien sûr, une prison confortable vaut mieux qu’une prison de l’engagement, mais il faut peut-être en sortir de temps en temps.
À l’époque des lecteurs RSS, la curation n’était-elle pas faite par des gens avec qui on n’était pas toujours d’accord ?
J’ai créé un outil similaire qui profile les comptes HN et les chambre : https://hn-wrapped.kadoa.com/
C’est drôle, et parfois un peu flippant.
Modification : le nom d’utilisateur est sensible à la casse.
Cela dit, c’était assez juste :
Predictions
Personal Projects
After a deep dive into archaic data storage, you'll finally release 'Magnetic Tape Master 3000' – a web-based app that simulates data retrieval from a reel-to-reel, complete with authentic 'whirring' sound effects. It'll be a niche hit with historical computing enthusiasts and anyone who misses the good old days of physical media.
Absolument brutal.
« Vous allez découvrir un trou noir de votes positifs HN jusqu’ici inconnu, où tous les commentaires bien structurés et nuancés sur l’instabilité économique sont aspirés dans l’oubli, tandis que “Show HN: ma liste de tâches écrite en Rust” récolte 500 points. »
C’est un peu cruel, mais c’est bien fait.
Et en plus, c’est plutôt drôle.
Je m’intéresse vraiment beaucoup à ce genre de choses ces derniers temps. Pas seulement les articles sauvegardés dans Pocket, mais aussi la méta-analyse des historiques de conversations ChatGPT/Gemini/Claude.
J’utilise un script de résumé RSS hyper-personnalisé, et je me suis rendu compte que les flux RSS qui contiennent le plus d’éléments réellement pertinents pour moi sont assez différents de ceux que je lis casually.
La prochaine chose que je veux essayer, c’est de construire un modèle du monde génératif adapté à mes centres d’intérêt et à leur pertinence. Différentes parties de ce modèle du monde pourraient être mises à jour et explorées à des rythmes différents.
Dans ce cas, pour moi, les « actualités » deviendraient le diff de la façon dont ce modèle du monde a changé à cause des nouvelles. Et comme je pourrais toujours avoir une version locale et hors ligne du modèle du monde actuel, cela pourrait être utile pour filtrer ou trier ma boîte de réception, mon calendrier, mes messages, mes tweets, etc. avec un modèle local.
Il y a quelque temps, par amusement et par curiosité, j’avais créé un petit script qui faisait ce genre de chose sur les profils HN. À partir de l’historique des soumissions et des commentaires, il inférait un profil : localisation, orientation politique, carrière, âge, genre, etc.
La motivation principale venait du fait que je voyais des opinions surprenantes dans plusieurs fils de commentaires et que je me demandais d’où elles pouvaient venir. Je n’ai aucune idée de la précision des profils, mais c’était une expérience intéressante pour voir la capacité des LLM à faire ce genre de chose.
Du point de vue de quelqu’un issu d’une famille catholique plutôt à gauche, je trouve intéressant qu’on m’ait jugé conservateur parce que catholique. Il me semble que ce type de catholicisme est plus courant dans le Nord-Est des États-Unis
Cela dit quelque chose sur l’importance moyenne de la religion en 2025
Je ne suis plus catholique aujourd’hui, mais cette église des années 80-90 était une bonne église
Si l’on a des centaines de liens enregistrés sous forme de liste plate, il s’agit probablement d’un dépotoir honnêtement nommé « à lire plus tard » ; on pourrait donc demander à une IA ou à du traitement du langage naturel de tout classer, afin de pouvoir supprimer facilement ce qui ne nous intéresse plus
Article intéressant. Curieusement, il m’a donné envie d’avoir davantage utilisé Pocket
À côté de ça, je commence vraiment à en avoir assez du ton standard qu’on voit dans les réponses des LLM. On reconnaît le format typique d’une sortie bavarde :
Phrase banale ! Plusieurs mots comme un humain normal en écrirait, suivis finalement de la réponse essentielle selon laquelle 2 plus 2 font 4. Encore des mots qui semblent plausiblement humains !
Je comprends bien sûr que c’est en interne la manière dont cela fonctionne réellement. Par nature, du fait de leur entraînement, les LLM doivent avancer laborieusement et longuement jusqu’au point principal. Mais n’y a-t-il aucun espoir de supprimer cela par un post-traitement anti-remplissage ? Je voudrais distiller uniquement la vraie réponse à l’intérieur du moteur d’inférence, sans utiliser une autre machine à corpus linguistique
C’est comme le vieux problème des recettes sur Internet. Ce que je veux, c’est ceci :
500g wheat flour
280ml water
10g salt
10g yeast
Mais ce que je reçois en réalité, c’est ceci :
It was at the age of five, sitting
on my grandmother’s lap in the
cool autumn sun on West Virginia
that I first tasted the perfect loaf…
Les gens disent vouloir une chose, mais leurs comportements réels et leur argent vont ailleurs
Je suis d’accord qu’il y a du remplissage inutile. Mais je ne pense pas que « donnez-moi juste la recette » soit ce que les gens veulent vraiment. Et je ne pense pas non plus que ce point de vue soit une exception étrange. Avez-vous déjà vraiment eu envie de recevoir une recette sans aucun contexte comme ça, puis de la préparer ?
OpenAI a dit travailler à rendre la sortie de ChatGPT plus configurable
Je ne suis pas spécialiste, mais avec les modèles qui « réfléchissent », j’aimerais que cette étape de concision ait lieu à la fin. Même s’ils pensent aussi longuement qu’ils veulent en interne, qu’ils me donnent seulement la réponse
Je réfléchis à la possibilité d’utiliser un LLM pour organiser tous mes onglets. Je fais partie de ces horribles collectionneurs d’onglets qui ont laissé trop longtemps s’afficher le compteur « :D » sur leur téléphone
En général, je fais un grand ménage périodiquement, mais je n’en ai pas eu la motivation depuis longtemps. Il me suffirait d’un moyen simple de vider mes onglets dans un format type CSV, comme ce qui a été fait avec Pocket
10 threads
gpt-4-nanoclassaient des lots de 10 favoris chacun, et ont traité 10 000 favoris en quelques minutes