๐ ๏ธ ๊ฐ๋ฐ ํ๊ฒฝ
- OpenCode : 1.2.14
- OS : Mac OS
๐ฌ OmO(oh-my-opencode)๋
์ด ์คํ ์์ค๋ฅผ ๋์ ํ๊ธฐ ์ , AI๋ฅผ ํ์ฉํ ์ฝ๋ฉ ๋๊ตฌ๊ฐ ์ด๋ป๊ฒ ์งํํ๋์ง ์ง๊ณ ๋์ด๊ฐ ํ์๊ฐ ์๋ค.
| ์ธ๋ | ํต์ฌ ๊ฐ๋ | ์๋ ๋ฐฉ์ ๋ฐ ์ค๋ช | ๋ํ ์ฌ๋ก |
|---|---|---|---|
| 1์ธ๋ | Auto Completion | ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ์ ๋ ฅํ๋ฉด, ๋ฌธ๋งฅ์ ํ์ ํด ์๋ง์ ์ฝ๋๋ฅผ ์ ์ | GitHub Copilot (์ด์ฐฝ๊ธฐ) |
| 2์ธ๋ | Chat with AI | ์น์ด๋ IDE ํ๋ฌ๊ทธ์ธ์์ ์ง๋ฌธํ๋ฉด ์ฝ๋ ์ค๋ํซ์ด๋ ํด๊ฒฐ์ฑ ์ ์๋ต | ChatGPT, Claude ์น |
| 3์ธ๋ | AI Agent | ํฐ๋ฏธ๋ ํ๊ฒฝ์์ AI ์์ด์ ํธ๊ฐ ์ง์ ํ์ผ ์์คํ ์ ์ ๊ทผํ์ฌ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์์ | Gemini CLI, Claude Code, Cursor |
| 4์ธ๋ | AI Agent Team | ์ฌ๋ฌ AI ๋ชจ๋ธ์ ์กฐํฉํด ๊ธฐํ, ๊ตฌํ, ๊ฒํ ๋ฑ ์ญํ ์ ๋ถ๋ดํ์ฌ ์์จ์ ์ผ๋ก ํ๋ก์ ํธ ๊ฐ๋ฐ | oh-my-claudecode, oh-my-opencode ๋ฑ |
oh-my-opencode(OmO)๋ ํ์์ ์ต์ ์ธ๋์ธ AI Agent Team(๋ฉํฐ ์์ด์ ํธ ์ค์ผ์คํธ๋ ์ดํฐ)์ ํด๋นํ๋ ๊ฐ๋ ฅํ ์คํ์์ค๋ค. Gemini CLI๋ Claude Code๊ฐ ํ๋ฅญํ '๋จ์ผ ๊ฐ๋ฐ์'๋ผ๋ฉด, oh-my-opencode๋ ์์
์ ์ฑ๊ฒฉ์ ๋ง์ถฐ ๊ฐ ๋ถ์ผ์ ์ต๊ณ AI ๋ชจ๋ธ์ ์ ์ฌ์ ์์ ๋ฐฐ์นํ๊ณ ์งํํ๋ ์์ ์ํคํ
ํธ์ด์ ์๋ํ๋ ๊ฐ๋ฐ ํ์ด๋ค.
โ ์ ์ฌ์ฉํ ๊น
๋จ์ผ AI Agent๋ ํ๋ฅญํ๋ฐ, ๊ตณ์ด ๋ณต์กํด ๋ณด์ด๋ AI Agent Team ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ผ๊น? ๊ฐ์ธ์ ์ผ๋ก๋ ์ธ ๊ฐ์ง ๋ช ํํ ์ด์ ์ด ์๋ค๊ณ ์๊ฐํ๋ค.
1. ์ปจํ ์คํธ ๋ถ๋ฆฌ๋ฅผ ํตํ API ํ ํฐ(๋น์ฉ) ์ต์ํ
๋จ์ผ CLI ํ๊ฒฝ์์ AI์ ๋ํ๋ฅผ ์ด์ด๊ฐ๋ค ๋ณด๋ฉด ์ด์ ๋ํ ๊ธฐ๋ก์ด ๋์ ๋์ด ์ปจํ
์คํธ ์๋์ฐ(Context Window)๊ฐ ๋น๋ํด์ง๋ค. ์์๋ก ๋ํ๋ฅผ ์์ถ(/compress)ํ์ง ์์ผ๋ฉด ๋ถํ์ํ ์
๋ ฅ ํ ํฐ์ด ๊ณ์ ์๋ชจ๋๋ค.
OmO๋ ์์ ์ ์ธ๋ถํํ์ฌ, ํน์ ์์ด์ ํธ(์: ๋จ์ ์ฝ๋ ์์ ๋ด๋น)๋ ํ์ํ ์ต์ํ์ ํ์ผ๊ณผ ๋ฌธ๋งฅ๋ง ๋ค๊ณ ์คํ๋๋ค. ๋ถํ์ํ ํ ํฐ ๋ญ๋น๋ฅผ ๋ง์ ๋น์ฉ์ ๊ทน์ ์ผ๋ก ์ ๊ฐํ๋ค.
2. ๊ตฌ์ฒด์ ์ธ ๊ณํ ์๋ฆฝ๊ณผ ์์จ ์คํ ๋ถ๋ฆฌ (Prometheus & Sisyphus)
์ผ๋ฐ์ ์ธ Agent์๊ฒ "๊ฒ์ํ API ๋ง๋ค์ด์ค"๋ผ๊ณ ํ๋ฉด ๊ณง๋ฐ๋ก ์ฝ๋๋ฅผ ์ง๋ค๊ฐ ๊ธธ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ํ์ง๋ง OmO๋ ๋ค๋ฅด๊ฒ ์ ๊ทผํ๋ค.
Prometheus ์์ด์ ํธ๊ฐ ๋จผ์ ์ธํฐ๋ทฐ ๋ชจ๋๋ก ๊ฐ๋ฐ์์๊ฒ ์๊ตฌ์ฌํญ์ ์ญ์ง๋ฌธํ๋ฉฐ ์๋ฒฝํ ๊ณํ ๋ฌธ์(Plan)๋ฅผ ์๋ฆฝํ๋ค. ์ดํ Sisyphus ์์ด์ ํธ๊ฐ ์ด ๊ณํ์ ๋ฐํ์ผ๋ก ํ์ ์์ด์ ํธ๋ค์ ์งํํ๋ฉฐ ์์
์ด ๋๋ ๋๊น์ง ๋ฌดํ ๋ฃจํ(Ralph Loop)๋ฅผ ๋๋ฉฐ ์ฝ๋๋ฅผ ์์ฑํ๋ค.
3. ์์ ํ ์ฝ๋ ํธ์ง (Hash-Anchored Edits & AST-Grep)
๊ธฐ์กด AI ๋๊ตฌ๋ค์ ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ ์ฝ๋๋ฅผ ๋ฎ์ด์ธ ๋ ๋ค์ฌ์ฐ๊ธฐ๋ฅผ ๋ง์น๊ฑฐ๋ ์๋ฑํ ๋ผ์ธ์ ๋ ๋ ค๋ฒ๋ฆฌ๋ ๊ฒ์ด๋ค. OmO๋ ๊ฐ ์ฝ๋ ๋ผ์ธ์ ํด์(Hash)๋ฅผ ๋ถ์ฌํ์ฌ, ์๋ณธ์ด ๋ณ๊ฒฝ๋์๊ฑฐ๋ ํด์๊ฐ ์ผ์นํ์ง ์์ผ๋ฉด ํธ์ง์ ๊ฑฐ๋ถํ๋ค. Kotlin/Spring Boot ์ฒ๋ผ ํจํค์ง ๊ตฌ์กฐ๊ฐ ๊น๊ณ ํ์ผ ๊ฐ ์์กด์ฑ์ด ๋ณต์กํ ํ๋ก์ ํธ๋ฅผ ๋ฆฌํฉํ ๋งํ ๋ ํ์์ ์ธ ์์ ์ฑ์ ๋ณด์ฅํ๋ค.
โ๏ธ ์ค์น ๋ฐฉ๋ฒ
์ค์น ๊ณผ์ ์ ์ง์ ์ค์ ํ์ผ์ ๊ฑด๋๋ฆฌ๋ ๊ฒ๋ณด๋ค Agent์๊ฒ ์์ํ๋ ๊ฒ์ด ๊ฐ์ฅ ํ์คํ๋ค. ํฐ๋ฏธ๋์์ ๊ธฐ์กด์ ์ฌ์ฉํ๋ AI Agent(Gemini CLI, Claude Code ๋ฑ)๋ฅผ ์คํํ ๋ค ๋ค์ ํ๋กฌํํธ๋ฅผ ์ ๋ ฅํ๋ค.
Install and configure oh-my-opencode by following the instructions here:
https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/master/docs/guide/installation.md
๊ณต์ README์๋ "์ฌ๋์ ์ค์ ํ๋ค ์คํ๋ฅผ ๋ด๋, Agent์๊ฒ ์์ผ๋ผ(Let an agent do it)"๋ผ๊ณ ๋ช ์๋์ด ์๋ค. Agent๊ฐ ๊ฐ์ด๋ ๋ฌธ์๋ฅผ ์ฝ๊ณ ์์์ ํ๊ฒฝ์ ๋ง๊ฒ ์ค์น๋ฅผ ์งํํ๋ค.
์ค์น ์ค Provider(OpenAI, Anthropic, Google ๋ฑ)๋ฅผ ์ ํํ๊ฒ ๋๋๋ฐ, API ๋น์ฉ ์ต์ ํ๋ฅผ ์ํด Gemini๋ฅผ ๋ฉ์ธ์ผ๋ก ๊ตฌ์ฑํ๋ค. (Google AI Studio์์ ์ ๊ณตํ๋ ๋ฌด๋ฃ ํฌ๋ ๋ง์ ํ์ฉํ๋ฉด ์ด๊ธฐ ๊ตฌ์ถ ๋น์ฉ์ ํฌ๊ฒ ์๋ ์ ์๋ค.)
ํ๊ฒฝ ๋ณ์์ API ํค๊ฐ ์๋ค๋ฉด ํฐ๋ฏธ๋ ์ค์ ํ์ผ์ ์ถ๊ฐํด ์ค๋ค.
# zsh ์ฌ์ฉ ์
echo 'export GOOGLE_GENERATIVE_AI_API_KEY="YOUR_API_KEY"' >> ~/.zshrc
source ~/.zshrc
# ์ ์ ๋ฑ๋ก ํ์ธ
echo $GOOGLE_GENERATIVE_AI_API_KEY
๊ณต์ ๋ฌธ์์ "๋ชจ๋ ์์ด์ ํธ๋ ํด๋น ๋ชจ๋ธ์ ํน์ฅ์ ์ ๋ง์ถฐ ํ๋๋์ด ์์ต๋๋ค. ์๋์ผ๋ก ๋ชจ๋ธ ๋ฐ๊ฟ๊ฐ๋ฉฐ ๋ป์งํ์ง ๋ง์ธ์."๋ผ๊ณ ๋์์๋ฏ์ด, ๋ชจ๋ธ์ ๋ฐ๋ก ์ง์ ํ ํ์๋ ์๋ค. ํ์ง๋ง ๋น์ฉ์ ํฐ ๋ถ๋ด์ด ์์ ๊ฒ ๊ฐ๋ค๋ฉด ์ง์ ์ฌ์ฉํ ๋ชจ๋ธ์ ์์ ํด๋ ๋๋ค.
vim ~/.config/opencode/oh-my-opencode.json
๐พ Agent ๊ตฌ์ฑ
์ค์น๊ฐ ์๋ฃ๋๋ฉด ํฐ๋ฏธ๋์ opencode๋ฅผ ์
๋ ฅํ์ฌ ์คํํ๋ค. tab ํค๋ฅผ ๋๋ฅด๋ฉด ํ๋ก์ ํธ๋ฅผ ์ฑ
์์ง ๋ค์ํ ์์ด์ ํธ ๋ชฉ๋ก์ ํ์ธํ ์ ์๋ค.
| ์ด๋ฆ | ์ค๋ช |
|---|---|
| Sisyphus (Orchestrator) | ๊ฐ๋ฐ ํ์ ๋ฆฌ๋. ํ์ ์์ด์ ํธ๋ค์๊ฒ ์์ ์ ์์ํ๊ณ , ์์ ์ด 100% ์๋ฃ๋ ๋๊น์ง ์ง์ํ๊ฒ ๋ฐ์ด๋ถ์ธ๋ค. |
| Prometheus (Planner) | ์ํคํ ํธ ์ญํ . ์ฝ๋๋ฅผ ๊ฑด๋๋ฆฌ๊ธฐ ์ , ์ธํฐ๋ทฐ๋ฅผ ํตํด ์์คํ ๊ตฌ์กฐ์ ์์ธ ์ํฉ์ ๊ณ ๋ คํ ๋ช ํํ ์์ ๊ณํ์๋ฅผ ์์ฑํ๋ค. |
| Atlas (Executor) | ์ค์ ์ฝ๋๋ฅผ ์์ฑํ๋ ์ค๋ฌด์. Prometheus๊ฐ ์ธ์ด ๊ณํ์ ๋ฐํ์ผ๋ก ํ์ผ์ ์์ ํ๊ณ ๋ก์ง์ ๊ตฌํํ๋ค. |
์ฌ์ฉ ๋ฐฉ๋ฒ
๊ฐ์ฅ ํจ์จ์ ์ธ ์์ ์ํฌํ๋ก์ฐ๋ ๋ค์๊ณผ ๊ฐ๋ค.
1. ํ๋ก์ ํธ ์ด๋ ๋ฐ ์คํ
AI Agent Team์๊ฒ ๊ฐ๋ฐ์ ๋งก๊ธธ ํ๋ก์ ํธ๋ก ์ด๋ํ ๋ค์, opencode๋ฅผ ์คํํ๋ค.
cd {ํ๋ก์ ํธ_๊ฒฝ๋ก}
opencode
2. ์ด๊ธฐ ์ปจํ ์คํธ ๊ตฌ์ฑ
ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ AI๊ฐ ์ดํดํ ์ ์๋๋ก ๋ค์ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํด AI๊ฐ AGENTS.md ํ์ผ์ ์์ฑํ๋๋ก ํ๋ค.
/init-deep

3. ๊ธฐํ ๋ฐ ๊ณํ ์๋ฆฝ
Prometheus๋ฅผ ํธ์ถํ์ฌ ๋ง๋ค๊ณ ์ ํ๋ ๊ธฐ๋ฅ์ ์ค๋ช
ํ๋ค. ์ฌ์ง๊ณผ ๊ฐ์ด ์๊ตฌ์ฌํญ์ด ์ ๋งคํ ๊ฒฝ์ฐ, AI๊ฐ ์ฌ์ฉ์์๊ฒ ์ง๋ฌธ์ ๋์ง๊ฒ ๋๋ค. ์ด์ ๋ํด ๊ตฌ์ฒด์ ์ธ ๋ต๋ณ์ ์
๋ ฅํ๋ฉด, ์๊ตฌ์ฌํญ ๋ช
์ธ์๋ฅผ ์์ฑ์ํจ๋ค.

4. ๊ฐ๋ฐ ์์
๊ณํ์ด ์๋ฆฝ๋๋ฉด Atlas๋ฅผ ํธ์ถํ์ฌ /start-work ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ๋ค.
/start-work
๊ทธ๋ฌ๋ฉด Prometheus์๊ฒ ๋งก๊ฒผ๋ ๊ณํ ์ ๋ณด๋ฅผ Atlas๊ฐ ์ด์ด ๋ฐ์์ ๊ฐ๋ฐ์ ํ๋ค. ๊ทธ๋ฌ๋ฉด ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์์ด์ ํธ๋ค์ ์คํฐํ์ฌ ํ์ผ ์์ , ๋น๋, ์ค๋ฅ ์์ ์ ์์์ ๋ฐ๋ณตํ๋ค. ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ฉด ๋๋ค.

5. ์๋ ๊ฐ๋ฐ
๋ง์ฝ, ๊ณํ ์๋ฆฝ, ๊ฐ๋ฐ ์์์ ๋ด๊ฐ ์
๋ ฅํ์ง ์์๋ ์์์ ํ๋๋ก ๋ง๋ค๊ณ ์ถ๋ค๋ฉด, Sisyphus์๊ฒ /ulw ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์์ด์ ํธ ํ์ ์คํฐํ์ฌ ์์
์ด ๋๋ ๋๊น์ง ๋ฉ์ถ์ง ์๊ณ ๊ฐ๋ฐ์ ์งํํ๋ค.
๐ค ํ๊ณ
Sisyphus์ ์์จ ์ฃผํ ์ฑ๋ฅ์ ์ ๋ง ์ข์ง๋ง, ๊ฐ์ธ์ ์ผ๋ก๋ Prometheus๋ก ํํํ๊ฒ ๊ณํ์ ์ธ์ด ๋ค Atlas๋ก ์คํํ๋ ์ํฌํ๋ก์ฐ๊ฐ ๊ฐ์ฅ ์์ ์ ์ด๊ณ ๊น๋ํ๊ฒ ๋๊ปด์ง๋ค. ๋จ์ผ AI ์์ด์ ํธ(Claude Code, Gemini CLI ๋ฑ)์ ๋น๊ตํ์ ๋ ์๋ ๋ฉด์์๋ ๋๋ฆฌ์ง๋ง, ๊ทธ ๋จ์ ์ ์ถฉ๋ถํ ์์ํ ๋งํผ์ ์๋์ ์ธ ๊ผผ๊ผผํจ์ ๋ณด์ฌ์ค๋ค.
ํนํ ๋ด๊ฐ ๋ฏธ์ฒ ๊ณ ๋ คํ์ง ๋ชปํ ์ฃ์ง ์ผ์ด์ค๋ ์ ์ค์ผ์ด์ค๊น์ง ์ธ๋ฐํ๊ฒ ์ปค๋ฒํด ์ฃผ๋ ์ ์ด ์ ๋ง ๋๋ผ์ ๋ค. ์ด์ ๋ ๋จ์ํ ์ฝ๋๋ฅผ ์ง์ ์์ฑํ๋ ์๋๋ฅผ ๋์ด, ์๋๋ฅผ ์ ํํ ์ ๋ฌํ๋ ํ๋กฌํํธ ์์ง๋์ด๋ง(Prompt Engineering)์ ์ญ๋์ด ๊ฐ๋ฐ์์ ํต์ฌ ์ค๋ ฅ์ด ๋์์์ ์ค๊ฐํ๋ค.
'Devlog > AI' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [AI] Gemini CLI๋ฅผ ๋ ์์ฐจ๊ฒ ์ฌ์ฉํด๋ณด์ (0) | 2026.03.07 |
|---|---|
| [AI] ๋ฐ์ด๋ธ ์ฝ๋ฉ ํ๊ธฐ(oh-my-opencode, gemini cli, antigravity) (0) | 2026.03.04 |
