Cline lance une "banque de mémoire" : dites adieu à l'amnésie de l'assistant IA et ne perdez jamais le contexte du projet

Nouvelles de l'IAPosté il y a 4 mois Sharenet.ai
716 0
吐司AI

Avez-vous déjà fait l'expérience de travailler aux côtés d'un assistant talentueux qui peut toujours comprendre rapidement vos besoins et vous donner des réponses subtiles, mais qui, à chaque fois, après une courte pause, semble amnésique et vous demande de réinterpréter le contexte du projet, l'architecture technique et même les exigences les plus élémentaires depuis le début ? Pour les ingénieurs qui s'appuient sur des assistants de codage IA pour le développement de logiciels, il ne s'agit pas d'un fantasme ; les assistants IA sont puissants, mais leur "oubli" inhérent limite dans une certaine mesure l'efficacité et la fluidité du travail.

À l'instar du détective du film "Memory Pieces" qui perd la mémoire chaque nuit et doit se tatouer des informations clés sur le corps et s'appuyer sur des polaroïds pour construire un système de mémoire afin de résoudre l'affaire, l'industrie technologique a cherché une solution au problème de la "mémoire à court terme" des assistants d'intelligence artificielle. Récemment, un assistant d'IA appelé Cline L'assistant de codage IA de l'entreprise a introduit une fonctionnalité innovante appelée "Banque de mémoire", qui transforme astucieusement la "capacité d'oubli" de l'IA en un avantage, offrant aux développeurs une expérience de développement d'une fluidité sans précédent.

 

"Banque de mémoire" : construire des mémoires durables pour les assistants d'IA

"Memory n'est pas un produit autonome, mais plutôt un ensemble de commandes personnalisables, pilotées par la communauté, qui peuvent être ajoutées aux paramètres de Cline. L'idée de base est simple et efficace : laisser l'assistant IA "lire" et "comprendre" le contexte d'un projet avant de commencer à travailler, et stocker les informations clés dans une "banque de mémoire" prédéfinie. dans une "banque de mémoire" prédéfinie.

Plus précisément, lorsqu'un développeur active une "banque de mémoire" pour un projet, Cline vérifie d'abord si un dossier nommé memory-bank/ existe dans le répertoire du projet. Si ce n'est pas le cas, il crée automatiquement le dossier et initialise un ensemble de documents Markdown basés sur une structure prédéfinie. Si le dossier existe déjà, Cline lit activement ces documents pour reconstruire rapidement sa compréhension du contexte du projet, de la pile technologique, de la conception de l'architecture et d'autres informations clés.

Pour s'assurer que la "banque de mémoire" est structurée et facile à maintenir, Cline a intelligemment utilisé les organigrammes de Mermaid. Ces organigrammes permettent non seulement de visualiser les relations entre les documents, mais sont également intégrés directement dans les commandes personnalisées qui guident Cline dans la création et la maintenance du système documentaire. Lorsque l'assistant IA atteint la limite supérieure de sa fenêtre contextuelle ou ouvre une nouvelle session, il peut, comme le protagoniste de MEMORY PIECES, retrouver rapidement une compréhension complète du projet en consultant les documents de sa "banque de mémoire", en se connectant de manière transparente à l'avancement du travail.

 

Comprendre la "mémoire" de l'IA : les limites des fenêtres contextuelles

Pour comprendre l'importance des "banques de mémoire", il faut d'abord comprendre la nature de la "mémoire" dans les assistants d'intelligence artificielle. Les assistants intelligents actuels, y compris Cline, s'appuient sur ce que l'on appelle la "fenêtre contextuelle" pour traiter les informations. La fenêtre contextuelle peut être interprétée comme la limite supérieure de la quantité d'historique de dialogue et de code dont un assistant IA peut se "souvenir" lorsqu'il engage un dialogue ou génère un code. La taille de cette fenêtre est limitée, généralement de l'ordre de quelques milliers à quelques centaines de milliers d'euros. jetons entre les deux, selon le modèle.

