Le guide complet de pstack, partie 1

@poteto
ANGLAIS31 août 2026
620K
4.8K
412
165
10.3K

TL;DR

Lauren (@poteto) présente pstack, un framework conçu pour mettre à l'échelle l'ingénierie avec des agents IA. La première partie se concentre sur le développement de compétences de vérification et de cartes de fonctionnalités pour permettre aux agents de tester et de naviguer de manière autonome dans les bases de code.

Dans cette série d'articles, je vais vous montrer comment j'utilise pstack, mon ensemble personnel de compétences pour effectuer un travail d'ingénierie rigoureux. Cela m'a permis de livrer 2 000 PRs par mois en production avec une grande confiance.

lauren - inline image

Personnellement, je n'ai jamais accordé beaucoup d'importance au nombre de lignes de code ou de PRs que je livrais. Avant les agents, personne ne s'en souciait, et à juste titre, car la productivité brute n'était pas toujours synonyme de qualité ou de résultat visible pour les utilisateurs. C'était simplement une mesure de vanité.

Mais j'ai découvert en construisant pstack que le volume compte vraiment, surtout lorsque vous êtes capable de maintenir, voire d'augmenter, le niveau de qualité du produit avec des agents. Par exemple, j'ai commencé à travailler sur Grok @Bot il y a environ 2 mois, alors qu'il en était encore à ses débuts et que la base de code était fraîche mais commençait à s'étoffer. Malgré la croissance de l'équipe qui livre désormais des centaines de PRs par jour dans la base de code de Grok @Bot, pstack m'a permis de maintenir une qualité de code élevée pour tout le monde, car je surveille constamment le code, le refactorise, ajoute de nouveaux lints et vérifications, et travaille également sur des fonctionnalités.

https://x.com/poteto/status/2090546476464451907

https://x.com/poteto/status/2078527882499150286

Être le jardinier et le mainteneur de Grok @Bot est quelque chose que je n'ai pu faire qu'avec pstack. Notre élan initial après la construction du prototype était très fort et de nombreuses personnes rejoignaient l'équipe. J'ai eu un moment critique d'opportunité pour refactoriser toute la base de code, pendant qu'elle était construite et étendue et sans temps d'arrêt, en quelque chose avec des bases solides. Une base de code de haute qualité qui évolue quel que soit le nombre d'ingénieurs (et surtout, de non-ingénieurs) qui y contribuent. Tout ce travail nécessite que je refactorise et améliore les fondations de Grok Bot pendant sa construction, et vous ne pouvez le faire que lorsque les fondations peuvent suivre le rythme des contributions.

lauren - inline image

Grok Bot est l'une des applications de bureau IA les plus efficaces et performantes sur le marché

La preuve est dans Grok @Bot lui-même. Au cours des prochaines semaines, je vais vous dire tout ce que vous devez savoir pour pouvoir construire et maintenir une application de haute qualité en utilisant pstack.

Partie 1 – La vérification est tout ce dont vous avez besoin

La compétence la plus critique à avoir dans votre boîte à outils est une compétence de vérification de haute qualité. Cette compétence est si importante à avoir et à maintenir que je la considère davantage comme une infrastructure critique que comme une « simple » compétence. Une bonne compétence amplifiera le rendement de toute votre équipe, y compris les non-ingénieurs. Bien faite, vous multiplierez par 100 à 1000 le rendement de toute votre équipe.

Si vous n'êtes pas familier avec le terme, la vérification signifie qu'un agent peut vérifier son propre travail. Il peut continuer jusqu'à ce qu'il réussisse sa tâche, car il peut désormais boucler la boucle sans que vous soyez le goulot d'étranglement. Si vous souhaitez en savoir plus sur l'histoire de la création de ma première compétence de vérification pour Cursor, consultez mon article précédent Loops You Can Trust.

Construisons ensemble une compétence de vérification

