❌

Vue normale

  • ✇Korben
  • Une IA a terminé NetHack de justesse !
    Je sais que vous étiez tous très concentrés sur les ravages de l'IA dans la littérature, mais il y a 5 jours, il s'est passé quelque chose d'incroyable que vous avez probablement manqué ! Une valkyrie naine baptisée CodexDelver a déposé l'Amulette de Yendor sur l'autel de son dieu au bout de "seulement" 37 140 tours de NetHack. Et pour une fois, aux commandes du jeu, on ne retrouve pas un no-life qui n'a pas vu le soleil depuis 2002 mais le gars sûr du moment, GPT-6 Astra, le nouve
     

Une IA a terminé NetHack de justesse !

25 septembre 2026 à 03:27

Je sais que vous étiez tous très concentrés sur les ravages de l'IA dans la littérature, mais il y a 5 jours, il s'est passé quelque chose d'incroyable que vous avez probablement manqué ! Une valkyrie naine baptisée CodexDelver a déposé l'Amulette de Yendor sur l'autel de son dieu au bout de "seulement" 37 140 tours de NetHack. Et pour une fois, aux commandes du jeu, on ne retrouve pas un no-life qui n'a pas vu le soleil depuis 2002 mais le gars sûr du moment, GPT-6 Astra, le nouveau modèle d'OpenAI . Et d'après celui qui a monté l'expérience, c'est la première victoire au monde d'un agent LLM sur ce jeu (on va le croire, c'est pas vérifiable).

Maintenant, pour ceux qui ne connaissent pas NetHack, c'est un jeu d'exploration de donjon sorti en 1987, 100% en caractères ASCII et où la mort est définitive. Pour gagner dans ce jeu des enfers, il faut récupérer l'Amulette dans le sanctuaire de Moloch, puis aller l'offrir à son dieu sur le plan Astral, et si j'en crois le wiki du jeu , certains joueurs y jouent même depuis des décennies sans jamais être arrivés à remplir cette mission.

Le plus drôle là-dedans, c'est que Kenny, le dresseur d'IA qui a réalisé l'expérience, n'a lui-même jamais gagné. Il est sur le dossier depuis janvier, et ses propres agents faits maison plafonnaient tristement au niveau 10 du donjon. Alors il a craqué et a demandé à Astra de jouer directement dans un terminal, diffusant la partie sur Twitch, et cette dernière a non seulement bien réussi mais a en plus écrit ses propres outils pour y parvenir.

La première partie a d'ailleurs bien failli être la bonne puisqu'après plus de 33 000 tours, GPT-6 Astra avait accompli le rituel des sept bougies, de la cloche et du livre, et s'apprêtait à entrer dans le sanctuaire de Moloch. Mais le Magicien de Yendor, cet enfoiré sans race, est revenu aussitôt lui voler son Orbe du Destin. Dèèèg ! Puis après elle s'est fait transformer en Slime vert au niveau 51 et n'avait rien dans son équipement pour contrer le sort.

La deuxième partie s'est arrêtée bien plus tôt puisqu'au tour 12 271, en pleine progression dans le Château, un sergent a tiré avec une baguette de mort et l'IA est tombée d'un coup, alors qu'elle avait tous ses points de vie. Elle n'avait ni résistance à la magie ni réflexion pour renvoyer le rayon.

La troisième partie, celle de la grande victoire, a duré un peu plus longtemps, du 9 au 21 septembre, pauses comprises. L'IA, forte de ses 2 précédentes expériences, y a récupéré l'épée Excalibur, puis l'amulette de réflexion qui avait tant manqué au Château. Et quand son outil a rencontré des erreurs, elle a corrigé d'elle-même son code, relancé ses tests et continué.

Toutefois, c'est sur le plan Astral que ça a le plus chauffé car ses deux dernières baguettes de mort étaient vides et Pestilence l'a frappée de maladie mortelle pendant qu'elle en rechargeait une. L'IA a alors eu Pestilence au deuxième tir, mais ses points de vie sont descendus juste après à 3 sur 200, avec heureusement une amulette de sauvegarde de vie au cou... Ouf.

