Changer le thème

Codex Automations pour les tâches longues: déclencheurs planifiés, heartbeats et travail sur plusieurs jours

Easton editorial illustration: large four-position entry selector dial, single starter task card, four mode sockets

"La documentation officielle d'OpenAI décrit Automations, le comportement thread automation, worktree/local project, la sandbox et l'approval policy."

Codex Automations pour les tâches longues: déclencheurs planifiés, heartbeats et travail sur plusieurs jours

Si vous confiez à Codex les vérifications répétitives, le suivi de PR, les relances après déploiement ou la triage sur plusieurs jours, la première question n’est pas de savoir si l’automatisation est possible. C’est plutôt de savoir quel type de tâche mérite d’être automatisé et comment. Les Automations ne transforment pas Codex en agent de fond toujours actif. Elles le font revenir au bon moment, dans la bonne limite, pour exécuter une seule chose bien définie.

1. Juger d’abord si la tâche doit être automatisée

1.1 standalone/project automation: tâches de fond indépendantes

Standalone automation et project automation sont toutes deux des tâches de fond indépendantes. La différence tient au périmètre. Standalone n’est pas liée à un projet précis; project automation est liée à un chemin de projet, ce qui la rend plus adaptée au travail récurrent autour d’un dépôt fixe.

Chaque déclenchement lance une exécution neuve. Une fois terminée, le résultat va dans inbox ou triage; s’il n’y a rien de nouveau, il peut être archivé automatiquement. Les cas d’usage typiques sont les vérifications hebdomadaires de dépendances, la triage quotidienne des issues et les contrôles planifiés après déploiement.

La contrainte principale est l’environnement local: la machine qui exécute Codex doit rester allumée, l’application doit continuer à tourner, et le chemin du projet doit toujours exister. Si la machine se met en veille, s’éteint ou si l’app se ferme, rien ne continue. Ce n’est pas la bonne couche pour de l’hébergement de fond sans surveillance.

1.2 thread automation (heartbeat): réveils périodiques sur le même fil

Thread automation est un réveil périodique de type heartbeat attaché au fil de conversation courant. L’idée centrale est de préserver le contexte: à chaque réveil, la même conversation continue au lieu de créer une nouvelle exécution indépendante.

C’est un bon choix pour les contrôles de logs après déploiement, le suivi sur plusieurs jours et la triage continue. Par exemple, vous pouvez demander à Codex de vérifier les logs de déploiement toutes les 10 minutes, de signaler uniquement en cas d’erreur ou de réussite, et de rester silencieux sinon. Ce type de travail a besoin de continuité de contexte, donc standalone automation est un mauvais choix.

Le heartbeat n’est ni un daemon permanent ni une boucle infinie. C’est un rythme du type réveil -> vérification -> rapport -> attente. Si l’app se met en pause ou se ferme, le heartbeat s’arrête aussi.

1.3 Tableau comparatif

Dimensionstandalone/project automationthread automation (heartbeat)
Emplacement d’exécutionThread de fond indépendantFil de conversation courant
Conservation du contexteNouveau contexte à chaque exécutionLe contexte de la session courante est conservé
Cas d’usage adaptésTâches répétitives indépendantes, triage des issues, contrôles de dépendancesSuivi des tâches longues, triage continu, vérification de logs de déploiement, travail sur plusieurs jours
DépendancesL’app locale / la machine / le chemin du projet doivent existerLe fil courant doit rester attaché
Surface de résultatinbox / triage, archivage automatique lorsqu’il n’y a rienFenêtre de conversation courante
Mécanisme d’arrêtDésactiver l’automatisationMettre l’app en pause ou la fermer

La décision est simple: la tâche doit-elle garder le contexte ? Si oui, utilisez thread automation. Est-elle liée à un projet précis ? Si oui, utilisez project automation; sinon, standalone automation.

2. Quels types de tâches conviennent aux Automations ?

Toutes les tâches répétitives ne méritent pas Automations. Il faut d’abord regarder la forme de la tâche.

2.1 Caractéristiques des tâches adaptées

Les tâches adaptées aux Automations partagent généralement trois caractéristiques: répétition élevée, règles claires et sortie vérifiable.

Une tâche très répétitive revient sur un rythme fixe et vise à peu près le même résultat à chaque fois. Les contrôles hebdomadaires de dépendances, la triage quotidienne des issues et les vérifications fixes après déploiement en sont de bons exemples. Le périmètre d’inspection, les critères de décision et le format de sortie peuvent être définis à l’avance.

Les tâches fondées sur des règles se transforment très bien en prompt. Par exemple: “Vérifie les versions dans package.json, liste les paquets qui ont de nouvelles versions et recommande un ordre de mise à jour.” Les critères de jugement restent stables, donc pas besoin de les répéter manuellement à chaque fois.

La sortie vérifiable compte aussi. Une bonne automatisation doit revenir dans inbox / triage, s’archiver toute seule lorsqu’il n’y a rien à faire, et montrer clairement la prochaine étape lorsqu’elle trouve quelque chose. C’est ainsi qu’on voit qu’elle fait gagner du temps au lieu de déplacer le bruit ailleurs.

2.2 Caractéristiques des tâches qui ne conviennent pas

Les tâches qui ne conviennent pas aux Automations ont généralement quatre caractéristiques: elles exigent un jugement humain fréquent, elles dépendent d’un état externe qui change vite, le prompt n’est pas encore stable, ou elles ont besoin d’un hébergement sans surveillance sur le long terme.

Les tâches qui demandent souvent un jugement humain ont des frontières floues. Les décisions d’architecture, les chasses aux bugs complexes et les arbitrages de situation demandent tous une adaptation au cas par cas, donc ils s’accommodent mal d’une automatisation figée.

Les tâches dépendantes d’un état externe qui évolue vite demandent aussi prudence. Le suivi en temps réel d’un service de production, par exemple, change trop vite et relève plutôt d’outils de monitoring spécialisés que d’Automations.

N’automatisez pas non plus un prompt qui n’a pas encore fait ses preuves. Faites-le tourner manuellement quelques fois, stabilisez les règles, le périmètre et la sortie, puis seulement ensuite transformez-le en automatisation.

L’hébergement sans surveillance à long terme n’est pas la bonne couche pour une project-scoped automation. Elle dépend de l’app locale, de la machine et du chemin du projet. Si la machine disparaît, l’automatisation s’arrête. Ce n’est pas une solution d’hébergement cloud.

2.3 Tableau d’adéquation

Type de tâcheAdaptée ?PourquoiApproche recommandée
Vérifications hebdomadaires de dépendancesOuiRépétitif, fondé sur des règles, vérifiablestandalone automation ou project automation
Triage quotidien des issuesOuiPeut aller dans inbox, peut être archivé automatiquement, prompt stablestandalone automation ou thread heartbeat
Vérification des logs après déploiementOuiMême fil de conversation, le contexte doit rester présentthread automation
Décisions d’architectureNonJugement humain fréquent, frontières flouesconversation manuelle
Chasse aux bugs complexesNonAdaptation au cas par cas nécessaireconversation manuelle
Monitoring en temps réelNonL’état externe change trop viteoutils de monitoring spécialisés
Hébergement sans surveillance à long termeNonLa project-scoped automation dépend de l’environnement localapproche CI ou cloud
Flux d’automatisation non éprouvésNonPrompt instable, exécutions manuelles incohérentesstabiliser manuellement d’abord

Le flux de décision est simple: vérifiez d’abord que le prompt est stable, puis demandez-vous si la tâche doit garder le contexte, et enfin si un hébergement cloud durable est vraiment nécessaire.

3. Créer votre première standalone/project automation

3.1 Flux de création

  1. Décrivez d’abord la tâche clairement. Définissez le périmètre, l’entrée, la sortie, les critères de réussite et les conditions d’arrêt.
  2. Choisissez le type d’automatisation. Le travail répétitif indépendant va dans standalone; le travail répétitif autour d’un dépôt fixe va dans project automation.
  3. Choisissez l’emplacement d’exécution. Dans un dépôt Git, commencez par un worktree pour ne pas perturber l’espace de travail courant.
  4. Définissez la fréquence. Les tâches à la minute doivent avoir des conditions d’arrêt explicites pour ne pas réveiller indéfiniment.
  5. Faites d’abord quelques cycles de test. Quand la sortie est stable, passez à la fréquence réelle.

3.2 Comment choisir entre worktree et local project

Emplacement d’exécutionIsolationCas adaptésRisque
worktreeLes changements sont isolés du répertoire de travail courantTâches qui modifient des fichiers, écrivent du code ou proposent des PRLes erreurs restent généralement dans le worktree et se jettent facilement
local projectPas d’isolation; exécution directe dans le répertoire courantVérifications en lecture seule, génération de rapports, triagePeut affecter les fichiers que vous êtes en train d’éditer

Dans un dépôt Git, les tâches de modification doivent démarrer dans un worktree. N’utilisez local project que lorsque la tâche est explicitement en lecture seule, en inspection ou en confirmation.

4. Créer une thread automation (heartbeat)

4.1 Flux de création

  1. Vérifiez d’abord que le fil courant gère déjà une tâche longue.
  2. Attachez ensuite la thread automation à ce fil.
  3. Écrivez précisément ce qu’il doit vérifier à chaque réveil, quand il doit rapporter et quand il doit rester silencieux.
  4. Définissez les conditions d’arrêt: succès, échec, timeout ou nombre maximal de cycles.
  5. Commencez avec une fréquence basse et vérifiez qu’il ne spamme pas avant de passer au rythme final.

4.2 Exemple de prompt heartbeat

Vérifie les logs de déploiement toutes les 10 minutes et ne rapporte que dans les cas suivants:

1. Un signal d'erreur apparaît (contient "error", "failed" ou "exception")
2. Un signal de réussite apparaît (contient "deployed", "success" ou "completed")
3. La tâche n'est toujours pas terminée après 30 minutes

Format du rapport:
- Status: [in progress / success / failure]
- Extrait de log clé: [jusqu'à 3 lignes]
- Prochaine étape: [s'il y en a une]

Reste silencieux quand rien ne change.

Ce prompt rend explicites le périmètre de vérification, la frontière de sortie et les conditions d’arrêt. Il n’a pas besoin de répéter “vérification terminée” à chaque réveil et ne doit pas transformer l’absence de changement en bruit.

5. Sécurité: sandbox, approval policy et gouvernance d’équipe

5.1 Paramètres de sandbox et d’approval policy

Les Automations tournent par défaut dans une sandbox. La sandbox décide quels fichiers peuvent être touchés, si les limites peuvent être franchies et si une autorisation supplémentaire est nécessaire. Pour l’automatisation de fond, plus la frontière par défaut est petite, mieux c’est.

Mode sandboxPérimètre des droitsAdapté àNiveau de risque
read-onlyLecture seule, pas d’écritureTâches d’inspection et d’analyse puresFaible
workspace-writeLecture/écriture dans le workspace; les actions externes demandent encore une approbationAutomatisations quotidiennes, modifications de fichiers, suggestions de PRMoyen
danger-full-accessAccès système sans restrictionEnvironnements isolés ou tâches très fiablesÉlevé

L’approval policy détermine si l’agent doit demander une autorisation lorsqu’il rencontre une action plus risquée.

approval policyComportementCas d’usage
on-requestDemande des droits plus élevés si nécessaireUn peu d’autonomie, mais avec revue humaine
neverExécute tout automatiquement, sans demanderScripts d’automatisation ou environnements non interactifs

La valeur par défaut devrait être workspace-write + rules/allowlist, pas full access + unattended. La seconde option est tout simplement trop large quand quelque chose tourne mal.

5.2 Conseil de gouvernance d’équipe

Les équipes peuvent figer sandbox et approval dans requirements.toml pour éviter d’accorder trop de droits par défaut.

[agent]
approval_policy = "never"
sandbox = "workspace-write"

Le but n’est pas de tout bloquer. Le but est de garder le périmètre par défaut étroit et de l’élargir seulement quand la tâche en a vraiment besoin.

6. Trois modèles d’automatisation prêts à l’emploi

6.1 Revue hebdomadaire des dépendances

  • Fréquence de déclenchement: une fois par semaine
  • Emplacement d’exécution: worktree à privilégier dans les dépôts Git
  • Sortie réussie: liste des dépendances à mettre à jour et priorités suggérées
  • Condition d’arrêt: s’il n’y a rien à mettre à jour, limitez-vous à un résultat bref
  • Périmètre des droits: lecture seule ou rédaction légère de rapport

6.2 Suivi heartbeat après déploiement

  • Fréquence de déclenchement: toutes les 10 minutes, jusqu’à 30 minutes
  • Emplacement d’exécution: thread automation
  • Sortie réussie: résumé bref du succès, de l’échec ou du timeout
  • Condition d’arrêt: signal de réussite, signal d’échec ou timeout
  • Périmètre des droits: lire les logs seulement, ne pas toucher à la production

6.3 Triage quotidien des issues / PR

  • Fréquence de déclenchement: une fois par jour
  • Emplacement d’exécution: standalone automation ou thread heartbeat
  • Sortie réussie: envoyer dans inbox ce qui demande une attention humaine
  • Condition d’arrêt: rester silencieux quand il n’y a rien de nouveau
  • Périmètre des droits: par défaut workspace-write; éviter l’accès total

7. Si l’automatisation échoue, vérifiez d’abord ces 6 points

  1. L’app Codex tourne-t-elle encore, et la machine est-elle réveillée ?
  2. Le chemin du projet existe-t-il toujours, ou le worktree a-t-il été déplacé ou supprimé ?
  3. La sandbox bloque-t-elle une écriture ou une action réseau ?
  4. La thread automation a-t-elle réellement besoin de conserver le contexte ?
  5. Le worktree s’est-il trop accumulé et doit-il être nettoyé ?
  6. Le prompt dit-il clairement quand arrêter et quand rapporter ?

8. Checklist FAQ

8.1 Automations est-il une tâche planifiée ou un agent qui tourne en continu ?

C’est plutôt une tâche de fond planifiée ou réveillée périodiquement. À chaque réveil, elle vérifie, agit, rapporte, puis revient en attente. Ce n’est pas une boucle infinie.

8.2 Quelle est la différence entre standalone/project et thread automation ?

Standalone/project automation est une exécution de fond indépendante qui repart à zéro à chaque fois, et son résultat va dans inbox / triage. Thread automation est un heartbeat sur le même fil et conserve le contexte de la conversation courante.

8.3 Quelles tâches conviennent aux Automations, et lesquelles non ?

Les bons cas sont répétitifs, fondés sur des règles et vérifiables. Les mauvais cas sont les tâches qui exigent un jugement humain fréquent, dépendent d’un état externe qui change vite ou reposent sur un prompt instable.

8.4 Comment choisir entre worktree et local project ?

Pour tout ce qui peut modifier des fichiers, privilégiez worktree. Utilisez local project seulement pour des vérifications en lecture et des tâches de type rapport.

8.5 Est-ce que ça continue si l’app se ferme ou si l’ordinateur dort ?

Non. L’automatisation liée au projet dépend de l’application locale, de la machine et du chemin du projet. Si l’app se ferme ou si la machine dort, cela s’arrête.

8.6 Quand faut-il utiliser Computer Use ?

Uniquement lorsqu’il faut manipuler directement une interface graphique et qu’il n’existe ni API ni interface web. Si du code normal suffit, Computer Use n’en vaut généralement pas la peine.

8.7 Comment contrôler le coût et la fréquence ?

Gardez la fréquence au niveau nécessaire, vérifiez l’état avec /status, définissez des conditions d’arrêt pour chaque automatisation et évitez le polling trop serré.

9. Résumé

Computer Use, le navigateur intégré et Automations résolvent des couches différentes du même problème. Automations servent à confier à Codex, en arrière-plan, un travail stable, vérifiable et répétitif; thread automation sert au suivi des tâches longues sur plusieurs jours; worktree et sandbox servent à garder le risque sous contrôle.

L’ordre le plus sûr est toujours le même: d’abord juger si la tâche doit être automatisée, puis choisir l’emplacement d’exécution et les droits, et seulement ensuite régler la fréquence. Stabilisez d’abord le processus humain, puis laissez Codex le faire tourner un peu plus longtemps.

Lancer Codex Automations en sécurité

Jugez la tâche, choisissez le type d'automatisation, puis définissez l'emplacement d'exécution, les droits, la fréquence et les conditions d'arrêt.

  1. 1

    Step 1: Juger d'abord

    Vérifiez si la tâche est répétitive, fondée sur des règles et vérifiable.
  2. 2

    Step 2: Choisir le type

    Utilisez une automatisation autonome ou liée au projet pour un travail répétitif indépendant; utilisez une automatisation sur fil pour les tâches longues qui ont besoin du contexte.
  3. 3

    Step 3: Choisir l'emplacement

    Dans un dépôt Git, privilégiez un worktree; ne revenez au local project que pour des tâches de lecture ou de confirmation.
  4. 4

    Step 4: Définir les droits

    Commencez avec la sandbox et le minimum d'accès, puis élargissez uniquement si nécessaire.
  5. 5

    Step 5: Laisser tourner quelques cycles

    Observez d'abord si la sortie est stable, puis passez à la fréquence réellement utile.

FAQ

Codex Automations est-il une tâche planifiée ou un agent qui tourne en continu ?
C'est plutôt une tâche de fond planifiée ou réveillée périodiquement. À chaque réveil, elle vérifie, exécute une partie du travail, puis rend compte avant de revenir en attente. Ce n'est pas une boucle infinie.
Quelle est la différence entre une automatisation autonome/liée au projet et une automatisation sur fil ?
L'automatisation autonome ou liée au projet est un lancement indépendant qui repart à neuf à chaque fois. L'automatisation sur fil est un heartbeat attaché au fil de conversation actuel et conserve le contexte pour une tâche longue.
Comment choisir entre worktree et local project ?
Si la tâche peut modifier des fichiers, écrire du code ou produire des suggestions de PR, choisissez d'abord un worktree. Réservez local project aux vérifications en lecture seule, à la triage ou aux confirmations.
L'automatisation continue-t-elle si l'application se ferme ou si l'ordinateur se met en veille ?
L'automatisation liée au projet dépend de l'application locale, de la machine et du chemin du projet. Si l'app se ferme ou si la machine dort, elle s'arrête.
Quand faut-il utiliser Computer Use ?
Uniquement quand la tâche doit manipuler directement une interface graphique et qu'il n'existe ni API ni interface web. Si du code normal suffit, Computer Use n'en vaut généralement pas la peine.
Comment contrôler le coût et la fréquence ?
Réglez la fréquence au strict nécessaire, vérifiez l'état avec `/status`, définissez des conditions d'arrêt pour chaque automatisation et évitez le polling trop serré.

12 min de lecture · Publié le: 13 août 2026 · Mis à jour le: 13 août 2026

Commentaires

Connectez-vous avec GitHub pour laisser un commentaire

Easton BlogEaston Blog