컨텐츠로 건너뛰기

핵심 기능

핵심 기능

Oh My OpenCode는 OpenCode를 전문가 수준으로 끌어올리는 강력한 기업용 기능 세트를 제공합니다. 이 문서는 각 핵심 기능의 작동 방식과 사용 방법에 대해 자세히 설명합니다.

Sisyphus 에이전트 오케스트레이션 시스템

Sisyphus란 무엇인가요?

Sisyphus는 Oh My OpenCode의 핵심 오케스트레이션 시스템으로, “주 에이전트” 역할을 수행합니다. 이름은 그리스 신화에서 바위를 산 정상으로 끊임없이 밀어 올리는 시시포스에서 따왔으며, 끈기 있는 작업 실행과 관리를 상징합니다.

사용 모델: Sisyphus는 일반적으로 Claude Opus 4.5 High 또는 Claude Sonnet 4와 같은 가장 강력한 모델을 사용하여 뛰어난 작업 분해 및 조정 능력을 보장합니다.

오케스트레이터가 필요한 이유는 무엇인가요?

복잡한 개발 작업에서 단일 AI 에이전트가 모든 측면을 처리하기는 어렵습니다. 오케스트레이터의 가치는 다음과 같습니다:

  • 작업 분해: 대규모 작업을 관리 가능한 하위 작업으로 분할
  • 전공 일치: 각 하위 작업에 가장 적합한 전문 에이전트 선택
  • 리소스 조정: 여러 에이전트의 병렬 실행 및 리소스 할당 관리
  • 결과 통합: 다양한 에이전트의 결과물을 완전한 해결책으로 취합
  • 컨텍스트 관리: 서로 다른 에이전트 간의 컨텍스트 공유 및 일관성 유지

작동 방식

사용자 작업

Sisyphus가 작업 요구 사항 분석

적합한 전문 에이전트 자동 선택

병렬로 작업하는 여러 에이전트 조정

결과 통합 및 반환

핵심 역량

1. 지능형 작업 분해

Sisyphus는 복잡한 작업을 여러 하위 작업으로 나눌 수 있습니다:

# 사용자 입력
opencode "인증 시스템 전체를 리팩토링하고 OAuth2 및 JWT 지원 추가해줘"

# Sisyphus 내부 분해
# - 하위 작업 1: @oracle이 새로운 인증 아키텍처 설계
# - 하위 작업 2: @librarian이 OAuth2 및 JWT 베스트 프랙티스 조사
# - 하위 작업 3: @backend-engineer가 서버 측 로직 구현
# - 하위 작업 4: @frontend-ui-ux-engineer가 로그인 인터페이스 업데이트

2. 자동 에이전트 선택

작업 유형에 따라 가장 적합한 에이전트를 자동 선택합니다:

작업 유형선택된 에이전트이유
아키텍처 설계@oracle시스템적 사고 및 기술적 결정
문서 조사@librarian정보 검색 및 정리
UI 개발@frontend-ui-ux-engineer프론트엔드 기술 전문성
API 개발@backend-engineer백엔드 기술 전문성
버그 분석@explore심층 코드베이스 분석

3. 병렬 작업 조정

여러 에이전트가 동시에 작업할 수 있으며 Sisyphus가 이를 조정합니다:

{
  "main_task": "사용자 대시보드 개발",
  "parallel_tasks": [
    {
      "agent": "@oracle",
      "task": "컴포넌트 아키텍처 설계",
      "status": "진행 중"
    },
    {
      "agent": "@librarian",
      "task": "UI 라이브러리 문서 조사",
      "status": "완료"
    },
    {
      "agent": "@frontend-engineer",
      "task": "기본 컴포넌트 구현",
      "status": "진행 중"
    }
  ]
}

구성 옵션

{
  "sisyphus": {
    "enabled": true,
    "max_concurrent_tasks": 3,        // 최대 동시 작업 수
    "task_timeout": 300,               // 작업 제한 시간 (초)
    "auto_delegate": true,             // 작업 자동 위임
    "delegation_strategy": "optimal"   // 위임 전략: optimal (최적), balanced (균형), sequential (순차)
  }
}

