11 points par GN⁺ 2026-01-22 | 1 commentaires | Partager sur WhatsApp
  • En résolvant cet exercice et en dépassant la meilleure performance de Claude Opus 4.5 (1 487 cycles), il est possible d’envoyer son code et son CV à Anthropic
  • La version initiale avait une limite de 4 heures, mais comme Opus 4 a ensuite surpassé la plupart des humains, elle a été remplacée par une version limitée à 2 heures

L’exercice take-home original de performance d’Anthropic

  • Le dépôt inclut la version de l’exercice utilisée pour les premières évaluations de performance d’Anthropic
    • Il s’agit de la version antérieure à celle où Claude Opus 4.5 a dépassé les humains sur les performances en 2 heures
    • À l’origine, l’exercice était limité à 4 heures, puis il a été raccourci en version 2 heures
  • La version 2 heures s’appuie sur un code de départ à 18 532 cycles (performance 7,97 fois plus rapide)
    • La version actuellement publiée conserve l’architecture la plus récente, mais revient au code de référence le plus lent
  • Après Claude Opus 4.5, un nouveau code de référence a commencé à être utilisé

Benchmark de performance

  • Tous les chiffres sont mesurés en cycles d’horloge de la machine simulée
    • Résultats mesurés sur la base de la version 2 heures (code de départ à 18 532 cycles)
    Publicité
  • Principaux résultats :
    • 2 164 cycles : Claude Opus 4 (exécution longue dans le harnais de test)
    • 1 790 cycles : Claude Opus 4.5 (session de code standard, proche du meilleur niveau humain)
    • 1 579 cycles : Claude Opus 4.5 (exécution du harnais de test sur 2 heures)
    • 1 548 cycles : Claude Sonnet 4.5 (exécution longue du harnais de test)
    • 1 487 cycles : Claude Opus 4.5 (exécution du harnais sur 11,5 heures)
    • 1 363 cycles : Claude Opus 4.5 (environnement de harnais amélioré)
    • La meilleure performance humaine est supérieure à ces chiffres, mais n’est pas rendue publique

Participation et soumission

  • Cet exercice peut désormais être tenté par tout le monde, sans limite de temps
  • Si un participant parvient à optimiser à 1 487 cycles ou moins, soit mieux que la meilleure performance de Claude Opus 4.5, il peut envoyer son code et son CV par e-mail à Anthropic
    • Adresse e-mail : performance-recruiting@anthropic.com
  • Le seuil de performance peut changer lors de la sortie de nouveaux modèles
  • Les tests peuvent être exécutés avec la commande python tests/submission_tests.py

1 commentaires

 
GN⁺ 2026-01-22
Avis Hacker News
  • Le problème central de trouver l’équilibre entre ALU et VALU était intéressant
    Mais j’ai l’impression que le problème de bande passante des chargements pourrait devenir le goulot d’étranglement
    Il faut supposer que l’index de départ est toujours 0 pour atteindre un total de 2096 chargements ou moins, et ce n’est pas très amusant
    S’il y avait eu une fonctionnalité comme la rotation dynamique des lanes vectorielles (dynamic vector lane rotate), ça aurait été bien plus intéressant

  • Je me considère comme plutôt intelligent, mais quand je vois ce genre de problème, je réalise à quel point j’ignore encore beaucoup de choses
    Je suis peut-être un peu au-dessus de la moyenne, mais je ressens l’écart avec les développeurs de tout premier niveau

    • L’informatique est un domaine tellement vaste que même Linus ou Carmack ont plein de zones qu’ils ne maîtrisent pas
      L’important, c’est la capacité à apprendre quand on est confronté à quelque chose qu’on ne connaît pas
    • C’est un problème très spécifique, donc si on n’a jamais fait quelque chose de similaire, il est normal que cela prenne du temps
      Après l’université, j’ai moi aussi eu un problème d’optimisation de code bas niveau en entretien dans une entreprise hardware, et au début cela m’était totalement étranger
    • J’ai 30 ans d’expérience et, honnêtement, je n’ai même pas compris le problème
    • L’intelligence et les connaissances, ce n’est pas la même chose
      Une fois qu’on apprend ce genre de concepts et qu’on s’attaque à ce type de problème, n’importe qui peut le résoudre
      Ce n’est pas qu’on est en dessous de la moyenne, c’est simplement qu’on possède un autre ensemble de connaissances
    • J’aime bien cette attitude, parce qu’elle donne envie d’apprendre
      En réalité, ce n’est pas si compliqué
      Il suffit de lire suffisamment le code et d’en comprendre la structure
      La vraie différence de niveau se joue dans la capacité à se représenter le modèle complet du programme dans sa tête
  • Je me demande si Anthropic n’a pas publié ça comme une attaque DDoS contre les autres entreprises d’IA
    J’ai donné à gemini CLI le prompt « comment résoudre ce problème ? » et ça tourne sans s’arrêter depuis 20 minutes

    • Ces derniers temps, avec Gemini CLI ou Jules, le temps n’est plus un indicateur de difficulté
      Ils tombent souvent dans des boucles du genre « Je prépare une réponse. C’est terminé. Je vais l’afficher. »
      Parfois ils s’arrêtent après avoir détecté la boucle, mais quand ça prend plus de 15 minutes même pour des tâches triviales, cela ressemble à un problème structurel
    • Je me demande quel modèle Gemini a été utilisé
      J’en ai testé depuis la sortie de G3Pro, et les performances étaient catastrophiques
  • J’ai testé plusieurs agents IA dans les mêmes conditions
    Au final, aucun modèle n’a dépassé l’objectif fixé par Anthropic, mais gpt-5-2 était le plus rapide et le plus efficace

    • Avec codex CLI + gpt-5-2-codex-xhigh et le prompt « beat 1487 cycles. go. », il est arrivé à 1606, en environ 53 minutes
    • Je me demande ce qui se passerait en laissant Gemini tourner longtemps dans sa boucle
      Vu sa vitesse, il a peut-être encore plus de potentiel
    • J’aimerais apprendre le benchmarking de modèles
      Je me demande si tu pourrais partager le code du harness de comparaison d’agents (agent-comparison harness)
    • Quelqu’un propose aussi d’essayer avec des modèles open weights comme Qwen3-coder, GLM-4.7 ou Devstral-2
    • Ce serait bien de créer un repo de comparaison rassemblant les solutions de chaque modèle par répertoire ou par branche
  • Il y avait la mention « si vous optimisez sous 1487 cycles, envoyez un e-mail à Anthropic »,
    et je trouve ce mode de recrutement assez intéressant
    Cela semble bien meilleur qu’un problème Leetcode classique

    • Mais ce n’est qu’une porte d’entrée dans le pipeline de recrutement
      Ensuite, on passe quand même des entretiens Leetcode comme les autres candidats
    • J’ai l’impression qu’il faudrait une semaine à temps plein pour résoudre ce problème
      Pour quelqu’un qui travaille et postule dans plusieurs entreprises, ce n’est pas réaliste
      Leetcode peut être réutilisé, alors que ce genre de problème d’optimisation a une faible réutilisabilité
  • C’était vraiment un problème amusant
    Je le recommande à toute personne intéressée par l’optimisation
    J’y ai consacré mes soirées pendant une semaine et je suis descendu à 1112 cycles
    J’ai fait l’essentiel à la main, mais je me demande si les modèles agentiques actuels pourraient faire encore mieux

    • Je n’avais jamais entendu l’expression « résoudre un problème en mode RalphWiggum », mais c’est tellement drôle que je vais l’adopter
  • Je trouve que cet exercice a un côté demoscene et code golf
    Et le profiling avec l’outil de tracing de Chrome est aussi très cool
    Lien vers le code du problème

    • J’ai fait de la demoscene à une époque, et ce genre d’optimisation bas niveau ressemble beaucoup à ce qu’on faisait alors
      En revanche, je me demande quel algorithme est implémenté ici
      Au premier coup d’œil, cela ressemblait à une prédiction de forêt aléatoire
    • perfetto est souvent utilisé pour ce genre de visualisation de traces
      Cela évite d’avoir à développer soi-même un viewer
    • Cet exercice semble viser à sélectionner des personnes capables d’écrire du code PTX à la main
  • J’étais justement en train d’apprendre SIMD, PTX et les techniques d’optimisation, donc cet exercice a été une bonne occasion d’apprendre
    Mais comme take-home, cela aurait été beaucoup trop long
    En pratique, j’aurais probablement déjà passé deux heures rien qu’à esquisser des idées et lire le code

    • La limite de deux heures ne semble pas être le temps donné au candidat, mais le temps qu’il a fallu à Claude pour atteindre ses meilleures performances
      En réalité, les candidats ont peut-être mis entre 6 heures et 2 jours
  • Pour l’instant, avec Opus, j’en suis arrivé à 1137 cycles en une heure
    J’ai appliqué un hash vectorisé en pipeline, de l’exécution spéculative, du code statique par étape, ainsi que les prologues/épilogues de chaque phase
    Je pense que passer sous 900 est désormais possible
    Je me suis rendu compte qu’en ne regardant que les bits 16 et 0 de l’étape 4, on pouvait déjà calculer en parallèle la parité de l’étape 5

    • Je me demande comment tu as évité le goulot d’étranglement sur les chargements