AI Eksperiment #2: Cursor Memory Bank na preizkušnji

Raziskovanje tehnik Memory Bank za razvoj z AI in primerjava pristopov za vzdrževanje konteksta v kompleksnih projektih

Read in English

Hej tam!

Tukaj je obljubljeno nadaljevanje mojega eksperimenta gradnje aplikacije “Mind Fitness Now” z AI orodji.

Prejšnji teden sem delil svojo izkušnjo z orodjem “Claude Task Master”, ki se je izkazalo za malce preveč… no, recimo temu “temeljito” in je pripeljalo do nepotrebnega kompliciranja in ogromne količine kode za začetno fazo.

Danes pa se bomo posvetili konceptu Cursor Memory Bank.

Kaj sploh je Cursor Memory Bank?

Če si kdaj delal z AI asistenti pri daljših projektih, si verjetno opazil, da včasih “pozabijo”, kaj ste se dogovorili v prejšnji seji ali celo nekaj korakov nazaj v isti seji. Cursor Memory Bank (in podobni koncepti, kot je ​Cline Memory Bank​) naslavlja to težavo.

Predstavljaj si ga kot strukturiran digitalni dnevnik tvojega projekta. Ta dnevnik je sestavljen iz niza Markdown datotek, ki jih AI prebere na začetku vsake seje (ali ko mu to ukažeš), da si osveži spomin o:

Takšna struktura bi vsebovala datoteke kot so:

Ideja je, da te datoteke AI-ju omogočajo ohranjanje konteksta in s tem bolj konsistentno ter učinkovito delo skozi daljše časovno obdobje.

Kako začeti s Cursor Memory Bank?

Glede na projekt vanzan01/cursor-memory-bank (https://github.com/vanzan01/cursor-memory-bank), je tukaj poenostavljen vodnik za začetek:

  1. Korak 1: Pridobi datoteke

    • Kloniraj repozitorij v svoj projektni direktorij:
      git clone https://github.com/vanzan01/cursor-memory-bank.git
      
    • S tem dobiš vse potrebne datoteke, vključno z datotekami s pravili, navodili za custom mode-e in predlogami za Memory Bank datoteke.
  2. Korak 2: Nastavitev Custom Mode-ov v Cursorju

    • To je ključen korak. Ročno moraš ustvariti šest custom mode-ov v Cursorju. Za vsak način boš kopiral vsebino navodil iz ustrezne datoteke v mapi custom_modes/ kloniranega repozitorija v razdelek “Advanced options” pri nastavitvi custom mode-a v Cursorju.
    • Načini, ki jih moraš ustvariti, so:
      • VAN MODE (🔍 VAN): Za inicializacijo. Uporabi custom_modes/van_instructions.md.
      • PLAN MODE (📋 PLAN): Za načrtovanje nalog. Uporabi custom_modes/plan_instructions.md.
      • CREATIVE MODE (🎨 CREATIVE): Za oblikovalske odločitve. Uporabi custom_modes/creative_instructions.md.
      • IMPLEMENT MODE (⚒️ IMPLEMENT): Za implementacijo kode. Uporabi custom_modes/implement_instructions.md.
      • REFLECT MODE (🔍 REFLECT): Za pregled. Uporabi REFLECT sekcijo iz custom_modes/reflect_archive_instructions.md.
      • ARCHIVE MODE (📚 ARCHIVE): Za dokumentacijo. Uporabi ARCHIVE sekcijo iz custom_modes/reflect_archive_instructions.md.
    • Za podrobna navodila o poimenovanju, omogočanju orodij in lepljenju naprednih možnosti za vsak način si oglej README.md na GitHubu.
  3. Osnovni pregled uporabe

    • Začni z VAN Mode tako, da vneseš “VAN” za začetek analize projekta.
    • Sledi delovnemu toku (VAN → PLAN → CREATIVE → IMPLEMENT → REFLECT → ARCHIVE), ki se lahko skrajša glede na kompleksnost naloge.
    • V katerem koli načinu lahko vneseš “QA” za tehnično validacijo.

Ključno je, da te datoteke redno posodabljaš (ali pa to AI počne zate), da ostanejo relevantne.

Moja izkušnja z Memory Bank pri “Mind Fitness Now”

Teorija se je zdela obetavna. Takole sem se lotil implementacije z Memory Bank, korak za korakom, kot kažejo tudi spodnji izseki moje komunikacije z AI:

Uspešno sem definiral različna obnašanja:

S temle promptom sem začel:

Ko je memory bank ustvaril potrebne datoteke sem sprožil implementacijo v smislu “Let’s start with the implementation, step by step.”

V vmesnih korakih sem ukazal, naj posodobi memory bank datoteke za spremljanje implementacije:

In po zaključenih celotih sem sprožil analizo kakovosti:

Kombinacija pristopov ali poenostavitev le teh?

Razmišljal sem, ali bi bilo smiselno kombinirati “Claude Task Master” za neko osnovno strukturo nalog in potem “Memory Bank” za tekoče delo. Po tej izkušnji se mi zdi, da je za projekt takšnega obsega, kot je “Mind Fitness Now”, najbolje uporabiti Task Master za začetno razdelitev projekta na manjše zahteve. Memory bank pa je za to velikost projekta trenutno manj primeren, predvsem zato, ker ni 100% zanesljiv in sem posledično več časa porabil za odpravljanje težav s samim Memory Bank sistemom kot pa za razvoj projekta. Oziroma, če projekta ne bi začel s Task Masterjem, bi potem Memory Bank morda prišel bolj do izraza; v mojem primeru pa je AI agent že imel jasna navodila iz seznama nalog, ki jih je pripravil Task Master.

Vsekakor bom spremljal kako se bo projekt memory bank razvijal, ker zamisel o boljšem nadzoru konteksta ni slaba.

Zaključek in kaj sledi?

Zakaj to raziskujem? Ker želim, najti najučinkovitejši način programiranja z AI. Torej, da kodo obvladujemo in je ne slepo prepuščamo AI-ju. Hkrati pa dostavimo funkcionalen rezultat.

Zadnja dva newsletter-ja sta bila bolj tehnične narave. Ni se ti potrebno obremenjevati, če ti to ne leži. Namen je da se jaz naučim in ko bom prpravil natančen vodič, da uberemo najenostavnejšo a hkrati naj učinkovitejšo pot.

Naslendnji newsletterju ne bo tehničen, pokazal ti bom rezultat, ki sem ga zgradil: Aplikacija “Mind Fitness Now”.

Te zanima?

Ostani z mano!

Se slišiva, Primož