MiroFish ๋ฐฐํฌ ๋ฐ ์‹ค์ „: ์ œ๋กœ ๋ฒ ์ด์Šค์—์„œ ์—ฌ๋ก  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‹œ์Šคํ…œ ๊ตฌ์ถ•ํ•˜๊ธฐ

March 17, 2026

์„œ๋ฌธ

์ •์ฑ… ๋ฐœํ‘œ ํ›„ ๋„คํ‹ฐ์ฆŒ๋“ค์˜ ๋ฐ˜์‘์ด๋‚˜, PR ์œ„๊ธฐ๊ฐ€ ๊ฐ€์ ธ์˜ฌ ์—ฐ์‡„์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ๋ฆฌ ์•Œ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์–ด๋–จ์ง€ ์ƒ๊ฐํ•ด ๋ณด์‹  ์ ์ด ์žˆ๋‚˜์š”?

์ „ํ†ต์ ์ธ ์—ฌ๋ก  ๋ถ„์„์€ ๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€ ์ „๋ฌธ๊ฐ€์˜ ๊ฒฝํ—˜์— ์˜์กดํ•˜๋ฉฐ, ๋ณธ์งˆ์ ์œผ๋กœ๋Š” ใ€Œ๊ณผ๊ฑฐ๋ฅผ ๋Œ์•„๋ณด๋Š” ๊ฒƒใ€์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ MiroFish๋Š” ์šฐ๋ฆฌ์—๊ฒŒ ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ์‚ฌ๊ณ ๋ฐฉ์‹์„ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค. AI๊ฐ€ ๊ณ ์ •๋ฐ€ ๋””์ง€ํ„ธ ํ‰ํ–‰ ์„ธ๊ณ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ , ๋…๋ฆฝ์ ์ธ ์ธ๊ฒฉ๊ณผ ์žฅ๊ธฐ ๊ธฐ์–ต์„ ๊ฐ€์ง„ ์ˆ˜๋งŒ ๋ช…์˜ ์—์ด์ „ํŠธ๋“ค์ด ๊ทธ ์•ˆ์—์„œ ์ž์œ ๋กญ๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ฒŒ ํ•œ ๋’ค, ์ง‘๋‹จ ํ–‰๋™์˜ ๋ฐœํ˜„์„ ๊ด€์ฐฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ๋ฐ”๋กœ ์ด๋ฅธ๋ฐ” ใ€Œ์ง‘๋‹จ ์ง€๋Šฅใ€(Swarm Intelligence)์ž…๋‹ˆ๋‹ค.

MiroFish๋Š” 2025๋…„์— ์˜คํ”ˆ ์†Œ์Šค๋กœ ๊ณต๊ฐœ๋œ ๋‹ค์ค‘ ์—์ด์ „ํŠธ(Multi-agent) ์˜ˆ์ธก ์—”์ง„์œผ๋กœ, OASIS ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์—”์ง„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ์‹œ๋“œ ์ž๋ฃŒ(๋ณด๋„ ์ž๋ฃŒ, ๋ถ„์„ ๋ณด๊ณ ์„œ, ์‹ฌ์ง€์–ด ์†Œ์„ค ํ”Œ๋กฏ๊นŒ์ง€)๋ผ๋„ ์ž…๋ ฅ๋ฐ›์•„ ์ž๋™์œผ๋กœ ๋””์ง€ํ„ธ ์„ธ๊ณ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์˜ˆ์ธก ๋ณด๊ณ ์„œ๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜์€ ์ œ๋กœ ๋ฒ ์ด์Šค์—์„œ ์‹œ์ž‘ํ•˜์—ฌ MiroFish๋ฅผ ๋ฐฐํฌํ•˜๊ณ  ๊ฐ„๋‹จํ•œ ์—ฌ๋ก  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ๊ฐœ๋…

์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋ช‡ ๊ฐ€์ง€ ํ•ต์‹ฌ ๊ฐœ๋…์„ ๋จผ์ € ์ดํ•ดํ•ด ๋ด…์‹œ๋‹ค.

์‹œ๋“œ ์ •๋ณด(Seed Information)