Puis quelques tours plus tard, elle offrait l'Amulette à Tyr avec seulement 35 points de vie, comme le confirme le relevé de fin de partie . Et sur l'écran de victoire que Kenny lui a demandé de créer, elle a inscrit "Three hit points from oblivion. One offering from immortality." (à trois points de vie du néant, à une offrande de l'immortalité). Quelle poète cette IA, on sent que cette expérience d'être passée pas loin de la mort l'a marquée ! lol.

Après ce n'est pas encore un programme autonome qui a gagné car, certes, l'IA choisissait chaque action, mais avec derrière, un humain qui lançait et arrêtait les sessions + un accès libre au wiki et au code source du jeu, ainsi que des outils modifiables en pleine partie. Mais c'est un bel exploit quand même. Notez qu'un bot programmé à la main, BotHack , avait déjà terminé le jeu en janvier 2015 donc c'est pas non plus infaisable sans IA.

La bonne nouvelle c'est que le code des outils développé par Astra est maintenant sur GitHub sous licence MIT et les trois parties peuvent se rejouer au tour par tour directement sur le blog de Kenny, si vous voulez revivre l'événement avec en bonus les commentaires que l'IA diffusait en jouant.

Source : Vaguely Aligned

  • ✇Korben
  • Claude Code vous fait choisir entre vie privée et AGENTS.md
    Depuis sa version 2.1.277, Claude Code sait parfaitement lire les fichiers AGENTS.md. Ainsi, quand un projet n'a pas de CLAUDE.md, il prend l'AGENTS.md à la place, ce qui est super confortable pour tous ceux qui jonglent entre plusieurs agents. Enfin... sauf si vous avez coupé sa télémétrie, parce que dans ce cas-là, bizarrement, votre fichier AGENTS.md est totalement ignoré ! AGENTS.md, pour ceux qui débarquent, c'est un fichier Markdown que les agents de code lisent pour comprendre un projet.
     

Claude Code vous fait choisir entre vie privée et AGENTS.md

24 septembre 2026 à 01:49

Depuis sa version 2.1.277, Claude Code sait parfaitement lire les fichiers AGENTS.md. Ainsi, quand un projet n'a pas de CLAUDE.md, il prend l'AGENTS.md à la place, ce qui est super confortable pour tous ceux qui jonglent entre plusieurs agents. Enfin... sauf si vous avez coupé sa télémétrie, parce que dans ce cas-là, bizarrement, votre fichier AGENTS.md est totalement ignoré !

AGENTS.md, pour ceux qui débarquent, c'est un fichier Markdown que les agents de code lisent pour comprendre un projet. Codex, Amp ou Cursor s'y mettaient déjà en août 2025 (souvenez-vous de ce fichier qui dit non aux IA ). Alors que chez Anthropic, la demande a traîné durant 1 an sur GitHub, jusqu'à ce que Boris Cherny, qui bosse sur Claude Code, ferme le ticket en août en conseillant une astuce, un CLAUDE.md qui contient juste @AGENTS.md, pour que Claude Code importe le fichier.

Puis la 2.1.277 est arrivée avec une vraie lecture native d'AGENTS.md, sans CLAUDE.md du tout, et c'est elle qui pose problème...

Parce que cette lecture native passe en réalité par un plugin intégré, qui est off par défaut et qui ne s'allume que si un feature flag récupéré chez Anthropic, tengu_agents_md_mod, lui dit oui. Et si ce flag ne répond pas, bah c'est "niet", et le fichier n'est jamais lu. Hé oui c'est bizarre qu'un accès à un fichier local nécessite un tel appel réseau...

Et ce "non", on l'obtient sans même le savoir, puisqu'il suffit d'activer DISABLE_TELEMETRY, CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC ou même DO_NOT_TRACK, ou encore de passer par Bedrock et les autres fournisseurs tiers.

Attention, même à 0 (donc activé), DISABLE_TELEMETRY coupera la télémétrie. En fait, n'importe quelle valeur non vide compte.

Le pire, c'est que rien ne vous avertit. C'est vrai que quand AGENTS.md est chargé, Claude Code l'annonce avec une petite ligne dans la session, mais quand il est ignoré, hé bien y'a rien du tout. Et c'est assez impactant car ensuite le modèle répond sans vos consignes, et vous vous tapez à reformuler vos prompts en boucle en croyant que l'IA vous ignore, alors que le fichier ne lui est tout simplement jamais parvenu.

Et le comble, c'est que c'est documenté, et la page des variables d'environnement liste même tout ce qu'on perd quand les flags ne sont pas récupérés, lecture d'AGENTS.md comprise. Pourtant, y'a aucun rapport logique... Couper la télémétrie, de mon point de vue, ça reste un choix légitime et ça ne devrait couper que l'envoi de statistiques à Anthropic et pas la lecture d'un stupide fichier texte. Bref, ça me dépasse, ce genre de bug ou de "fonctionnalité".

En attendant, la parade est celle que conseillait Boris Cherny... À côté de chaque AGENTS.md, posez un bon vieux CLAUDE.md qui contient une seule ligne, @AGENTS.md. Par défaut, dès qu'un CLAUDE.md existe, la lecture native ne s'en mêle même plus, et c'est l'import qui fait le boulot. Et comme les imports de CLAUDE.md ne dépendent d'aucun flag, hé bien ça passe tranquillou, télémétrie coupée ou pas.

Comme ça vous préservez votre vie privée ET vos consignes.

Source : szypowi.cz

  • ✇Korben
  • curl.md - Récupérez le texte de n'importe quelle page web au format Markdown
    Je ne sais pas si vous connaissez curl.md, mais c'est un service qui prend l'adresse d'une page web et vous l'affiche en Markdown. Y'a pas de menus, pas de bandeaux de cookies, et ce genre de conneries... C'est juste le texte de votre article, les titres, les liens et les tableaux. Et le plus sympa, c'est que vous n'avez rien à installer pour l'essayer. Vous collez curl.md/ devant l'adresse qui vous intéresse, dans la barre de votre navigateur, et vous obtenez la page en texte markdonw. Avec cur
     

curl.md - Récupérez le texte de n'importe quelle page web au format Markdown

22 septembre 2026 à 09:00

Je ne sais pas si vous connaissez curl.md, mais c'est un service qui prend l'adresse d'une page web et vous l'affiche en Markdown. Y'a pas de menus, pas de bandeaux de cookies, et ce genre de conneries... C'est juste le texte de votre article, les titres, les liens et les tableaux.

Et le plus sympa, c'est que vous n'avez rien à installer pour l'essayer. Vous collez curl.md/ devant l'adresse qui vous intéresse, dans la barre de votre navigateur, et vous obtenez la page en texte markdonw. Avec curl dans un terminal, c'est pareil, la réponse arrivera en text/markdown, et si vous préférez du JSON, vous envoyez l'en-tête Accept: application/json.

Un article de korben.info passé par curl.md : le texte, les liens, et un en-tête de métadonnées en haut

Et vous pouvez aller plus loin en ajoutant un objectif avec le paramètre --objective. Par exemple, vous décrivez ce que vous cherchez dans la page, et le service ne vous renvoie que le passage qui correspond. Il y a aussi des mots-clés, qui font un pré-filtrage avant l'extraction, et un mode smart ou rush selon que vous voulez une passe plus poussée ou plus rapide. Tout ça passe en paramètres d'URL, donc sans ligne de commande.

Pour ceux qui y reviennent souvent, il existe également un client à installer avec npm, avec bun ou avec un script, et qui s'invoque ensuite par curl.md ou par son alias court md :

# Sans rien installer
curl curl.md/example.com

# Ou avec le client
npm i -g curl.md
md zod.dev/error-formatting --objective "tree error formatting"

Côté agents de code, il y a des intégrations natives pour Amp, Claude, OpenCode et Pi. Si votre outil n'est pas dans la liste, le client sait aussi tourner en serveur MCP avec curl.md --mcp, et il existe un SDK TypeScript. Dans tous les cas, c'est l'agent qui va chercher les pages tout seul, vous n'avez plus rien à lui coller.

Du coup, ça sert à quoi ?

Bah dans le cadre de votre boulot, c'est surtout pour arrêter de coller des pages entières dans vos prompt. Vous donnez à votre agent la doc d'une bibliothèque avec un objectif précis, et il reçoit trois paragraphes au lieu de quarante pages HTML.

Ça marche aussi pour un script de veille qui suit les notes de version d'un projet, ou pour aspirer une doc dans un fichier texte que vous garderez dans le dépôt (bien plus lisible qu'un PDF dans un coin...).

Et en usage perso, ça vous permet de récupérer par exemple un article pour le relire au calme dans Obsidian, d'archiver une recette ou un mode d'emploi avant qu'il disparaisse, ou de vous envoyer une page à ChatGPT sans lui faire avaler la moitié du site autour. Notez que si c'est la consommation de vos agents qui vous embête, j'avais parlé de RTK, un proxy qui économise des tokens sur le même principe.

Par contre, il y a un plafond. En mode anonyme sur la version hébergée, vous avez droit à 100 requêtes par heure, et 1 000 une fois connecté. Et pour les requêtes avec un objectif, celles qui font justement l'intérêt du truc, c'est 3 par heure en anonyme et 10 en étant connecté. Bref, de quoi essayer, mais pas vraiment de quoi travailler... Au-delà, faudra passer par des crédits prépayés, à recharger par tranches de 5, 10, 20 ou 50 dollars.

Et si vous ne voulez pas dépenser d'argent, le code source est public sur GitHub sous licence MIT pour l'auto-héberger chez vous.

C'est à tester sur curl.md , et merci à Camille Roux pour le lien !

❌