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/設定と併用可能で、知識ベースを人間が編集可能にします。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト