### OpenViking: AIエージェントのためのコンテキストデータベース
[English](README.md) / [中文](README_CN.md) / 日本語
Webサイト ·
ライブデモ ·
GitHub ·
Issues ·
ドキュメント
[](https://github.com/volcengine/OpenViking/releases)
[](https://github.com/volcengine/OpenViking)
[](https://github.com/volcengine/OpenViking/issues)
[](https://github.com/volcengine/OpenViking/graphs/contributors)
[](https://github.com/volcengine/OpenViking/blob/main/LICENSE)
[](https://github.com/volcengine/OpenViking/commits/main)
👋 コミュニティに参加しよう
📱
Larkグループ ·
WeChat ·
Discord ·
X
***
## OpenVikingとは
OpenVikingは、AIエージェントのためのオープンソースのコンテキストデータベースです。メモリ、リソース、スキルを `viking://` プロトコル配下の1つの仮想ファイルシステムとして保存するため、エージェントはブラックボックスのベクトルストアに問い合わせる代わりに、`ls`、`tree`、`find` で自分のコンテキストを閲覧できます。コンテンツは L0(abstract)、L1(overview)、L2(details)の3階層に処理され、必要に応じてロードされます。すべての検索は、観察してデバッグできる軌跡を残します。詳しい紹介はこちら: [Getting started](https://docs.openviking.ai/en/getting-started/01-introduction)。
[](https://openviking.ai/studio)
*[OpenViking Studio](https://openviking.ai/studio) のプレイグラウンド — インストール不要でブラウザから試せるライブデモです。*
## OpenVikingを選ぶ理由
- **すべてのコンテキストを1つのファイルシステムに。** メモリ、リソース、スキルにはそれぞれ `viking://` URI が与えられます。エージェントは、ファイルを扱う開発者のように、コンテキストを決定論的に特定・操作できます。→ [Viking URI](https://docs.openviking.ai/en/concepts/04-viking-uri) · [Context types](https://docs.openviking.ai/en/concepts/02-context-types)
- **階層型ローディングで token 消費を削減。** すべてのエントリは書き込み時に L0(abstract)、L1(overview)、L2(details)へ処理され、タスクが必要とする深さまでだけロードされます。→ [Context layers](https://docs.openviking.ai/en/concepts/03-context-layers)
- **ディレクトリ再帰検索。** ベクトル検索でまず最高スコアのディレクトリを特定し、そこから層ごとに掘り下げるため、結果は周辺のコンテキストを保ったまま返ってきます。→ [Retrieval](https://docs.openviking.ai/en/concepts/07-retrieval)
- **観察可能な検索。** 各クエリはディレクトリ閲覧の軌跡を保存します。結果がおかしいときは、どのパスがその結果を生んだのかを正確に確認できます。→ [Retrieval](https://docs.openviking.ai/en/concepts/07-retrieval)
- **セッションはメモリになる。** セッションのコミット後、OpenVikingはユーザーの好みとエージェントの経験を非同期に抽出し、長期メモリとして保存します。→ [Session](https://docs.openviking.ai/en/concepts/08-session)
各要素がどう組み合わさるか: [Architecture](https://docs.openviking.ai/en/concepts/01-architecture)。設計思想: [The Database Paradigm for Context Engineering](https://blog.openviking.ai/post/openviking-context-database/)。
```
viking://
├── resources/ # リソース: プロジェクトドキュメント、リポジトリ、Webページなど
│ └── my_project/
│ ├── docs/
│ │ ├── api/
│ │ └── tutorials/
│ └── src/
└── user/
└── {user_id}/
├── memories/
│ └── preferences/
│ ├── writing_style
│ └── coding_habits
├── resources/
│ └── private_project/
├── skills/
│ ├── search_code
│ └── analyze_data
└── peers/
└── web-visitor-alice/
```
3つのローディング階層:
- **L0(Abstract)**: 迅速な関連性チェックのための一文の要約。
- **L1(Overview)**: 計画立案のためのコア情報と使用シナリオ。
- **L2(Details)**: 完全なオリジナルデータ。必要な場合にのみ読み込まれます。
各ディレクトリが自身の L0/L1 レイヤーを持つため、ファイル全体を読む前に関連性を判断できます:
```
viking://resources/my_project/
├── .abstract # L0: 〜100 tokens - 迅速な関連性チェック
├── .overview # L1: 〜2k tokens - 構造とキーポイント
└── docs/
├── .abstract
├── .overview
└── api/
├── auth.md # L2: 完全なコンテンツ、オンデマンドでロード
└── endpoints.md
```
## 実証データ
OpenViking 0.3.22 は、長い会話でのユーザーメモリ(LoCoMo)と複数ターンのエージェントタスク(tau2-bench)で評価されています。ナレッジベースQAを含む完全な結果と実験設定は[ベンチマークレポート](https://blog.openviking.ai/post/openviking-benchmark-results/)を、再現用スクリプトは [./benchmark](./benchmark) を参照してください。