volcengine/OpenViking
Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.
OpenViking – AIエージェント向けのコンテキストデータベース
何であるか – OpenVikingは、LLMベースのエージェントが記憶、リソース、スキルを仮想ファイルシステム(viking://)として扱えるオープンソースのコンテキストストアです。ブラックボックスストアに生のベクトルクエリを送るのではなく、エージェントはls、tree、findなどの馴染み深いコマンドで階層をブラウズ、リストアップ、検索できます。各エントリは3つのレイヤー(抽象要約(L0)、概要(L1)、完全な詳細(L2))に事前に処理され、エージェントは実際に必要な分だけテキストを読み込むため、トークン使用量と待機時間は劇的に削減され、検索経路も観察可能になります。
なぜ重要か
- 決定論的で観察可能な取得 – システムがたどるパスが記録されるため、「なぜこの情報が選ばれたのか?」のデバッグが簡単になります。
- トークン効率的 – L0/L1レイヤーにより、関係のない枝を早期に除外でき、トークン使用量と待機時間が大幅に削減されます(READMEではベンチマークで34–91%のトークン削減と約60%の待機時間削減を報告)。
- 統一されたURIスキーム – すべてのデータが
viking://URIの下に統合され、記憶、ユーザー設定、公開リソース、プライベートファイル、さらには他のエージェントまで、一貫したファイルシステム風のビューを提供します。 - セッション→記憶 – 会話が終了すると、OpenVikingは設定や経験を抽出し、次のセッション用の長期記憶として保存します。
コアコンセプト
| コンセプト | 機能 |
|---|---|
| Viking URI | 任意のコンテキストタイプ(リソース、記憶、スキル、ピア)のユニフォームアドレス(viking://…) |
| コンテキストレイヤー(L0–L2) | L0:1文の要約(約100トークン)で即時関連性チェック。L1:概要(約2kトークン)で計画。L2:完全なコンテンツ。必要時にのみ読み込み。 |
| ディレクトリ再帰的取得 | ベクトル検索でスコアの高いディレクトリを最初に選択し、レイヤーごとに段階的に掘り下げ、周辺コンテキスト付きで結果を返却。 |
| セッション→記憶 | 完了したセッションは非同期に永続的な記憶エントリ(設定、経験)に変換されます。 |
試してみる方法
- インストール –
pip install openviking --upgrade(Python 3.10+必須)。 - 初期化 –
openviking-server initはインタラクティブなウィザードを実行し、~/.openviking/ov.confを作成し、プロバイダー(Volcengine、OpenAI、Ollamaなど)を設定します。 - 検証 –
openviking-server doctorは設定、Pythonバージョン、接続性、ディスク容量をチェックします。 - 実行 –
openviking-serverでHTTPサービスを起動(バックグラウンド実行にはnohup … &を使用)。 - CLIの使用 – 添付の
ovクライアントでリソースの追加、ディレクトリのリスト表示、検索、タスクの確認が可能。例:ov add-resource https://github.com/volcengine/OpenViking ov ls viking://resources/ ov find "what is openviking" - インストールなしで遊ぶ – OpenViking StudioのWebプレイグラウンド(
https://openviking.ai/studio)では、ファイルシステム、セマンティック検索、マルチエージェントハブのライブデモが利用可能。
エージェント統合 – OpenVikingはClaude Code、Codex、OpenClaw、Hermes、Cursor、TRAE、LangChain/LangGraphなど、多くの人気あるLLMエージェントフレームワーク用の準備済みアダプタを提供。アダプタは取得したコンテキストをエージェントのプロンプトに自動的に挿入し、セッション記憶をストアにコミットします。
VikingBot – サーバーに同梱されるオプションのPythonベースのエージェントフレームワーク(pip install "openviking[bot]")。--with-botオプションでサーバーを起動するとチャットインターフェース(ov chat)が起動。DockerイメージにはVikingBot、サーバー、コンソールUIがバンドルされ、ワンクリックデプロイが可能。
デプロイオプション
- セルフホスト – 自分のクラウド、VPC、オフラインの空気遮断環境でHTTPサービスを実行。Docker、Kubernetes、スケーリングに関するプロダクションガイドあり。
- マネージドSaaS – Volcano Engineがホスト版を提供(50ファイルまで無料トライアル、その後有料プラン)。オープンソース版はライセンスキーなしで完全に機能します。
パフォーマンスの証拠 – ベンチマーク(LoCoMo記憶テストおよびtau2-benchマルチターンタスク)では、エージェントがOpenVikingを使用すると、精度が20%台から約80%まで急上昇し、トークン消費量と待機時間も大幅に低下します。
ライセンス – コアプロジェクトはAGPL-v3(完全なソース、機能制限なし)でリリース。CLIクレート(crates/ov_cli)および例題コードはApache 2.0。
さらに学ぶには
- ドキュメントとチュートリアル – https://docs.openviking.ai
- ベンチマークスクリプト – リポジトリ内の
./benchmarkディレクトリ。 - 研究論文 – VikingMem: A Memory Base Management System for Stateful LLM-based Applications(arXiv 2605.29640, VLDB 2026)。
- コミュニティ – README内のDiscord、Lark、WeChat、X(Twitter)リンク。
TL;DR – OpenVikingは、エージェントが探索・デバッグ可能な階層的でレイヤー認識型のファイルシステムに、不透明なベクトルストアを置き換えます。トークン使用量を削減し、再現精度を向上させ、幅広いLLMエージェントと互換性があり、すべてAGPL-v3オープンソースライセンスの下で提供されます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト