Contexte du problème
Un utilisateur de l’application Codex (version 26.611.61753) signale, le 25 mars 2024, une série d’échecs HTTP 404 en provenance de l’endpoint https://chatgpt.com/backend-api/codex/responses. Le problème apparaît dans une session GPT 5.4 xhigh exécutée sur macOS Darwin 25.3.0 arm64 avec un abonnement Pro x20. L’erreur se déclenche après environ 50 000 tokens et après le lancement d’un sous‑agent, alors que d’autres sessions (par ex. GPT 5.5 xhigh) restent fonctionnelles.
unexpected status 404 Not Found: Unknown error, url: https://chatgpt.com/backend-api/codex/responses, cf-ray: ...Analyse de l’erreur 404
Le code HTTP 404 indique que le serveur ne trouve pas la ressource demandée. Dans le contexte d’une API interne, cela peut résulter d’une expiration de jeton d’authentification, d’une répartition de charge qui redirige vers un nœud non synchronisé, ou d’une corruption de la table de routage après un grand nombre de requêtes. Le fait que l’erreur survienne après plusieurs compactions et la création d’un sous‑agent suggère que le client dépasse un seuil de stateful routing : chaque sous‑session possède un identifiant de contexte qui, lorsqu’il dépasse la capacité du serveur, est rejeté comme ressource inexistante.
Le même appareil, avec la même version, ne rencontre pas l’erreur dans une session GPT 5.5, ce qui indique que le problème n’est pas lié au matériel ou à la version du client, mais à la configuration du modèle 5.4 xhigh. Cette version utilise probablement un pool de workers dédié, dont la taille maximale est atteinte après ~50 k tokens, déclenchant la perte du mapping URL‑to‑worker.
Impact sur les sessions et limites observées
Lorsque le serveur renvoie 404, le client effectue automatiquement 5 tentatives de reprise avant d’abandonner, comme le montre le journal de l’utilisateur. L’absence de mécanisme de back‑off exponentiel entraîne une surcharge immédiate du même endpoint, aggravant la probabilité d’échecs supplémentaires. Le résultat est une interruption de la session, ce qui contrevient à l’attente d’une continuité de traitement, surtout dans des flux de travail orchestrés où le modèle agit comme coordinateur.
Le problème apparaît uniquement dans les sessions longues et intensives, ce qui révèle une limitation de la persistance d’état côté serveur. Aucun indicateur de dépassement de quota d’abonnement n’est fourni, donc la cause reste technique plutôt que contractuelle.
Recommandations et bonnes pratiques
Pour réduire la fréquence de ces interruptions, il est conseillé d’implémenter un retriage avec back‑off exponentiel, par exemple 20 tentatives réparties sur 10 minutes, comme suggéré par l’utilisateur. Cette approche limite la charge instantanée sur le serveur et augmente les chances de récupération d’un endpoint rétabli.
En parallèle, les développeurs d’OpenAI devraient surveiller les métriques de worker saturation pour le modèle 5.4 xhigh et envisager un redimensionnement dynamique du pool. Exposer un code d’erreur plus précis (par ex. 429 pour surcharge) permettrait aux clients d’ajuster automatiquement leurs stratégies de reprise.
Enfin, les utilisateurs peuvent segmenter les sessions très longues en plusieurs appels distincts, en sauvegardant l’état intermédiaire. Cette pratique diminue le nombre de tokens cumulés par session et évite d’atteindre le seuil critique qui déclenche le 404.