Lorsqu'ils traitent des projets logiciels complexes, les développeurs se heurtent rapidement aux limites des fenêtres contextuelles. Les solutions traditionnelles semblent souvent lourdes et inefficaces :

  • Relancer le dialogue : Cela signifie que toutes les informations contextuelles sont perdues et qu'il est inefficace de devoir réexpliquer le contexte et les objectifs du projet à l'assistant d'intelligence artificielle.
  • Gestion manuelle du contenu des invites : les développeurs doivent filtrer soigneusement les informations contenues dans chaque invite afin d'éviter de dépasser la fenêtre contextuelle, qui est encombrante et où il est facile de manquer des informations clés.
  • Compression du contexte à l'aide de techniques de résumé : S'il est possible de comprimer les informations, le processus de résumé peut perdre des détails et affecter la capacité de l'assistant IA à comprendre le projet de manière plus approfondie.

En revanche, la "banque de mémoire" offre une solution plus élégante et plus complète, qui résout fondamentalement le problème de l'"oubli" des assistants d'intelligence artificielle sans que les développeurs aient à effectuer une gestion manuelle fastidieuse.

 

Architecture de la "banque de mémoire" : systèmes de connaissances structurés

L'essence de "MEMORY" est sa gestion structurée de l'information. Il construit un système de connaissance de projet clair par le biais de fichiers Markdown prédéfinis et d'organigrammes Mermaid, aidant les assistants IA à organiser et à récupérer des informations de manière efficace.

Le diagramme suivant montre la structure du document de base de la banque de mémoire :

flowchart TD
PB[projectbrief.md] --> PC[productContext.md]
PB --> SP[systemPatterns.md]
PB --> TC[techContext.md]
PC --> AC[activeContext.md]
SP --> AC
TC --> AC
AC --> P[progress.md]

Présentation visuelle du code de la carte Mermaid ci-dessus 👇

Cline推出“Memory Bank”:告别AI助手健忘症,项目上下文永不丢失

projectbrief.md est la base et la source d'information de tous les autres documents du diagramme

Cette structure n'est pas conçue au hasard ; chaque document joue un rôle spécifique et, ensemble, ils constituent le graphe de connaissances complet du projet :

  • projectbrief.md (Project Brief) : Le document de base du projet qui définit les objectifs, la portée et les principales contraintes du projet et qui constitue la pierre angulaire de tous les autres documents.
  • productContext.md (contexte du produit) : décrit le produit du point de vue de l'entreprise et de l'utilisateur, y compris les utilisateurs cibles, le positionnement sur le marché, les fonctionnalités de base, etc.
  • systemPatterns.md (System Patterns) : enregistre l'architecture technique, les modèles de conception, les décisions techniques clés, etc. du projet pour aider l'assistant IA à comprendre le cadre technique global du projet.
  • techContext.md (contexte technique) : décrit l'environnement de développement, la pile technologique, les versions des bibliothèques dépendantes, etc., afin de s'assurer que l'assistant IA comprend les détails spécifiques de la mise en œuvre technique du projet.
  • activeContext.md (contexte dynamique) : enregistre l'état actuel du développement, les tâches en cours, les problèmes en suspens, etc., reflétant l'avancement du projet en temps réel.
  • progress.md (progression du projet) : suit la progression du projet, l'achèvement des tâches, les nœuds d'étape, etc., aidant l'assistant IA à comprendre la chronologie globale du projet.

 

Le cycle de vie de la "banque de mémoire" : apprentissage et mise à jour continus

"La mémoire n'est pas une configuration unique, mais plutôt un processus d'apprentissage itératif et continu. Elle suit un cycle de lecture, de vérification, d'exécution et de mise à jour, ce qui garantit que l'assistant IA est toujours en mesure de travailler avec les informations les plus récentes sur le projet.

Le diagramme ci-dessous illustre le cycle de vie complet d'une "banque de mémoire" :

Cline推出“Memory Bank”:告别AI助手健忘症,项目上下文永不丢失

Le code ci-dessus permet d'obtenir le graphique de Mermaid.

Phase d'installation initiale :

  • Cline crée automatiquement le répertoire memory-bank/ lorsque le projet active pour la première fois les "banques de mémoire".
  • Initialiser tous les documents Markdown nécessaires.
  • Guidez l'utilisateur pour qu'il remplisse les informations de base sur le projet.
  • Créer un système de documentation de base pour le projet.

Développement en cours :

  • Lecture : avant de commencer tout travail, Cline lira d'abord tous les documents de la "banque de mémoire".
  • Validation : valider l'exhaustivité et l'exactitude des informations contextuelles afin d'assurer une compréhension complète du projet.
  • Exécution : sur la base du contexte et du schéma établis, exécute les instructions de l'utilisateur pour la génération de code, la réponse aux questions, etc.
  • Suivi : suivi continu des modifications et des décisions prises au cours du processus de développement.
  • Surveiller : surveiller l'utilisation de la fenêtre contextuelle et mettre à jour la "banque de mémoire" pour que le contexte reste valide.

Après des changements majeurs :

  • Mise à jour : lorsque des changements importants interviennent dans le projet (par exemple, des ajustements architecturaux, des changements d'exigences, etc.), il convient de mettre à jour les documents pertinents dans la "banque de mémoire" en temps utile.
  • Cohérence : veiller à ce que les informations soient cohérentes dans tous les documents afin d'éviter les informations contradictoires.
  • Préparer : se préparer à d'éventuelles réinitialisations du contexte afin de garantir un retour rapide à un état de travail, même si la session est interrompue.

 

Invitation visuelle : Guider l'IA à l'aide d'organigrammes

Cline推出“Memory Bank”:告别AI助手健忘症,项目上下文永不丢失

La manière traditionnelle de rédiger des messages-guides pour les systèmes utilise généralement des formats de texte tels que Markdown, JSON ou XML. Cependant, la communauté Cline a montré que les organigrammes Mermaid sont également parfaitement adaptés à la rédaction d'invites, en particulier lorsqu'il s'agit de guider les assistants d'IA dans des flux de travail complexes.

Par rapport à de longues descriptions textuelles, les organigrammes, de par leur nature intuitive et structurée, peuvent exprimer la logique du processus de manière plus claire et plus précise. Pour les assistants d'intelligence artificielle, ces informations structurées peuvent être plus faciles à comprendre et à exécuter que le langage naturel.

Par exemple, l'organigramme Mermaid suivant est utilisé pour guider le flux de travail de Cline dans les instructions de personnalisation de la "Mémoire" :

flowchart TD
Start[开始] --> ReadFiles[读取记忆库]
ReadFiles --> CheckFiles{文件完整?}
CheckFiles -->|否| Plan[创建计划]
Plan --> Document[记录在对话中]
CheckFiles -->|是| Verify[验证上下文]
Verify --> Strategy[制定策略]
Strategy --> Present[展示方案]

Chaque nœud, ligne de connexion et point de décision de l'organigramme définit clairement les étapes et la logique du processus, éliminant ainsi les ambiguïtés qui peuvent exister dans les descriptions en langage naturel. C'est comme si l'on donnait à l'assistant d'intelligence artificielle une carte précise au lieu de lui indiquer des directions ambiguës.

 

résumés

La fonction "banque de mémoire" de Cline est sans aucun doute une tentative innovante pour résoudre l'"amnésie" des assistants de codage de l'IA. Elle utilise intelligemment des documents structurés et des organigrammes visuels pour construire un système de mémoire de contexte de projet persistant et maintenable pour les assistants d'IA, ce qui améliore considérablement l'efficacité et la fluidité du développement. Plus important encore, la pratique réussie de la "banque de mémoire" nous fournit également une révélation importante : pour communiquer avec l'IA, nous ne devrions pas nous limiter au langage naturel, et l'expression d'informations structurées, telles que les organigrammes, peut être un "langage de l'IA" plus efficace et plus précis. Le "langage de l'IA". Avec le développement continu de la technologie de l'IA, nous avons des raisons de nous attendre à ce que d'autres innovations similaires voient le jour, et de travailler ensemble pour construire des outils de développement plus intelligents et plus humains.

© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

aucun
Pas de commentaires...