์‹œ๋“œ ์ •๋ณด๋Š” ์˜ˆ์ธก์˜ ์‹œ์ž‘์ ์ž…๋‹ˆ๋‹ค. ๋‰ด์Šค ๊ธฐ์‚ฌ, ๊ธˆ์œต ๋ถ„์„ ๋ณด๊ณ ์„œ, ์†Œ์„ค์˜ ํ•œ ๋Œ€๋ชฉ, ํ˜น์€ ์†Œ์…œ ๋ฏธ๋””์–ด์˜ ํ™”์ œ์„ฑ ํ† ๋ก ์ด ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. MiroFish๋Š” ์ด๋Ÿฌํ•œ ์ž๋ฃŒ์—์„œ ํ•ต์‹ฌ ์—”ํ‹ฐํ‹ฐ, ์ธ๋ฌผ ๊ด€๊ณ„ ๋ฐ ์‚ฌ๊ฑด ๋ฐฐ๊ฒฝ์„ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.

๋””์ง€ํ„ธ ํ‰ํ–‰ ์„ธ๊ณ„

์ด๊ฒƒ์€ MiroFish์˜ ๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ ํ˜์‹ ์ž…๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ AI๊ฐ€ ํ…์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์‹ค์ œ๋กœ ํ•˜๋‚˜์˜ ใ€Œ์„ธ๊ณ„ใ€๋ฅผ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค:

  • ๊ฐ ์—์ด์ „ํŠธ๋Š” ๋…๋ฆฝ์ ์ธ ์ธ๊ฒฉ, ๊ธฐ์–ต, ํ–‰๋™ ๋กœ์ง์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
  • ์—์ด์ „ํŠธ๋“ค๋ผ๋ฆฌ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ณ , ์ •๋ณด๋ฅผ ์ „ํŒŒํ•˜๋ฉฐ, ํŒŒ๋ฒŒ์„ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ์‹œ์Šคํ…œ ์ „์ฒด์—์„œ ๊ฐœ๋ณ„ ํ–‰๋™์œผ๋กœ๋Š” ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ์ง‘๋‹จ์  ํŠน์„ฑ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

๊ฐ€์ƒ์˜ ๋‰ด์Šค ํ•˜๋‚˜๋ฅผ ์ด ์„ธ๊ณ„์— ๋˜์ ธ๋†“๊ณ  ๊ทธ๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ํ™•์‚ฐ๋˜๊ณ , ๋ฐ˜์ „๋˜๊ณ , ์ตœ์ข…์ ์œผ๋กœ ์—ฌ๋ก ์„ ํ˜•์„ฑํ•˜๋Š”์ง€ ๊ด€์ฐฐํ•˜๋Š” ๊ฒƒโ€”์ด๊ฒƒ์ด ๋ฐ”๋กœ ๋””์ง€ํ„ธ ํ‰ํ–‰ ์„ธ๊ณ„์˜ ํž˜์ž…๋‹ˆ๋‹ค.

์›Œํฌํ”Œ๋กœ์šฐ

MiroFish์˜ ์ „์ฒด ์›Œํฌํ”Œ๋กœ์šฐ๋Š” 5๋‹จ๊ณ„๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค:

  1. ๊ทธ๋ž˜ํ”„ ๊ตฌ์ถ•: ์‹œ๋“œ ์ž๋ฃŒ์—์„œ ์—”ํ‹ฐํ‹ฐ์™€ ๊ด€๊ณ„๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์ง€์‹ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.
  2. ํ™˜๊ฒฝ ์„ค์ •: ์—์ด์ „ํŠธ ํŽ˜๋ฅด์†Œ๋‚˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  3. ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‹คํ–‰: ๋“€์–ผ ํ”Œ๋žซํผ ๋ณ‘๋ ฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ํ†ตํ•ด ๊ธฐ์–ต์„ ๋™์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
  4. ๋ณด๊ณ ์„œ ์ƒ์„ฑ: ReportAgent๊ฐ€ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ฒฐ๊ณผ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์˜ˆ์ธก ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  5. ์‹ฌ์ธต ์ƒํ˜ธ์ž‘์šฉ: ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์„ธ๊ณ„ ์†์˜ ์ž„์˜์˜ ์บ๋ฆญํ„ฐ์™€ ๋Œ€ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ ์ค€๋น„

MiroFish๋Š” ํ’€์Šคํƒ ํ”„๋กœ์ ํŠธ๋กœ, ํ”„๋ŸฐํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.

ํ•˜๋“œ์›จ์–ด ์š”๊ตฌ ์‚ฌํ•ญ

์‚ฌ์–‘๊ถŒ์žฅ์ตœ์†Œ
CPU8์ฝ”์–ด4์ฝ”์–ด
๋ฉ”๋ชจ๋ฆฌ16 GB8 GB
์Šคํ† ๋ฆฌ์ง€50 GB SSD20 GB
GPU์„ ํƒ ์‚ฌํ•ญN/A

WARNING

40๋ผ์šด๋“œ ์ด์ƒ์˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ 16GB ์ด์ƒ์ธ ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ณผ์ •์—์„œ ๊ฐ ์—์ด์ „ํŠธ๊ฐ€ ๋…๋ฆฝ์ ์ธ ๊ธฐ์–ต์„ ์œ ์ง€ํ•˜๋ฏ€๋กœ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋ชจ๊ฐ€ ๋น ๋ฅด๊ฒŒ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์†Œํ”„ํŠธ์›จ์–ด ์˜์กด์„ฑ

๋„๊ตฌ๋ฒ„์ „ ์š”๊ตฌ ์‚ฌํ•ญ์„ค๋ช…
Node.js18+ํ”„๋ŸฐํŠธ์—”๋“œ ์‹คํ–‰ ํ™˜๊ฒฝ
Pythonโ‰ฅ3.11, โ‰ค3.12๋ฐฑ์—”๋“œ ์‹คํ–‰ ํ™˜๊ฒฝ
uv์ตœ์‹  ๋ฒ„์ „Python ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž

ํ™˜๊ฒฝ์„ ํ™•์ธํ•ด ๋ณด์„ธ์š”:

node -v    # 18.0.0 ์ด์ƒ์ด์–ด์•ผ ํ•จ
python --version  # 3.11 - 3.12 ์‚ฌ์ด์—ฌ์•ผ ํ•จ
uv --version

๋น ๋ฅธ ๋ฐฐํฌ

์œ ์—ฐํ•œ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์„ ์œ„ํ•ด ์†Œ์Šค ์ฝ”๋“œ ๋ฐฐํฌ ๋ฐฉ์‹์„ ์‹œ์—ฐํ•ฉ๋‹ˆ๋‹ค.

1. ํ”„๋กœ์ ํŠธ ํด๋ก 

git clone https://github.com/666ghj/MiroFish.git
cd MiroFish

2. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

cp .env.example .env

.env ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜์—ฌ API ์„ค์ •์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค:

์˜ต์…˜ A: Alibaba Bailian ์‚ฌ์šฉ (๊ณต์‹ ๊ถŒ์žฅ)

LLM_API_KEY=your_aliyun_api_key
LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
LLM_MODEL_NAME=qwen-plus

์˜ต์…˜ B: ๊ธฐํƒ€ OpenAI ํ˜ธํ™˜ API ์‚ฌ์šฉ

LLM_API_KEY=your_api_key
LLM_BASE_URL=https://api.openai.com/v1
LLM_MODEL_NAME=gpt-4o

Zep Cloud ์„ค์ •๋„ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค (์—์ด์ „ํŠธ ๊ธฐ์–ต ๊ด€๋ฆฌ์šฉ):

ZEP_API_KEY=your_zep_api_key

TIP

Zep Cloud๋Š” ๋งค๋‹ฌ ๋ฌด๋ฃŒ ํฌ๋ ˆ๋”ง์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ์ž…๋ฌธ์— ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๋“ฑ๋ก ์ฃผ์†Œ: https://app.getzep.com/

3. ์˜์กด์„ฑ ์„ค์น˜

npm run setup:all

์ด ๋ช…๋ น์€ ๋‹ค์Œ์„ ๋™์‹œ์— ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค:

  • ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ Node ์˜์กด์„ฑ
  • ํ”„๋ŸฐํŠธ์—”๋“œ ์˜์กด์„ฑ
  • Python ์˜์กด์„ฑ (๊ฐ€์ƒ ํ™˜๊ฒฝ ์ž๋™ ์ƒ์„ฑ)

๋„คํŠธ์›Œํฌ๊ฐ€ ๋А๋ฆฌ๋‹ค๋ฉด ๋‹จ๊ณ„๋ณ„๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

npm run setup           # ํ”„๋ŸฐํŠธ์—”๋“œ
npm run setup:backend   # ๋ฐฑ์—”๋“œ

4. ์„œ๋น„์Šค ์‹œ์ž‘

npm run dev

์„œ๋น„์Šค ์‹œ์ž‘ ํ›„:

  • ํ”„๋ŸฐํŠธ์—”๋“œ: http://localhost:3000
  • ๋ฐฑ์—”๋“œ API: http://localhost:5001

Docker ๋ฐฐํฌ ๋Œ€์•ˆ

๋น ๋ฅด๊ฒŒ ์‹œ์ž‘ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด Docker๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค:

# 1. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •
cp .env.example .env

# 2. ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰
docker compose up -d

Docker ๋ฐฉ์‹์€ 3000(ํ”„๋ŸฐํŠธ์—”๋“œ) ๋ฐ 5001(๋ฐฑ์—”๋“œ) ํฌํŠธ๋ฅผ ์ž๋™์œผ๋กœ ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค.


์‹ค์ „ ์‹ค์Šต

์ด์ œ ์—ฌ๋ก  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์ž‘์—…์„ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. Web UI ์ ‘์†

๋ธŒ๋ผ์šฐ์ €์—์„œ http://localhost:3000์„ ์—ด๋ฉด MiroFish์˜ ๋ฉ”์ธ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

2. ์˜ˆ์ธก ์ž‘์—… ์ƒ์„ฑ

ใ€Œ์ƒˆ ์˜ˆ์ธกใ€์„ ํด๋ฆญํ•˜๊ณ  ใ€Œ์—ฌ๋ก  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ใ€ ํƒ€์ž…์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

3. ์‹œ๋“œ ์ž๋ฃŒ ์ž…๋ ฅ

ํ…์ŠคํŠธ ๋ฐ•์Šค์— ๋‰ด์Šค ์†Œ์žฌ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ:

ํ•œ ์œ ๋ช… IT ๊ธฐ์—…์ด ์˜ค๋Š˜ ํ•ต์‹ฌ ๋ถ„์•ผ ์ง‘์ค‘์„ ์œ„ํ•ด ์ง์›์˜ 10%๋ฅผ ๊ฐ์›ํ•˜๊ฒ ๋‹ค๊ณ  ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค.
์†Œ์‹ ๋ฐœํ‘œ ์งํ›„ ์†Œ์…œ ๋ฏธ๋””์–ด์—์„œ ๋œจ๊ฑฐ์šด ๋…ผ์Ÿ์ด ๋ฒŒ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ์ง์›์€ ์‚ฌ์ „ ์†Œํ†ต์ด ์—†์—ˆ๋‹ค๋ฉฐ
๋ถˆ๋งŒ์„ ํ‘œ์‹œํ–ˆ๊ณ , ์ผ๋ถ€ ๋„คํ‹ฐ์ฆŒ์€ ๊ธฐ์—…์˜ ๊ฒฝ์˜ ์••๋ฐ•์„ ์ดํ•ดํ•œ๋‹ค๋Š” ๋ฐ˜์‘์„ ๋ณด์˜€์Šต๋‹ˆ๋‹ค.
ํ•ด๋‹น ๊ธฐ์—… CEO๋Š” ๋‚ด๋ถ€ ์„œ์‹ ์„ ํ†ตํ•ด ์–ด๋ ต์ง€๋งŒ ํ•„์š”ํ•œ ๊ฒฐ์ •์ด์—ˆ์Œ์„ ๊ฐ•์กฐํ•˜๋ฉฐ,
๋‘๋‘‘ํ•œ ํ‡ด์ง๊ธˆ๊ณผ ์žฌ์ทจ์—… ๊ธฐํšŒ ์ถ”์ฒœ์„ ์•ฝ์†ํ–ˆ์Šต๋‹ˆ๋‹ค.

4. ์˜ˆ์ธก ์š”๊ตฌ ์‚ฌํ•ญ ์„ค๋ช…

๋ฌด์—‡์„ ์˜ˆ์ธกํ•˜๊ณ  ์‹ถ์€์ง€ ์ž์—ฐ์–ด๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค:

์ด ๊ฐ์› ์†Œ์‹์ด ๋ฐœํ‘œ๋œ ํ›„ ๋„คํ‹ฐ์ฆŒ๋“ค์˜ ๋ฐ˜์‘์ด ์–ด๋–ป๊ฒŒ ๋ณ€ํ• ์ง€ ์˜ˆ์ธกํ•ด ์ค˜.
๋ถ€์ •์ ์ธ ์—ฌ๋ก ์ด ํ˜•์„ฑ๋ ๊นŒ? ์–ผ๋งˆ๋‚˜ ์ง€์†๋ ๊นŒ? ์–ด๋–ค ์ง‘๋‹จ์ด ์–ด๋–ค ์ž…์žฅ์„ ์ทจํ• ๊นŒ?

5. ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‹œ์ž‘

ใ€Œ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‹œ์ž‘ใ€์„ ํด๋ฆญํ•˜๋ฉด ์‹œ์Šคํ…œ์€:

  1. ์‹œ๋“œ ์ž๋ฃŒ์—์„œ ํ•ต์‹ฌ ์—”ํ‹ฐํ‹ฐ(ํšŒ์‚ฌ, CEO, ์ง์›, ๋„คํ‹ฐ์ฆŒ)๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.
  2. ์ง€์‹ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.
  3. ๋‹ค์–‘ํ•œ ํŽ˜๋ฅด์†Œ๋‚˜๋ฅผ ๊ฐ€์ง„ ์—์ด์ „ํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค(์ง์›์—๊ฒŒ ๋™์กฐํ•˜๋Š” ๋„คํ‹ฐ์ฆŒ, ์ด์„ฑ์ ์ธ ๋ถ„์„๊ฐ€, ๋ฐฉ๊ด€์ž ๋“ฑ).
  4. ์ƒํ˜ธ์ž‘์šฉ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

TIP

์ฒซ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์€ 20-30๋ผ์šด๋“œ๋กœ ๋จผ์ € ์‹คํ–‰ํ•ด ๋ณด๊ณ , ํšจ๊ณผ๋ฅผ ํ™•์ธํ•œ ๋’ค ๋Š˜๋ฆฌ๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

6. ์˜ˆ์ธก ๊ฒฐ๊ณผ ํ™•์ธ

์‹œ๋ฎฌ๋ ˆ์ด์…˜์ด ์™„๋ฃŒ๋˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒ์„ธ ๋ณด๊ณ ์„œ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค:

  • ์—ฌ๋ก  ๋ณ€ํ™” ์ถ”์ด ๊ณก์„ 
  • ์ฃผ์š” ๊ด€์  ๋ถ„ํฌ
  • ํ•ต์‹ฌ ์ „ํ™˜์  ์˜ˆ์ธก
  • ์ œ์•ˆ๋˜๋Š” ๋Œ€์‘ ์ „๋žต

7. ์‹ฌ์ธต ์ƒํ˜ธ์ž‘์šฉ

MiroFish์˜ ๊ฐ€์žฅ ์žฌ๋ฏธ์žˆ๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค:

  • ์ž„์˜์˜ ์—์ด์ „ํŠธ์™€ 1:1 ๋Œ€ํ™”: "๋‹น์‹ ์€ ์ง์›์„ ๋™์ •ํ•˜๋Š” ๋„คํ‹ฐ์ฆŒ์ธ๋ฐ, ์ด ์‚ฌ๊ฑด์„ ์–ด๋–ป๊ฒŒ ๋ณด๋‚˜์š”?"
  • ReportAgent์—๊ฒŒ ๊ตฌ์ฒด์ ์ธ ์งˆ๋ฌธ: "๋งŒ์•ฝ ํšŒ์‚ฌ๊ฐ€ ๊ณต๊ฐœ ์‚ฌ๊ณผ๋ฌธ์„ ๋ฐœํ‘œํ•œ๋‹ค๋ฉด ์—ฌ๋ก ์ด ์–ด๋–ป๊ฒŒ ๋ณ€ํ• ๊นŒ?"

AI Provider ์„ค์ •

์œ„์—์„œ๋Š” Alibaba Bailian ๋ชจ๋ธ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋น„์šฉ์„ ๋‚ฎ์ถ”๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด Defapi ํ”Œ๋žซํผ์„ ๊ณ ๋ คํ•ด ๋ณด์„ธ์š”.

Defapi๋Š” API ์ค‘๊ณ„ ์„œ๋น„์Šค๋กœ, ๊ฐ€๊ฒฉ์ด ๊ณต์‹ ๊ฐ€๊ฒฉ์˜ ์ ˆ๋ฐ˜ ์ˆ˜์ค€์ด๋ฉฐ ๋‹ค์Œ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค:

  • OpenAI (GPT-4o, GPT-4.5)
  • Anthropic (Claude Sonnet, Claude Opus)
  • Google (Gemini)

OpenAI SDK์™€ ์™„์ „ํžˆ ํ˜ธํ™˜๋˜๋ฏ€๋กœ ๋‘ ๊ฐœ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค:

# Defapi ์‚ฌ์šฉ ์‹œ
LLM_API_KEY=your_defapi_key
LLM_BASE_URL=https://api.defapi.org/v1
LLM_MODEL_NAME=openai/gpt-4o-mini

๋˜๋Š” ์ฝ”๋“œ์—์„œ ์‚ฌ์šฉ ์‹œ:

from openai import OpenAI

client = OpenAI(
    api_key="your_defapi_key",
    base_url="https://api.defapi.org/v1"
)

response = client.chat.completions.create(
    model="openai/gpt-4o-mini",
    messages=[{"role": "user", "content": "Hello!"}]
)

TIP

Defapi์˜ ์ธํ„ฐํŽ˜์ด์Šค๋Š” OpenAI SDK์™€ ์™„๋ฒฝํžˆ ํ˜ธํ™˜๋˜๋ฏ€๋กœ, MiroFish ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•  ํ•„์š” ์—†์ด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋งŒ ๋ฐ”๊พธ๋ฉด ๋ฉ๋‹ˆ๋‹ค.


์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

1. npm install ์‹คํŒจ

Node.js ๋ฒ„์ „์„ ํ™•์ธํ•˜์„ธ์š”:

node -v

18+ ๋ฒ„์ „์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฒ„์ „์ด ๋งž๋Š”๋ฐ๋„ ์‹คํŒจํ•œ๋‹ค๋ฉด ๋‹ค์Œ์„ ์‹œ๋„ํ•˜์„ธ์š”:

npm cache clean --force
npm install --legacy-peer-deps

2. Python ์˜์กด์„ฑ ์„ค์น˜ ์ค‘๋‹จ

Python ๋ฒ„์ „์ด 3.11-3.12 ์‚ฌ์ด์ธ์ง€ ํ™•์ธํ•˜์„ธ์š”:

python --version

์ด ๋ฒ”์œ„์— ์—†๋‹ค๋ฉด pyenv๋‚˜ conda๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

3. ๋ฐฑ์—”๋“œ ์‹œ์ž‘ ์‹œ "Model not found" ์˜ค๋ฅ˜

LLM_MODEL_NAME์ด ์ •ํ™•ํ•œ์ง€ ํ™•์ธํ•˜์„ธ์š”. Provider๋งˆ๋‹ค ๋ชจ๋ธ ๋ช…์นญ ํ˜•์‹์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค:

  • Alibaba Bailian: qwen-plus
  • OpenAI: gpt-4o
  • Defapi: openai/gpt-4o-mini

4. ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‹คํ–‰์ด ๋„ˆ๋ฌด ๋А๋ฆผ

์ตœ์ ํ™” ๋ฐฉ๋ฒ•:

  • ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ผ์šด๋“œ ์ˆ˜ ์ค„์ด๊ธฐ (40์—์„œ 20์œผ๋กœ)
  • ๋” ๊ฐ€๋ฒผ์šด ๋ชจ๋ธ ์‚ฌ์šฉ
  • ์—์ด์ „ํŠธ ์ˆ˜ ์ค„์ด๊ธฐ
  • ๋„คํŠธ์›Œํฌ ์ƒํƒœ ํ™•์ธ (API ํ˜ธ์ถœ ์ง€์—ฐ)

5. ๋ฉ”๋ชจ๋ฆฌ ์ ์œ ์œจ์ด ๋„ˆ๋ฌด ๋†’์Œ

๋ฉ”๋ชจ๋ฆฌ๊ฐ€ 16GB ๋ฏธ๋งŒ์ด๋ผ๋ฉด .env์—์„œ ๋™์‹œ ์‹คํ–‰ ์ˆ˜๋ฅผ ์ œํ•œํ•˜์„ธ์š”:

MAX_CONCURRENT_AGENTS=10

๋˜๋Š” ๋งค ๋ผ์šด๋“œ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์—์ด์ „ํŠธ ์ˆ˜๋ฅผ ์ค„์ด์„ธ์š”.

6. ํ”„๋ŸฐํŠธ์—”๋“œ ํŽ˜์ด์ง€๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๋‚˜์˜ด

๋ฐฑ์—”๋“œ๊ฐ€ ์ •์ƒ ์ž‘๋™ ์ค‘์ธ์ง€ ํ™•์ธํ•˜์„ธ์š”:

curl http://localhost:5001/health