Pour commencer, installez pstack, puis exécutez /create-verification-skill. Je recommande également d'ajouter Dr Eggbot, mon bot qui vous aide à créer des bots de haute qualité, à votre équipe. Dr Eggbot est livré avec pstack. Il apprendra aux bots de codage à l'utiliser, et il peut également créer des bots non liés au codage avec la même rigueur.

Vous pouvez demander à Dr Eggbot de créer un bot ingénieur pour vous, auquel vous pourrez ensuite demander d'exécuter /create-verification-skill et de configurer une routine quotidienne pour exécuter /maintain-verification-skill.

lauren - inline image

J'adore Dr Eggbot

Pendant que cela s'exécute, passons en revue ce que fait la compétence et comment elle crée une compétence de vérification de haute qualité pour vous.

J'ai distillé toutes nos compétences de vérification que nous utilisons pour construire Grok @Bot et Cursor dans cette compétence comme une sorte de méta-compétence. Elle apprend à votre agent comment en créer une de haute qualité pour votre propre application.

C'est là que le choix de la stack technique est important. Si vous construisez une application en Electron ou pour le web par exemple, vous pouvez profiter des riches outils de débogage disponibles pour l'écosystème JS. Par exemple, le Chrome DevTools Protocol (CDP) vous permet d'utiliser les mêmes outils que ceux disponibles dans les outils de développement de votre navigateur. Ou si vous construisez une application iOS, en utilisant le simulateur.

Vous voulez idéalement la capacité d'interagir avec votre application, de la déboguer, de prendre des traces de performances, et tout autre outil de débogage et de développement que vous utiliseriez typiquement si vous développiez l'application à la main. Si vous n'avez pas d'environnement d'exécution riche à utiliser, vous devrez peut-être demander à votre agent de créer des outils pour vous (par exemple en utilisant lldb, ou un package personnalisé qui s'exécute en sidecar dans les environnements de développement), ou simplement utiliser ce dont vous disposez.

Personnellement, je pense que la vérification agentique est si importante que je suggérerais sans ironie de construire vos propres outils de débogage riches, ou même de choisir une stack technique différente, afin d'avoir des avantages injustes et une productivité extrême dans la construction de logiciels. Comme je l'ai mentionné plus tôt, donner aux agents la capacité de vérifier leur propre travail permet à tout le monde dans votre organisation de contribuer et de valider que leurs changements fonctionnent réellement. Plus votre stack technique est difficile à déboguer et à contrôler, plus il sera difficile d'utiliser les agents de manière productive.

Rendez-le reproductible

Dans pstack, nous avons un principe appelé "Build the Lever". Ce que cela signifie dans le contexte de la création d'une compétence, c'est que nous préférons donner aux agents des outils plutôt que simplement du markdown. Pour les compétences de vérification, cela signifie créer une petite CLI qui scripte l'interaction et le débogage de votre application dans un utilitaire petit et convivial pour les agents. Cela signifie que les agents consomment moins de tokens en essayant d'effectuer une tâche (exécuter une commande CLI au lieu d'écrire un script jetable pour cliquer sur quelque chose), et rend votre compétence de vérification plus reproductible et testable.

Voici un exemple hypothétique d'une CLI que votre agent pourrait créer pour une application Electron :

bash
1# health
2node .cursor/skills/verify-atlas/control-atlas.mjs doctor
3
4# open a blank thread and send
5node .cursor/skills/verify-atlas/control-atlas.mjs new-session
6node .cursor/skills/verify-atlas/control-atlas.mjs send "list open tasks in this project"
7
8# keyboard path
9node .cursor/skills/verify-atlas/control-atlas.mjs press "Meta+KeyN"
10
11# accessibility snapshot of the live UI
12node .cursor/skills/verify-atlas/control-atlas.mjs snapshot
13
14# screenshot for evidence
15node .cursor/skills/verify-atlas/control-atlas.mjs screenshot /tmp/atlas-proof.png
16
17# wait for streaming / layout to settle
18node .cursor/skills/verify-atlas/control-atlas.mjs wait-settle
19
20# flip a feature flag for the session
21node .cursor/skills/verify-atlas/control-atlas.mjs feature-flag rooms_v2 on

Maintenant, tous les agents peuvent utiliser cette CLI pour naviguer et déboguer rapidement votre application. Vous voudrez également commencer à réfléchir à l'expérience de développement de la construction de votre application :

  • amorcer une base de données de développement
  • comment gérer l'authentification, les utilisateurs de test, les appels API vers un environnement de test/staging
  • installer et démarrer votre environnement de développement de manière cohérente

Tout cela, vous avez probablement déjà dû y penser lorsque vous écriviez du code vous-même. Considérez donc cela comme l'utilitaire principal de vos agents pour effectuer du travail de développement sur votre application. Gardez-le bien entretenu et testé !

Voici quelques autres exemples de commandes que vous pourriez envisager :

markdown
1- **Inspection :** `info`, `snapshot`, `screenshot`, `components`
2- **Navigation :** `home`, `new-session`, `select-project`, `select-runtime`, `scroll`
3- **Interaction :** `send`, `click`, `click-xy`, `aria-click`, `type`, `press`, `eval`, `upload-image`, `add-context`, `feature-flag`
4- **Performance :** `trace`, `profile`, `record`, `perf-metrics`, `wait-settle`
5- **Streaming :** `console`, `network-log`, `network-summary`
6- **Santé et nettoyage :** `doctor`, `cleanup`, `watch --restart`

Une fois que vous avez cette configuration de base, vous devriez déjà commencer à voir une grande amélioration dans vos agents. Ils devraient être capables de naviguer et de déboguer votre application avec aisance.

Je recommande de passer du temps à rendre cette CLI bonne et sans erreur avant de faire quoi que ce soit de plus avancé. Vous voudrez également réfléchir (ou demander à votre agent) à la conception d'une CLI conviviale pour les agents. Il existe de nombreuses ressources en ligne vers lesquelles vous pouvez orienter votre agent, mais les propriétés clés que j'aime sont :

  • l'API est facile à composer – pensez à la philosophie des modules profonds de John Ousterhout
  • toute commande ayant des effets secondaires potentiellement destructeurs doit avoir une option --dry-run
  • utilisez des sous-commandes pour dévoiler progressivement les fonctionnalités plutôt que tout à la fois
  • les messages d'erreur doivent être très descriptifs et indiquer à l'agent ce qu'il doit faire à la place
  • texte d'aide riche (--help)
  • les résultats sont renvoyés sous une forme lisible par machine (par exemple JSON)

Allez plus vite avec le parallélisme grâce aux Cloud Agents plutôt qu'aux worktrees

Lorsque vous aurez eu un certain succès en exécutant votre compétence de vérification pour livrer quelques PRs, vous pourriez commencer à vous demander si vous pouvez paralléliser davantage. Par exemple, si un agent peut désormais prendre votre prompt et le mener jusqu'à un état fusionnable, cela ne vous libère-t-il pas pour exécuter plus d'agents ?

Votre premier réflexe sera d'ajouter le support des worktrees, ce qui signifie que vos agents peuvent utiliser git pour créer une copie suivie du dépôt où ils peuvent apporter des modifications isolées du checkout principal. En théorie, cela vous permet d'exécuter plusieurs agents à la fois sans que leurs modifications n'entrent en conflit.

Je recommanderais de ne pas faire cela. D'une part, cela utilise beaucoup d'espace de stockage et de ressources sur votre machine. Vous pourrez peut-être exécuter jusqu'à 10 agents en parallèle avec des worktrees, selon la taille de votre dépôt et la puissance de votre machine. Mais il existe une bien meilleure façon !

Les cloud agents de Cursor sont des agents qui s'exécutent dans le cloud, sur l'infrastructure de Cursor. Ces agents ont accès à un véritable ordinateur, ce qui signifie qu'ils peuvent installer des dépendances, exécuter votre application, prendre des vidéos et des captures d'écran, et interagir avec votre application comme un véritable utilisateur. Si vous avez suffisamment investi dans l'étape précédente pour rendre votre expérience de développement bonne, cela ne devrait pas être un énorme effort pour pouvoir configurer des cloud agents. Lorsque vous configurez votre environnement cloud pour la première fois, nous envoyons un agent pour vous aider à le mettre en place et à le faire fonctionner correctement. Après la première construction, nous prenons un snapshot, ce qui signifie que les exécutions ultérieures des cloud agents démarrent toujours rapidement.

Je recommande vivement de prendre le temps de configurer les cloud agents, car cela débloque une augmentation massive de la productivité grâce au parallélisme. Dans un prochain article, je vous montrerai comment j'exécute des centaines de sous-agents en parallèle dans le cloud ! Mais pour l'instant, configurez votre environnement et amenez-le à un état où vous pouvez commencer à avoir confiance pour exécuter tous vos agents dans le cloud.

Gardez les agents intelligents avec les Feature Maps

À mesure que votre application devient plus complexe, les agents ont besoin de plus de conseils pour trouver les fonctionnalités et interagir avec elles. Pour ce faire, j'ai créé ce que j'appelle la Feature Map. Comme son nom l'indique, il s'agit d'une carte facilement consultable de toutes les fonctionnalités disponibles dans votre application, de ce qu'elles font et de la manière d'y accéder du point de vue de l'utilisateur.

Voici un exemple de Feature Map que j'ai préparé pour une application fictive appelée Atlas. Il s'agit simplement de quelques fichiers markdown mentionnés dans le SKILL.md de la vérification.

Vous pouvez placer ce fichier n'importe où, mais dans /create-verification-skill, nous créons automatiquement un répertoire references/features avec un README.md. Le readme est la carte elle-même : un aperçu de haut niveau de toutes les fonctionnalités majeures disponibles, avec des liens vers des détails spécifiques. Un exemple de fonctionnalité ressemble à ceci :

markdown
1# Préférences
2
3Superposition d'écran des préférences en plein écran et son ensemble d'onglets.
4
5## Sous-fonctionnalités
6
7- settings-overlay : superposition plein écran ouverte depuis l'engrenage ou Cmd/Ctrl+,
8- settings-nav : navigation latérale gauche des onglets (Général, Apparence, Modèles, Plan et Utilisation, ...).
9- settings-search : recherche dans la superposition (Cmd/Ctrl+K lorsque les paramètres sont ouverts).
10- theme-picker : contrôle rapide du thème sur Apparence.
11
12## Comment y accéder (point de vue utilisateur)
13
14Cliquez sur l'engrenage à côté de l'avatar du compte, ou appuyez sur Cmd/Ctrl+,. Choisissez un onglet dans la navigation latérale gauche. Tapez dans la zone de recherche des préférences pour sauter. Échap ou le contrôle de fermeture fait disparaître.
15
16## Piloter avec control-atlas
17
18bash
19node .cursor/skills/verify-atlas/control-atlas.mjs press "Meta+Comma"
20node .cursor/skills/verify-atlas/control-atlas.mjs snapshot
21node .cursor/skills/verify-atlas/control-atlas.mjs press "Escape"
22
23- Racine de la superposition : recherchez une boîte de dialogue/région nommée Préférences dans l'arbre d'accessibilité.
24- Onglets : cliquez par nom visible. Plan et Utilisation peut être absent pour certains états de compte.
25- Pendant que les paramètres sont ouverts, Cmd/Ctrl+K est la recherche des préférences, pas la palette globale (voir `multi-surface-journeys.md`).
26
27## Pièges
28
29- Fermer les paramètres au milieu d'une suite peut laisser le focus nulle part d'utile. `new-session` ou `home` récupère.
30- Certains onglets sont soumis à des droits d'accès. Ignorez avec une raison de compte explicite.

Ne vous inquiétez pas de les écrire vous-même ! Lorsque vous exécutez /create-verification-skill, votre agent parcourra automatiquement votre application, cataloguera tout et créera ces références pour vous.

La Feature Map, combinée à la CLI, est l'une des principales raisons pour lesquelles les compétences de vérification de pstack sont si bonnes. Les agents ont désormais un contexte sur chaque fonctionnalité et comment y accéder, économisant ainsi de précieux tokens dans leur fenêtre de contexte et leur apprenant exactement à quoi elle sert et comment y parvenir.

Vous pouvez considérer la Feature Map comme une forme de « mémoire matérialisée ». Si vous utilisez des agents depuis un certain temps, vous connaissez probablement le concept de mémoire – généralement, celles-ci peuvent être stockées sous forme de simples fichiers markdown (par exemple, un coffre Obsidian), ou même quelque chose de plus complexe comme une base de données vectorielle. Personnellement, je pense que votre base de code est la forme ultime de mémoire. Le code est une projection de la prise de décision que vous et votre équipe avez faite et représente la source de vérité sur ce qui s'est passé et comment les choses fonctionnent réellement. Une Feature Map n'est qu'une forme plus compacte de cela, conçue pour économiser des tokens. Et parce qu'il s'agit simplement de markdown à l'intérieur d'une compétence, tous ceux qui contribuent à votre base de code bénéficient de cette mémoire partagée.

Cela signifie que la maintenance de la compétence de vérification est vraiment importante. Je recommande d'exécuter /maintain-verification-skill au moins une fois par jour pour vous assurer que vos agents ont toujours les dernières informations sur le contrôle de votre application. Vous constaterez peut-être également, à mesure que vous utilisez davantage votre compétence de vérification, que les agents les mettront automatiquement à jour en travaillant sur votre application. /maintain-verification-skill rattrape tout ce qui a été manqué.

Comment utiliser votre compétence de vérification

Pour référence, voici un exemple de compétence de vérification créée pour une application fictive : https://github.com/poteto/verification-skill-example. Pour rappel, exécutez /create-verification-skill pour en créer une, qui comprend une CLI de base et une Feature Map.

Voici comment je l'utilise typiquement avec pstack.

Tout d'abord, bien sûr, commencez votre prompt par /poteto-mode. Si vous utilisez pstack via Cursor, vous pouvez également appuyer sur Opt + Entrée au lieu de simplement Entrée lorsque vous autocomplétez /poteto-mode – cela ajoute la compétence en tant que Custom Mode, ce qui épingle la compétence afin que votre agent reçoive un rappel pour l'utiliser à chaque nouveau tour.

lauren - inline image

Tapez /poteto-mode et appuyez sur Opt + Entrée pour l'épingler en tant que Custom Mode

Dans Grok @Bot, installez le plugin, puis tapez /poteto-mode.

lauren - inline image

Vous pouvez aussi utiliser pstack dans Grok Bot !

Exemple : Construction de nouvelles fonctionnalités

Pour construire de nouvelles fonctionnalités, j'utilise généralement la compétence de vérification avec /poteto-mode pour que l'agent vérifie son travail. Par exemple, je pourrais donner un prompt comme :

/poteto-mode build <description de la fonctionnalité, tout contexte utile>. utilise /control-app pour vérifier tes modifications et montre-moi une vidéo et des captures d'écran comme preuve

/control-app étant le résultat de /create-verification-skill. Dans Grok @Bot, je donnerais un prompt comme :

génère un cloud agent pour utiliser /poteto-mode afin de construire <description de la fonctionnalité, tout contexte utile>. utilise /control-app pour vérifier tes modifications et montre-moi une vidéo et des captures d'écran comme preuve

La différence mineure ici est que dans Grok @Bot, vous dites à votre bot de générer un cloud agent au lieu d'effectuer le travail lui-même. La principale raison pour laquelle je préfère faire cela est que cela libère votre bot pour faire d'autres choses et maintient sa fenêtre de contexte propre. Dans ce sens, je considère davantage mes bots comme des coordinateurs qui gèrent et supervisent les cloud agents. Les cloud agents signifient également que vous pouvez profiter de la gamme complète de modèles disponibles dans Cursor qui ont leur propre machine séparée, de sorte que l'ordinateur de votre bot reste libre pour d'autres choses.

Exemple : Travail sur les performances

génère un cloud agent pour utiliser /poteto-mode afin d'améliorer le temps de chargement initial de notre application. utilise d'abord /control-app pour prendre une trace de l'état actuel et identifier les opportunités d'amélioration. effectue ensuite une correction ciblée et utilise /control-app +

/swarm pour confirmer le gain

/swarm est l'une des meilleures compétences à combiner avec votre compétence de vérification. Elle déploie un nombre quelconque de cloud agents pour exécuter votre compétence de vérification, vous permettant ainsi de confirmer un gain de performance avec un échantillon suffisamment grand, ou de tester votre application de manière aléatoire pour vous assurer que vous n'avez rien cassé ou régressé.

Exemple : Reproduction automatique des rapports utilisateurs

Lorsque vous êtes satisfait de votre compétence de vérification, vous pouvez les placer dans des routines Grok @Bot, ou Cursor Automations. Les routines et les automatisations vous permettent d'exécuter des choses selon un planning, ou de déclencher lorsqu'un événement se produit.

Par exemple, si vous acheminez les commentaires des utilisateurs dans Slack, et/ou si vous avez votre propre canal de commentaires interne, vous pouvez faire en sorte que vos bots écoutent chaque rapport et tentent automatiquement de les reproduire avec un cloud agent. Si votre compétence de vérification et votre Feature Map sont suffisamment bonnes, vous pourriez même décider de corriger automatiquement les problèmes également.

Il y a une raison pour laquelle j'ai dit plus tôt que la vérification est l'une des compétences les plus importantes de votre boîte à outils. Elle vous donne une base pour construire de nouvelles compétences et routines par-dessus. Et surtout, tout le monde dans votre équipe en bénéficie.

Investissez dans votre compétence de vérification

Une fois que vous avez créé votre compétence de vérification, gardez-la affûtée avec /maintain-verification-skill. Continuez à améliorer la CLI et investissez dans la compétence comme vous le feriez pour une infrastructure critique. Vous voudrez peut-être même mettre en place une rotation d'astreinte dessus – c'est à quel point il est important de débloquer une productivité 100 à 1000 fois supérieure pour votre équipe.

Cette compétence est le fondement de nombreuses autres compétences que nous aborderons dans le guide pstack, et se combine magnifiquement avec toutes.

Je recommande d'ajouter Dr Eggbot, mon bot qui vous aide à créer des bots de haute qualité, à votre équipe. Dr Eggbot est livré avec pstack. Il apprendra aux bots de codage à l'utiliser, et il peut également créer des bots non liés au codage avec la même rigueur.

Vous pouvez demander à Dr Eggbot de créer un bot ingénieur pour vous, auquel vous pourrez ensuite demander d'exécuter /create-verification-skill et de configurer une routine quotidienne pour exécuter /maintain-verification-skill.

Merci d'avoir lu et restez à l'écoute pour la Partie 2 !

Enregistrer en un clic

Lire les articles viraux en profondeur avec l’IA de YouMind

Enregistrez la source, posez des questions ciblées, résumez l’argument et transformez un article viral en notes réutilisables dans un seul espace de travail IA.

Découvrir YouMind
Pour les créateurs

Transformez votre Markdown en un article 𝕏 impeccable

Quand vous publiez vos propres textes longs, la mise en forme 𝕏 des images, tableaux et blocs de code est pénible. YouMind transforme un brouillon Markdown complet en un article 𝕏 impeccable, prêt à publier.

Essayer Markdown vers 𝕏

D'autres patterns à décoder

Articles viraux récents

Explorer plus d'articles viraux