
AI 에이전트가 장기 실행 작업을 수행할 때 가장 큰 병목은 무엇일까요? 모델 성능도, 툴 능력도 아닙니다. 컨텍스트 관리입니다.
메모리는 코드에, 리소스는 벡터 DB에, 스킬은 흩어져 있습니다. 전통적 RAG는 평면 저장으로 글로벌 뷰가 부족하고, 검색 체인은 불투명해 디버깅이 어렵습니다.
OpenViking은 이 문제를 “파일시스템”이라는 익숙한 패러다임으로 해결합니다. viking:// URI 하나로 메모리, 리소스, 스킬을 통합 관리하고, 계층형 로딩으로 토큰 비용을 90% 이상 절감합니다.
탄생 배경: Volcengine의 에이전트 인프라 노하우
Volcengine(바이트댄스)은 수천 개의 AI 에이전트를 운영하면서 다섯 가지 핵심 문제를 발견했습니다:
- 단편화된 컨텍스트 — 메모리는 코드에, 리소스는 벡터 DB에, 스킬은 흩어져
- 급증하는 컨텍스트 수요 — 장기 실행 작업의 컨텍스트 관리
- 낮은 검색 효과 — 전통적 RAG의 평면 저장, 글로벌 뷰 부족
- 불투명한 컨텍스트 — 암시적 검색 체인, 디버깅 어려움
- 제한된 메모리 반복 — 사용자 상호작용 기록만, 작업 메모리 부족
OpenViking은 이 모든 문제를 가상 파일시스템이라는 단일 패러다임으로 해결합니다.
5가지 핵심 개념
1. 파일시스템 관리 패러다임
모든 컨텍스트를 viking:// 프로토콜로 통합합니다:
viking://
├── resources/ # 프로젝트 문서, 리포, 웹페이지
├── user/ # 개인 선호, 습관
│ ├── memories/
│ └── preferences/
└── agent/ # 스킬, 인스트럭션, 작업 메모리
├── skills/
├── memories/
└── instructions/
익숙한 명령어로 조작합니다:
ov ls viking://resources/ # 리소스 목록
ov tree viking://resources/xx -L 2 # 트리 구조
ov find "what is openviking" # 검색
ov grep "openviking" --uri viking:// # 그렙
2. 계층형 컨텍스트 로딩 (L0/L1/L2)
토큰 비용 절감의 핵심입니다. 모든 데이터를 3단계로 계층화합니다:
| 레벨 | 크기 | 용도 |
|---|---|---|
| L0 (Abstract) | ~100 토큰 | 한 문장 요약 |
| L1 (Overview) | ~2k 토큰 | 핵심 정보 |
| L2 (Details) | 전체 원본 | 상세 데이터 |
에이전트는 먼저 L0으로 전체 스캔, 관련 영역을 L1으로 확대, 필요시에만 L2 접근합니다. 이 방식으로 LoCoMo10 벤치마크에서 91% 토큰 비용 절감을 달성했습니다.
3. 디렉토리 재귀 검색
기존 RAG의 평면 검색과 달리, 디렉토리 구조를 활용한 계층형 검색을 수행합니다:
의도 분석 → 초기 위치 → 정밀 탐색 → 재귀 드릴다운 → 결과 집계
“높은 점수 디렉토리 먼저, 그 다음 내용 정밀 탐색” 원칙으로 검색 정확도를 높입니다.
4. 시각화된 검색 궤적
검색 과정이 투명하게 추적됩니다:
- 디렉토리 브라우징 경로
- 파일 위치 추적
- 문제 원인 파악
- 검색 로직 최적화
“왜 이 결과가 나왔는지”를 디버깅할 수 있습니다.
5. 자동 세션 관리
세션 종료 시 자동으로:
- 메모리 추출 메커니즘 작동
- 사용자 메모리 업데이트
- 에이전트 경험 축적
다음 세션에서 이전 경험이 자동으로 활용됩니다.
OpenClaw 성능 개선: LoCoMo10 벤치마크
실제 성능 개선은 인상적입니다:
| 실험군 | 작업 완료율 | 입력 토큰 비용 |
|---|---|---|
| OpenClaw (memory-core) | 35.65% | 24,611,530 |
| OpenClaw + LanceDB | 44.55% | 51,574,530 |
| OpenClaw + OpenViking | 52.08% | 4,264,396 |
핵심 성과:
- 원본 대비 43% 성능 개선
- 원본 대비 91% 토큰 비용 절감
- LanceDB 대비 15% 성능 개선
- LanceDB 대비 96% 토큰 비용 절감
더 적은 토큰으로 더 높은 성능을 달성하는 비결은 L0/L1/L2 계층형 로딩입니다.
설치 및 설정
Python 패키지
pip install openviking --upgrade --force-reinstall
CLI 도구
curl -fsSL https://raw.githubusercontent.com/volcengine/OpenViking/main/crates/ov_cli/install.sh | bash
설정 파일 (~/.openviking/ov.conf)
{
"storage": {
"workspace": "/home/your-name/openviking_workspace"
},
"embedding": {
"dense": {
"api_base": "https://api.openai.com/v1",
"api_key": "your-api-key",
"provider": "openai",
"dimension": 3072,
"model": "text-embedding-3-large"
}
},
"vlm": {
"api_base": "https://api.openai.com/v1",
"api_key": "your-api-key",
"provider": "openai",
"model": "gpt-4-vision-preview"
}
}
CLI 명령어
# 서버 시작
openviking-server
# 상태 확인
ov status
# 리소스 추가
ov add-resource https://github.com/xx
# 리소스 목록
ov ls viking://resources/
# 트리 구조
ov tree viking://resources/xx -L 2
# 검색
ov find "what is openviking"
# 그렙
ov grep "openviking" --uri viking://
VikingBot: 대화형 채팅
VikingBot을 사용하면 OpenViking과 대화형으로 상호작용할 수 있습니다:
pip install "openviking[bot]"
openviking-server --with-bot
ov chat
지원 모델
OpenViking은 다양한 LLM 백엔드를 지원합니다:
| 프로바이더 | 모델 |
|---|---|
| Volcengine | Doubao 시리즈 |
| OpenAI | GPT-4, GPT-4V |
| LiteLLM | Anthropic, DeepSeek, Gemini, Qwen, vLLM, Ollama 등 |
LiteLLM을 통해 거의 모든 주요 LLM을 사용할 수 있습니다.
요구사항
- Python: 3.10+
- Go: 1.22+ (AGFS 컴포넌트용)
- C++ 컴파일러: GCC 9+ 또는 Clang 11+
OpenClaw 플러그인으로 사용
OpenViking은 OpenClaw의 플러그인으로 직접 통합할 수 있습니다. 위 벤치마크 결과에서 보듯, OpenClaw + OpenViking 조합은 가장 효율적인 컨텍스트 관리 솔루션입니다.
컨텍스트 관리의 패러다임 전환
OpenViking의 진정한 혁신은 기술적 우위보다 패러다임 전환에 있습니다.
기존 RAG 시스템들은 “어떻게 벡터를 더 잘 검색할까”에 집중했습니다. OpenViking은 “컨텍스트를 파일처럼 관리하면 어떨까”라고 물었습니다.
결과는 명확합니다:
- 익숙한 패러다임 — ls, find, grep으로 컨텍스트 관리
- 계층형 효율성 — L0/L1/L2로 토큰 90% 절감
- 투명한 검색 — 디렉토리 궤적으로 디버깅 가능
- 자동 메모리 — 세션 간 경험 축적
5,900+ 스타가 증명하는 커뮤니티 검증. Volcengine의 프로덕션 노하우. 그리고 오픈소스.
컨텍스트 관리의 새로운 표준을 확인해보세요.
🔗 관련 정보
- 공식 사이트: https://openviking.ai
- GitHub: https://github.com/volcengine/OpenViking
- 개발자: Volcengine (바이트댌스)
- 언어: Python
- 지원 모델: Volcengine, OpenAI, LiteLLM (Anthropic, DeepSeek, Gemini, Qwen, vLLM, Ollama)