shift-labs-ai/napkin

🧻 Knowledge system for agents. Local-first, file-based, progressively disclosed.

何を解決するか

Napkin は、AIエージェントの長期記憶として機能するように特別に設計された、ローカル優先のファイルベースの知識システムです。コンテキストウィンドウの制限問題を解決するために、知識ベース全体をLLMのプロンプトに投入する必要を回避し、代わりにエージェントが情報を段階的に取得できるようにします。

動作方法

このシステムは、Markdownファイルの構造化されたバンク(Obsidianと互換性あり)とネイティブ検索エンジン(ferrosearch)を使用して「段階的公開(progressive disclosure)」を実装します。情報はエージェントに4段階の粒度で提示されます:

  • レベル0:高レベルのプロジェクトコンテキストノート(NAPKIN.md)。
  • レベル1:検索検証済みキーワードを含むバンクマップ(napkin overview)。
  • レベル2:スニペット付きのランク付けされた検索結果(napkin search)。
  • レベル3:完全なファイルコンテンツ(napkin read)。

複雑な埋め込みやグラフを避け、Markdownファイルに対するBM25検索に依存することで、プロジェクトは長期会話記憶ベンチマークにおいて高い精度を実現すると主張しています。

対象ユーザー

  • AIエージェント開発者:構造的で永続的な記憶システムを読み書きできる必要があるエージェントを開発している人。
  • 知識ワーカー:Obsidian経由で人間が読み書きできる一方でエージェントがアクセス可能なローカル優先の知識ベースを求めるユーザー。

特徴

  • エージェント最適化設計:構造化されたマシン出力のための --json および -q フラグ、および要約(セッションをノートに変換)とメンテナンス(バンクのケア)のための専用「スキル」を備えています。
  • ローカル優先:外部データベースや埋め込みの必要なしに、ファイルベースのストレージを採用。
  • コード化されたSDK:CLIを使わずに、アプリケーションにNapkinのロジックを直接統合できるTypeScriptライブラリを提供。
  • ドメインテンプレート:コーディング、企業、製品、研究、個人用途など、事前に構築されたバンク構造を提供。
  • Obsidian互換性.obsidian/ 設定と併用可能で、知識ベースを人間が編集可能にします。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト