>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
TypeScript

Obsidianを使ってAIエージェントに長期記憶を付与する方法

先週、また認証サービスの構造をコーディングエージェントに説明している自分に気づいた。今月これで3回目だ。Claude Codeのコンテキストウィンドウは十分に大きいが、いずれのセッションもいつかは終わる。新しいターミナルを起動すれば、アーキテクチャの決定事項もチーム間の合意もスプリントタスクも、コンソールは何も覚えていない。

最近、開発者のBrenno Ferrariが手がけたobsidian-プロジェクトを見つけた。著者のアプローチはシンプルだ。エージェントに長期記憶が必要なら、なぜそれを通常のObsidian保管庫にしないのか?

Obsidian Mind

テンプレートの中身

このプロジェクトは、 готовый note構造、TypeScriptフック一式、そしてプレビルドのCLIコマンドで構成されている。テンプレートはClaude CodeCodex CLIGemini CLI、その他指示ファイルからルールを読み込めるシステムとシームレスに連携する。

コンセプトはシンプルだ。エージェントが自律的にMarkdownファイルを読み書きする。セッション開始時にフックがbrain/North Star.mdファイルからグローバルな目標を読み込み、アクティブなタスクリストを取得して、コンテキストウィンドウに渡す。決定事項や会議についてエージェントに伝えると、データをフォルダに整理し、同僚の名前やプロジェクトにリンクさせる。

Obsidian Mind demo

トークン使用量制御の仕組み

このようなシステムの主な課題はトークン消費だ。すべてのリクエストでナレッジベース全体をコンテキストに詰め込めば、数時間で上限に達してしまう。

obsidian-では、多層構造のローディング方式来でこれに対処している:

  • セッション開始時にベースラインスライスを読み込む:目標、開放中のタスク、最近のコミット、保管庫のファイルリスト。これで約20,000トークンを消費する。
  • セマンティック検索にはQMDユーティリティを使用。ローカルでベクトルエンベディングを構築し、エージェントが特定の情報を必要とするときにRELATEDフラグメントを検索する。
  • メッセージ送信時に、スクリプトがデータタイプ(インシデント、会議、アーキテクチャ決定)を判別し、エージェントに短いルーティングヒントを渡す。
  • ファイル書き込み後、WikiリンクとYAMLパラメータの正しさをチェックするバリデーターが実行される。

典型的なワークデイ

朝に/om-standupコマンドを実行する。エージェントがgitの最新の変更を読み込み、タスクリストと照合して、簡単なサマリーを出力する。

会議やSlackでの議論の後、手動でドキュメント構造を入力する必要はない。、生のテキストをエージェントにフィードするだけだ:

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

レスポンスとして、システムが同時に4つの処理を行う:

  1. org/people/Sarah Chen.mdの会議履歴ファイルを更新する。
  2. decisionsフォルダに決定事項エントリを作成する。
  3. 功績テンプレートperf/Brag Doc.mdに称賛を記録する。
  4. アクティブなプロジェクトカードに新しいタスクを追加する。

日の終わりに、/om-wrap-upコマンドがクロスリファレンスのない孤立したノートをチェックし、インデックスを更新する。

サブエージェントによるバックグラウンドタスクの実行

重量級の操作には、テンプレート内で specializedサブエージェントが設定されている。它们はisolatedコンテキストウィンドウで実行され、メインの会話を乱雑にしない。

リポジトリにはいくつかのpre-configuredエージェントが含まれている:

  • slack-
  • cross-linkerは保管庫全体で壊れたWikiリンクと忘れられたノートを検索する。
  • brag-
  • people-

ビルドと起動

ShardMindテンプレートマネージャー経由、または単にリポジトリをクローンすることで保管庫をデプロイできる。

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

セットアップコマンドでは、名前、社名、主要な目標を入力するよう求められる。その後、いくつか簡単なステップを踏むだけだ:

  1. 作成されたフォルダをObsidianで保管庫として開く。
  2. アプリ設定でObsidian CLIプラグインを有効にする(Obsidian 1.12+が必要)。
  3. 保管庫ディレクトリから直接CLIエージェントを実行する。

フル機能の検索には、QMDベクトル検索ツールもインストールする必要がある:

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

QMDがないと、システムはgrepとObsidianの組み込み検索経由で動作し続けますが、抽象的な質問への回答の精度が少し低下する。

このプロジェクトの対象者

テンプレートは、CLIベースのAIエージェントを активно使用し、既にObsidianでノートを保持しているか、保持する予定のデベロッパーにとって有用だ。主な価値は、ドキュメント相互のリンクに関するよく考えられたルールにある。

注意点として、Node.jsバージョン22+とTypeScriptスクリプトの事前コンパイルなしの実行所需的 экспериментальныйフラグへの依存がある。このフラグが将来のNode.jsリリースで名前変更された場合、フック設定の更新が必要になる。それでも、このプロジェクトは優れた готовый基盤を提供し、このような足場の構築をゼロから始める必要性をなくしてくれる。

関連プロジェクト