Je suis de plus en plus convaincu que l'approche des outils Unix, qui consiste à avoir un ensemble d'unités fonctionnelles composables et ciblées pouvant être utilisées isolément ou dans le cadre d'un pipeline plus large, est également la meilleure approche pour les outils destinés aux agents de codage. Le problème avec l'idée de créer un grand système unifié qui fait tout, c'est que les gens ont leurs propres flux de travail et façons de développer, et il est généralement trop difficile d'essayer de créer un projet universel qui puisse s'adapter à cela sans se transformer en une complexité tentaculaire qui ne fonctionne pas bien en pratique. Ainsi, j'ai un outil pour le mail des agents, un outil pour la gestion des tâches (les perles de Steve Yegge), un outil pour la sélection des tâches (bv), un outil pour la recherche dans l'historique (cass), un outil pour le linting polyglotte et la détection de bugs (ubs), un pour la gestion des commandes sensibles (slb), un pour gérer tmux et les sessions d'agents (ntm), un pour la mémoire (csm), etc. Et vous pouvez utiliser l'un d'eux, certains d'entre eux, ou tous. Et ils sont partiellement intégrés les uns aux autres, mais toujours de manière optionnelle. Ainsi, slb peut utiliser le mail des agents si vous l'avez configuré, mais il fonctionne aussi de manière autonome. Et ntm peut afficher des informations de bv mais ce n'est pas obligatoire. Ils deviennent comme de petits blocs Lego que vous pouvez utiliser pour construire le système que vous souhaitez, et il devient facile de créer vos propres petits outils pour ajouter la fonctionnalité que vous voulez. Et ensuite, votre fichier AGENTS dot md devient en quelque sorte comme un système d'exploitation où vous "installez" les outils dans la mémoire de travail de l'agent et les configurez en décrivant comment, quand et pourquoi les utiliser (étrangement, vous devez maintenant vous soucier de persuader la machine d'utiliser les outils !) Ainsi, vous pouvez avoir tous vos outils configurés sur votre machine mais n'activer que ceux spécifiques en fonction du projet en incluant juste les extraits pertinents expliquant les outils que vous souhaitez utiliser.