Een zelf-updatende kennisbank voor Terminal AI
Ik breng het grootste deel van mijn dag door in de terminal met een AI-coding assistant.
Ik los vaak moeilijke problemen op tijdens een sessie. Ik vind een lastige fix of een specifieke configuratie-instelling. Dan sluit ik het tabblad en de kennis verdwijnt. Een maand later los ik precies hetzelfde probleem weer op.
Ik heb een systeem gebouwd waarmee mijn assistant zijn eigen aantekeningen bijhoudt met behulp van Claude Code hooks.
Het systeem bestaat uit drie onderdelen:
- Zoek bij elke prompt in een kleine Markdown-kennisbank om context te bieden.
- Leg nuttige aantekeningen vast wanneer een sessie eindigt.
- Laad de index wanneer een sessie start.
Hier lees je hoe je dit bouwt zonder je workflow te vertragen.
1. Gebruik UserPromptSubmit voor retrieval
Deze hook wordt uitgevoerd elke keer dat je een prompt verstuurt. Het ontvangt je tekst en kan context injecteren voordat het model reageert.
Laat het model niet zelf beslissen wanneer het je aantekeningen moet bekijken. Gebruik een snelle zoekopdracht zoals grep om relevante bestanden te vinden. Injecteer alleen de top vijf resultaten. Zo blijft het proces onder de 100ms.
Twee regels voor zoek-hooks:
- Houd het goedkoop. Gebruik
grepin plaats van een LLM voor de eerste zoekopdracht. - Houd het licht. Injecteer alleen titels en bestandspaden. Het model kan het bestand openen als het meer details nodig heeft.
2. Vermijd de Stop hook voor zware taken
De Stop hook wordt uitgevoerd elke keer dat de assistant een antwoord voltooit. Als je hier een langdurige taak uitvoert, wordt je assistant traag. Een sessie van 30 beurten zal 30 zware taken triggeren.
Gebruik in plaats daarvan SessionEnd om de volledige sessie één keer vast te leggen.
3. Los de SessionEnd-beperking op
SessionEnd is non-blocking. Als je hier een langdurige achtergrondtaak start, kan het systeem deze beëindigen wanneer de sessie sluit.
De oplossing is om twee hooks te gebruiken:
- SessionEnd: Voeg snel het pad naar het transcript toe aan een wachtrijbestand.
- SessionStart: Verwerk die wachtrij en voer de zware capture-taak op de achtergrond uit.
Omdat de volgende sessie actief is, zal het achtergrondproces blijven draaien.
4. Voorkom oneindige lussen
Wanneer je een headless AI start om aantekeningen te schrijven, erft deze jouw omgeving. Dit betekent dat de nieuwe AI zijn eigen hooks zal triggeren. Dit creëert een lus van eindeloze AI-aanroepen.
Voeg altijd een recursie-guard toe bovenaan je scripts:
[ -n "$KB_CAPTURE" ] && exit 0
Stel KB_CAPTURE=1 in wanneer je je achtergrond-capturetaak start.
Samenvatting van de setup:
- Gebruik UserPromptSubmit voor directe context-injectie.
- Gebruik SessionEnd om taken in een wachtrij te plaatsen.
- Gebruik SessionStart om het eigenlijke werk uit te voeren.
- Gebruik een goedkoop model voor het samenvatten van aantekeningen om kosten te besparen.
Eén keer een probleem niet opnieuw hoeven oplossen, verdient vele captures terug.
Optionele leercommunity: https://t.me/GyaanSetuAi