์˜ค๋ฅ˜๊ฐ€ ๋ฐ˜ํ™˜๋œ๋‹ค๋ฉด .env ์„ค์ •์ด ์ œ๋Œ€๋กœ ๋กœ๋“œ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.


๊ณ ๊ธ‰ ํ™œ์šฉ ๋ฐฉํ–ฅ

์—์ด์ „ํŠธ ํŽ˜๋ฅด์†Œ๋‚˜ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•

MiroFish๋Š” ์ž‘์—… ์ƒ์„ฑ ์‹œ ์—์ด์ „ํŠธ ์„ค์ •์„ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ์—ฐ๋ น, ์ง์—…, ์„ฑ๊ฒฉ ํŠน์„ฑ
  • ์ž…์žฅ ์„ฑํ–ฅ (์ฐฌ์„ฑ/๋ฐ˜๋Œ€/์ค‘๋ฆฝ)
  • ๋ฐฐ๊ฒฝ ์Šคํ† ๋ฆฌ

์ •๊ตํ•œ ํŽ˜๋ฅด์†Œ๋‚˜ ์กฐ์ •์„ ํ†ตํ•ด ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์‹ค์ œ ์ƒํ™ฉ์— ๋” ๊ฐ€๊น๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ ์†Œ์Šค ์—ฐ๊ฒฐ

ํ˜„์žฌ๋Š” ํ…์ŠคํŠธ ์‹œ๋“œ ์ž๋ฃŒ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ํ–ฅํ›„ ๋‹ค์Œ์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ์†Œ์…œ ๋ฏธ๋””์–ด API (์‹ค์ œ ์—ฌ๋ก  ๋ฐ์ดํ„ฐ ํฌ๋กค๋ง)
  • ๋‰ด์Šค RSS ํ”ผ๋“œ
  • ๊ธˆ์œต ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

์‘์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค ํ™•์žฅ

์—ฌ๋ก  ์‹œ๋ฎฌ๋ ˆ์ด์…˜๋ฟ๋งŒ ์•„๋‹ˆ๋ผ MiroFish๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ๊ธˆ์œต ์˜ˆ์ธก: ์‹œ์žฅ ์‹ฌ๋ฆฌ ๋ณ€ํ™” ์‹œ๋ฎฌ๋ ˆ์ด์…˜
  • ์ •์ฑ… ์‹œ๋ฎฌ๋ ˆ์ด์…˜: ์ •์ฑ… ๋ฐœํ‘œ ํ›„ ์‚ฌํšŒ์  ๋ฐ˜์‘ ์˜ˆ์ธก
  • ์ฐฝ์˜์  ๊ธ€์“ฐ๊ธฐ: ์†Œ์„ค ํ”Œ๋กฏ ์ „๊ฐœ ์˜ˆ์ธก (์˜ˆ: AI์—๊ฒŒ ใ€Šํ™๋ฃจ๋ชฝใ€‹ ํ›„๋ฐ˜๋ถ€ 40ํšŒ ์˜ˆ์ธก ์‹œํ‚ค๊ธฐ)
  • ์œ„๊ธฐ ์‹œ๋ฎฌ๋ ˆ์ด์…˜: PR ์œ„๊ธฐ ๋Œ€์‘ ์ „๋žต ํ›ˆ๋ จ

์‹ฌํ™” ํ•™์Šต

๋‹ค์ค‘ ์—์ด์ „ํŠธ ์‹œ์Šคํ…œ์— ๊ด€์‹ฌ์ด ์žˆ๊ณ  ใ€ŒAI๋กœ ๋ฏธ๋ž˜๋ฅผ ์˜ˆ์ธกํ•˜๋Š”ใ€ ๊ฒฝํ—˜์„ ์ง์ ‘ ํ•ด๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด MiroFish๋Š” ํ›Œ๋ฅญํ•œ ์‹œ์ž‘์ ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Updated March 17, 2026
    MiroFish ๋ฐฐํฌ ๋ฐ ์‹ค์ „: ์ œ๋กœ ๋ฒ ์ด์Šค์—์„œ ์—ฌ๋ก  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‹œ์Šคํ…œ ๊ตฌ์ถ•ํ•˜๊ธฐ | OpenClaw API ๋ฌธ์„œ - ์˜คํ”ˆ์†Œ์Šค AI ์–ด์‹œ์Šคํ„ดํŠธ ํ†ตํ•ฉ ๊ฐ€์ด๋“œ