핵심 기능
핵심 기능
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 디자인 시스템 준수
다음 단계
핵심 기능에 대해 배운 후 다음 항목을 권장합니다: