본문으로 건너뛰기

OpenJarvis: Stanford SAIL의 로컬 우선 개인 AI 프레임워크

정석

OpenJarvis

Personal AI, On Personal Devices.

개인 AI 에이전트가 폭발적으로 인기를 얻고 있지만, 거의 모두가 클라우드 API를 통해 지능을 라우팅합니다. 당신의 “개인” AI는 여전히 다른 사람의 서버에 의존합니다.

OpenJarvis는 이 문제를 해결합니다. Stanford SAIL의 로컬 우선 개인 AI 프레임워크입니다.


1) 왜 OpenJarvis인가?

Intelligence Per Watt 연구

Stanford의 Intelligence Per Watt 연구에 따르면:

OpenJarvis가 바로 그 스택입니다.

세 가지 핵심 아이디어

아이디어설명
Shared Primitives온디바이스 에이전트 구축을 위한 공유 프리미티브
First-Class Constraints에너지, FLOPs, 지연 시간, 비용을 정확도와 함께 일급 제약으로 취급
Learning Loop로컬 추적 데이터로 모델을 개선하는 학습 루프

목표: 로컬에서 기본적으로 실행되고, 진정으로 필요할 때만 클라우드를 호출하는 개인 AI 에이전트 구축


2) 아키텍처

지원 백엔드

백엔드설명
Ollama가장 빠른 시작 경로
vLLM고성능 추론
SGLang구조화된 출력
llama.cpp경량 CPU 추론
MLXApple 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 확장이 제공하는 기능:


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

다운로드:


5) 메시징 채널

OpenJarvis는 15개 이상의 메시징 채널을 지원합니다:

채널패키지
Telegrampython-telegram-bot>=21.0
Discorddiscord.py>=2.3
Slackslack-sdk>=3.27
LINEline-bot-sdk>=3.0
WhatsAppBaileys 브리지
Viberviberbot>=1.0
Messengerpymessenger>=0.0.7
Redditpraw>=7.0
MastodonMastodon.py>=1.8
XMPPslixmpp>=1.8
RocketChatrocketchat-API>=1.30
Zulipzulip>=0.9
Twitchtwitchio>=2.6
Nostrpynostr>=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) 샌드박스

보안 실행 환경:

샌드박스설명
WASMWebAssembly 샌드박스
Docker컨테이너 격리
uv sync --extra sandbox-wasm
uv sync --extra sandbox-docker

9) 데스크톱 앱

OpenJarvis는 네이티브 데스크톱 앱을 제공합니다:


10) 프로젝트 정보

개발 기관

스폰서

인용

@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를 위한 프레임워크를 만든다.”

특히 인상적인 점:

  1. Intelligence Per Watt 연구 기반: 88.7%의 쿼리를 로컬에서 처리 가능하다는 데이터
  2. 일급 제약: 에너지, FLOPs, 지연 시간, 비용을 정확도와 동등하게 취급
  3. Rust + Python: 성능이 중요한 부분은 Rust로, 유연성은 Python으로
  4. 풍부한 채널: 15개 이상의 메시징 플랫폼 지원
  5. 데스크톱 앱: 진정한 로컬 우선 경험

이 프로젝트는 개인 AI가 클라우드에 의존하지 않아도 된다는 것을 증명합니다.


🔗 관련 정보

이전
NVIDIA NemoClaw: OpenClaw 어시스턴트를 안전하게 실행하는 샌드박스 스택
다음
CLIProxyAPI: CLI 도구의 OAuth 계정으로 OpenAI/Gemini/Claude API 프록시 구축