Anthropic publie en open source son exercice take-home d’évaluation des performances
(github.com/anthropics)- 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)
- 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
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’important, c’est la capacité à apprendre quand on est confronté à quelque chose qu’on ne connaît pas
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
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
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
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
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
Vu sa vitesse, il a peut-être encore plus de potentiel
Je me demande si tu pourrais partager le code du harness de comparaison d’agents (agent-comparison harness)
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
Ensuite, on passe quand même des entretiens Leetcode comme les autres candidats
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 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
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
Cela évite d’avoir à développer soi-même un viewer
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
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