Mert Cobanov가 만든 오픈소스 프로젝트(
ollaya-dev/ollaya, Apache-2.0).
왜 필요한가?
에이전트 작업에는 “이 문의가 환불 요청인가”, “이 프롬프트에 인젝션 시도가 있는가”처럼 정해진 선택지 중 하나를 고르는 판단이 자주 끼어듭니다. 이런 판단까지 LLM에게 문장으로 추론하게 하면 매번 토큰과 시간이 들고, 답이 문장으로 나오기 때문에 기준값과 비교해 처리하기도 어렵습니다.
결정 모델(decision model)은 이런 판단만을 위한 모델입니다. 입력(state)과 정해진 형식의 질문을 받아, 각 질문에 확률이 붙은 답을 한 번의 계산으로 돌려줍니다. 텍스트는 생성하지 않습니다. Ollaya는 이 결정 모델들을 Ollama와 같은 방식으로 다룹니다. 모델을 이름으로 내려받고(pull), 로컬 서버로 띄우고(serve), 바로 실행합니다(run).
무엇을 할 수 있나
README의 첫 예시는 고객 문의 한 건을 triage 프리셋으로 판정한 결과입니다. 문의 의도는 환불(0.91), 긴급함(0.92), 이탈 위험(0.99)처럼 각 질문의 답이 확률과 함께 나옵니다.
ollaya run winnow:e4b --preset triage "Third time this year you've double-charged me. Refund it today or I'm cancelling and moving to a competitor."
에이전트용 문서에 정리된 프리셋(질문 묶음)은 6가지입니다.
| 프리셋 | 판정하는 것 |
|---|---|
triage | 고객 문의의 의도, 긴급도, 불만 정도, 환불 요청 여부, 이탈 위험 |
email | 이메일 분류, 스팸, 피싱, 긴급도, 답장 필요 여부 |
guard | 프롬프트의 탈옥 시도, 프롬프트 인젝션, 민감 정보, 유해성 |
moderation | 게시물의 유해성, 괴롭힘, 위협, 스팸 |
router | 요청의 난이도, 분야, 도구 필요 여부, 민감도 |
agent | 에이전트가 실행하려는 명령을 실행, 확인 요청, 차단 중 무엇으로 처리할지, 위험도와 파괴적 명령 여부 |
프리셋 대신 질문을 직접 정의할 수도 있습니다. 질문 형식은 세 가지입니다. choice(여러 선택지 중 하나), score(단계형 점수), noul(예/아니오)입니다. 예를 들어 “이 티켓을 어느 팀에 보낼지”, “얼마나 급한지”, “환불을 원하는지”를 한 번에 물으면, 티켓마다 담당 팀과 긴급도와 환불 여부가 확률과 함께 나옵니다. 그 결과를 기준값과 비교해 자동으로 배정하거나 사람에게 넘기면 됩니다.
핵심 기능
-
Ollama와 같은 사용법
바이너리 하나로
serve,run,pull,list,ps,show,rm,cp,stop,create를 Ollama처럼 씁니다. 서버가 꺼져 있으면 CLI가 서버를 시작합니다. Ollama(11434)와 포트(11435)가 달라 함께 띄울 수 있습니다. -
에이전트 연동(MCP, 스킬)
ollaya mcp가 Claude Code, Claude Desktop, Cursor에 MCP 서버로 모델을 제공합니다. 도구는decide,list_models,show_model,pull_model네 가지입니다. 함께 제공되는ollaya-decisions스킬은 에이전트에게 어떤 상황에 이 도구를 쓰고 어떤 모델을 고를지, 질문을 어떻게 쓰는지 알려 줍니다. -
여러 결정 모델 선택
GPU가 있으면 권장 모델
winnow:e4b, 없으면 CPU에서도 빠른laya부터 시작하도록 안내합니다. 그 밖에 이미지에 대해 묻는decider:2b-vision, 안전 판정용qwen3guard, 별도 학습 없이 분류하는nli와gliclass등이 있습니다. 전체 목록과 수치는 ollaya.dev/search에 있습니다. -
TypeSafe 호환 API
결정 모델이라는 범주는 TypeSafe의 비공개 모델 Jev가 만들었습니다. Ollaya는 TypeSafe와 같은 형식의 API(
/v1/systemone등)를 제공하므로, 기존 TypeSafe SDK는TYPESAFE_BASE_URL=http://localhost:11435만 바꾸면 그대로 동작합니다. -
Modelfile로 질문 묶음 저장
자주 쓰는 질문 묶음을 Modelfile에 넣어 나만의 모델 이름으로 저장할 수 있습니다(
ollaya create triage -f Modelfile). -
원저작자의 가중치 사용
Ollaya는 가중치를 다시 배포하지 않습니다. 원저작자의 Hugging Face 저장소에서 특정 커밋에 고정된 파일을 받아 sha256으로 검증한 뒤 사용합니다.
사용 방법
Linux와 macOS(Apple silicon)는 설치 스크립트로 설치합니다. NVIDIA GPU가 있으면 설치 스크립트가 CUDA 런타임을 함께 설치합니다.
curl -fsSL https://ollaya.dev/install.sh | sh
Windows는 PowerShell에서 irm https://ollaya.dev/install.ps1 | iex를 실행합니다. 서버를 켜고 끄고 모델을 내려받는 데스크톱 앱은 ollaya.dev/download에서 받을 수 있습니다.
Claude Code에 연결하고, 에이전트가 사용법을 알 수 있도록 스킬을 추가합니다.
claude mcp add ollaya -- ollaya mcp
npx skills add ollaya-dev/ollaya --skill ollaya-decisions
터미널에서 바로 시험해 볼 수도 있습니다. 모델은 처음 실행할 때 자동으로 내려받습니다.
ollaya run laya --preset triage --format json "I was charged twice and want a refund."
알아두면 좋은 점
- 언제 쓰고 언제 쓰지 않나 — 답이 정해진 선택지 중 하나이고 그 답으로 바로 행동할 때(배정, 라벨링, 차단, 에스컬레이션) 씁니다. 요약, 설명, 새 문장이 필요한 작업에는 쓰지 않습니다. 스킬 문서가 이 기준을 그대로 밝힙니다.
- 하드웨어에 따라 속도 차이가 큽니다 — README 측정 기준으로
laya같은 인코더 모델은 GPU에서 질문 5개에 7-35ms, CPU에서 0.3-2.4초입니다. 디코더 모델은 GPU에서 0.1-0.9초, CPU에서 1.3-25초입니다.nimble,jeeves,clef는 24GB GPU가 필요합니다. - 설치 요건 — Linux는 glibc 2.38 이상(예: Ubuntu 24.04 이상)이 필요합니다. macOS는 Apple silicon을 지원합니다.
- 로컬 실행 — 서버는 기본으로
127.0.0.1:11435에서 동작합니다. 공식 FAQ는 입력과 질문을 기록하지 않으며 네트워크는 모델을 내려받을 때만 쓴다고 밝힙니다. - 초기 프로젝트입니다 — 2026년 9월에 공개됐고 며칠 간격으로 새 버전이 나오고 있습니다. 모델 목록과 수치가 자주 바뀌므로 최신 정보는 ollaya.dev/results에서 확인합니다.
- 모델별 라이선스 — Ollaya 자체는 Apache-2.0이고, 각 모델은 원저작자의 라이선스를 따릅니다.
- 독립 프로젝트 — README는 Ollama, TypeSafe와 제휴하거나 보증받은 관계가 아니라고 밝힙니다.
- 출처 — ollaya-dev/ollaya (Apache-2.0), 문서: ollaya.dev/docs.