
Personal AI, On Personal Devices.
개인 AI 에이전트가 폭발적으로 인기를 얻고 있지만, 거의 모두가 클라우드 API를 통해 지능을 라우팅합니다. 당신의 “개인” AI는 여전히 다른 사람의 서버에 의존합니다.
OpenJarvis는 이 문제를 해결합니다. Stanford SAIL의 로컬 우선 개인 AI 프레임워크입니다.
1) 왜 OpenJarvis인가?
Intelligence Per Watt 연구
Stanford의 Intelligence Per Watt 연구에 따르면:
- 로컬 LLM은 단일 턴 채팅 및 추론 쿼리의 88.7%를 이미 처리할 수 있음
- 2023년에서 2025년 사이 지능 효율성이 5.3배 개선됨
- 모델과 하드웨어는 준비되었지만, 소프트웨어 스택이 부재했음
OpenJarvis가 바로 그 스택입니다.
세 가지 핵심 아이디어
| 아이디어 | 설명 |
|---|---|
| Shared Primitives | 온디바이스 에이전트 구축을 위한 공유 프리미티브 |
| First-Class Constraints | 에너지, FLOPs, 지연 시간, 비용을 정확도와 함께 일급 제약으로 취급 |
| Learning Loop | 로컬 추적 데이터로 모델을 개선하는 학습 루프 |
목표: 로컬에서 기본적으로 실행되고, 진정으로 필요할 때만 클라우드를 호출하는 개인 AI 에이전트 구축
2) 아키텍처
지원 백엔드
| 백엔드 | 설명 |
|---|---|
| Ollama | 가장 빠른 시작 경로 |
| vLLM | 고성능 추론 |
| SGLang | 구조화된 출력 |
| llama.cpp | 경량 CPU 추론 |
| MLX | Apple Silicon 최적화 |
구조
openjarvis/
├── agents/ # 에이전트 구현
├── channels/ # 메시징 채널 (Telegram, Discord, Slack, LINE...)
├── core/ # 핵심 프레임워크
├── engine/ # 추론 엔진 추상화
├── evals/ # 평가 프레임워크
├── learning/ # 학습 루프
├── mcp/ # Model Context Protocol
├── operators/ # 연산자
├── optimize/ # 최적화
├── sandbox/ # 샌드박스 (WASM, Docker)
├── scheduler/ # 작업 스케줄러
├── security/ # 보안 (서명, 인증)
├── server/ # FastAPI 서버
├── sessions/ # 세션 관리
├── skills/ # 스킬 시스템
├── speech/ # 음성 (Whisper, Deepgram)
├── telemetry/ # 원격 측정
├── tools/ # 내장 도구
├── traces/ # 추적 데이터
└── workflow/ # 워크플로우
Rust 확장
완전한 기능을 위해 Rust 확장이 필요합니다:
# Rust 설치
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Rust 확장 빌드
uv run maturin develop -m rust/crates/openjarvis-python/Cargo.toml
Rust 확장이 제공하는 기능:
- 보안 (서명, 암호화)
- 도구 (MCP, 웹 검색)
- 에이전트 (오케스트레이션)
- 샌드박스 (WASM, Docker)
3) 설치 및 Quick Start
설치
git clone https://github.com/open-jarvis/OpenJarvis.git
cd OpenJarvis
uv sync # 코어 프레임워크
uv sync --extra server # + FastAPI 서버
Quick Start (Ollama)
# 1. 하드웨어 감지 및 설정 생성
uv run jarvis init
# 2. Ollama 설치 및 시작
curl -fsSL https://ollama.com/install.sh | sh
ollama serve
# 3. 모델 풀
ollama pull qwen3:8b
# 4. 질문하기
uv run jarvis ask "What is the capital of France?"
# 5. 설정 확인
uv run jarvis doctor
jarvis init은 하드웨어를 자동 감지하고 최적의 엔진을 추천합니다.
4) 사용 방법
Python SDK
from openjarvis import Jarvis
j = Jarvis() # 엔진 자동 감지
response = j.ask("Explain quicksort.")
print(response)
상세 정보를 얻으려면 ask_full() 사용:
result = j.ask_full(
"What is 2 + 2?",
agent="orchestrator",
tools=["calculator"],
)
print(result["content"]) # "4"
print(result["tool_results"]) # [{tool_name: "calculator", ...}]
CLI
# 기본 질문
jarvis ask "What is the capital of France?"
# 에이전트 + 도구 지정
jarvis ask --agent orchestrator --tools calculator "What is 137 * 42?"
# 서버 실행
jarvis serve --port 8000
# 메모리 인덱싱
jarvis memory index ./docs/
jarvis memory search "configuration options"
Browser App
./scripts/quickstart.sh
Ollama + 로컬 모델 시작, 백엔드/프론트엔드 실행, http://localhost:5173 열기.
Desktop App
다운로드:
- macOS (Universal)
- Windows
- Linux (DEB, RPM)
5) 메시징 채널
OpenJarvis는 15개 이상의 메시징 채널을 지원합니다:
| 채널 | 패키지 |
|---|---|
| Telegram | python-telegram-bot>=21.0 |
| Discord | discord.py>=2.3 |
| Slack | slack-sdk>=3.27 |
| LINE | line-bot-sdk>=3.0 |
| Baileys 브리지 | |
| Viber | viberbot>=1.0 |
| Messenger | pymessenger>=0.0.7 |
praw>=7.0 | |
| Mastodon | Mastodon.py>=1.8 |
| XMPP | slixmpp>=1.8 |
| RocketChat | rocketchat-API>=1.30 |
| Zulip | zulip>=0.9 |
| Twitch | twitchio>=2.6 |
| Nostr | pynostr>=0.6 |
# 채널 설치
uv sync --extra channel-telegram
uv sync --extra channel-discord
6) 평가 프레임워크
일급 제약
OpenJarvis의 평가는 정확도만 측정하지 않습니다:
| 제약 | 설명 |
|---|---|
| 에너지 | kJ 단위 소비 에너지 |
| FLOPs | 연산량 |
| 지연 시간 | 엔드투엔드 응답 시간 |
| 비용 | 달러 단위 (클라우드 API용) |
| 정확도 | 응답 품질 |
지원 백엔드
# WandB
uv sync --extra eval-wandb
# Google Sheets
uv sync --extra eval-sheets
7) 학습 루프
OpenJarvis는 로컬 추적 데이터로 모델을 개선합니다:
# DSPy
uv sync --extra learning-dspy
# GEPA
uv sync --extra learning-gepa
8) 샌드박스
보안 실행 환경:
| 샌드박스 | 설명 |
|---|---|
| WASM | WebAssembly 샌드박스 |
| Docker | 컨테이너 격리 |
uv sync --extra sandbox-wasm
uv sync --extra sandbox-docker
9) 데스크톱 앱
OpenJarvis는 네이티브 데스크톱 앱을 제공합니다:
- macOS, Windows, Linux 지원
- 백엔드는 로컬에서 실행 (Ollama + 추론)
http://localhost:8000에 자동 연결
10) 프로젝트 정보
개발 기관
스폰서
- Laude Institute
- Stanford Marlowe
- Google Cloud Platform
- Lambda Labs
- Ollama
- IBM Research
- Stanford HAI
인용
@misc{saadfalcon2026openjarvis,
title={OpenJarvis: Personal AI, On Personal Devices},
author={Jon Saad-Falcon and Avanika Narayan and Herumb Shandilya and Hakki Orhun Akengin and Robby Manihani and Gabriel Bo and John Hennessy and Christopher R\'{e} and Azalia Mirhoseini},
year={2026},
howpublished={\url{https://scalingintelligence.stanford.edu/blogs/openjarvis/}},
}
마치며: PyTorch 정신의 로컬 AI 프레임워크
OpenJarvis는 연구 플랫폼이자 프로덕션 기반을 목표로 합니다.
“PyTorch의 정신으로, 로컬 AI를 위한 프레임워크를 만든다.”
특히 인상적인 점:
- Intelligence Per Watt 연구 기반: 88.7%의 쿼리를 로컬에서 처리 가능하다는 데이터
- 일급 제약: 에너지, FLOPs, 지연 시간, 비용을 정확도와 동등하게 취급
- Rust + Python: 성능이 중요한 부분은 Rust로, 유연성은 Python으로
- 풍부한 채널: 15개 이상의 메시징 플랫폼 지원
- 데스크톱 앱: 진정한 로컬 우선 경험
이 프로젝트는 개인 AI가 클라우드에 의존하지 않아도 된다는 것을 증명합니다.
🔗 관련 정보
- GitHub: https://github.com/open-jarvis/OpenJarvis
- 문서: https://open-jarvis.github.io/OpenJarvis/
- 프로젝트 사이트: https://scalingintelligence.stanford.edu/blogs/openjarvis/
- 리더보드: https://open-jarvis.github.io/OpenJarvis/leaderboard/
- Intelligence Per Watt: https://www.intelligence-per-watt.ai/
- Discord: https://discord.gg/wfXEkpPX