Codex Cloud exécute vos tâches de programmation dans le cloud. Le travail peut ainsi se poursuivre même lorsque votre ordinateur est en veille. Utilisez Codex Cloud sur le Web, sur mobile ou dans l’application de bureau ChatGPT pour modifier du code, exécuter des commandes et examiner les résultats.
Chaque tâche dans le cloud s’exécute dans son propre espace de travail. Si l’environnement par défaut est disponible, vous pouvez démarrer une tâche sans choisir de dépôt. Pour réutiliser une configuration dans plusieurs tâches, sélectionnez Créer un environnement, choisissez les dépôts, les dépendances, les outils et les paramètres d’accès nécessaires à vos tâches, puis publiez l’environnement.
Pour en savoir plus, consultez la présentation de Codex Cloud.
Codex Cloud (ancienne version) prend toujours en charge la revue de code et les intégrations avec Linear et GitHub. Nous prévoyons d’abandonner cette version. Consultez le guide de l’ancienne version pour créer et gérer des environnements adaptés à ces workflows.
Démarrer une tâche dans Codex Cloud
Sur le Web ou dans l’application de bureau ChatGPT, choisissez Travailler dans > Cloud. Sur mobile, ouvrez Codex. Si l’environnement par défaut apparaît dans le sélecteur, sélectionnez-le et décrivez votre tâche.
- Sans projet, vous pouvez démarrer une tâche sans dépôt. Par exemple, demandez à Codex d’écrire et de tester un script avec des données d’exemple. Si la tâche nécessite ensuite du code existant, indiquez à Codex quel dépôt cloner.
- Depuis un projet dans l’application de bureau ChatGPT, l’environnement par défaut peut utiliser automatiquement les dépôts associés à ce projet s’ils sont hébergés sur GitHub.com et que vous avez connecté votre compte GitHub. Cette configuration automatique du projet ne prend pas en compte les dépôts GitLab.
Vous pouvez aussi ajouter un dépôt à une tâche en cours, indépendamment de la configuration automatique du projet. Demandez à Codex de cloner un dépôt auquel l’environnement a accès, y compris si vous démarrez la tâche sur mobile. Pour récupérer le code d’un dépôt GitLab.com à l’aide du sélecteur de dépôts, créez un environnement réutilisable sur le Web ou dans l’application de bureau ChatGPT.
Pour utiliser une configuration que vous avez déjà préparée ou que quelqu’un a partagée avec vous, sélectionnez l’environnement publié correspondant. Dans un espace de travail Enterprise, utilisez un environnement publié auquel vous avez accès. Les administrateurs peuvent vérifier les droits d’accès de l’espace de travail.
Créer et publier un environnement
Créez un environnement réutilisable sur le Web ou dans l’application de bureau ChatGPT pour utiliser les mêmes dépôts, outils ou paramètres d’accès dans plusieurs tâches. Connectez-vous avec votre compte ChatGPT.
- Dans une nouvelle tâche, choisissez Travailler dans > Cloud, ouvrez Sélectionner un environnement, puis sélectionnez Créer un environnement.
- Sélectionnez les dépôts dont vous souhaitez récupérer le code. Connectez GitHub si vous y êtes invité. Si GitLab est disponible dans le sélecteur de dépôts, sélectionnez votre connexion GitLab.com et recherchez le dépôt.
- Sélectionnez Commencer. Codex examine les dépôts, installe les dépendances et les outils, puis teste le workflow.
- Fournissez les accès ou les informations manquantes lorsque Codex vous les demande. Vous pouvez aussi demander des versions, des commandes ou des services précis.
- Examinez le rapport de préparation, la configuration et les fichiers. Terminez les opérations en suspens, enregistrez les modifications et sélectionnez Publier.
- Lorsque Environnement publié s’affiche, sélectionnez Démarrer une nouvelle tâche et décrivez ce que vous souhaitez confier à Codex.
Vous pouvez aussi commencer depuis Paramètres > Codex Cloud > Environnements > Créer un environnement.
L’enregistrement conserve la configuration. Certains paramètres s’appliquent immédiatement à l’environnement en cours de préparation. La publication crée un instantané du système de fichiers préparé pour les nouvelles tâches. Le partage détermine qui peut utiliser l’environnement.
Personnaliser l’installation et le démarrage
Codex identifie les environnements d’exécution, les versions des paquets, les outils et les services à partir de vos dépôts. Précisez vos besoins dans la conversation pour affiner la configuration. Vous n’avez pas besoin d’écrire vous-même un script d’installation.
Codex peut consigner la configuration testée dans deux champs :
- Script d’installation : commandes qui installent les dépendances et préparent les ressources de développement.
- Skill de démarrage : instructions pour démarrer les services et vérifier qu’ils sont prêts.
Réutiliser et mettre à jour l’état enregistré
- Nouvelle tâche dans un environnement publié : elle démarre à partir du système de fichiers préparé de cet environnement.
- Tâche existante : elle reprend avec ses propres fichiers enregistrés, y compris les modifications qui n’ont pas encore fait l’objet d’un commit et les outils installés.
- Actualisation des dépôts : elle s’effectue automatiquement en arrière-plan et conserve les caches des dépendances sans relancer les commandes d’installation ou de démarrage.
Pour mettre à jour la configuration réutilisable, ouvrez Paramètres > Codex Cloud > Environnements. Dans le menu … de l’environnement, sélectionnez Modifier. Décrivez la modification, laissez Codex la préparer et la tester, enregistrez les modifications, puis sélectionnez Republier. Démarrez une nouvelle tâche pour utiliser la mise à jour. Les tâches existantes conservent leur propre état.
Faites un commit de vos modifications importantes ou enregistrez les résultats dont vous avez besoin. L’état enregistré ne remplace pas la gestion de versions.
Configurer les variables d’environnement et les secrets réseau
Codex repère les éléments de configuration manquants et vous demande les valeurs qu’il ne peut pas déduire. Dans la configuration de l’environnement, sélectionnez Gérer à côté de Variables d’environnement ou de Secrets HTTP. Choisissez comment fournir chaque valeur.
| Configuration | Usage | Transmission |
|---|---|---|
| Variable d’environnement | Valeur qu’un programme doit lire directement | La valeur est transmise directement aux programmes de l’environnement. |
| Secret réseau | Identifiant d’accès envoyé à un service HTTPS précis | Les programmes reçoivent une valeur de substitution. Le proxy la remplace par la valeur réelle pour les destinations autorisées. |
Pour chaque secret réseau, renseignez les champs Clé, Valeur et Domaines autorisés. Choisissez une clé distincte de celles des variables transmises directement. La substitution fonctionne en HTTPS sur le port 443 pendant la préparation et l’exécution des tâches. Aucun processus ni fichier local ne reçoit l’identifiant d’accès en clair.
Lorsque vous enregistrez des secrets réseau appartenant à l’environnement, leurs destinations sont ajoutées à la liste des destinations autorisées en mode d’accès restreint à Internet. Les variables transmises directement et les valeurs personnelles n’ajoutent aucune destination. Vérifiez la politique réseau enregistrée avant de lancer vos tests. Pour connaître les exigences de l’espace de travail, consultez la section Sécurité des agents.
Fournir des valeurs personnelles
Utilisez le coffre personnel pour enregistrer vos propres variables d’environnement et secrets réseau pour les environnements cloud de votre espace de travail.
Un environnement partagé peut demander des valeurs que chaque personne fournit depuis son propre compte. Lorsque vous partagez l’environnement, les autres utilisateurs voient quelles valeurs ils doivent fournir. Vos identifiants d’accès restent personnels.
Lorsque vous y êtes invité, saisissez les valeurs requises dans Ajouter des secrets personnels, puis sélectionnez Enregistrer et démarrer. Vous pouvez laisser les valeurs facultatives vides.
Pour gérer vos valeurs à l’avance :
- Ouvrez Paramètres > Codex Cloud, puis sélectionnez l’onglet Coffre personnel.
- Sélectionnez Ajouter, choisissez Variable d’environnement ou Secret réseau sous Type, puis saisissez la Clé correspondante et votre Valeur.
- Sous S’applique à, choisissez Tous les environnements ou Environnements sélectionnés, puis sélectionnez Enregistrer.
Une tâche reçoit uniquement les valeurs demandées. Une valeur propre à un environnement prime sur la valeur générale par défaut. Pour les secrets réseau personnels, le proxy utilise les destinations autorisées de l’environnement et remplace les valeurs de substitution de la même manière.
Partager un environnement au sein d’un espace de travail Enterprise
Partagez un environnement préparé pour que vos collègues puissent y démarrer leurs propres tâches.
- Ouvrez la configuration de l’environnement.
- Sous Confidentialité > Qui peut l’utiliser, choisissez votre espace de travail.
- Enregistrez la modification. Publiez l’environnement si vous ne l’avez pas encore fait.
Choisissez Moi uniquement sous Qui peut l’utiliser pour garder l’environnement privé. Chaque tâche possède ses propres fichiers de travail. L’accès à la configuration ne donne ni accès aux tâches d’autres personnes ni le droit de modifier l’environnement.
Avant de partager l’environnement, examinez les fichiers préparés et les identifiants d’accès qui lui appartiennent. Les identités cloud et les connexions VPN peuvent aussi donner un accès partagé à des services. L’accès aux dépôts et les connexions personnelles dépendent du compte qui exécute la tâche.
L’autorisation Utiliser Codex dans le cloud détermine qui peut accéder aux tâches. L’autorisation Gérer les environnements de l’espace de travail détermine qui peut créer et modifier les environnements partagés avec l’espace de travail. Consultez la page Rôles et autorisations de l’espace de travail.
Sécurité des agents
Les paramètres d’accès à Internet de l’environnement définissent les destinations que sa machine virtuelle (VM) peut atteindre sur l’Internet public. Les paramètres VPN permettent, indépendamment de ces réglages, de connecter la VM aux services d’un réseau privé.
Dans les espaces de travail Enterprise, les administrateurs utilisent les paramètres de sécurité des agents pour définir les exigences de l’espace de travail concernant le comportement des agents, le réseau des environnements d’exécution gérés et l’utilisation des outils pris en charge. Ces exigences s’appliquent en complément des paramètres de domaine enregistrés pour chaque environnement. Consultez la page Sécurité des agents pour connaître les politiques globales et les dérogations prises en charge dans Codex Cloud.
Se connecter à des services
Configurez l’accès aux registres de paquets, aux API et aux autres services nécessaires à votre workflow.
- Dans la configuration de l’environnement, choisissez le niveau d’accès à l’Internet public nécessaire à votre workflow. Activez Autoriser l’accès complet à l’Internet public pour obtenir un accès complet. Celui-ci inclut les destinations couvertes par les réglages des gestionnaires de paquets et des domaines supplémentaires. Ces réglages plus ciblés sont donc désactivés.
- Pour restreindre l’accès à l’Internet public, désactivez Autoriser l’accès complet à l’Internet public, puis autorisez les gestionnaires de paquets ou ajoutez des hôtes précis sous Domaines autorisés supplémentaires. Ces destinations restent accessibles même lorsque l’accès public complet est désactivé.
- Enregistrez les paramètres et testez les services pendant la préparation. Publiez ou republiez l’environnement, puis vérifiez l’accès dans une nouvelle tâche.
L’accès à l’Internet public et l’accès VPN sont indépendants. Vous pouvez utiliser l’un, l’autre ou les deux. Les paramètres de l’Internet public s’appliquent aux connexions établies en dehors de Tailscale, même lorsqu’une route de sous-réseau Tailscale utilise des adresses IP publiques. Restreindre l’accès à l’Internet public ne désactive pas le VPN configuré.
Pour connaître les exigences de l’espace de travail, consultez la section Sécurité des agents. Autoriser une destination ne fournit aucun identifiant d’accès et n’accorde aucune autorisation dans le service concerné.
Pour les services accessibles via l’Internet public qui filtrent les connexions selon l’adresse IP source, utilisez le flux des adresses IP de sortie des agents. Autorisez toutes les plages publiées, consultez le flux chaque jour et mettez à jour la liste d’autorisation du service lorsque les plages changent. Ces plages sont communes à plusieurs clients. Maintenez les contrôles d’authentification et d’autorisation du service.
Accès au réseau privé (VPN)
Donnez aux tâches dans le cloud accès aux services de votre réseau privé via une connexion VPN. Tailscale utilise le DNS privé, les routes de sous-réseau et les règles d’accès que vous avez configurés. Les destinations accessibles via Tailscale, y compris les services HTTP, HTTPS et les autres services TCP, ne nécessitent pas de liste distincte d’adresses IP ou de domaines autorisés dans Codex.
- Dans la configuration de l’environnement, sélectionnez l’icône en forme de crayon à côté de Tailscale.
- Saisissez les identifiants de connexion fournis par votre fournisseur VPN.
- Configurez les routes, le DNS et les règles d’accès nécessaires dans Tailscale pour que l’identité VPN de l’environnement puisse accéder aux services prévus.
- Enregistrez les paramètres, puis publiez ou republiez l’environnement. Démarrez une nouvelle tâche et testez le service.
Tailscale est le fournisseur VPN actuellement pris en charge. Lors de la création d’une clé d’authentification Tailscale, activez les deux options Reusable et Ephemeral. Une clé réutilisable permet aux VM des nouvelles tâches dans le cloud de rejoindre votre réseau. Tailscale supprime automatiquement les appareils éphémères après leur déconnexion. La prise en charge d’autres fournisseurs VPN est prévue.
Les routes vers des sous-réseaux IPv4 privés sont prises en charge. Les tâches peuvent utiliser le DNS scindé de Tailscale et MagicDNS pour accéder aux services privés par nom d’hôte.
Si votre service utilise le DNS interne de votre organisation, configurez le DNS scindé dans la console d’administration Tailscale pour transmettre les requêtes concernant votre domaine interne à votre serveur DNS. Utilisez le nom d’hôte pleinement qualifié du service, par exemple api.corp.example.com. Ce nom doit se résoudre en une adresse IPv4. Les routes Tailscale configurées doivent permettre d’atteindre la destination, et les règles d’accès Tailscale doivent en autoriser l’accès.
Les tâches d’un environnement partagé utilisent l’identité VPN configurée pour cet environnement.
Se connecter à des services TCP
Utilisez le VPN pour vous connecter à des services TCP, par exemple des bases de données ou un service SSH. Les destinations TCP doivent utiliser des adresses IPv4 dont le trafic est acheminé via Tailscale. Pour un nom d’hôte, le trafic vers chacune des adresses IPv4 issues de la résolution DNS doit emprunter ces routes. Les adresses protégées par la plateforme restent bloquées.
Les clients TCP doivent se connecter via le proxy HTTP CONNECT de l’environnement, à l’adresse proxy:8088, soit directement, soit à l’aide d’un outil local de redirection. Pour les destinations désignées par un nom d’hôte, conservez ce nom afin que le proxy effectue la résolution DNS. Les tunnels TCP n’interceptent pas TLS et n’injectent pas de secrets réseau. Le client doit fournir les identifiants d’accès au service et vérifier son certificat TLS, le cas échéant. Les requêtes qui nécessitent la substitution de secrets réseau doivent passer par le proxy HTTPS configuré et respecter les règles du secret relatives aux domaines autorisés. La substitution fonctionne sur le port 443.
Après avoir modifié la configuration VPN, enregistrez les modifications, puis publiez ou republiez l’environnement. Remplacez les environnements en cours d’exécution pour qu’ils utilisent la nouvelle configuration VPN. Démarrez une nouvelle tâche et testez l’accès. Dissocier le VPN d’un brouillon ne révoque pas les connexions existantes. Pour révoquer l’accès, remplacez l’environnement concerné ou mettez fin à son exécution.
Accéder aux ressources cloud avec OIDC
OpenID Connect (OIDC) permet à une tâche d’obtenir des identifiants d’accès de courte durée pour des ressources cloud. Votre organisation configure la relation de confiance avec le fournisseur cloud et accorde à l’identité les autorisations nécessaires au workflow.
- Ouvrez les paramètres Avancé > OIDC de l’environnement enregistré.
- Sélectionnez Ajouter, puis choisissez une connexion disponible ou Créer une connexion… pour un fournisseur pris en charge.
- Pour une nouvelle connexion, saisissez les informations d’identité propres au fournisseur et créez la connexion. Chez le fournisseur, configurez la relation de confiance à partir des valeurs affichées pour Émetteur, Audience et Sujet, ou de conditions portant sur les revendications, puis accordez les autorisations d’accès aux ressources.
- Vérifiez que la connexion est associée à l’environnement et contrôlez son alias. Enregistrez la configuration, puis publiez ou republiez l’environnement.
- Démarrez une nouvelle tâche et testez une opération autorisée et une opération interdite.
La configuration varie selon le fournisseur. Seules les connexions prises en charge peuvent être associées à l’environnement. Les autorisations de l’identité déterminent ses accès. Elle n’hérite pas de vos autorisations personnelles chez le fournisseur. Autorisez séparément les points de terminaison nécessaires du fournisseur et les destinations des services dans la politique réseau.
Si vous modifiez l’association d’une connexion ou son alias, enregistrez vos modifications pour les appliquer pendant la préparation. Publiez ou republiez l’environnement pour les utiliser dans de nouvelles tâches. Modifier une connexion d’identité partagée peut avoir des répercussions sur les autres environnements qui l’utilisent.
Exécuter et reprendre une tâche
Décrivez votre objectif dans la discussion. Codex peut modifier des fichiers, exécuter des commandes et vérifier son travail. Examinez les modifications et les résultats des tests avant de faire un commit ou d’ouvrir une pull request.
Poursuivre sur le Web ou sur mobile
Sur le Web, choisissez Travailler dans > Cloud et sélectionnez un environnement. Sur mobile, ouvrez Codex et choisissez un environnement disponible. Créez vos nouveaux environnements sur le Web ou dans l’application de bureau ChatGPT.
Rouvrez la même tâche pour poursuivre le travail sur un autre appareil. Chaque nouvelle tâche démarre dans son propre espace de travail. Les tâches dans Codex Cloud peuvent continuer à s’exécuter lorsque votre ordinateur est en veille.
Démarrer des tâches depuis Slack ou Microsoft Teams
Dans un espace de travail Enterprise où la délégation au cloud est activée, demandez à @ChatGPT dans Slack ou Microsoft Teams de travailler sur un dépôt. Codex s’appuie sur le contexte de la conversation pour choisir un environnement partagé avec votre espace de travail et accessible au compte qui exécute la tâche. Vous pouvez indiquer l’environnement que vous préférez ou ajouter des consignes dans votre prompt.
Pour utiliser Slack dans un espace de travail où le contrôle d’accès à Codex Cloud est basé sur les rôles, accordez l’accès à Codex Cloud au compte de service du déploiement et à l’utilisateur à l’origine de la demande. Pour la configuration côté administration, consultez la page Activer Codex Cloud pour Slack.
Suivez les invites de connexion et d’approbation, puis examinez le résultat dans la conversation. Pour poursuivre la tâche, envoyez votre demande de suivi depuis le même compte connecté. Une demande d’un autre participant ne reprend pas automatiquement votre tâche.
Consultez la page Gérer ChatGPT dans Slack et Teams pour configurer l’espace de travail et la page Utiliser ChatGPT dans Slack pour connaître les commandes de gestion des tâches dans Slack.
Caractéristiques des VM
Chaque tâche dans le cloud s’exécute dans une VM dotée par défaut des ressources suivantes :
| Forfait ChatGPT | vCPU | Mémoire | Espace disque |
|---|---|---|---|
| Plus, Edu Plus | 2 | 8 Gio | 8 Gio |
| Pro, Business, Enterprise | 4 | 16 Gio | 32 Gio |
| Edu, Edu Pro | 4 | 16 Gio | 32 Gio |
Par défaut, l’état enregistré de la VM d’une tâche peut être récupéré pendant sept jours au maximum à compter de la dernière fois où vous avez lancé un échange ou repris la tâche.
Des VM plus puissantes et des configurations personnalisées sont disponibles avec Enterprise. Contactez l’équipe OpenAI chargée de votre compte pour connaître les configurations disponibles et leurs tarifs.
Limites actuelles
Nous prévoyons de prendre en charge les fonctionnalités suivantes, qui ne sont pas encore disponibles dans les environnements cloud :
- Utilisation de l’ordinateur
- GitHub Enterprise Server auto-hébergé
Les skills stockés dans votre dépôt sont disponibles pour les tâches dans le cloud. Les skills personnels de votre ordinateur ne sont pas synchronisés avec les environnements cloud.
Résoudre les problèmes de préparation et d’accès pendant l’exécution
La préparation échoue ou un outil nécessaire manque
Consultez la conversation de préparation pour identifier la commande qui a échoué. Demandez à Codex de diagnostiquer l’erreur, de la corriger, puis de relancer la commande. Par exemple : « Installez pnpm et lancez les tests du projet. »
- Si la préparation initiale échoue, sélectionnez Réessayer pour reprendre avec les dépôts déjà sélectionnés dans cette session de préparation.
- Si la correction nécessite de modifier des fichiers sources, un manifeste de paquet ou un fichier de verrouillage, effectuez cette modification dans une tâche de programmation, puis revenez à la préparation.
Une fois que Codex a vérifié la configuration, publiez ou republiez l’environnement.
Le téléchargement d’un paquet ou une requête HTTPS échoue
Vérifiez séparément le nom d’hôte de destination et l’authentification.
- Vérifiez que les paramètres d’accès à Internet de l’environnement autorisent l’hôte. Pour un registre privé hébergé sur
packages.example.com, vérifiez ce nom d’hôte précis. Si les téléchargements utilisent aussidownloads.example.com, cet hôte doit également être autorisé. - Vérifiez l’URL et les identifiants d’accès configurés dans le gestionnaire de paquets ou le client. Autoriser un domaine n’accorde pas l’accès au service.
- Si l’authentification utilise un secret réseau, vérifiez que la destination figure dans ses Domaines autorisés et que la requête utilise HTTPS sur le port 443.
- Dans un espace de travail Enterprise, demandez à un administrateur de vérifier les exigences de sécurité des agents applicables en complément des paramètres de l’environnement.
Enregistrez les modifications de configuration et testez la requête pendant la préparation. Publiez ou republiez l’environnement, puis vérifiez l’accès dans une nouvelle tâche.
Une valeur requise manque ou est inutilisable
Vérifiez que vous avez ajouté la valeur au bon endroit dans la configuration de l’environnement.
- Variables d’environnement : utilisez-les pour les valeurs que les programmes doivent lire directement, par exemple
APP_MODE=development. - Secrets HTTP : utilisez-les pour les identifiants d’accès envoyés à un service HTTPS autorisé, par exemple un jeton de registre privé. Les programmes reçoivent une valeur de substitution que le proxy remplace par l’identifiant dans les requêtes correspondantes. Si le programme doit lire la valeur en clair, ajoutez-la sous Variables d’environnement.
Pour une valeur personnelle, vérifiez que sa Clé correspond à celle demandée par l’environnement et que le champ S’applique à inclut cet environnement. Une valeur propre à un environnement prime sur la valeur générale par défaut.
Pour configurer ces valeurs, consultez la section Variables d’environnement et secrets réseau.
Le VPN est connecté, mais un service HTTP ou HTTPS reste inaccessible
- Vérifiez que le client utilise le proxy HTTP/HTTPS configuré pour l’environnement. Lors d’un test avec
curl, omettez--noproxypour que la requête passe par ce proxy. - Pour les destinations Tailscale, vérifiez les routes et les règles d’accès du VPN. Pour les destinations sur l’Internet public, vérifiez les domaines autorisés de l’environnement.
- Si le service est accessible par son adresse IP mais pas par son nom d’hôte, vérifiez les paramètres DNS de Tailscale. Pour un domaine interne de votre entreprise, vérifiez que le DNS scindé dirige les requêtes vers le bon serveur DNS et que ce serveur est accessible via votre réseau Tailscale. Utilisez le nom d’hôte pleinement qualifié du service et vérifiez qu’il se résout en une adresse IPv4.
Pour configurer la connexion, consultez la section Accès au réseau privé.
Un environnement ou ses mises à jour sont indisponibles pour une tâche
Vérifiez l’environnement dans Paramètres > Codex Cloud > Environnements. S’il porte la mention Non publié, terminez la préparation et sélectionnez Publier pour le rendre disponible pour les tâches.
Pour modifier un environnement publié, sélectionnez Modifier, laissez Codex préparer et tester les modifications, puis sélectionnez Republier. Démarrez une nouvelle tâche à partir de l’environnement mis à jour pour utiliser la nouvelle configuration. Les tâches existantes conservent leur propre état de travail.