volcengine/OpenViking

Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.

OpenViking – AIエージェント向けのコンテキストデータベース

何であるか – OpenVikingは、LLMベースのエージェントが記憶、リソース、スキルを仮想ファイルシステム(viking://)として扱えるオープンソースのコンテキストストアです。ブラックボックスストアに生のベクトルクエリを送るのではなく、エージェントはlstreefindなどの馴染み深いコマンドで階層をブラウズ、リストアップ、検索できます。各エントリは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:完全なコンテンツ。必要時にのみ読み込み。
ディレクトリ再帰的取得 ベクトル検索でスコアの高いディレクトリを最初に選択し、レイヤーごとに段階的に掘り下げ、周辺コンテキスト付きで結果を返却。
セッション→記憶 完了したセッションは非同期に永続的な記憶エントリ(設定、経験)に変換されます。

試してみる方法

  1. インストールpip install openviking --upgrade(Python 3.10+必須)。
  2. 初期化openviking-server initはインタラクティブなウィザードを実行し、~/.openviking/ov.confを作成し、プロバイダー(Volcengine、OpenAI、Ollamaなど)を設定します。
  3. 検証openviking-server doctorは設定、Pythonバージョン、接続性、ディスク容量をチェックします。
  4. 実行openviking-serverでHTTPサービスを起動(バックグラウンド実行にはnohup … &を使用)。
  5. CLIの使用 – 添付のovクライアントでリソースの追加、ディレクトリのリスト表示、検索、タスクの確認が可能。例:
    ov add-resource https://github.com/volcengine/OpenViking
    ov ls viking://resources/
    ov find "what is openviking"
    
  6. インストールなしで遊ぶ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オープンソースライセンスの下で提供されます。

関連

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