하나의 AI 코딩 어시스턴트만 선택하지 마세요: Gemini CLI와 OpenCode를 결합해 더 나은 코드 만들기
Source: Dev.to

만약 당신도 저와 같은 사람이라면, “가장 좋은” AI 코딩 어시스턴트를 찾기 위해 여러 도구를 왔다갔다 했을 것입니다. Gemini는 기능을 빠르게 생성하고, OpenCode의 모델은 엣지 케이스를 잡아내는 데 강합니다. 그런데 왜 하나만 골라야 할까요?
저는 Gemini CLI를 활용해 이 두 세계를 연결하는 세 개의 특화된 에이전트를 오케스트레이션하는 맞춤형 워크플로우를 만들었습니다. 여기서는 구현 속도는 Gemini, 검증 정확도는 OpenCode를 활용해 두 장점을 모두 얻는 방법을 소개합니다.
The Three-Agent Setup
제 .agents 디렉터리에는 서로 다른 역할을 가진 세 개의 에이전트가 들어 있습니다. Gemini CLI의 마법은 코드를 작성할 뿐만 아니라 다른 CLI와 에이전트를 관리할 수 있다는 점입니다.
- code-writer (Gemini 기반): 기본 빌더. 구현 작업을 담당하고 피드백을 반영해 반복합니다.
- opencode-code-reviewer (Gemini 기반): “브리지 에이전트”. 이 Gemini 에이전트는
opencodeCLI를 실행하고, 그 피드백을 받아 작성자에게 전달하는 역할을 합니다. - code-reviewer (OpenCode 기반): “전문 리뷰어”. OpenCode 내부에 존재하는 네이티브 에이전트로 실제 기술적인 비평을 제공합니다.
The Workflow (Step by Step)
이 설정을 통해 이슈에서 검증된 PR까지 두 개의 주요 명령만으로 진행할 수 있습니다.
Step 1: Implementation
먼저 Gemini에게 기능 구현을 요청합니다:
Use the code-writer to implement ISSUE-1
code-writer가 초기 코드를 생성하고, 로컬 테스트를 실행하며, 모든 것이 관용적인지 확인합니다.
Step 2: The Cross-Model Bridge
그 다음 리뷰를 트리거합니다:
Use the opencode-code-reviewer to review the changes and ask code-writer to address them.
브리지 에이전트는 내부적으로 다음을 수행합니다:
opencode run --agent code-reviewer명령을 실행해 깊이 있는 분석을 얻습니다.- 피드백(상태, 요약, 액션 아이템)을 캡처합니다.
- 캡처된 OpenCode 피드백을 새로운 지시사항으로
code-writer를 다시 호출합니다.
Step 3: Iterate until Approved
루프는 자동 혹은 수동으로 반복되며, OpenCode 리뷰어가 APPROVED 상태를 반환할 때까지 진행됩니다.
Why This Works
- 모델 다양성 – 서로 다른 모델은 서로 다른 사각지대를 가지고 있습니다. Gemini 에이전트가 코드를 작성하고 OpenCode 에이전트가 리뷰하면, 단일 모델이 자체 리뷰만 할 때 놓칠 수 있는 버그를 잡아낼 수 있습니다.
- 자동 오케스트레이션 – Gemini CLI가 툴 호출과 컨텍스트 전달을 처리하므로, 코드를 여러 웹 UI에 복사·붙여넣을 필요가 없습니다.
- 전문화 – 각 작업에 가장 적합한 도구를 사용할 수 있습니다.
The Source Code
아래는 핵심 에이전트 정의 파일입니다. 이를 .agents/ 폴더에 넣고 자신의 모델에 맞게 커스터마이즈하세요.
.agents/code-writer.md
---
name: code-writer
tools: ["write", "edit", "bash"]
---
# Code Writer Agent
You are an expert Google engineer. Implement features, write tests, and address feedback from the reviewer agents.
.agents/opencode-code-reviewer.md
---
name: opencode-code-reviewer
tools: ["run_shell_command", "invoke_agent"]
---
# Bridge Agent
1. Run: `opencode run --agent code-reviewer "Review changes..."`
2. Capture output.
3. Call `code-writer` with that output to fix any issues.
.agents/code-reviewer.md
---
name: code-reviewer
---
# Expert Reviewer
You are an expert Google engineer. Provide a structured review with Status (APPROVED/CHANGES_REQUESTED), Summary, and Action Items.
여러 AI 도구를 하나의 CLI로 결합한 덕분에 개발 방식이 크게 바뀌었습니다. “하나의” 어시스턴트를 찾는 것이 아니라, 올바른 팀을 구성하는 것이 핵심입니다.