>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
TypeScript

Jak zapewnić agentom AI pamięć długoterminową za pomocą Obsidian

W zeszłym tygodniu złapałem się na tym, że po raz trzeci w tym miesiącu wyjaśniałem agentowi strukturę naszej usługi uwierzytelniania. Okno kontekstowe Claude Code jest wystarczająco duże, ale każda sesja w końcu się kończy. Nowe uruchomienie terminala — i konsola znów nic nie wie o decyzjach architektonicznych, ustaleniach zespołu czy zadaniach sprintu.

Niedawno natknąłem się na projekt obsidian- autorstwa dewelopera Brenno Ferrari. Autor przyjął bezpośrednie podejście: jeśli agent potrzebuje pamięci długoterminowej, dlaczego nie zrobić z niej regularnego sejfu Obsidian?

Obsidian Mind

Co zawiera szablon

Projekt to gotowa struktura notatek, zestaw hooków TypeScript i wstępnie zbudowane polecenia CLI. Szablon działa out of the box z Claude Code, Codex CLI, Gemini CLI i innymi systemami, które potrafią odczytywać reguły z plików instrukcji.

Idea jest taka, że agent samodzielnie odczytuje i aktualizuje pliki Markdown. Gdy rozpoczyna się sesja, hook odczytuje globalne cele z pliku brain/North Star.md, pobiera listę aktywnych zadań i przekazuje ten wycinek do okna kontekstowego. Gdy informujesz agenta o podjętej decyzji lub odbytej rozmowie, organizuje on dane w foldery i łączy je z nazwiskami kolegów lub projektami.

Obsidian Mind demo

Jak działa kontrola zużycia tokenów

Głównym problemem z systemami takimi jak ten jest zużycie tokenów. Jeśli włożysz całą bazę wiedzy do kontekstu przy każdym żądaniu, limity wypalą się w ciągu kilku godzin.

W obsidian- jest to obsługiwane przez wielowarstwowy schemat ładowania:

  • Po uruchomieniu sesji odczytywany jest bazowy wycinek: cele, otwarte zadania, ostatnie commity i lista plików sejfu. Zajmuje to około 20 000 tokenów.
  • Do wyszukiwania semantycznego używane jest narzędzie QMD. Buduje ono osadzenia wektorowe lokalnie i znajduje odpowiednie fragmenty, gdy agent potrzebuje konkretnych informacji.
  • Podczas wysyłania wiadomości skrypt określa typ danych (incydent, spotkanie, decyzja architektoniczna) i przekazuje agentowi krótką wskazówkę routingu.
  • Po zapisaniu plików uruchamiany jest walidator, który sprawdza poprawność linków wiki i parametrów YAML.

Jak wygląda dzień pracy

Rano uruchamiasz polecenie /om-standup. Agent odczytuje świeże zmiany w git, sprawdza zadania na liście i wyświetla krótkie podsumowanie.

Po spotkaniach lub dyskusjach na Slacku nie ma potrzeby ręcznego wypełniania struktur dokumentów. Wystarczy przekazać surowy tekst agentowi:

/om-dump Обсудили с Сарой рефакторинг авторизации. Решили отложить миграцию на Redis до второго квартала. Сара похвалила архитектуру API.

W odpowiedzi system automatycznie wykonuje cztery rzeczy naraz:

  1. Aktualizuje plik historii spotkań w org/people/Sarah Chen.md.
  2. Tworzy wpis decyzji w folderze decyzji.
  3. Rejestruje pochwałę w szablonie zaświadczenia perf/Brag Doc.md.
  4. Dodaje nowe zadanie do aktywnej karty projektu.

Pod koniec dnia polecenie /om-wrap-up sprawdza osierocone notatki bez odniesień i aktualizuje indeksy.

Uruchamianie zadań w tle przez sub-agentów

Przy ciężkich operacjach w szablonie skonfigurowani są wyspecjalizowani sub-agenci. Uruchamiają się w izolowanych oknach kontekstowych, aby nie zaśmiecać głównej historii rozmowy.

Repozytorium zawiera kilku wstępnie skonfigurowanych agentów:

  • slack-
  • cross-linker wyszukuje zerwane linki wiki i zapomniane notatki w całym sejfie.
  • brag-
  • people-

Budowanie i uruchamianie

Możesz wdrożyć sejf za pomocą menedżera szablonów ShardMind lub po prostu klonując repozytorium.

npm install -g shardmind
mkdir my-vault && cd my-vault
shardmind install github:breferrari/obsidian-mind

Polecenie konfiguracji poprosi o podanie imienia, nazwy firmy i głównych celów. Potem wystarczy wykonać kilka prostych kroków:

  1. Otwórz utworzony folder jako sejf w Obsidian.
  2. Włącz wtyczkę Obsidian CLI w ustawieniach aplikacji (wymaga Obsidian 1.12+).
  3. Uruchom agenta CLI bezpośrednio z katalogu sejfu.

Pełnoprawne wyszukiwanie wymaga również instalacji narzędzia QMD do wyszukiwania wektorowego:

npm install -g @tobilu/qmd
node --experimental-strip-types .scripts/qmd-bootstrap.ts

Bez QMD system będzie nadal działać przez grep i wbudowane wyszukiwanie Obsidian, choć dokładność odpowiedzi na abstrakcyjne pytania nieznacznie się zmniejszy.

Dla kogo jest ten projekt

Szablon będzie przydatny dla deweloperów, którzy aktywnie korzystają z agentów AI opartych na CLI i już prowadzą lub planują prowadzić notatki w Obsidian. Główna wartość tkwi w dobrze przemyślanych regułach łączenia dokumentów ze sobą.

Jedną rzeczą do odnotowania jest zależność od Node.js w wersji 22+ z flagą --experimental-strip-types do uruchamiania skryptów TypeScript bez kompilacji. Jeśli ta flaga zostanie zmieniona w przyszłych wydaniach Node.js, trzeba będzie zaktualizować ustawienia hooków. Mimo to projekt stanowi doskonałą gotową podstawę i eliminuje potrzebę budowania tego rodzaju szkieletu od zera.

Powiązane projekty