OpenJet - 로컬 AI 코딩 에이전트 및 LLM 추론 엔진
Stars
License
PyPI
사용자 자신의 GPU에서 실행되는 코딩 에이전트입니다. 다음 수치는 RTX 3090 한 대에서 Qwen3.8-27B Q4_K_M을 사용했을 때의 성능입니다:
| 실행 기능 | 속도 | 컨텍스트 크기 | 설정 방법 |
|---|
| 터미널 내 코딩 에이전트 1개 실행 | 추론 시 78 tok/s, 코드 작성 시 최대 140 tok/s (llama.cpp 대비 1.5-1.9배) | 100K 토큰 | 3 명령어 |
| ... | | | |
모든 것이 사용자의 장치에서 실행됩니다: 계정 필요 없음, API 키 필요 없음, 아무것도 외부로 전송되지 않으며, 모델만 다운로드하면 오프라인으로 작동합니다.
설정 방법 (Setup)
RTX 3090, 4090 또는 5090에서 에이전트 1개 실행하기
Linux 운영체제와 24GB 이상의 NVIDIA RTX 30, 40 또는 50 시리즈 GPU, 그리고 CUDA 툴킷(nvcc, CUDA 12 이상; RTX 50의 경우 12.8 이상)이 필요합니다.
pipx install open-jet
openjet setup
openjet
openjet setup은 모델(17 GB)을 다운로드하고, llama.cpp를 빌드한 다음, 약 2분 만에 사용자의 GPU용 OpenJet 자체 CUDA 엔진을 컴파일합니다. 마지막에는 다음과 같이 표시됩니다:
Megakernel built: OpenJet will serve Qwen3.8-27B with it.
만약 대신 Skipping the Qwen3.8-27B megakernel (...)가 출력된다면, 그 이유는 괄호 안에 나와 있으며 (대부분 CUDA 툴킷이 없기 때문) OpenJet은 llama-server로 폴백(fallback)합니다: 여전히 작동하며, llama.cpp 속도를 유지합니다. OpenJet이 실행되는 동안 어떤 엔진이 서비스를 제공하는지 확인하려면, pgrep -af mk_server.py를 실행하면 메가커널에 대한 줄이 출력됩니다.
다른 모든 하드웨어에서 에이전트 1개 실행하기
동일한 세 가지 명령어를 사용합니다:
pipx install open-jet
openjet setup
openjet
설정(Setup)은 VRAM과 RAM을 측정하고, 적합한 모델과 양자화(quantisation)를 선택하며, 이를 다운로드하고 컨텍스트 윈도우(context window)와 GPU 오프로드를 설정합니다. 권장 사양: VRAM이 14GB 이상인 GPU 또는 Apple silicon 기반으로 24GB 이상을 갖춘 장치입니다. CPU 전용 구성도 가능합니다(CPU-only). 이미 .gguf 파일이 있으신가요? 설정 시 로컬 .gguf 모델 파일 사용을 선택하세요. 지원하는 모델 목록은 모델 선택하기를 참고하십시오.
하나의 GPU에 4개 에이전트 구동하기
RTX 3090/4090/5090과 동일한 하드웨어에서 진행합니다. 소스 코드를 체크아웃하여 엔진을 빌드하세요:
git clone https://github.com/l-forster/open-jet.git && cd open-jet
git clone --depth 1 --branch b10246 https://github.com/ggml-org/llama.cpp.git llama.cpp
cmake -S llama.cpp -B llama.cpp/build -DGGML_CUDA=ON -DLLAMA_CURL=OFF
...
Qwen3.8-27B Q4_K_M GGUF를 사용하여 서버를 시작합니다 (만약 openjet setup이 이를 다운로드했다면, 경로는 OpenJet의 config.yaml 내 llama_model입니다):
python3 megakernel/server/mk_server.py -m /path/to/Qwen3.8-27B-Q4_K_M.gguf --agents 4
그런 다음, OpenAI 채팅 API를 사용하는 모든 에이전트(최대 4개)가 http://127.0.0.1:18080/v1을 가리키도록 설정합니다.
이들은 가중치(weights)에 걸쳐 한 번의 패스에서 디코딩되므로, 순차적으로 사용하기보다 GPU를 공유합니다:
| RTX 3090, Qwen3.8-27B Q4_K_M | 에이전트당 | 총합 |
|---|
| 1개 에이전트 생성 시 | 117 tok/s | 117 tok/s |
| ... | | |
4개의 에이전트는 하나의 132K 토큰 KV 캐시(q8_0)를 공유하므로, 한 에이전트가 대부분을 사용할 수 있어도 다른 에이전트들이 짧은 메모리로 인해 영향을 받지 않습니다.
시스템 프롬프트와 도구 목록은 모든 에이전트가 공통으로 사용하며 단 한 번만 처리됩니다. 실시간 성능(tok/s, 컨텍스트 및 에이전트별 작업량)을 확인하려면 다음 명령어를 사용하세요:
python3 megakernel/tools/mk_top.py
또는 코딩 에이전트에게 설정을 맡기세요
Codex, Claude Code 또는 터미널 접근 권한을 가진 다른 에이전트에 다음 내용을 붙여넣으십시오:
https://github.com/l-forster/open-jet/blob/master/docs/agent-install.md를 따라 이 장치에 OpenJet을 설치해 주세요. 제 하드웨어를 검사하고, 적절한 로컬 코딩 모델을 선택하며, 설정 마법사 없이 이를 구성하고, 추론이 작동하는지 확인한 후, OpenJet 사용 방법을 알려주세요.
Slipstream
프론티어 모델(ChatGPT 구독을 통한 OpenAI Codex 또는 모든 OpenRouter 모델)이 계획하고 검토합니다. 사용자의 로컬 모델은 리포지토리(repo)를 읽고, 파일을 편집하며, 테스트를 실행합니다. 로컬 모델의 결론만 프론티어 모델로 다시 전달되므로 토큰 사용량이 약 20%에 불과합니다. /connect openai-codex 또는 /connect openrouter 다음에 /mode → Slipstream으로 전환하세요.
Slipstream 참조.
Ollama, LM Studio 또는 자체 llama-server 사용하기
pipx install 'open-jet[cloud]'
config.yaml에 프로필을 추가합니다 (openjet --status에서 위치 확인 가능) 다음 /model <name>으로 선택하세요:
model_profiles:
- name: ollama-qwen
runtime: litellm
...
| Server | base_url | model |
|---|
| Ollama | http://127.0.0.1:11434/v1 | openai/<ollama model> |
| ... | | |
| 그 서버가 모델 제어권을 가지므로, OpenJet의 하드웨어 튜닝 및 CUDA 엔진은 적용되지 않습니다. | | |
Python SDK
앱 내부에 로컬 모델을 배포합니다. 빌드 시 타겟 장치에 맞게 크기를 조정하세요:
pip install open-jet
cd your-project
openjet project --use-case dialogue --target handheld --budget 4
import asyncio
from openjet.sdk import create_inference_session
...
가중치(weights)는 빌드를 위해 .openjet/models/에 저장되며, 사용자 기기에는 아무것도 다운로드되지 않습니다. SDK quickstart 참조.
벤치마크: OpenJet 엔진 대 llama.cpp
한 번의 대화(배치가 아님), RTX 3090, Qwen3.8-27B Q4_K_M. llama.cpp는 MTP speculative decoding을 포함하여 OpenJet의 플래그로 실행됩니다.
| llama.cpp | OpenJet engine |
|---|
| Decode, reasoning mode (agent가 사용하는 모드) | 51 tok/s | 78 tok/s (1.5x) |
| ... | | |
이 엔진은 Qwen3.8-27B Q4_K_M 및 UD-Q4_K_XL을 제공하며, 다른 모든 모델은 llama-server를 사용합니다. 작동 방식, 기타 양자화(quants) 및 Turing GPU: OpenJet Engine. | | |
문서
Discord · X / Twitter. 다른 하드웨어의 벤치마크를 환영합니다.
라이선스(License)
OpenJet 코어는 AGPL-3.0-only입니다: SDK와 CLI를 AGPL v3에 따라 사용, 수정 및 재배포할 수 있으며, 여기에는 네트워크 사용 소스 요구사항이 포함됩니다. 유료 호스팅, 팀 또는 엔터프라이즈 기능은 상업적 조건으로 별도 출시될 수 있습니다. 기여는 CONTRIBUTING.md와 CLA.md에 따라 받아들여집니다.