전문 에이전트 팀

@oracle - 아키텍트

전문 분야: 시스템 아키텍처 설계, 기술적 결정, 패턴 선택

사용 사례:

  • 새로운 시스템 아키텍처 설계
  • 기술 스택 선택
  • 주요 리팩토링 결정
  • 성능 최적화 솔루션

사용 예시:

# 직접 호출
opencode "@oracle 현재 마이크로서비스 아키텍처의 병목 지점 분석해줘"

# ultrawork와 결합
opencode "ulw: @oracle 고가용성 분산 캐싱 시스템 설계해줘"

구성:

{
  "agents": {
    "oracle": {
      "enabled": true,
      "model": "claude-sonnet-4",
      "temperature": 0.7,
      "max_tokens": 4096,
      "prompt_append": "자세한 기술적 결정 근거와 트레이드오프 분석을 제공해주세요"
    }
  }
}

@librarian - 문서 전문가

사용 모델: GPT-4 Turbo, Claude Sonnet 3.5 또는 이와 유사한 모델

전문 분야: 문서 조사, 지식 정리, 정보 검색

사용 사례:

  • 프레임워크/라이브러리 문서 조사
  • 기술 자료 정리
  • 기술 문서 작성
  • 새로운 기술 학습

사용 예시:

# 문서 조사
opencode "@librarian React Server Components 베스트 프랙티스 조사해줘"

# 문서 작성
opencode "@librarian 현재 프로젝트의 API 문서 작성해줘"

@frontend-ui-ux-engineer - 프론트엔드 UI/UX 엔지니어

사용 모델: Claude Sonnet 4, GPT-4 또는 이와 유사한 모델

전문 분야: 프론트엔드 개발, UI/UX 디자인, 사용자 경험 최적화

사용 사례:

  • 사용자 인터페이스 설계 및 구현
  • 사용자 경험 최적화
  • 반응형 디자인
  • 웹 접근성 개선

사용 예시:

# UI/UX 개발
opencode "@frontend-ui-ux-engineer 현대적인 로그인 페이지 설계 및 구현해줘"

# 사용자 경험 최적화
opencode "@frontend-ui-ux-engineer 폼 상호작용 및 유효성 검사 피드백 최적화해줘"

@frontend-engineer - 프론트엔드 엔지니어

사용 모델: Claude Sonnet 4, GPT-4 또는 이와 유사한 모델

전문 분야: React/Vue/Angular 개발, UI/UX 구현

사용 사례:

  • 프론트엔드 컴포넌트 개발
  • UI 구현
  • 스타일 조정
  • 프론트엔드 성능 최적화

사용 예시:

# UI 개발
opencode "@frontend-engineer 반응형 사용자 카드 컴포넌트 구현해줘"

# 성능 최적화
opencode "@frontend-engineer 홈페이지 로딩 성능 최적화해줘"

@backend-engineer - 백엔드 엔지니어

사용 모델: Claude Sonnet 4, GPT-4 또는 이와 유사한 모델

전문 분야: Node.js/Python/Go 개발, API 설계, 데이터베이스

사용 사례:

  • API 엔드포인트 개발
  • 데이터베이스 설계
  • 비즈니스 로직 구현
  • 백엔드 성능 최적화

사용 예시:

# API 개발
opencode "@backend-engineer JWT 지원 사용자 인증 API 구현해줘"

# 데이터베이스 최적화
opencode "@backend-engineer 주문 조회를 위한 데이터베이스 인덱스 최적화해줘"

@explore - 탐험가

사용 모델: Claude Sonnet 3.5, GPT-4 또는 이와 유사한 모델

전문 분야: 코드베이스 분석, 이슈 추적, 의존성 관계

사용 사례:

  • 버그 디버깅
  • 코드베이스 탐색
  • 의존성 분석
  • 영향 범위 평가

사용 예시:

# 버그 디버깅
opencode "@explore 메모리 누수를 일으키는 코드 위치 찾아줘"

# 의존성 분석
opencode "@explore 이 함수가 어디에서 호출되는지 분석해줘"

@document-writer - 기술 문서 전문가

사용 모델: GPT-4, Claude Sonnet 3.5 또는 이와 유사한 모델

전문 분야: 기술 문서 작성, API 문서, 튜토리얼 제작

사용 사례:

  • 기술 문서 작성
  • API 참조서 제작
  • 튜토리얼 및 가이드 작성
  • 프로젝트 README 유지 관리

사용 예시:

# 문서 작성
opencode "@document-writer 신규 기능의 전체 사용 문서를 작성해줘"

# API 문서
opencode "@document-writer RESTful API의 전체 문서 생성해줘"

@multimodal-looker - 시각적 콘텐츠 분석 전문가

사용 모델: Claude Sonnet 4 (Vision), GPT-4 Vision 또는 이와 유사한 멀티모달 모델

전문 분야: 시각적 콘텐츠 분석, 이미지 이해, 디자인 검토

사용 사례:

  • 디자인 시안 분석
  • UI 스크린샷 이해
  • 비즈니스 디자인 검토
  • 이미지에서 정보 추출

사용 예시:

# 디자인 분석
opencode "@multimodal-looker 이 디자인 시안을 분석하고 구현 제안을 해줘"

# UI 검토
opencode "@multimodal-looker 현재 페이지의 비주얼 디자인과 레이아웃을 검토해줘"

LSP 도구 통합

LSP란 무엇인가요?

LSP(Language Server Protocol)는 Microsoft에서 개발한 프로토콜로, 에디터에 언어 지능 기능을 제공합니다. Oh My OpenCode는 AI 에이전트가 사용할 수 있도록 LSP를 통합하여 IDE와 동일한 코드 이해 능력을 제공합니다.

사용 가능한 LSP 기능

lsp_hover - 정의 확인

심볼의 타입 정의 및 문서 보기:

// AI는 lsp_hover 도구를 사용하여
// UserService의 타입 정보를 확인할 수 있습니다
const service = new UserService();

lsp_goto_definition - 정의로 이동

심볼이 정의된 위치로 점프:

# AI는 lsp_goto_definition을 사용하여 자동 위치 찾기 가능
"authenticateUser 함수의 구현 위치 찾아줘"

lsp_rename - 안전한 이름 변경

파일 전체에 걸친 안전한 심볼 이름 변경:

opencode "lsp_rename 도구를 사용하여 getUserData를 fetchUserProfile로 이름 변경해줘"

lsp_find_references - 참조 찾기

심볼이 참조된 모든 위치 찾기:

opencode "lsp_find_references를 사용하여 사용 중단된 API의 모든 사용 위치 찾아줘"

lsp_code_actions - 코드 액션

코드 리팩토링 및 빠른 수정 실행:

opencode "lsp_code_actions를 사용하여 타입 오류 자동 수정해줘"

지원 언어

  • ✅ TypeScript/JavaScript
  • ✅ Python
  • ✅ Go
  • ✅ Rust
  • ✅ Java
  • ✅ C/C++

LSP 구성

{
  "lsp": {
    "enabled": true,
    "languages": ["typescript", "python", "go"],
    "servers": {
      "typescript": {
        "command": "typescript-language-server",
        "args": ["--stdio"]
      },
      "python": {
        "command": "pylsp",
        "args": []
      }
    }
  }
}

AST-Grep 코드 검색

AST-Grep이란 무엇인가요?

AST-Grep은 추상 구문 트리(AST)를 기반으로 하는 코드 검색 도구로, 단순 텍스트 검색보다 더 정확하고 강력합니다.

핵심 역량

1. ast_grep_search - 구조화된 검색

# useState를 사용하는 모든 컴포넌트 찾기
opencode "ast_grep_search를 사용하여 useState를 사용하는 모든 React 컴포넌트 찾아줘"

# 특정 코드 패턴 찾기
opencode "ast_grep_search를 사용하여 try-catch가 없는 모든 비동기 함수 찾아줘"

2. ast_grep_replace - 코드 리팩토링

# 일괄 리팩토링
opencode "ast_grep_replace를 사용하여 모든 var 선언을 const로 변경해줘"

# 패턴 교체
opencode "ast_grep_replace를 사용하여 모든 클래스 컴포넌트를 함수형 컴포넌트로 변환해줘"

예시

# .ast-grep.yml 구성
rule:
  pattern: console.log($$$ARGS)
fix: logger.debug($$$ARGS)
language: typescript

백그라운드 작업 병렬 실행

작동 메커니즘

기본 작업이 실행되는 동안 백그라운드 에이전트가 다른 작업을 병렬로 처리할 수 있습니다:

기본 작업: 사용자 로그인 기능 구현
    ↓ (진행 중)
백그라운드 작업 1: @librarian 보안 베스트 프랙티스 조사
백그라운드 작업 2: @explore 기존 인증 코드 분석
백그라운드 작업 3: @oracle 새로운 세션 관리 설계
    ↓ (병렬 실행)
모든 결과 통합

장점

  • ⚡ 효율성 증대: 작업 효율 3배 이상 향상
  • 🧠 지능형 협업: 작업 간 컨텍스트 자동 공유
  • 🎯 자동 균형: 리소스에 따라 작업 할당 동적 조정

구성

{
  "background_task": {
    "enabled": true,
    "defaultConcurrency": 3,
    "priority": "balanced",  // high (높음), balanced (균형), low (낮음)
    "auto_merge_results": true
  }
}

Claude Code 호환 레이어

원활한 마이그레이션

Oh My OpenCode는 완전한 Claude Code 호환성을 제공하므로 기존 구성을 수정 없이 사용할 수 있습니다:

Claude Code 구성 예시:

// Claude Code 구성
{
  "custom_instructions": "TypeScript 엄격 모드 사용",
  "context_files": [".claud/CONTEXT.md"]
}

Oh My OpenCode 형식으로 자동 변환:

{
  "agents": {
    "default": {
      "prompt_append": "TypeScript 엄격 모드 사용"
    }
  },
  "context_injection": {
    "files": [".claud/CONTEXT.md"]
  }
}

지원 기능

  • ✅ custom_instructions
  • ✅ context_files
  • ✅ project_rules
  • ✅ custom_tools
  • ✅ hooks

세션 관리 도구

특징

  • 세션 지속성: 작업 세션 저장 및 복원
  • 컨텍스트 축적: 세션 간 컨텍스트 메모리 유지
  • 작업 연결: 관련 작업 연관시키기

사용법

# 세션 저장
opencode "현재 세션을 refactor-auth로 저장해줘"

# 세션 복원
opencode "세션 refactor-auth 복원하고 계속해줘"

# 세션 목록
opencode "저장된 모든 세션 목록 보여줘"

지능형 컨텍스트 주입

AGENTS.md 계층 시스템

프로젝트 수준 및 디렉토리 수준의 컨텍스트 규칙 지원:

project/
├── AGENTS.md                    # 전역 규칙
├── src/
│   ├── AGENTS.md               # src 디렉토리 규칙
│   └── components/
│       └── AGENTS.md           # components 디렉토리 규칙

조건부 규칙 활성화

조건에 따라 규칙 자동 활성화:

<!-- AGENTS.md -->
# 조건부 규칙

## when: file.ext == "*.test.ts"
Jest 및 React Testing Library 사용

## when: agent == "@frontend-engineer"
회사의 UI 디자인 시스템 준수

다음 단계

핵심 기능에 대해 배운 후 다음 항목을 권장합니다:

  1. 📖 베스트 프랙티스를 확인하여 효율적인 사용 패턴 배우기
  2. ⚙️ 고급 설정에서 심층 사용자 정의 탐색
  3. 💡 사용 사례를 참고하여 영감 얻기