오 마이 오픈코드: 전문 에이전트 심층 분석 및 모델 가이드
시시포스와 그 전문 에이전트 팀을 소개합니다.
OpenCode 의 가장 큰 능력 향상은 전담 에이전트 (specialised agents) 에서 비롯됩니다: 오케스트레이션, 계획, 실행, 연구의 의도적인 분리입니다.
Oh My Opencode 는 이 아이디어를 시시포스 (Sisyphus) 가 서로 다른 권한, 프롬프트, 모델 선호도를 가진 에이전트의 “가상 팀"을 조정하는 올인원 하네스로 패키징합니다.

이 글은 에이전트와 모델 라우팅에 대한 심층 분석입니다. 여정이 초기 단계라면 다음을 참조하세요:
- OpenCode 빠른 시작 — 기본 에이전트 설치 및 설정
- Oh My Opencode 빠른 시작 — 플러그인 설치 및 첫 번째 Ultrawork 작업 실행
- Oh My Opencode 경험 — 실제 결과 및 커뮤니티 벤치마크
더 넓은 AI 코딩 도구 체인 컨텍스트에 대해서는 AI 개발자 도구 개요 를 참조하세요.
Oh My Opencode 란 무엇이며 OpenCode 를 어떻게 확장하나요
OpenCode 는 터미널을 위해 구축된 오픈 소스 AI 코딩 에이전트입니다. TUI 를 함께 제공하며, 인자가 없는 opencode 를 실행할 때 CLI 이 기본값으로 해당 TUI 를 시작합니다. OpenCode 는 제공자 (provider) 유연성을 갖추고 있습니다: 로컬 모델을 포함한 방대한 제공자 카탈로그를 지원하며, 설정 파일과 /connect 흐름을 통해 제공자 설정을 노출하고, 패치 없이 클라우드 API 에서부터 Ollama 엔드포인트까지 모든 것을 처리합니다.
Oh My Opencode(또는 oh-my-openagent, 혹은 “omo"라고도 함) 는 OpenCode 를 완전한 다중 에이전트 엔지니어링 시스템으로 변형하는 커뮤니티 플러그인입니다. 다음과 같은 기능을 추가합니다:
- 병렬 배경 실행을 지원하는 시시포스 (Sisyphus) 오케스트레이션 시스템
- 고유한 역할, 모델 계열별로 튜닝된 프롬프트, 명시적인 도구 권한을 가진 11 개의 전담 에이전트
- 에이전트 내 IDE 품질 리팩토링을 위한 LSP + AST-Grep
- Hashline — 스테일 라인 (stale-line) 오류를 제거하는 해시 기반 편집 도구 (아래 참조)
- 내장 MCPs: Exa(웹 검색), Context7(공식 문서), Grep.app(GitHub 검색) 으로 모두 기본적으로 활성화됨
/init-deep— 프로젝트 전반에 계층적AGENTS.md파일을 자동으로 생성하여 효율적인 컨텍스트 주입 제공
이름의 혼란스러운 점: 업스트림 저장소는 이제 oh-my-openagent로 브랜딩되었지만, 플러그인 패키지 및 설치 명령어는 여전히 oh-my-opencode를 사용합니다. 유지 관리자는 이를 “oh-mo” 또는 “시시포스"라고 부를 것을 제안합니다.
왜 Oh My Opencode 는 서로 다른 에이전트에 다른 모델을 할당하나요
Oh My Opencode 는 하나의 근본적인 아이디어를 중심으로 구축되었습니다: 서로 다른 모델은 서로 다르게 사고하며, 각 에이전트의 프롬프트는 하나의 사고 모델에 맞춰 작성되었습니다. Claude 는 메커니즘 기반 프롬프트를 따릅니다: 상세한 체크리스트, 템플릿, 단계별 절차입니다. 규칙이 많을수록 준수율이 높아집니다. GPT(특히 5.2+ 버전) 는 원칙 기반 프롬프트를 따릅니다: 간결한 원칙, XML 구조, 명시적인 결정 기준입니다. GPT 에 Claude 프롬프트 1,100 줄을 주면 스스로 모순됩니다. Claude 에 GPT 프롬프트 121 줄을 주면 산만해집니다.
이는 설정을 통해 우회할 수 있는 단순한 특징이 아닙니다. 이는 시스템의 설계입니다.
실용적인 결과는 다음과 같습니다: 에이전트의 모델을 변경하면 실행되는 프롬프트도 변경됩니다. 여러 모델 계열을 지원하는 에이전트 (Prometheus, Atlas) 는 isGptModel() 을 통해 런타임 시 모델을 자동 감지하고 프롬프트를 자동으로 전환합니다. 지원하지 않는 에이전트 (Sisyphus, Hephaestus) 는 하나의 계열만을 위한 프롬프트로 작성되어 있으며, 잘못된 계열로 교체하면 출력이 현저히 저하됩니다.
Oh My Opencode 전담 에이전트들이 어떻게 협업하나요
네 가지 에이전트 성격 그룹
에이전트는 최적화된 모델 계열에 따라 네 가지 그룹으로 나뉩니다. 이는 시스템을 이해하고 자체 호스팅 결정을 내리는 데 중요합니다.
1 그룹 — 의사소통자 (Communicators, Claude / Kimi / GLM): 시시포스 (Sisyphus) 와 메티스 (Metis). 길고 메커니즘 기반의 프롬프트 (~1,100 줄, 시시포스 기준). 수십 개의 도구 호출 동안 복잡한 다중 레이어 지시 사항을 신뢰할 수 있게 따를 수 있는 모델이 필요합니다. Claude Opus 가 기준 모델입니다. Kimi K2.5 와 GLM-5 는 유사하게 작동하는 강력한 비용 효율적인 대안입니다. 이전 GPT 모델로 오버라이드하지 마세요.
2 그룹 — 이중 프롬프트 (Claude 선호, GPT 지원): 프로메테우스 (Prometheus) 와 아틀라스 (Atlas). 런타임 시 모델 계열을 자동 감지하고 적절한 프롬프트로 전환합니다. Claude 는 전체 메커니즘 기반 버전을 받습니다. GPT 는 ~121 줄의 간결한 원칙 기반 버전을 받아 동일한 결과를 달성합니다. 둘 다 안전하게 사용할 수 있으며, 시스템이 전환을 처리합니다.
3 그룹 — GPT 네이티브 (GPT-5.3-codex / GPT-5.4): 헤파이스토스 (Hephaestus), 오라클 (Oracle), 모무스 (Momus). 원칙 기반, 자율 실행 스타일. 목표 지향적이고 독립적인 추론을 가정하며, 이는 GPT 가 구축된 방식입니다. 헤파이스토스는 폴백이 없으며 GPT 접근이 필요합니다. Claude 로 오버라이드하지 마세요. 행동이 저하됩니다.
4 그룹 — 유틸리티 러너 (지능보다 속도): 익스플로어 (Explore), 도서관장 (Librarian), 멀티모달 룩커 (Multimodal Looker). grep, 검색, 검색 작업을 수행합니다. 의도적으로 사용 가능한 가장 빠르고 저렴한 모델을 사용합니다. “익스플로어"를 Opus 로 업그레이드하는 것은 시니어 엔지니어를 서류 작업에 고용하는 것과 같습니다. 이들은 또한 로컬 모델로 교체하기에 가장 좋은 후보입니다.
위임 메커니즘
Oh My Opencode 는 위임을 위해 두 가지 보완 도구를 사용합니다:
task()— 카테고리 기반 위임:visual-engineering또는deep과 같은 카테고리를 선택하고, 선택적으로 스킬을 주입하며, 선택적으로 배경에서 실행call_omo_agent()— 이름으로 특정 에이전트를 직접 호출: 카테고리 라우팅을 우회
둘 다 병렬 배경 실행을 지원하며, 제공자 및 모델마다 병렬성 (concurrency) 이 강제됩니다.
카테고리는 모델 라우팅 사전 설정입니다
시시포스가 서브 에이전트로 위임할 때, 모델 이름이 아닌 카테고리를 선택합니다. 카테고리는 자동으로 올바른 모델로 매핑됩니다.
| 카테고리 | 용도 | 기본 모델 |
|---|---|---|
visual-engineering |
프론트엔드, UI/UX, CSS, 디자인 | Gemini 3.1 Pro (high) |
artistry |
창의적, 독창적인 접근법 | Gemini 3.1 Pro → Claude Opus → GPT-5.4 |
ultrabrain |
어려운 논리, 아키텍처 결정 | GPT-5.4 (xhigh) → Gemini 3.1 Pro → Claude Opus |
deep |
심층 코딩, 복잡한 다중 파일 논리 | GPT-5.3 Codex → Claude Opus → Gemini 3.1 Pro |
unspecified-high |
일반적인 복잡한 작업 | Claude Opus → GPT-5.4 (high) → GLM-5 |
unspecified-low |
일반적인 표준 작업 | Claude Sonnet → GPT-5.3 Codex → Gemini Flash |
quick |
단일 파일 변경, 간단한 작업 | Claude Haiku → Gemini Flash → GPT-5-Nano |
writing |
텍스트, 문서, 산문 | Gemini Flash → Claude Sonnet |
카테고리는 자체 호스팅에도 적절한 추상화입니다: 카테고리를 로컬 모델에 매핑하면 해당 카테고리로 라우팅되는 모든 작업이 자동으로 이를 사용합니다.
모델 분해 순서
에이전트 요청 → 사용자 오버라이드 (설정 시) → 폴백 체인 → 시스템 기본값
동일한 모델이 여러 제공자를 통해 사용 가능한 경우의 제공자 우선순위:
네이티브 (anthropic/, openai/, google/) > Kimi for Coding > GitHub Copilot > Venice > OpenCode Go > Z.ai Coding Plan
Oh My Opencode 에이전트: 역할 및 모델 요구사항을 포함한 전체 목록
오케스트레이터
시시포스 (Sisyphus)
목적: 메인 오케스트레이터. 공격적인 병렬 실행을 통해 작업을 계획하고 위임하여 완료까지 주도합니다.
그룹: 의사소통자 (Claude / Kimi / GLM)
역할: 전체 코드베이스를 조정하는 팀 리드 — ~1,100 줄의 메커니즘 기반 프롬프트는 수십 개의 도구 호출 동안 모든 단계를 잃지 않고 따를 수 있는 모델을 필요로 합니다.
⚠️ 시시포스를 이전 GPT 모델로 절대 오버라이드하지 마세요. GPT-5.4 는 전용 프롬프트 경로를 가지지만 권장 기본값은 아닙니다. Claude Opus 가 기준입니다.
폴백 체인: anthropic/claude-opus-4-6 (max) → opencode-go/kimi-k2.5 → k2p5 → gpt-5.4 → glm-5 → big-pickle
자체 호스팅: 시시포스는 로컬에서 실행하기 가장 어려운 에이전트입니다. 프롬프트 복잡성으로 인해 긴 도구 호출 시퀀스에서 강력한 지시 따름 능력을 가진 모델에 의존합니다. 로컬 Qwen3-coder 또는 DeepSeek-Coder-V3 는 간단한 작업에는 작동할 수 있지만, 다중 에이전트 조정이 필요한 워크플로우에서는 성능 저하를 예상해야 합니다. 자체 호스팅 시 병렬 실행을 활성화하기 전에 단일 에이전트 작업으로 테스트하세요.
아틀라스 (Atlas)
목적: “할 일 목록 오케스트레이터.” 완수와 순서를 강제하여 구조화된 계획을 유지합니다.
그룹: 이중 프롬프트 (Claude 선호, GPT 지원)
역할: 시시포스가 큰 그림을 처리하는 동안, 아틀라스는 체크리스트를 주도합니다. 런타임 시 모델 계열을 자동 감지하고 프롬프트를 그에 맞게 전환합니다.
폴백 체인: anthropic/claude-sonnet-4-6 → opencode-go/kimi-k2.5
자체 호스팅: 빠르고 신뢰할 수 있는 로컬 코더 모델이 시시포스의 오케스트레이션보다 구조화된 작업인 “체크리스트 주도” 작업을 적절히 처리합니다. 32k+ 컨텍스트의 Qwen3-coder 가 실행 가능한 시작점입니다.
계획 에이전트
계획 계층은 “행동하기 전에 생각하라"를 강제합니다: 요구 사항 수집, 격차 감지, 계획 비판은 모든 실행 에이전트가 작업을 보기 전에 모두 발생합니다.
프로메테우스 (Prometheus)
목적: 인터뷰 스타일 워크플로우를 갖춘 전략적 플래너. Tab을 누르거나 /start-work 를 실행할 때 활성화됩니다.
그룹: 이중 프롬프트 (Claude 선호, GPT 지원)
역할: 실제 엔지니어처럼 인터뷰를 합니다 — 범위를 식별하고, 모호성을 드러내고, 한 줄의 코드도 수정하기 전에 검증된 계획을 생성합니다. GPT 버전은 ~121 줄로 동일한 결과를 달성하며, Claude 버전은 7 개 파일에 걸쳐 ~1,100 줄을 사용합니다.
협업: 실행으로 넘기기 전에 메티스 (격차 감지) 와 모무스 (계획 검증) 와 협업합니다.
폴백 체인: anthropic/claude-opus-4-6 (max) → openai/gpt-5.4 (high) → opencode-go/glm-5 → google/gemini-3.1-pro
자체 호스팅: 낮은 온도의 강력한 지시 따름 로컬 모델로 실행 가능합니다. 모델이 긴 다중 턴 인터뷰 동안 제약 조건과 수용 기준을 컨텍스트에 유지할 수 없을 때 계획 품질이 저하됩니다. 최소 64k 컨텍스트 창 권장.
메티스 (Metis)
목적: 사전 계획 컨설턴트 및 격차 분석가. 창의적인 격차 감지를 장려하기 위해 대부분의 에이전트보다 높은 온도에서 실행됩니다.
그룹: 의사소통자 (Claude 선호)
역할: 실행 전 “무엇을 놓쳤나요?” 리뷰어 — 코드 작성 작업자가 아닌, 계획 품질 관리의 일부입니다.
협업: 계획이 최종화되기 전에 프로메테우스에 의해 호출됩니다.
폴백 체인: anthropic/claude-opus-4-6 (max) → opencode-go/glm-5 → k2p5
자체 호스팅: 추론 가능한 로컬 모델이면 충분합니다. 메티스가 실제로 엣지 케이스를 드러나게 하려면 온도를 0 이 아닌 값으로 유지하세요. 0 으로 설정하면 도장 찍기 (rubber-stamp) 가 됩니다.
모무스 (Momus)
목적: 무자비한 계획 리뷰어. 명확성과 검증 표준을 강제합니다. 엄격한 “승인 또는 거부” 게이트로 작동할 수 있습니다.
그룹: GPT 네이티브
역할: 계획을 위한 QA 마인드 비판가. 도구 제한으로 인해 실행 모드 대신 리뷰 모드에 머무르게 합니다.
협업: 작업 시작 전에 실행 가능성에 도전하기 위해 계획 생성 후 사용됩니다.
폴백 체인: openai/gpt-5.4 (medium) → anthropic/claude-opus-4-6 (max) → google/gemini-3.1-pro (high)
자체 호스팅: 자체 호스팅 시 샘플링을 매우 낮게 유지하세요. 모무스의 전체 목적은 안정적이고 재현 가능한 비판이며, 여기서 창의성은 가장 원하지 않는 요소입니다. 온도 0.1 이하의 강력한 로컬 추론 모델이 올바른 설정입니다.
워커 (Worker) 에이전트
헤파이스토스 (Hephaestus)
목적: 자율적 심층 워커. 레시피가 아닌 목표를 주세요.
그룹: GPT 네이티브 — GPT-5.3 Codex 전용
역할: 하루 종일 방에서 코딩하는 전문가. 코드베이스를 탐색하고 패턴을 연구하며, 끊임없는 감독 없이 끝에서 끝까지 실행합니다. 유지 관리자는 이를 “합법적인 장인 (Legitimate Craftsman)“이라고 부릅니다 (OpenCode 를 차단한 Anthropic 의 결정에 대한 의도적 참조).
⚠️ 폴백 체인 없음 — GPT 접근이 필요합니다. 이 에이전트를 위한 Claude 프롬프트는 없습니다. OpenAI 나 GitHub Copilot 없이 실행하면 실행할 수 없습니다. “GPT-5.3-codex-spark"는 존재하지만 명시적으로 권장되지 않습니다 — 컨텍스트를 너무 공격적으로 압축하여 Oh My Opencode 의 컨텍스트 관리가 깨집니다.
폴백 체인: openai/gpt-5.3-codex (medium) — 폴백 없음
자체 호스팅: 현재 헤파이스토스를 위한 실행 가능한 로컬 대안은 없습니다. 프롬프트는 GPT-Codex 의 원칙 기반, 자율 탐색 스타일을 중심으로 구축되었습니다. 완전히 로컬 스택에서 심층 워커가 필요하면 대신 deep 카테고리와 시시포스 주니어 (Sisyphus-Junior) 를 사용하세요 (이는 GPT-5.3 Codex 로 라우팅되거나, 그게 없으면 Claude Opus 로 폴백됨).
시시포스 주니어 (Sisyphus-Junior)
목적: 위임 시스템이 사용하는 카테고리 생성 실행자.
그룹: 이를 시작하는 카테고리에서 상속
역할: 카테고리 설정에서 모델을 상속하는 “전담 계약자”. task() 를 통해 동적으로 생성되며, 종종 스킬이 주입되고 병렬성을 위해 배경에서 실행될 수 있습니다. 능력은 전적으로 할당하는 카테고리에 의해 결정되는 공백 작업자라고 생각하세요.
폴백 체인: anthropic/claude-sonnet-4-6 (기본값); 실제로는 시작 카테고리를 상속
자체 호스팅: 시시포스 주니어는 자체 호스팅을 시작하기에 가장 실용적인 곳입니다. oh-my-opencode.jsonc 에서 각 카테고리를 로컬 모델에 매핑하면 카테고리 생성 작업이 자동으로 이를 사용합니다. quick(간단한 작업) 로 시작하여 작동 여부를 확인한 후 deep 또는 ultrabrain 으로 라우팅되는 작업을 건드리기 전에 unspecified-low 로 확장하세요.
전문 서브 에이전트
오라클 (Oracle)
목적: 아키텍처 결정 및 복잡한 디버깅을 위한 읽기 전용 컨설팅.
그룹: GPT 네이티브
역할: 시니어 아키텍트이자 “최후의 수단” 디버거. 출력물을 자문으로 유지하기 위해 의도적으로 작성 및 위임 도구에서 제한됩니다. 주요 작업 후, 반복된 실패 후, 또는 높은 위험의 아키텍처 결정을 내리기 전에 오라클을 호출하세요.
폴백 체인: openai/gpt-5.4 (high) → google/gemini-3.1-pro (high) → anthropic/claude-opus-4-6 (max)
자체 호스팅: 오라클을 자체 호스팅한다면 가장 강력한 로컬 추론 모델을 선택하고 샘플링을 매우 낮게 유지하세요. 복잡한 아키텍처 질문에 대한 능력 있는 로컬 추론자와 GPT-5.4 간의 출력 품질 차이는 상당합니다. 하이브리드 설정에서 오라클은 유틸리티 작업을 로컬로 이동하면서도 클라우드 모델에 두어야 할 에이전트 중 하나입니다.
도서관장 (Librarian)
목적: 외부 문서 및 오픈 소스 연구.
그룹: 유틸리티 러너
역할: 문서 및 증거 수집자. 도구 제한으로 인해 편집을 방지하여 소싱 및 요약에 집중합니다. “레포 내부 + 레포 외부” 증거 수집을 위해 익스플로어와 병렬로 실행되도록 설계되었습니다.
폴백 체인: opencode-go/minimax-m2.5 → minimax-m2.5-free → claude-haiku-4-5 → gpt-5-nano
자체 호스팅: 첫날부터 완전히 로컬로 옮기기 가장 좋은 에이전트입니다. 도서관장의 일은 검색 및 요약이며 심층 추론이 아닙니다. 신뢰할 수 있는 도구 호출을 갖춘 어떤 로컬 모델도 이를 잘 처리합니다. 7B 또는 13B 모델이라도 “검색, 수집, 보고” 패턴에서 벗어나지 않고 따를 수 있다면 충분합니다.
익스플로어 (Explore)
목적: 컨텍스트 기반 grep 및 빠른 코드베이스 검색.
그룹: 유틸리티 러너
역할: “관련 파일과 패턴을 찾아주세요” 에이전트. 비자명한 질문의 경우 코드베이스의 서로 다른 영역에 범위를 한정하여 10 개를 병렬로 실행한 후 오케스트레이터가 결과를 종합하도록 합니다.
폴백 체인: grok-code-fast-1 → opencode-go/minimax-m2.5 → minimax-m2.5-free → claude-haiku-4-5 → gpt-5-nano
자체 호스팅: 도서관장과 함께, 익스플로어는 로컬 추론을 시작하기에 가장 좋은 곳입니다. 그 역할은 패턴 매칭과 구조화된 보고이며, 모델은 심층 추론이 필요하지 않고 빠르고 신뢰할 수 있는 도구 호출 및 적절한 지시 따름만 필요합니다. 높은 처리량을 갖춘 작은 로컬 코더 모델 (Qwen2.5-Coder-7B 또는 유사) 이 잘 작동합니다.
멀티모달 룩커 (Multimodal Looker)
목적: 비전 분석가이자 “도식 판독자”. look_at 워크플로우를 통해 이미지와 PDF 를 분석합니다.
그룹: 유틸리티 러너 (비전 필요)
역할: 부작용을 방지하고 순수하게 해석적으로 유지하기 위해 도구가 강하게 제한됩니다 (읽기 전용). UI 스크린샷, 아키텍처 도식, 또는 PDF 페이지를 워크플로우에 공급해야 할 때 사용됩니다.
Kimi K2.5 는 특히 멀티모달 이해에서 뛰어남으로 지적되며, 이것이 이 폴백 체인에서 높은 위치를 차지하는 이유입니다.
폴백 체인: openai/gpt-5.4 → opencode-go/kimi-k2.5 → zai-coding-plan/glm-4.6v → gpt-5-nano
자체 호스팅: 로컬 비전은 견고한 도구 호출과 충분한 컨텍스트를 갖춘 멀티모달 모델이 필요합니다. 로컬 스택이 아직 준비되지 않았다면 멀티모달 룩커를 클라우드 모델에 두세요. 잘못 구성된 로컬 비전 파이프라인은 유용한 오류가 아닌 침묵하는 쓰레기를 생성합니다.
Oh My Opencode 모델 라우팅: 폴백 체인 및 제공자 우선순위
에이전트별 기본값 및 “단일 글로벌 모델 없음” 설계
Oh My Opencode 는 단일 글로벌 모델이 아닌 에이전트별 모델 기본값과 폴백 체인을 제공합니다. 설계는 의도적으로 의견이 있습니다:
- 익스플로어와 도서관장은 심층 추론이 필요하지 않기 때문에 가장 저렴하고 빠른 모델을 사용합니다
- 오라클과 모무스는 출력이 실행을 통제하므로 가장 높은 능력의 모델을 사용합니다
- 시시포스와 프로메테우스는 기본적으로 최상의 오케스트레이션 클래스 모델을 받습니다
OpenCode Go 티어 (월 $10)
OpenCode Go 는 OpenCode 인프라를 통해 중국 최첨단 모델에 대한 신뢰할 수 있는 접근을 제공하는 구독 티어입니다. 이는 프리미엄 네이티브 제공자와 무료 티어 대안 사이의 다리로서 많은 폴백 체인 중간에 나타납니다.
| OpenCode Go 를 통한 모델 | 사용처 |
|---|---|
opencode-go/kimi-k2.5 |
시시포스, 아틀라스, 시시포스 주니어, 멀티모달 룩커 |
opencode-go/glm-5 |
오라클, 프로메테우스, 메티스, 모무스 |
opencode-go/minimax-m2.5 |
도서관장, 익스플로어 |
Anthropic 또는 OpenAI 구독이 없다면, OpenCode Go 와 GitHub Copilot 이 저렴한 비용으로 대부분의 폴백 체인을 커버합니다.
GitHub Copilot 을 위한 제공자 매핑
GitHub Copilot 이 가장 좋은 사용 가능한 제공자인 경우, 에이전트 할당은 다음과 같습니다:
| 에이전트 | 모델 |
|---|---|
| 시시포스 | github-copilot/claude-opus-4-6 |
| 오라클 | github-copilot/gpt-5.4 |
| 익스플로어 | github-copilot/grok-code-fast-1 |
| 도서관장 | github-copilot/gemini-3-flash |
프롬프트 변형은 모델 계열을 추적합니다
에이전트를 Claude 에서 GPT 나 Gemini 로 변경하면 Oh My Opencode 는 동일한 프롬프트를 사용하지 않습니다. 여러 계열을 지원하는 에이전트 (프로메테우스, 아틀라스) 는 isGptModel() 을 통해 자동 감지하고 전환합니다. 여러 계열을 지원하지 않는 에이전트 (시시포스, 헤파이스토스) 는 하나의 프롬프트만 있으며, 잘못된 계열로 변경하면 출력이 저하됩니다.
모델 변경 후 에이전트 출력이 이상하다면 모델 계열 경계를 넘었는지 확인하고 되돌리세요.
자체 호스팅 및 로컬 모델로 Oh My Opencode 실행
설정해야 할 두 가지 계층이 있습니다:
- OpenCode 는 로컬 제공자와 모델 ID 를 알아야 합니다
- Oh My Opencode 에는 어떤 에이전트가 어떤 모델을 사용하는지 알려야 합니다 (대부분의 에이전트가 설계상 UI 선택 모델을 무시하기 때문)
현재 현실적으로 로컬에서 실행할 수 있는 것
| 에이전트 | 로컬 실행 가능성 | 권장 접근법 |
|---|---|---|
| 익스플로어 | ✅ 훌륭함 | 어떤 빠른 로컬 코더 모델 (Qwen2.5-Coder-7B+) |
| 도서관장 | ✅ 훌륭함 | 신뢰할 수 있는 도구 호출을 갖춘 어떤 빠른 로컬 모델 |
시시포스 주니어 (quick 카테고리) |
✅ 좋음 | 간단한 작업을 위한 작은 코더 모델 |
| 아틀라스 | ⚠️ 실행 가능 | 중간 크기 모델 (13B+), 32k+ 컨텍스트 |
| 프로메테우스 | ⚠️ 실행 가능 | 강력한 지시 따름, 64k+ 컨텍스트, 낮은 온도 |
| 메티스 | ⚠️ 실행 가능 | 추론 가능, 온도를 0 이 아닌 값으로 유지 |
| 모무스 | ⚠️ 실행 가능 | 추론 가능, 매우 낮은 온도 |
| 시시포스 | ⚠️ 부분적 | 간단한 단일 에이전트 작업에만; 다중 에이전트 오케스트레이션은 Claude 클래스 모델 필요 |
| 오라클 | ❌ 권장 안 함 | 클라우드에 두세요; 복잡한 쿼리에 대한 품질 격차는 상당함 |
| 헤파이스토스 | ❌ 로컬 경로 없음 | GPT-5.3-codex 필요; Claude 또는 로컬 대안 없음 |
단계 1 — OpenCode 에 로컬 제공자 추가
OpenCode 는 제공자 설정에서 로컬 모델과 커스텀 baseURL 값을 지원합니다 — Ollama, vLLM, 그리고 모든 OpenAI 호환 엔드포인트가 일급 옵션입니다. OpenCode 빠른 시작 이 제공자 인증을 자세히 다룹니다.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ollama",
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"qwen2.5-coder:7b": { "name": "qwen2.5-coder:7b" },
"qwen2.5-coder:32b": { "name": "qwen2.5-coder:32b" }
}
}
}
}
vLLM 또는 LM Studio 의 경우에도 동일한 패턴이 적용됩니다 — baseURL 를 서버의 /v1 엔드포인트로 지정하고 로드한 모델을 나열하면 됩니다.
OpenCode 는 오케스트레이션 에이전트를 위해 최소 64k 컨텍스트 창을 요구합니다. 그보다 작으면 워크플로우 중간에 절단 오류를 보게 됩니다.
단계 2 — Oh My Opencode 설정에서 에이전트 모델 오버라이드
설정 위치 (프로젝트가 사용자 수준보다 우선):
.opencode/oh-my-opencode.jsonc(프로젝트 수준, 최우선)~/.config/opencode/oh-my-opencode.jsonc(사용자 수준)
실용적인 하이브리드 설정 — 유틸리티 에이전트는 로컬 추론, 추론 에이전트는 클라우드:
{
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-opencode.schema.json",
"agents": {
// 유틸리티 에이전트: 빠른 로컬 모델로도 충분함
"explore": { "model": "ollama/qwen2.5-coder:7b", "temperature": 0.1 },
"librarian": { "model": "ollama/qwen2.5-coder:7b", "temperature": 0.1 },
// 빠른 모드 시시포스 주니어: 로컬 괜찮음
// (아래 카테고리에서 제어)
// 추론 에이전트는 클라우드에 둠
"oracle": { "model": "openai/gpt-5.4", "variant": "high" },
"momus": { "model": "openai/gpt-5.4", "variant": "xhigh" },
// 헤파이스토스: 건드리지 마세요 — GPT-5.3-codex 필요, 폴백 없음
},
"categories": {
// 간단한 생성 작업은 로컬 모델로 라우팅
"quick": { "model": "ollama/qwen2.5-coder:7b" },
"writing": { "model": "ollama/qwen2.5-coder:7b" },
// 무거운 추론은 클라우드에 둠
"deep": { "model": "openai/gpt-5.3-codex", "variant": "medium" },
"ultrabrain": { "model": "openai/gpt-5.4", "variant": "xhigh" }
},
"background_task": {
"defaultConcurrency": 2,
"providerConcurrency": {
"ollama": 4, // 로컬 엔드포인트는 더 많은 병렬성 처리 가능
"openai": 2, // 계획 한도 내에서 유지
"anthropic": 2
},
"modelConcurrency": {
"ollama/qwen2.5-coder:7b": 4
}
}
}
전체 자체 호스팅의 비용 절감 대안
로컬 GPU 설정에 투자하기 전에 OpenCode Go + Kimi for Coding 스택을 고려하세요. 총 월 $11 정도면 다음을 커버합니다:
- 시시포스와 아틀라스를 위한 Kimi K2.5 (저렴한 비용으로 Claude 클래스 오케스트레이션 품질)
- 프로메테우스, 메티스, 모무스를 위한 GLM-5 (견고한 추론, 무료 티어 사용 가능)
- 도서관장과 익스플로어를 위한 MiniMax M2.5 (빠른 검색)
대부분의 워크로드에서 이는 로컬 추론 서버를 실행하는 것보다 저렴하며 GPU 하드웨어가 필요하지 않습니다.
Oh My Opencode 내장 도구: Hashline, Init-Deep, Ralph Loop, 및 MCPs
Hashline — 해시 기반 편집 도구
Oh My Opencode 의 가장 실용적인 개선 중 하나는 코드 편집을 처리하는 방식입니다. 에이전트가 읽는 모든 줄은 콘텐츠 해시 태그로 표시됩니다:
11#VK| function hello() {
22#XJ| return "world";
33#MB| }
에이전트가 해당 태그를 참조하여 편집할 때, 마지막 읽음 이후 파일이 변경되면 해시가 일치하지 않고 편집이 부패 전에 거부됩니다. 이는 에이전트가 더 이상 존재하지 않는 줄을 자신감 있게 편집하는 “stale line” 오류 전체 클래스를 제거합니다. Grok Code Fast 의 편집 작업 성공률은 이 변경만으로 6.7% 에서 68.3% 로 올랐습니다.
/init-deep — 계층적 컨텍스트 주입
/init-deep 을 실행하면 Oh My Opencode 가 프로젝트 트리의 모든 관련 수준에 AGENTS.md 파일을 생성합니다:
project/
├── AGENTS.md ← 프로젝트 전체 컨텍스트
├── src/
│ ├── AGENTS.md ← src 전용 컨텍스트
│ └── components/
│ └── AGENTS.md ← 컴포넌트 전용 컨텍스트
에이전트는 해당 범위에서 관련 컨텍스트를 자동으로 읽습니다. 매 실행 시작마다 전체 레포를 컨텍스트에 로드하는 대신, 각 에이전트는 작업 중인 곳에서 관련 있는 것만 가져옵니다.
프로메테우스 계획 모드 — /start-work
복잡한 작업의 경우 프롬프트를 입력하고 기다리지 마세요. Tab을 눌러 프로메테우스 모드로 진입하거나 /start-work 를 사용하세요. 프로메테우스는 실제 엔지니어처럼 인터뷰를 합니다: 범위를 식별하고, 모호성을 드러내고, 어떤 실행 에이전트도 실행하기 전에 검증된 계획을 수립합니다. “결정 완료” 기준은 계획이 구현자에게 아무런 결정도 남기지 않는다는 것을 의미합니다.
Ralph Loop — /ulw-loop
작업이 100% 완료될 때까지 멈추지 않는 자기 참조 실행 루프입니다. 시스템이 자체 검증하고 사용자의 개입 없이 계속되기를 원하는 대규모 다중 단계 작업에 사용하세요. 이는 공격적입니다 — 비싼 클라우드 제공자에서 실행하기 전에 병렬성 한도가 설정되어 있는지 확인하세요.
내장 MCPs
세 가지 MCP 서버가 사전 구성되어 있으며 항상 켜져 있습니다:
- Exa — 웹 검색
- Context7 — 공식 문서 조회
- Grep.app — 공개 저장소를 통한 GitHub 코드 검색
이를 설정할 필요가 없습니다. 기본적으로 모든 에이전트에 사용 가능합니다.
이 에이전트들이 실제로 어떻게 작동하는지에 대한 실습 결과 및 커뮤니티 벤치마크는 Oh My Opencode 경험 글 에서 확인하세요. 플러그인을 처음부터 설치하려면 Oh My Opencode 빠른 시작 부터 시작하세요.